:root{font-family:system-ui,-apple-system,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;background:#edf1e9;color:#213637}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}button,input,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,.node:focus-visible{outline:3px solid #92b5a8;outline-offset:3px}a{color:inherit;text-decoration:none}.app{height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:66px minmax(0,1fr)}.bar{grid-column:1/-1;background:#fffefa;border-bottom:1px solid #d8e2d8;display:flex;align-items:center;padding:0 22px;gap:18px;z-index:20}.identity{display:flex;align-items:center;gap:10px;flex:0 0 auto}.identity b{font-size:15px;display:block}.identity small{font-size:9px;letter-spacing:1.3px;color:#82988a;display:block;margin-top:3px}.seal{background:#315c51;color:#e4d9b3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:700 23px Georgia,serif}.phase{font-size:11px;color:#8ca094;margin-left:auto}.bar nav{display:flex;gap:9px}.bar nav a{border:1px solid #d8e1d9;background:white;font-size:11px;color:#527066;border-radius:9px;padding:9px 12px}.canvas-section{position:relative;overflow:hidden;min-width:0;background:radial-gradient(ellipse at 30% 35%,#fbfdfb 5%,#e8f0ea 78%)}.canvas-section:before{position:absolute;inset:0;pointer-events:none;content:"";opacity:.15;background-image:radial-gradient(#6f8e82 1px,transparent 1px);background-size:26px 26px}#viewport{position:absolute;inset:0;touch-action:none;cursor:grab;overflow:hidden;user-select:none}#viewport.panning{cursor:grabbing}#world{position:absolute;top:0;left:0;transform-origin:0 0;width:3530px;height:3140px;will-change:transform}.realm{position:absolute;left:110px;top:35px;width:3260px;height:1340px;border:3px solid #b9cfc1;border-radius:78px;background:linear-gradient(160deg,#fff 0%,#fbfbf6 70%);box-shadow:0 25px 100px #4b61581c;pointer-events:none}.realm p{position:absolute;top:24px;left:70px;font-weight:750;color:#8da398;font-size:25px;letter-spacing:2px}.realm span,.mosesArea span{position:absolute;font-size:25px;font-weight:700;letter-spacing:2px}.realmKey{top:280px;left:65px;color:#8f9e93}.covenantKey{top:465px;left:65px;color:#999f99}.lineageKey{top:630px;left:65px;color:#4681c4}.oppositionKey{top:930px;left:65px;color:#cc7eaa}.mosesArea{position:absolute;left:610px;top:1520px;width:2750px;height:1470px;border:4px solid #a6c9bc;border-radius:72px;background:linear-gradient(140deg,#fffefd,#ebf4f1);box-shadow:0 25px 75px #44685916;opacity:0;pointer-events:none}.mosesArea p{position:absolute;left:68px;top:25px;color:#698d7e;font-size:24px;font-weight:800;letter-spacing:3px}.questionKey{top:365px;left:1450px;color:#79a08c}.resultKey{top:356px;left:70px;color:#969f98}.journeyKey{top:685px;left:68px;color:#5d91b9}.comparisonKey{top:970px;left:68px;color:#83a097}.detailVisible .mosesArea{opacity:1}#connections{position:absolute;inset:0;z-index:1;overflow:visible;pointer-events:none}#nodes{position:absolute;inset:0;z-index:2;pointer-events:none}.node{position:absolute;pointer-events:auto;width:var(--w);min-height:var(--h);padding:14px 20px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:20px;background:#fffdf9;border:3px solid #d6e3d9;white-space:pre-wrap;overflow-wrap:anywhere;cursor:grab;user-select:none;box-shadow:0 12px 38px #536f5c16;transition:box-shadow .15s}.node:hover{box-shadow:0 14px 44px #436c6129}.node.active{outline:5px solid #a5c7ad;outline-offset:7px}.node.drag{cursor:grabbing}.node .heading{font-size:32px;color:#81968b;line-height:1.4;letter-spacing:-.5px}.node .label{font-size:59px;font-weight:750;line-height:1.22;letter-spacing:-2px}.node .subtitle{font-size:19px;color:#81968b;line-height:1.5;margin-top:7px}.node.kingdom{background:#eff7ef;border-color:#8fb79b}.node.kingdom .label{font-size:82px;color:#325b49}.node.epoch .label{font-size:76px}.node.blue{background:#eaf4ff;border-color:#83afe2}.node.blue .label{font-size:39px;color:#2773c7}.node.blue .heading,.node.blue .subtitle{color:#628ebc}.node.blue.special{border-width:5px;box-shadow:0 0 0 11px #bdd5ed88}.node.pink{background:#fff0f8;border-color:#e99ccc}.node.pink .label{font-size:35px;color:#cd3497}.node.serpent{background:#fceef6;border-color:#ef9bc9}.node.serpent .label{font-size:54px;color:#ce3391}.node.judgment{background:#edf8f0;border-color:#7da38f}.node.judgment .label{font-size:86px;color:#315c45}.node.verdict{background:#fffdfa;border-color:#e3d5da}.node.verdict .label{font-size:32px;color:#465749}.node.verdict .subtitle{font-size:20px;color:#b46b97}.node[data-group="moses"]{opacity:0;pointer-events:none}.detailVisible .node[data-group="moses"]{opacity:1;pointer-events:auto}.node.title{border:0;box-shadow:none;background:transparent;text-align:left;align-items:flex-start}.node.title .label{font-size:75px;color:#2c675d}.node.question{background:#e8f3e9}.node.question .label{font-size:50px;color:#3c7862}.node.epoch-small{background:#fff;border-color:#b5cfbf}.node.epoch-small .label{font-size:68px}.node.person{background:#f7fbff;border-style:dashed;border-color:#a9c6e6}.node.person .label{font-size:38px;color:#3c83c2}.node.route{background:#e7f3ff;border-color:#8ab9df}.node.route .label{font-size:43px;color:#2d7eb6}.node.route .subtitle{font-size:18px}.node.route.emphasis{box-shadow:0 0 0 11px #d4e6f5}.node.comparison{border-color:#d1ddd3;text-align:left;align-items:flex-start;padding:34px 42px}.node.comparison .label{font-size:48px;color:#2a5b4c}.node.comparison .subtitle{font-size:29px;color:#6a8276;line-height:1.55;text-align:left;margin-top:15px}.node.comparison.green{background:#edf5ed;border-color:#95ba9c}.svgEdge{fill:none;stroke-linejoin:round;stroke-linecap:round}.hitEdge{fill:none;stroke:transparent;stroke-width:35;cursor:pointer;pointer-events:stroke}.pathGroup{pointer-events:visibleStroke}.pathGroup[data-group="moses"]{opacity:0;pointer-events:none}.detailVisible .pathGroup[data-group="moses"]{opacity:1;pointer-events:visibleStroke}.intro,.views,.zoom,.key,.percentage{position:absolute;z-index:5}.intro{left:19px;top:17px;max-width:385px;background:#fffef8ee;backdrop-filter:blur(10px);border:1px solid #d8e5db;border-radius:13px;padding:16px 18px;box-shadow:0 10px 30px #27513e18;pointer-events:none}.intro small{display:block;color:#8ca69a;font-size:10px;letter-spacing:1.1px;font-weight:700;margin-bottom:7px}.intro b{font-size:15px;line-height:1.4;display:block}.intro span{font-size:11px;line-height:1.8;color:#718779;display:block;margin-top:7px}.views{top:17px;right:15px;display:flex;gap:7px}.zoom{top:72px;right:15px;display:flex;flex-direction:column;gap:6px}.views button,.zoom button{border:1px solid #d5e1d9;background:#fffefa;padding:10px 12px;border-radius:10px;color:#527365;font-size:11px;box-shadow:0 2px 11px #3a695b0c}.views .on{background:#2a5b50;color:white;border-color:#2a5b50}.zoom button{min-width:43px;font-size:15px}.zoom #zoomFit{font-size:10px}.key{left:19px;bottom:18px;background:#fffef9ed;border:1px solid #d6e2d8;border-radius:12px;backdrop-filter:blur(8px);display:flex;gap:12px;padding:11px 14px;align-items:center;flex-wrap:wrap;max-width:800px}.key span{font-size:11px;color:#667f71}.key .line{display:inline-block;width:24px;height:4px;border-radius:4px;margin-right:6px;vertical-align:middle}.line.green{background:#407a60}.line.black{background:#293638}.line.blue{background:#4a8cce}.line.pink{background:#d84d9b}.key small{font-size:10px;color:#95a69b}.percentage{right:14px;bottom:16px;color:#7a9181;font-size:10px;background:#fffef9dc;padding:8px;border-radius:7px}.inspector{background:#fffefa;border-left:1px solid #d9e5dd;display:flex;flex-direction:column;overflow:auto;min-width:0;z-index:7}.insTop{padding:27px 22px 13px}.insTop>small{font-size:10px;letter-spacing:1.6px;color:#8ba195;font-weight:700}.insTop h1{font:700 31px/1.3 Georgia,"Noto Serif KR",serif;margin:17px 0 12px}.insTop p{font-size:12px;color:#73877b;line-height:1.9;margin:0}.detailContent{padding:10px 22px 25px}.detailContent h3{font-size:11px;letter-spacing:1px;color:#527967;margin:23px 0 9px}.evidence{background:#f3f7f1;border-left:3px solid #9ebdab;border-radius:0 8px 8px 0;padding:12px;margin:9px 0;font-size:11px;color:#48665b;line-height:1.8;white-space:pre-wrap;max-height:210px;overflow:auto;overflow-wrap:anywhere}.evidence small{display:block;color:#83978b;margin-bottom:6px}.notice{background:#edf4ee;border-radius:9px;padding:13px 15px;font-size:11px;line-height:1.9;color:#637d6c}.launch{margin-top:14px;border:0;background:#326a60;color:white;border-radius:8px;padding:11px;font-size:12px}.evidence a{color:#35735d;text-decoration:underline}.editor{margin-top:auto;background:#f8faf4;border-top:1px solid #e3e9e1;padding:20px 22px}.editor b{font-size:12px}.editor p{font-size:11px;color:#7e9284;line-height:1.8}.buttons{display:flex;gap:6px;flex-wrap:wrap}.buttons button,.buttons label{font-size:11px;border:1px solid #d3e1d4;background:white;color:#4c7464;border-radius:7px;padding:9px 11px;cursor:pointer}.buttons input{display:none}.editor small{display:block;margin-top:12px;color:#829d8f;font-size:10px}.close{display:none}
@media(max-width:1080px){.app{grid-template-columns:minmax(0,1fr) 300px}.phase{display:none}.intro{max-width:320px}.key{max-width:calc(100% - 75px)}}
@media(max-width:800px){.app{grid-template-columns:1fr}.bar{padding:0 12px}.identity b{font-size:12px}.identity small{font-size:8px}.bar nav a:first-child{display:none}.intro{top:66px;left:9px;max-width:calc(100% - 63px);padding:11px 12px}.intro span{font-size:10px}.views{top:9px;right:9px}.views button{font-size:10px;padding:8px}.zoom{top:167px;right:9px}.key{bottom:9px;left:9px;padding:9px;gap:8px}.key span{font-size:9px}.key .line{width:16px}.key small{display:none}.percentage{display:none}.inspector{position:fixed;right:0;top:66px;bottom:0;width:min(385px,95vw);transform:translateX(105%);transition:transform .24s;box-shadow:-13px 0 45px #224b443b}.inspector.show{transform:translateX(0)}.close{display:block;float:right;background:white;border:1px solid #d4e1d7;border-radius:7px;padding:7px 9px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Suppress fragments of the overview while viewing a deeply zoomed internal board. */
.detailVisible .realm,.detailVisible .node[data-group="root"],.detailVisible .pathGroup[data-group="root"]{opacity:0;pointer-events:none}
