@font-face{font-family:AtlasFallback;src:local('Aptos'),local('Inter'),local('Helvetica Neue');font-display:swap}
:root{color-scheme:dark;--bg:#101312;--surface:#1b201e;--surface-deep:#161b18;--text:#f1f4ed;--muted:#a4ada5;--soft:#727e75;--green:#b5ee91;--border:#333d35;--sheet-width:370px;--header:96px;--peek:244px}
*{box-sizing:border-box}html,body{height:100%;width:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--text);font:14px/1.55 AtlasFallback,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button{border:0}button:disabled{cursor:default;opacity:.35}button:focus-visible,input:focus-visible,#viewport:focus-visible{outline:2px solid var(--green);outline-offset:4px}button:focus:not(:focus-visible){outline:none}button svg{flex:none}button span[data-icon]{display:inline-flex;align-items:center}input{min-width:0}button,input{touch-action:manipulation}[hidden]{display:none!important}svg{display:block}.app{height:100dvh;min-height:300px;position:relative;background:radial-gradient(ellipse at 42% 44%,#1a241d70,transparent 60%),var(--bg)}
.app:before{content:'';position:absolute;inset:96px 0 0;pointer-events:none;background-image:radial-gradient(#75917821 .7px,transparent .7px);background-size:27px 27px;mask-image:linear-gradient(transparent,#000 20%,#000 85%,transparent)}
.topbar{height:var(--header);padding:0 30px;display:flex;align-items:center;gap:28px;border-bottom:1px solid #ffffff0b;position:relative;z-index:10;background:#101312e8}.brand{display:flex;align-items:center;gap:13px;background:none;padding:0;text-align:left;flex:none;color:var(--green)}.brand>span{font-size:24px;letter-spacing:6px;line-height:1.15;color:var(--text);font-weight:570}.brand small{display:block;font-size:11px;font-weight:400;color:var(--muted);letter-spacing:.35px;line-height:1;margin-top:9px}.search-trigger{height:48px;border:1px solid #39423a;border-radius:12px;background:#1c221e;color:#b0bbb1;display:flex;gap:11px;align-items:center;padding:0 15px;text-align:left;width:min(380px,34vw);margin:auto}.search-trigger>span:nth-child(2){flex:1;font-size:13px}.search-trigger kbd{font-family:inherit;border:1px solid #495248;width:22px;height:24px;display:grid;place-items:center;border-radius:5px;color:#919f91}.search-trigger:hover{border-color:#718369}.top-end{display:flex;gap:12px;align-items:center}.private-badge{display:flex;align-items:center;gap:6px;color:#9da89d;font-size:11px;white-space:nowrap}.private-badge i{width:5px;height:5px;border-radius:50%;background:#8b9988}.icon-button{width:42px;height:42px;padding:0;border-radius:10px;background:transparent;display:inline-flex;justify-content:center;align-items:center;color:#b7c2b6;flex-shrink:0}.icon-button:hover{background:#ffffff08;color:var(--text)}.share-button{display:flex;align-items:center;justify-content:center;gap:9px;padding:0 15px;height:42px;border-radius:9px;border:1px solid #536549;background:#293823;color:#def5cd;font-size:12px;white-space:nowrap}.share-button:hover{background:#35472d}.map-space{position:absolute;inset:var(--header) 0 0;overflow:hidden}.map-heading{position:absolute;top:28px;left:34px;pointer-events:none;z-index:1}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;color:#93a98b}.map-heading h1{font-size:clamp(24px,2.6vw,34px);font-weight:450;letter-spacing:-1.1px;line-height:1.2;margin:8px 0}.map-heading p{color:var(--muted);font-size:12px;margin:0}.map-viewport{position:absolute;inset:112px calc(var(--sheet-width) + 58px) 108px 22px;touch-action:none;outline:none;cursor:grab;user-select:none;-webkit-user-select:none}.app.sheet-closed .map-viewport{right:22px}.map-viewport.dragging{cursor:grabbing}.map-viewport>svg,.map-viewport>#nodes,.map-viewport>#edgeLabels{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.map-viewport>svg{overflow:hidden}.map-viewport.dragging *{cursor:grabbing!important}.edge-path{fill:none;stroke-width:1.4;stroke-linecap:round;opacity:.6;pointer-events:none}.edge-path.active{stroke-width:2;opacity:1}.edge-hit{fill:none;stroke:transparent;stroke-width:28px;pointer-events:stroke;cursor:pointer}.edge-focus{fill:none;stroke:transparent;stroke-width:5px;pointer-events:none}.edge-group:focus{outline:none}.edge-group:focus-visible .edge-focus{stroke:#e7ffce;stroke-dasharray:3 6;opacity:.5}.node{position:absolute;left:0;top:0;width:130px;height:120px;transform:translate(-50%,-38px);padding:0;background:none;display:flex;flex-direction:column;align-items:center;pointer-events:auto;outline:none;gap:0;overflow:visible}.node .node-shape{width:70px;height:70px;display:grid;place-items:center;background:#202b23;border:1px solid #60785a;border-radius:50%;color:#c2d5bc;position:relative;transition:background .18s,border-color .18s}.node .node-shape svg{width:25px;height:25px}.node .node-shape:before{content:'';position:absolute;inset:-7px;border:1px solid #3b4b3580;border-radius:inherit}.node.place .node-shape{border-radius:20px;background:#1c2828;border-color:#54747a;color:#a6d1d8}.node.practice .node-shape{border-radius:25px 9px 25px 9px;background:#263226;border-color:#738368;color:#c4dbb0}.node.focused .node-shape{color:#253522;background:#c0ec9f;border-color:#d5f7bd;box-shadow:0 0 0 6px #b5ee9108,0 0 50px #b5ee9109}.node.focused .node-shape:before{inset:-10px;border-color:#668452}.node.highlighted:not(.focused) .node-shape{border-color:var(--green);color:var(--green);background:#293c25}.node.highlighted:not(.focused) .node-shape:before{border-color:#607d46}.node:hover .node-shape,.node:focus-visible .node-shape{border-color:#e5ffdb;box-shadow:0 0 0 5px #b5ee9110}.node-name{font-size:14px;font-weight:550;letter-spacing:-.2px;line-height:1.3;margin-top:13px;color:#e4e9e0;text-shadow:0 2px 5px var(--bg),0 0 10px var(--bg);white-space:nowrap}.node-kind{font-size:10px;color:#8c9b8d;line-height:1.4;margin-top:2px;white-space:nowrap}.node.focused .node-name{color:#ddf5cf}.edge-label{position:absolute;transform:translate(-50%,-50%);color:#93a595;border:1px solid #394b3a;background:#151c17;display:flex;gap:6px;align-items:center;font-size:10px;line-height:1.2;border-radius:20px;padding:7px 10px;white-space:nowrap;pointer-events:auto;max-width:150px}.edge-label:not(.active){background:#151a17de;border-color:#354135;color:#91a392}.edge-label.active{color:var(--green);border-color:#536b40;background:#202c1c}.edge-label:hover{border-color:var(--green)}.edge-label svg{width:12px;height:12px}.context-bar{position:absolute;z-index:2;left:32px;bottom:64px;display:flex;gap:14px;align-items:center;border:1px solid #3a4439;background:#1d251ff2;box-shadow:0 4px 14px #0002;padding:8px 10px 8px 8px;border-radius:14px;max-width:calc(100% - 440px)}.context-back{width:40px;height:40px;display:grid;place-items:center;background:#2c372c;border-radius:9px;color:#d0ddc8}.context-bar>div{min-width:0;display:flex;flex-direction:column}.context-bar small{color:#899984;font-size:8px;letter-spacing:1.8px;line-height:1.5}.context-bar>div>span{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#c7d3bf}.fit-button{background:transparent;display:flex;align-items:center;gap:7px;color:#aabe9c;border-left:1px solid #414c3c;padding:0 8px 0 16px;margin-left:10px;font-size:11px;height:32px}.map-tools{position:absolute;z-index:2;right:calc(var(--sheet-width) + 56px);bottom:66px;border:1px solid #3a4439;border-radius:12px;background:#1c241ef2;display:flex;flex-direction:column;padding:4px}.tool-divider{height:1px;width:24px;align-self:center;background:#384234}.map-tools .icon-button{width:36px;height:37px}.map-footer{position:absolute;bottom:20px;left:33px;right:calc(var(--sheet-width) + 66px);display:flex;align-items:center;justify-content:space-between;gap:20px}.legend-trigger{display:flex;align-items:center;gap:8px;background:none;font-size:10px;color:#b1bcae;padding:6px 0}.legend-trigger svg{width:12px}.legend-sample{width:23px;height:0;border-top:1px solid var(--green);position:relative}.legend-sample:after{position:absolute;content:'';right:0;top:-3px;width:5px;height:5px;background:var(--green);border-radius:50%}.map-tip{color:#73816f;font-size:10px}.tap-hint{position:absolute;top:24px;right:calc(var(--sheet-width) + 61px);display:flex;align-items:center;gap:7px;font-size:10px;color:#94a18b;pointer-events:none}.green-dot{width:4px;height:4px;background:var(--green);border-radius:50%}.app.sheet-closed .map-tools{right:28px}.app.sheet-closed .map-footer{right:31px}.app.sheet-closed .tap-hint{right:31px}.app.sheet-closed .context-bar{max-width:calc(100% - 120px)}
.sheet{position:absolute;top:calc(var(--header) + 22px);bottom:22px;right:22px;width:var(--sheet-width);z-index:5;border:1px solid #394438;background:linear-gradient(130deg,#20271f,#1b201d 75%);border-radius:19px;box-shadow:0 15px 45px #0003;display:flex;flex-direction:column;overflow:hidden}.sheet-drag{display:none}.sheet-actions{padding:14px 16px 0 25px;display:flex;justify-content:space-between;align-items:center;min-height:56px;flex-shrink:0}.sheet-actions>div{display:flex;gap:0}.sheet-actions .icon-button{width:32px;height:32px}.sheet-actions .eyebrow{font-size:9px}.mobile-expand{display:none}.sheet-scroll{overflow:auto;overscroll-behavior:contain;padding:0 25px 25px;scrollbar-width:thin;scrollbar-color:#4c5e44 transparent;flex:1;min-height:0}.sheet h2{font-size:29px;line-height:1.18;font-weight:470;letter-spacing:-1.1px;margin:8px 0 12px}.sheet h2 .between{color:#7b936e;font-size:23px;margin:0 4px;display:inline-block;font-weight:300}.sheet-summary{font-size:13px;line-height:1.65;color:#b4c0af;margin:0 0 20px}.relation-chip,.type-chip{border:1px solid #506843;border-radius:20px;display:inline-flex;align-items:center;gap:6px;font-size:10px;color:#c5dfb4;padding:4px 9px}.relation-chip .chip-line{width:16px;border-top:1px solid currentColor}.type-chip{color:#aebeaa;border-color:#485541}.story-hero{position:relative;margin:23px 0 21px;padding:25px 0 0;border-top:1px solid #3b4636}.story-hero h3{font-weight:450;font-size:25px;line-height:1.3;letter-spacing:-.65px;margin:0 0 15px;color:#e1ecd7}.story-hero p{color:#b3bfac;font-size:13px;line-height:1.75;margin:0}.section-heading{font-size:9px;letter-spacing:1.5px;color:#90a384;font-weight:600;margin:26px 0 12px}.story-steps{display:grid;gap:0;margin:25px 0 20px}.story-step{position:relative;display:grid;grid-template-columns:23px 1fr;gap:12px;padding-bottom:21px}.story-step:last-child{padding-bottom:0}.step-no{width:22px;height:22px;background:#2b3a25;color:#b6d49d;border:1px solid #4d6240;border-radius:50%;font-size:9px;display:grid;place-items:center;position:relative;z-index:1}.story-step:not(:last-child):before{content:'';position:absolute;left:10.5px;top:22px;bottom:0;border-left:1px solid #435139}.story-step strong{font-weight:550;font-size:12px;display:block;margin-top:1px;color:#d7e1cd}.story-step p{font-size:12px;line-height:1.6;color:#a8b59e;margin:5px 0 0}.status-note{padding:13px;border:1px solid #46563d;background:#28322480;border-radius:10px;margin:21px 0}.status-note strong{display:flex;align-items:flex-start;gap:7px;font-size:10px;font-weight:500;color:#c2d9ac}.status-note strong svg{width:13px;height:15px}.status-note p{font-size:11px;line-height:1.6;color:#b3c0a7;margin:8px 0 0}.source{font-size:10px;color:#8b9d80;line-height:1.65;margin:13px 0}.source strong{font-weight:500;color:#b5c3a9}.path-list{display:grid;gap:7px}.path-card{background:#222c22;border:1px solid #3e4d37;border-radius:11px;padding:13px 12px;text-align:left;width:100%;display:flex;align-items:center;gap:10px}.path-card:hover{background:#2d3929;border-color:#7a9368}.path-card .mini-icon{width:34px;height:34px;flex-shrink:0;border:1px solid #506244;border-radius:10px;display:grid;place-items:center;color:#afc899}.path-card .mini-icon svg{width:17px;height:17px}.path-card>span:nth-child(2){flex:1;min-width:0}.path-card strong{font-size:12px;font-weight:500;display:block;color:#d4dfc9}.path-card small{font-size:10px;line-height:1.5;display:block;color:#91a584;margin-top:3px}.path-card>.arrow{color:#b8d2a0}.path-card>.arrow svg{width:16px}.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin:19px 0}.tag{font-size:10px;color:#a8b99a;padding:3px 9px;border:1px solid #45523d;border-radius:20px}.node-story{font-size:13px;line-height:1.8;color:#b6c3af;margin:24px 0}.content-section{padding:17px 0 0;border-top:1px solid #394634;margin-top:20px}.content-section .section-type{font-size:9px;color:#9fbf87;letter-spacing:1.2px;text-transform:uppercase}.content-section h3{font-size:17px;line-height:1.4;font-weight:450;letter-spacing:-.3px;margin:7px 0}.content-section p{font-size:12px;color:#afbea6;line-height:1.7;margin:0 0 10px}.text-link{background:none;color:#c4e7a5;padding:5px 0;display:flex;align-items:center;gap:8px;font-size:12px;min-height:35px}.text-link svg{width:14px}.placeholder{padding:17px 13px;border:1px dashed #4c5b40;border-radius:10px;display:flex;align-items:center;gap:11px;font-size:11px;line-height:1.5;color:#93a687;margin:15px 0}.placeholder svg{flex:none;color:#809971;width:22px;height:22px}.placeholder span small{display:block;font-size:10px;color:#829676}.read-story{display:none}.reopen-sheet{position:absolute;bottom:80px;right:26px;background:#34432b;border:1px solid #5c7149;color:#d6efc1;border-radius:12px;height:46px;padding:0 15px;display:flex;align-items:center;gap:10px;font-size:12px;z-index:3}.app.sheet-closed .map-tools{bottom:143px}
.modal{width:min(460px,calc(100vw - 32px));border:1px solid #536249;background:#1c241e;border-radius:18px;padding:22px;color:var(--text);box-shadow:0 30px 100px #0007;max-height:calc(100dvh - 56px);overflow:auto;overscroll-behavior:contain}.modal::backdrop{background:#070a07bd;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;gap:15px;justify-content:space-between;margin-bottom:18px}.dialog-heading h2{font-weight:480;font-size:22px;line-height:1.25;letter-spacing:-.6px;margin:0}.dialog-heading .icon-button{width:32px;height:32px}.modal p{font-size:13px;line-height:1.7}.muted{color:#b0bca8}.modal-note{color:#8d9e85;font-size:11px!important;margin-bottom:0}.info-note{font-size:12px;color:#b8c7ac;border:1px solid #44573a;background:#29382475;border-radius:10px;padding:14px;line-height:1.75;margin:18px 0}.info-note strong{font-weight:500;color:#d2e7c0}.search-field{display:flex;align-items:center;gap:10px;border:1px solid #60784e;border-radius:10px;background:#141c16;padding:0 13px;color:#a1b68d;height:50px}.search-field input{width:100%;background:transparent;border:0;outline:none!important;color:#e1ecd8;font-size:14px}.search-caption{font-size:10px!important;text-transform:uppercase;letter-spacing:1px;color:#90a081;margin:20px 0 11px}.search-results{max-height:50dvh;overflow:auto;display:grid;gap:5px}.search-result{border:1px solid transparent;background:transparent;padding:12px;text-align:left;display:flex;align-items:center;gap:13px;width:100%;border-radius:10px}.search-result:hover{background:#2d3929;border-color:#495c3c}.search-result>span:first-child{display:flex;color:#bdd6a5}.search-result strong{font-size:14px;display:block;font-weight:450}.search-result small{font-size:10px;color:#97aa8a}.search-result .result-arrow{margin-left:auto;color:#9fb88d}.empty-state{padding:20px 10px;color:#afc09e}.legend-types{display:flex;justify-content:space-between;gap:12px;padding:18px 0 22px;border-bottom:1px solid #46553c;margin-bottom:14px}.legend-types>span{display:flex;gap:8px;align-items:center;font-size:11px;color:#c0cfb4}.shape{display:block;width:17px;height:17px;background:#415a33;border:1px solid #8baa71}.shape.person{border-radius:50%}.shape.place{border-radius:4px;border-color:#81bac8;background:#273f43}.shape.practice{border-radius:6px 2px 6px 2px}.legend-row{display:flex;align-items:center;gap:16px;min-height:42px;font-size:12px;color:#b4c3a8}.legend-row svg{width:48px;height:14px}.field-label{display:block;color:#9bb289;font-size:11px;margin:20px 0 8px}.link-field{width:100%;background:#111a13;border:1px solid #455b3a;border-radius:9px;padding:12px;color:#d6e7c8;font-size:11px}.primary-button{margin-top:14px;background:#b5ee91;color:#1e3017;border:1px solid #b5ee91;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 18px;font-size:13px;font-weight:550}.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,16px);background:#c2e6a6;color:#23321a;border:1px solid #d4f5ba;border-radius:10px;padding:11px 17px;font-size:12px;opacity:0;pointer-events:none;z-index:30;transition:opacity .15s,transform .15s;max-width:90vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript{position:fixed;inset:0;display:grid;place-items:center;background:#142116;z-index:100;padding:30px}
@media(min-width:1500px){:root{--sheet-width:400px}.sheet-scroll{padding-left:29px;padding-right:29px}.sheet-actions{padding-left:29px}.map-viewport{left:50px;right:calc(var(--sheet-width) + 82px)}}
@media(max-width:1120px) and (min-width:761px){:root{--sheet-width:330px}.topbar{gap:20px;padding:0 22px}.top-end{gap:5px}.private-badge{display:none}.search-trigger{width:300px}.search-trigger>span:nth-child(2){font-size:12px}.map-heading{left:25px}.map-heading p{max-width:290px}.tap-hint{display:none}.map-tip{display:none}.context-bar{left:23px;gap:8px;max-width:calc(100% - 400px)}.fit-button{margin-left:0;padding-left:10px}.fit-button>span:last-child{display:none}.sheet-scroll{padding-left:22px;padding-right:22px}.sheet h2{font-size:26px}.sheet-actions{padding-left:22px}.node{width:120px}.node .node-shape{width:62px;height:62px}.node-name{font-size:13px}.edge-label:not(.active){display:none}.edge-label.active{padding:5px;border-radius:50%;width:24px;height:24px;justify-content:center}.edge-label.active .edge-label-text{display:none}}
@media(max-width:760px){
 :root{--header:127px;--peek:238px}.app:before{inset:90px 0 0}.topbar{height:var(--header);padding:14px 18px 12px;gap:0;display:flex;flex-wrap:wrap;align-content:space-between;border-bottom:0;background:linear-gradient(#101312 70%,#101312e0)}.brand{gap:9px}.brand>svg{width:26px;height:26px}.brand>span{font-size:20px;letter-spacing:5px}.brand small{font-size:9px;margin-top:4px;letter-spacing:.2px}.top-end{margin-left:auto;gap:2px}.top-end>.icon-button{width:35px;height:38px}.private-badge{font-size:9px;margin-right:5px;display:flex}.share-button{border:0;background:transparent;color:#b4c4aa;width:37px;height:38px;padding:0}.share-button>span:last-child{display:none}.search-trigger{order:3;width:100%;height:43px;margin:10px 0 0;border-radius:11px;padding:0 12px;gap:10px;background:#1c231e}.search-trigger>span:nth-child(2){font-size:12px}.search-trigger kbd{display:none}.map-heading{top:10px;left:19px}.map-heading>.eyebrow{display:none}.map-heading h1{font-size:20px;letter-spacing:-.6px;margin:0}.map-heading p{display:none}.tap-hint{top:37px;left:20px;right:auto;font-size:10px;gap:6px}.map-viewport{top:60px;left:0;right:0;bottom:calc(var(--peek) + 86px);min-height:80px}.app.sheet-closed .map-viewport{right:0;bottom:142px}.node{width:120px;height:95px;transform:translate(-50%,-28px)}.node .node-shape{width:52px;height:52px}.node .node-shape svg{width:20px;height:20px}.node .node-shape:before{inset:-5px}.node.focused .node-shape:before{inset:-8px}.node.place .node-shape{border-radius:16px}.node.practice .node-shape{border-radius:19px 7px 19px 7px}.node-name{font-size:12px;margin-top:10px;letter-spacing:-.2px}.node-kind{font-size:8px;margin-top:2px}.edge-path{stroke-width:1.3}.edge-hit{stroke-width:30px}.edge-label{width:24px;height:24px;border-radius:50%;padding:0;justify-content:center}.edge-label:not(.active){display:none}.edge-label .edge-label-text{display:none}.edge-label svg{width:12px;height:12px}.context-bar{left:15px;bottom:calc(var(--peek) + 24px);gap:10px;padding:6px;max-width:calc(100% - 83px);border-radius:12px}.context-back{height:33px;width:33px;border-radius:7px}.context-back svg{width:16px;height:16px}.context-bar small{font-size:7px}.context-bar>div>span{font-size:10px}.fit-button{height:28px;font-size:10px;padding:0 6px 0 10px;margin-left:0;gap:4px}.fit-button svg{width:15px;height:15px}.map-tools{right:13px;bottom:calc(var(--peek) + 24px);padding:2px;border-radius:10px}.map-tools .icon-button{width:33px;height:33px}.map-tools .icon-button svg{width:17px;height:17px}.tool-divider{width:18px}.map-footer{display:none}.map-heading{display:flex;gap:10px;align-items:center}.sheet{top:auto;bottom:0;left:0;right:0;width:100%;height:calc(var(--peek) + env(safe-area-inset-bottom,0px));border-radius:23px 23px 0 0;border-left:0;border-right:0;border-bottom:0;box-shadow:0 -10px 45px #0004;transition:height .22s ease;background:#1c231e}.sheet[data-mode=expanded]{height:calc(100dvh - 76px)}.sheet-drag{display:block;height:24px;flex-shrink:0;touch-action:none}.sheet-drag button{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:transparent}.sheet-drag button>span{width:34px;height:4px;border-radius:5px;background:#52624a}.sheet-actions{padding:0 17px 0 23px;min-height:29px}.sheet-actions .eyebrow{font-size:8px;letter-spacing:1.5px}.sheet-actions .icon-button{width:31px;height:29px}.sheet-actions .icon-button svg{width:16px;height:16px}.mobile-expand{display:inline-flex}.sheet-scroll{padding:0 23px 30px}.sheet[data-mode=peek] .sheet-scroll{overflow:hidden;position:relative;mask-image:linear-gradient(#000 75%,transparent)}.sheet h2{font-size:27px;line-height:1.18;margin:9px 0}.sheet h2 .between{font-size:23px;margin:0 6px}.sheet-summary{font-size:12px;line-height:1.5;margin:0 0 13px}.relation-chip,.type-chip{font-size:9px;padding:3px 8px}.read-story{display:flex;align-items:center;gap:9px;justify-content:space-between;background:#273620;border-top:1px solid #46533c;padding:12px 23px calc(12px + env(safe-area-inset-bottom,0px));font-size:11px;color:#c6e5ae;flex-shrink:0;height:calc(44px + env(safe-area-inset-bottom,0px))}.read-story svg{width:15px;height:15px}.sheet[data-mode=expanded] .read-story{display:none}.story-hero h3{font-size:27px}.sheet[data-mode=expanded] .sheet-scroll{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}.app.sheet-closed .context-bar{bottom:76px;max-width:calc(100% - 82px)}.app.sheet-closed .map-tools{bottom:76px;right:13px}.reopen-sheet{bottom:15px;left:15px;right:15px;width:calc(100% - 30px);height:44px;justify-content:flex-start;border-radius:11px}.reopen-sheet>span:last-child{margin-left:auto}.modal{padding:20px;border-radius:17px}.search-modal{margin-top:70px}.dialog-heading h2{font-size:21px}.toast{bottom:calc(var(--peek) + 92px)}
}
@media(max-width:380px){.fit-button>span:last-child{display:none}.context-bar{gap:7px}.sheet h2{font-size:24px}.node-name{font-size:11px}.node{width:112px}.map-heading h1{font-size:18px}}
@media(max-height:720px) and (max-width:760px){:root{--header:113px;--peek:212px}.topbar{padding-top:9px;padding-bottom:8px}.sheet-actions{min-height:25px}.sheet-drag{height:19px}.sheet h2{font-size:24px;margin:6px 0}.sheet-summary{font-size:11px}.map-viewport{top:45px;bottom:calc(var(--peek) + 63px)}.map-heading{top:3px}.tap-hint{top:28px;font-size:9px}.context-bar,.map-tools{bottom:calc(var(--peek) + 12px)}.node-kind{display:none}.node-name{margin-top:7px}.map-tools .icon-button{height:28px}.read-story{height:38px;padding-top:9px;padding-bottom:9px}}
@media(max-height:530px) and (max-width:760px){:root{--header:67px}.topbar{padding:9px 15px;flex-wrap:nowrap;gap:14px}.brand small{display:none}.search-trigger{order:0;width:auto;flex:1;margin:0}.search-trigger>span:nth-child(2){display:none}.search-trigger{max-width:220px}.top-end{margin-left:0}.map-heading,.tap-hint{display:none}.map-viewport{top:0;right:44%;bottom:65px;left:0}.sheet{width:43%;left:auto;right:7px;bottom:7px;top:calc(var(--header) + 6px);height:auto!important;border:1px solid #394438;border-radius:14px}.sheet[data-mode=expanded] .sheet-scroll{overflow:auto}.sheet[data-mode=peek] .sheet-scroll{overflow:auto;mask-image:none}.sheet-scroll{padding:0 14px 20px}.sheet-actions{padding:4px 9px 0 14px}.sheet-drag,.mobile-expand,.read-story{display:none!important}.sheet h2{font-size:21px}.context-bar{bottom:15px;max-width:45%;left:12px}.context-bar .fit-button{display:none}.map-tools{right:calc(43% + 22px);bottom:15px;flex-direction:row}.map-tools .icon-button{width:27px;height:28px}.tool-divider{display:none}.map-footer{display:none}.app.sheet-closed .map-viewport{bottom:85px}.node-name{font-size:10px}.node .node-shape{width:39px;height:39px}.node{transform:translate(-50%,-20px)}.node-kind{display:none}.modal{max-height:90dvh;margin-top:5dvh}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Atlas V2 mobile refinements */
@media (max-width:760px) and (min-height:531px){
:root{--header:108px;--peek:176px}
.topbar{padding:8px 16px}
.search-trigger{height:38px;margin-top:6px}
.map-viewport{top:47px;bottom:calc(var(--peek) + 74px)}
.map-heading{top:5px}.tap-hint{top:30px}
.sheet[data-mode=peek] .sheet-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.context-bar,.map-tools{bottom:calc(var(--peek) + 18px)}
}

.atlas-figure{margin:16px 0 22px}.atlas-figure img{width:100%;height:auto;max-height:380px;object-fit:contain;display:block;background:#101312;border:1px solid #465b42;border-radius:10px}.atlas-figure figcaption{margin-top:9px;color:#a6b7a2;font-size:11px;line-height:1.5}

/* Atlas V2.2 — quiet map, content-first navigation */
:root{--header:100px}
.brand>span{letter-spacing:-.65px;font-size:23px;font-weight:480}
.topbar{gap:18px}
.private-badge,.map-heading,.tap-hint,.context-bar,.map-tools,.map-footer,.reopen-sheet,.read-story,.mobile-expand,#sheetClose{display:none!important}
.map-viewport,.app.sheet-closed .map-viewport{inset:16px 14px 14px 14px}
.sheet-actions{min-height:42px;padding:10px 19px 5px}
.sheet-scroll{overscroll-behavior:contain}
.path-card>.arrow{display:none}
.path-card{border-radius:12px}
@media(max-width:760px){
 :root{--header:108px;--peek:188px}
 .topbar{height:var(--header);padding:12px 16px 9px;gap:6px;align-content:space-between}
 .brand>span{font-size:23px;letter-spacing:-.7px}
 .search-trigger{height:43px;margin-top:6px}
 .top-end{gap:2px}
 .map-viewport,.app.sheet-closed .map-viewport{inset:6px 0 16px 0;min-height:80px}
 .sheet{height:calc(var(--peek) + env(safe-area-inset-bottom,0px))}
 .sheet[data-mode=expanded]{height:calc(100dvh - 46px)}
 .sheet-drag{height:27px}
 .sheet-actions{min-height:28px;padding:0 16px 0 23px}
 .sheet[data-mode=expanded] .sheet-scroll{overflow-y:auto;overscroll-behavior:contain}
 .sheet-scroll{padding:0 22px 22px}
 .sheet h2{font-size:26px}
 .sheet[data-mode=peek] .sheet-scroll{mask-image:linear-gradient(#000 85%,transparent)}
}

/* V2.3: stationary spatial map, reversible details, one vein language */
.edge-path{stroke:#9fcf91!important;stroke-dasharray:none!important;opacity:.73;stroke-width:2.7!important}
.edge-path.active{stroke:#c7ffac!important;stroke-width:5!important;opacity:1}
.edge-label{width:36px!important;height:36px!important;border-radius:50%!important;display:flex!important;justify-content:center!important;padding:0!important;background:#314632!important;border:1px solid #73956d!important;color:#d9ffd0!important;pointer-events:auto!important}
.edge-label:not(.active){display:flex!important}.edge-label-text{display:none!important}
.node.highlighted .node-shape{box-shadow:0 0 0 5px #b5ee9119}
.node.person.focused .node-shape{border-radius:50%}.node.practice.focused .node-shape{border-radius:24px 7px 24px 7px}.node.place.focused .node-shape{border-radius:17px}
.node-kind,.type-chip,.relation-chip{display:none!important}
.connection-tag{cursor:pointer;background:#283b2b;color:#eef9e8;min-height:34px}
.sheet-drag{touch-action:none}.sheet-drag button{background:#314834!important;color:#eaffdd!important;width:55px!important;height:37px!important;border:1px solid #729768!important;border-radius:22px!important;margin:4px auto!important;display:grid!important;place-items:center!important;font-size:20px!important;line-height:1}
.sheet-drag button svg{height:21px;width:21px}
.sheet-scroll{overscroll-behavior:contain}
.atlas-add{position:fixed;bottom:20px;left:20px;z-index:12;padding:12px 18px;border:1px solid #8ba97e;border-radius:24px;background:#b5ee91;color:#18301a;font-weight:600}
.atlas-composer textarea{width:100%;border:1px solid #667d5c;border-radius:12px;background:#101a13;color:white;padding:14px;resize:vertical}
.capture-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.capture-controls button,.capture-controls label{border:1px solid #6b8360;background:#2c3f2b;color:#e6f5dc;border-radius:10px;padding:10px;cursor:pointer}.capture-controls input{display:block;width:170px;font-size:10px}
.local-entry{padding:12px;margin:9px 0;border:1px solid #45613e;border-radius:12px}.local-entry video,.local-entry audio{width:100%;max-height:220px}.local-entry button{padding:8px 12px;margin:5px;background:#354b34;border-radius:8px}
@media(max-width:760px){
 :root{--peek:46dvh}
 .sheet{height:46dvh!important;max-height:46dvh;border-radius:22px 22px 0 0;transition:height .28s ease,max-height .28s ease}
 .sheet[data-mode=expanded]{height:calc(85dvh - env(safe-area-inset-top,0px))!important;max-height:85dvh}
 .sheet-drag{height:49px!important;display:flex;align-items:center;justify-content:center;flex-shrink:0}
 .sheet-actions{min-height:32px!important}
 .sheet[data-mode=peek] .sheet-scroll{overflow-y:auto!important;mask-image:none!important}
 .sheet[data-mode=expanded] .sheet-scroll{overflow-y:auto!important}
 .map-viewport,.app.sheet-closed .map-viewport{inset:5px 0 12px 0!important}
 .edge-label{width:36px!important;height:36px!important}
 .atlas-add{bottom:18px;left:14px}
}

.edge-path{stroke-width:var(--vein-width,2.7px)!important}.story-step{display:block!important;padding:0 0 16px!important}.story-step:before,.story-step .step-no{display:none!important}

/* Atlas V2.4 story-oriented additions */
#edgeLabels{display:none!important}
.story-card{border:1px solid #34402f;background:#222a22;border-radius:16px;padding:16px 16px 14px;margin:14px 0}
.story-card-head h3{margin:6px 0 6px;font-size:18px;line-height:1.3}
.story-summary{margin:0;color:#b9c6b5;font-size:13px;line-height:1.55}
.story-characters,.story-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.story-characters>span,.story-meta>span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#8da085}
.story-chip,.meta-link{border:1px solid #495846;background:#182019;color:#d2e3ce;border-radius:999px;padding:7px 10px;font-size:11px}
.meta-link{background:#202b22}
.perspective-list{display:grid;gap:10px;margin-top:14px}
.perspective{border-left:2px solid #55694d;padding:0 0 0 12px}
.perspective strong{display:block;font-size:12px;color:#dff0d9;margin-bottom:5px}
.perspective p{margin:0;color:#c2cdc0;font-size:13px;line-height:1.6}
.perspective.pending{opacity:.78}
.perspective.pending p{font-style:italic;color:#9fb09b}
.story-card .atlas-figure{margin-top:14px}
@media(max-width:760px){
  .story-card{padding:14px 14px 12px;border-radius:14px}
  .story-card-head h3{font-size:17px}
  .story-summary,.perspective p{font-size:12px}
}
