:root{--ink: #213c3d;--muted: #5e665c;--paper: #f8f5eb;--paper-deep: #eeeadc;--line: #d9d5c5;--teal: #245957;--teal-dark: #183f3e;--gold: #8e6b2c;color:var(--ink);background:#123a58;font-family:Outfit,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden}button,input,summary{font:inherit}button,summary{touch-action:manipulation}button{cursor:pointer}button,input,summary{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:active:not(:disabled){transform:translateY(1px)}.stage{position:fixed;top:0;right:0;bottom:0;left:0}.scene-loading{display:grid;place-items:center;color:var(--paper);font-family:Fraunces,Georgia,serif;font-size:24px;background:#123a58}.scene{position:absolute;top:96px;right:0;bottom:0;left:0}.stage-canvas{width:100%;height:100%;display:block;touch-action:none}.hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.masthead{position:absolute;inset:0 0 auto;height:96px;display:flex;align-items:center;gap:16px;padding:0 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 4px 24px #102d3920}.atlas-mark{width:48px;height:48px;color:var(--teal);flex:none}.kicker{margin:0;color:#77613b;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.masthead .kicker{margin-bottom:5px}.masthead .kicker span{color:var(--muted)}h1,h2{margin:0;font-family:Fraunces,Georgia,serif;font-weight:560;letter-spacing:-.03em;text-wrap:balance}h1{font-size:30px;line-height:1.12}h2{font-size:25px;line-height:1.2}.chart-mode{margin-left:auto;margin-right:252px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;color:var(--teal);font-size:12px}.chart-mode:before{content:"";display:inline-block;width:6px;height:6px;background:var(--teal);border-radius:50%;margin-right:8px}.panel{pointer-events:auto;background:var(--paper);border:1px solid #fefbf1;border-radius:12px;box-shadow:0 8px 30px #0b28302e;color:var(--ink)}.title-card{position:absolute;top:120px;left:24px;width:300px;padding:24px;max-height:calc(100dvh - 180px);overflow:auto}.title-card>h2{margin-top:8px}.meter{margin:24px 0 20px}.meter-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:10px;gap:8px}.meter-row>span:last-child{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.meter-track{height:5px;border-radius:99px;background:var(--line);overflow:hidden}.meter-fill{height:100%;background:var(--gold);border-radius:inherit}.raise{width:100%;border:1px solid var(--teal);border-radius:7px;padding:14px 16px;background:var(--teal);color:var(--paper);font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;box-shadow:0 3px 5px #173e3e12}.raise>span:last-child{font-size:22px;line-height:1}.raise:hover:not(:disabled){background:var(--teal-dark)}.raise:disabled{background:var(--muted);border-color:var(--muted);cursor:default}.title-actions{display:grid;gap:8px;margin-top:12px}.title-actions button,.textish,.codex-toggle{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:7px;padding:10px 12px;min-height:44px;font-size:13px;font-weight:500}.title-actions button{text-align:left;display:flex;align-items:center;justify-content:space-between}.title-actions button:hover,.textish:hover,.codex-toggle:hover{background:var(--paper-deep);border-color:#b5b8a9}.title-actions button[aria-pressed=true]{background:#e2ebe1;border-color:var(--teal);color:var(--teal-dark)}.title-actions .reset{border-color:transparent;color:var(--muted);min-height:36px;padding-left:0}.title-actions .reset:hover,.title-actions .reset.confirming{color:#913c2f;padding-left:12px;background:#f3e5de}kbd{font-family:inherit;font-size:11px;font-weight:400;border:1px solid var(--line);padding:1px 5px;border-radius:3px;color:var(--muted)}.toast{margin:14px 0 0;border-top:1px solid var(--line);padding-top:14px;font-size:13px;color:var(--teal-dark);line-height:1.5}.toast:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin:0 8px 2px 0}.chart-notes{border-top:1px solid var(--line);padding-top:4px}.chart-notes summary{cursor:pointer;font-size:12px;color:var(--muted);min-height:36px;padding:10px 0}.lede,.footnote{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}.footnote{font-size:12px}.compass-wrap{position:absolute;top:24px;right:28px;display:flex;align-items:center;gap:16px}.compass-wrap>*{pointer-events:auto}.codex-toggle{background:var(--paper);padding:10px 16px}.compass{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center}.compass-rose{width:32px;height:32px;position:relative}.compass-rose span{position:absolute;top:-2px;left:0;right:0;text-align:center;font-family:Fraunces,Georgia,serif;font-size:12px;color:#913c2f}.compass-rose i{position:absolute;left:15px;top:13px;width:2px;height:14px;background:var(--teal);border-radius:2px}.side{position:absolute;top:120px;right:24px;bottom:56px;width:300px;display:none;flex-direction:column;gap:12px;min-height:0}.side.open{display:flex;animation:panel-in .2s ease-out}.codex,.chronicle{padding:20px;min-height:0}.chronicle{overflow:auto;max-height:46%;scrollbar-width:thin}.chronicle-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.chronicle h2{margin-bottom:8px}.fragment-raise{display:none}.chronicle p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.codex{flex:1;display:flex;flex-direction:column;overflow:hidden}.codex-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.codex-title .kicker{margin-bottom:5px}.count-badge{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.search{display:block}.search-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;color:var(--muted)}.search input{width:100%;border-radius:7px;border:1px solid #84907d;background:#fffdf7;padding:12px;color:var(--ink);font-size:14px;min-height:44px}.search input::placeholder{color:var(--muted);opacity:1}.list-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px}.codex-list{list-style:none;margin:0 -8px;padding:0 8px 0 0;overflow:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:#b7bcac transparent}.codex-list li+li{border-top:1px solid var(--line)}.codex-list button,.landmarks button{width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:6px;padding:13px 8px;color:inherit;display:flex;gap:10px;align-items:center}.codex-list button:hover,.landmarks button:hover{background:var(--paper-deep)}.codex-list button.active,.landmarks button.active{background:#e2ebe1;border-color:var(--teal)}.codex-list button[data-state=ready]{background:#f1ebd7}.codex-list button[data-state=lost]{color:var(--muted)}.fragment-number{font-size:11px;color:var(--muted);width:16px;font-variant-numeric:tabular-nums;flex:none}.fragment-status{margin-left:auto;color:var(--teal);font-size:18px}.seal{width:7px;height:7px;border-radius:2px;flex:none;box-shadow:inset 0 0 0 1px #0002}.codex-copy{display:flex;flex-direction:column;min-width:0;gap:3px}.codex-copy strong,.landmarks strong{font-size:14px;font-weight:500}.codex-copy em{text-transform:capitalize}.codex-copy em,.landmarks span{font-style:normal;font-size:12px;color:var(--muted)}.landmarks em{font-style:normal;font-size:13px;color:var(--muted);line-height:1.5}.landmarks{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.landmarks button{flex-direction:column;align-items:flex-start;gap:4px;background:var(--paper-deep);padding:12px}.landmarks span{text-transform:uppercase;font-size:10px;letter-spacing:.1em}.empty{padding:24px 12px;color:var(--muted);font-size:14px;line-height:1.5}.empty strong{color:var(--ink);font-weight:500}.empty p{margin:8px 0 16px}.empty button{border:1px solid var(--teal);justify-content:center;color:var(--teal)}.map-caption{position:absolute;bottom:92px;left:348px;right:348px;display:flex;align-items:center;justify-content:center;gap:16px;color:#f8f5eb;font-family:Fraunces,Georgia,serif;font-size:15px;font-style:italic;letter-spacing:.03em;text-shadow:0 1px 8px #0e3147}.map-caption-rule{width:32px;height:1px;background:#f8f5eb70}.map-help{position:absolute;bottom:16px;left:24px;right:348px;margin:0;color:#fff9ec;font-size:12px;text-shadow:0 1px 4px #0b273b}.map-help span{margin:0 10px}.crash,.scene-fallback{min-height:100%;display:grid;place-items:center;align-content:center;gap:8px;padding:24px;background:var(--paper);color:var(--ink)}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px)and (min-width:861px){.title-card{width:252px;left:16px;padding:20px}.side{width:272px;right:16px}.map-caption{left:280px;right:300px}.map-help{right:300px;font-size:11px}.chart-mode{display:none}}@media(max-width:860px){.masthead{height:148px;padding:20px;align-items:flex-start;gap:12px}.atlas-mark{width:36px;height:36px}.masthead .kicker{font-size:10px;letter-spacing:.12em;margin-bottom:8px}.masthead .kicker span{display:none}h1{font-size:25px}.chart-mode{display:none}.compass-wrap{top:91px;left:20px;right:20px;justify-content:space-between}.codex-toggle{min-width:144px;background:var(--paper-deep)}.compass{width:40px;height:40px}.stage{display:grid;grid-template-rows:148px minmax(0,1fr) auto}.hud{display:contents}.scene{position:relative;inset:auto;grid-row:2;min-height:0}.title-card{position:relative;inset:auto;grid-row:3;margin:12px 12px max(12px,env(safe-area-inset-bottom));width:auto;padding:16px;max-height:calc(100dvh - 172px)}.title-card>.kicker{font-size:10px}.title-card>h2{font-size:21px;margin-top:4px}.meter{margin:14px 0}.meter-row{margin-bottom:8px}.raise{padding:12px 14px}.title-actions{grid-template-columns:1fr 1.25fr;gap:8px;margin-top:8px}.title-actions button{justify-content:center;padding:8px;font-size:12px}.title-actions kbd{display:none}.title-actions .reset{grid-column:1;grid-row:2;justify-content:flex-start;min-height:36px;padding-left:0}.toast{font-size:12px;padding-top:10px;margin-top:4px}.chart-notes{grid-column:2;grid-row:2;padding-top:0;border-top:0}.chart-notes summary{text-align:right;font-size:12px;padding:10px 0}.chart-notes[open]{grid-column:1 / -1;grid-row:3;border-top:1px solid var(--line)}.chart-notes[open] summary{text-align:left}.side{top:auto;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;height:min(420px,calc(100dvh - 172px));z-index:3}.codex-open .title-card{visibility:hidden}.side:has(.chronicle) .codex{display:none}.chronicle{max-height:100%}.fragment-raise{display:flex;margin-top:16px}.codex,.chronicle{padding:20px}.codex-title{margin-bottom:14px}.search input{font-size:16px}.map-caption,.map-help{display:none}}@media(max-height:600px)and (max-width:860px){.stage{display:block}.scene{position:absolute}.title-card{position:absolute;margin:0}.masthead{height:88px;padding:14px 16px}.masthead .kicker{margin-bottom:4px}h1{font-size:23px;max-width:260px}.compass-wrap{top:20px;left:auto;right:16px}.compass{display:none}.title-card{left:12px;right:auto;width:260px;top:100px;max-height:calc(100dvh - 112px)}.side{left:auto;width:min(300px,calc(100vw - 296px));height:calc(100dvh - 112px)}.scene{top:88px;right:0;bottom:0;left:0}.map-caption{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
