:root{--sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fs-min:14px;--fs-base:16px;--fs-lg:20px;--fs-xl:28px;--sea-deep:#0c1720;--sea:#12222e;--sea-panel:#1a2f3d;--sea-panel-2:#21394a;--rope:#5c4a2e;--brass:#c9a24a;--brass-bright:#f0c766;--lantern:#f2a54a;--lantern-soft:#f2a54a29;--parchment:#ece0c8;--parchment-2:#e2d3b4;--ink:#2b2416;--ink-dim:#443a24;--text:#dbe6ec;--text-dim:#9fb2bd;--text-faint:#8ba0ac;--dim-fg:var(--text-dim);--calm:#7fd6bd;--calm-soft:#7fd6bd29;--amber:#f0b45a;--amber-soft:#f0b45a2e;--verdict-good:var(--calm);--verdict-bad:#f08b80;--line:#c9a24a47;--line-soft:#dbe6ec1a;--radius:14px;--radius-sm:9px;--shadow:0 8px 24px #00000059;--shadow-lift:0 14px 34px #00000073;--tap-min:44px;--drag-handle:56px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:var(--fs-base) / 1.5 var(--sans);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:radial-gradient(120% 80% at 50% -10%, #16323f 0%, var(--sea-deep) 60%) fixed, var(--sea-deep);color:var(--text);overscroll-behavior:none}#root>main{flex-direction:column;flex:1;min-height:0;display:flex}#root{width:100%;max-width:520px;height:100svh;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);flex-direction:column;margin:0 auto;display:flex;overflow:hidden}h1,h2,h3{font-family:var(--sans);color:inherit;letter-spacing:.1px;margin:0 0 .4em;font-weight:600}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}p{margin:0 0 .7em}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button{font-family:var(--sans);font-size:var(--fs-base);min-height:var(--tap-min);cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-sm);--dim-fg:var(--ink-dim);color:var(--ink);background:var(--brass);padding:10px 18px;transition:transform .12s,filter .12s,background .12s,scale 80ms ease-out,box-shadow 80ms ease-out}button:active{transform:var(--self-center, ) translateY(1px)}button:active:not(:disabled),[role=button]:active:not([aria-disabled=true]){scale:.97}button.bell:active:not(:disabled){box-shadow:0 0 10px var(--lantern-soft)}:root[data-calm] button,:root[data-calm] [role=button]{transition-duration:.001ms!important}button:disabled{opacity:.85;box-shadow:none;cursor:default}button:disabled:active{transform:var(--self-center,none)}button.bell:disabled,button:disabled:not([class]){--dim-fg:var(--text-dim);background:var(--sea-panel);color:var(--brass);border-color:var(--brass);opacity:1}button.ghost{--dim-fg:var(--text-dim);color:var(--text);border-color:var(--line);background:0 0}button.bell{background:linear-gradient(180deg, var(--brass-bright), var(--brass));color:var(--ink);box-shadow:0 0 22px var(--lantern-soft);font-weight:600}:focus-visible{outline:2px solid var(--brass-bright);outline-offset:2px}.small{font-size:var(--fs-min)}.dim{color:var(--dim-fg)}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.screen{padding:18px 16px calc(18px + var(--safe-bottom));flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.screen-scroll{-webkit-overflow-scrolling:touch;overflow-y:auto}.topbar{min-height:var(--tap-min);align-items:center;gap:10px;display:flex}.topbar .grow{flex:1}.panel{background:linear-gradient(180deg, var(--sea-panel), var(--sea));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}button.panel{--dim-fg:var(--text-dim);color:var(--text)}.paper{--dim-fg:var(--ink-dim);--verdict-good:#17604d;--verdict-bad:#8c2f2a;background:linear-gradient(180deg, var(--parchment), var(--parchment-2));color:var(--ink);border:1px solid var(--rope);border-radius:var(--radius-sm);padding:12px 14px}.paper .dim{color:var(--ink-dim)}.vitals{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.vital{font-size:var(--fs-min);border:1px solid var(--rope);color:var(--ink);background:#2b241614;border-radius:999px;padding:3px 10px}.chip{min-height:var(--tap-min);border:1px solid var(--line);background:var(--sea-panel-2);color:var(--text);font-size:var(--fs-min);border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;display:inline-flex}.dock-phasebar{align-items:center;gap:10px;display:flex}.dock-back{min-height:var(--tap-min);border:1px solid var(--rope);color:var(--text-dim);font-size:var(--fs-min);background:0 0;border-radius:999px;padding:6px 12px}.dock-back:disabled{opacity:0;pointer-events:none}.dock-steps{font-size:var(--fs-min);color:var(--text-dim,#b9c4cc);flex:1;justify-content:center;gap:6px;display:flex}.dock-steps span{border:1px solid #0000;border-radius:999px;padding:2px 8px}.dock-steps span.active{border-color:var(--brass);color:var(--brass-bright);font-weight:700}.dock-stage{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.dock-advance{min-height:var(--tap-min);border:1px solid var(--brass);background:var(--sea-panel-2);color:var(--brass-bright);font-weight:700;font-size:var(--fs-min);border-radius:999px;padding:10px 16px}.dock-advance:disabled{opacity:.55;color:var(--text-dim,#b9c4cc);border-color:var(--line)}.inspect-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.inspect-card{--dim-fg:var(--text-dim);text-align:left;border:1px solid var(--line);background:var(--sea-panel-2);min-width:0;min-height:82px;color:var(--text);font-size:var(--fs-min);border-radius:12px;flex-direction:column;align-items:stretch;gap:4px;padding:8px 10px;transition:transform .12s;display:flex}.inspect-card:active{transform:scale(.97)}.inspect-tell,.inspect-vitals{white-space:normal;overflow-wrap:anywhere}.inspect-mark{color:var(--brass);font-size:var(--fs-min)}.inspect-tabs{flex-wrap:wrap;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.inspect-tab{border:1px solid var(--line);background:var(--sea-panel-2);min-height:36px;color:var(--text);font-size:var(--fs-min);border-radius:999px;flex:none;padding:6px 10px}.inspect-tab.active{border-color:var(--brass);background:var(--sea-panel);color:var(--brass-bright);font-weight:700}.inspect-sheet{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow-y:auto}.inspect-close{border:1px solid var(--rope);min-height:32px;color:var(--ink-dim);font-size:var(--fs-min);background:0 0;border-radius:999px;padding:4px 10px}.rank-rack{flex:none;grid-template-columns:1fr 1fr;gap:8px;max-height:40vh;display:grid;overflow:hidden auto}.rank-tag{text-align:left;border:1px solid var(--line);background:var(--sea-panel-2);min-width:0;color:var(--text);font-size:var(--fs-min);cursor:grab;border-radius:10px;flex-direction:column;align-items:stretch;gap:2px;padding:8px 10px;display:flex}.rank-tag-tell{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.rank-tag-vitals{white-space:normal;overflow-wrap:anywhere}.rank-berths{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow:hidden auto}.rank-berth-row{align-items:stretch;gap:8px;display:flex}.rank-berth-num{min-width:30px;color:var(--brass-bright);background:var(--sea-panel-2);border:1px solid var(--line);border-radius:8px;justify-content:center;align-items:center;font-weight:700;display:flex}.rank-berth{flex:1;align-items:center;gap:8px;min-width:0;min-height:52px;padding:8px 10px;display:flex}.rank-berth-fill{cursor:grab;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.rank-berth-text{flex:1;min-width:0}.rank-berth-tell{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rank-berth-view{border:1px solid var(--rope);min-width:44px;min-height:44px;color:var(--ink-dim);font-size:var(--fs-min);background:0 0;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:4px 12px;display:inline-flex}.rank-berth-fill.picked{box-shadow:0 0 0 2px var(--brass-bright), 0 0 12px -2px var(--lantern);border-radius:8px}.rank-berth-movehere{border:1px dashed var(--brass);width:100%;min-height:44px;color:var(--brass-bright);font-size:var(--fs-min);background:0 0;border-radius:8px;font-weight:700}.crew-berth{flex-direction:column;align-items:stretch;gap:6px;padding:8px 10px}.crew-berth-head{align-items:center;gap:8px;display:flex}.crew-berth-head strong{flex:1;min-width:0}.crew-chip{text-align:left;cursor:default;justify-content:flex-start;gap:6px;width:100%;min-height:44px;padding:8px 12px}.crew-chip-task{flex:1;min-width:0}.crew-chip-role{color:inherit;white-space:nowrap;flex:none;font-weight:700}.view-overlay{z-index:45;background:#060c11b8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.view-overlay-sheet{flex-direction:column;gap:8px;width:100%;max-width:360px;max-height:80vh;display:flex;overflow-y:auto}.bug-fab{--dim-fg:var(--text-dim);bottom:calc(10px + env(safe-area-inset-bottom,0px));left:calc(8px + env(safe-area-inset-left,0px));z-index:55;width:var(--tap-min);height:var(--tap-min);min-height:var(--tap-min);box-shadow:none;color:var(--brass);opacity:.45;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:fixed}.bug-fab:hover,.bug-fab:focus-visible{opacity:1}@media (width<=640px){.bug-fab{top:calc(18px + env(safe-area-inset-top,0px));bottom:auto;left:auto;right:calc(6px + env(safe-area-inset-right,0px) + max(0px, (100vw - 520px) / 2))}.topbar{padding-right:38px}.dev-watermark{right:calc(14px + var(--tap-min))}}.bug-overlay{z-index:56}.bug-note{resize:vertical;border-radius:var(--radius-sm);width:100%;min-height:88px;color:var(--text);font:inherit;font-size:var(--fs-base);background:#060c1180;border:1px solid #c9a24a59;padding:10px}@keyframes dock-fold-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dock-fold-in{animation:.18s dock-fold-in}@media (prefers-reduced-motion:reduce){.dock-fold-in{animation:none}.inspect-card{transition:none}}.crew-tray{flex-wrap:wrap;gap:10px;display:flex}.crew-token{min-width:var(--drag-handle);min-height:var(--drag-handle);border:1px solid var(--brass);background:radial-gradient(120% 120% at 50% 0%, var(--sea-panel-2), var(--sea));color:var(--text);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:6px 8px;font-size:14px;display:flex}.crew-token .role{color:var(--brass-bright);font-weight:700}.resolve{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;background:#060c11d1;flex-direction:column;display:flex;position:fixed;inset:0}.resolve-body{flex-direction:column;flex:1;gap:12px;width:100%;max-width:520px;margin:0 auto;padding:20px 16px 8px;display:flex;overflow-y:auto}.resolve-foot{padding:12px 16px calc(16px + var(--safe-bottom));width:100%;max-width:520px;margin:0 auto}.beat{opacity:0;animation:.5s forwards beat-in;transform:translateY(8px)}@keyframes beat-in{to{opacity:1;transform:none}}.why-line{border-left:3px solid var(--amber);background:var(--amber-soft);font-size:var(--fs-min);border-radius:0 8px 8px 0;padding:6px 10px}.why-line.why-head{border-left:0;border-top:1px solid var(--line-soft);color:var(--brass);letter-spacing:.3px;background:0 0;border-radius:0;margin-top:4px;padding:12px 0 2px}.why-deleg{border-left:3px solid var(--calm);background:var(--calm-soft);font-size:var(--fs-min);border-radius:0 8px 8px 0}.why-deleg>summary{cursor:pointer;min-height:var(--tap-min);color:var(--text);align-items:center;padding:0 10px;font-weight:600;list-style:none;display:flex}.why-deleg>summary::-webkit-details-marker{display:none}.why-deleg>summary:before{content:"›";width:14px;color:var(--calm);transition:transform .14s;display:inline-block}.why-deleg[open]>summary:before{transform:rotate(90deg)}.why-deleg-body{color:var(--text);padding:0 10px 8px 24px}.why-deleg-gloss{color:var(--text-dim);padding:0 10px 10px 24px}.ada{color:var(--parchment);border-top:1px solid var(--line-soft);padding-top:10px;font-style:italic}.ada:before{content:"Ada";font-style:normal;font-size:var(--fs-min);color:var(--brass);letter-spacing:.4px;margin-bottom:2px;display:block}.pharos{color:var(--parchment);border-top:1px solid var(--line-soft);padding-top:10px;font-style:italic}.pharos:before{content:"Pharos";font-style:normal;font-size:var(--fs-min);color:var(--brass);letter-spacing:.4px;margin-bottom:2px;display:block}.zone.locked{opacity:.55;cursor:default}.sighting{background:var(--calm-soft);border:1px solid #7fd6bd66;border-radius:12px;align-items:center;gap:12px;padding:10px;display:flex}.star-dot{background:radial-gradient(circle at 50% 50%, var(--brass-bright), var(--brass));width:26px;height:26px;box-shadow:0 0 12px var(--lantern);border-radius:50%;animation:1.1s star-pulse}@keyframes star-pulse{0%{filter:brightness(.7);transform:scale(.7)}50%{filter:brightness(1.4);transform:scale(1.15)}to{filter:brightness();transform:scale(1)}}.dev-watermark{top:calc(6px + var(--safe-top));z-index:60;color:var(--brass-bright);border:1px solid var(--brass);letter-spacing:.3px;pointer-events:none;opacity:.9;background:repeating-linear-gradient(45deg,#3a2f14,#3a2f14 8px,#2b2410 8px 16px);border-radius:6px;padding:3px 7px;font-size:11px;position:fixed;right:6px}.zone{--dim-fg:var(--text-dim);border-radius:var(--radius);border:1px solid var(--line);text-align:left;color:var(--text);background:linear-gradient(180deg, var(--sea-panel), var(--sea));flex-direction:column;gap:4px;width:100%;padding:16px;display:flex}.zone.primary{border-color:var(--brass);min-height:96px;box-shadow:0 0 18px var(--lantern-soft)}.zone .zone-title{font-size:var(--fs-lg);font-weight:700}.zone.secondary{min-height:var(--tap-min);opacity:.92;padding:10px 14px}.zone-row{gap:10px;display:flex}.zone-row>.zone{flex:1}.lantern-stepper{flex-direction:column;gap:6px;display:flex}.lamps{flex-wrap:wrap;gap:8px;display:flex}.lamp{--dim-fg:var(--text-dim);flex:0 0 var(--tap-min);width:var(--tap-min);height:var(--tap-min);border:1px solid var(--rope);background:var(--sea);color:var(--text-faint);border-radius:10px;justify-content:center;align-items:center;display:flex}.lamp.lit{--dim-fg:var(--ink-dim);background:radial-gradient(circle at 50% 40%, var(--lantern), #7a4a16);border-color:var(--brass);color:var(--ink);box-shadow:0 0 12px var(--lantern-soft)}.settings-toggle{min-height:var(--tap-min);cursor:pointer}.settings-toggle input[type=checkbox]{width:22px;height:22px;accent-color:var(--brass);flex:none;margin:0}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:10px;display:flex}.center{text-align:center}.spacer{flex:1}.scene{padding:28px 20px calc(40px + var(--safe-bottom));cursor:pointer;-webkit-user-select:none;user-select:none;background:radial-gradient(130% 90% at 50% 18%, var(--sea-panel), var(--sea-deep) 78%);flex-direction:column;flex:1;justify-content:center;gap:18px;display:flex;position:relative}.scene-body{flex-direction:column;justify-content:center;gap:12px;min-height:42vh;display:flex}.scene-stage{color:var(--text-dim);font-style:italic;font-size:calc(var(--fs-base) * var(--story-scale,1));line-height:1.55}.scene-speaker{flex-direction:column;gap:6px;display:flex}.scene-nameline{align-self:flex-start;align-items:center;gap:8px;display:flex}.scene-nameline .scene-chip{align-self:center}.scene-face{border:2px solid var(--brass);border-radius:50%;flex:none;width:40px;height:40px;position:relative;overflow:hidden}.scene-chip{color:var(--brass-bright);letter-spacing:.6px;text-transform:uppercase;border:1px solid var(--brass);background:var(--lantern-soft);border-radius:999px;align-self:flex-start;padding:3px 11px;font-size:14px}.scene-chip.faint{opacity:.66}.paper .scene-chip{color:var(--ink-dim);border-color:var(--rope)}.paper .scene-chip.faint{opacity:1;background:0 0}.scene-note{color:var(--text-faint);font-size:calc(var(--fs-min) * var(--story-scale,1));font-style:italic}.scene-line{color:var(--parchment);font-size:calc(var(--fs-lg) * var(--story-scale,1));font-style:italic;line-height:1.45}.scene-caret{background:var(--brass-bright);vertical-align:baseline;align-self:stretch;width:2px;margin-left:1px;animation:1s steps(2,start) infinite scene-caret-blink;display:inline-block}.scene-line .scene-caret,.scene-stage .scene-caret{height:1em;transform:translateY(.12em)}@keyframes scene-caret-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.scene-choice{flex-direction:column;gap:10px;display:flex}.seg-label{font-size:var(--fs-min);color:var(--text-dim)}.seg-row{gap:8px;display:flex}.seg-btn{--dim-fg:var(--text-dim);font-size:var(--fs-min);color:var(--parchment);background:var(--sea-panel-2);border:1px solid var(--rope);cursor:pointer;border-radius:10px;flex:1;padding:9px 6px}.seg-btn.on{--dim-fg:var(--ink-dim);color:var(--ink);background:var(--brass-bright);border-color:var(--brass-bright);font-weight:700}.seg-sample{color:var(--parchment);font-style:italic;font-size:calc(var(--fs-lg) * var(--story-scale,1));margin:0;line-height:1.4}.scene-hint{left:0;right:0;bottom:calc(16px + var(--safe-bottom));text-align:center;color:var(--text-faint);font-size:var(--fs-min);pointer-events:none;position:absolute}.log-frame{border:1.5px solid var(--brass);pointer-events:none;z-index:1;border-radius:14px;position:absolute;inset:8px;box-shadow:inset 0 0 46px -14px #000000c7}.log-frame:before{content:"";border:1px solid var(--line);border-radius:10px;position:absolute;inset:4px}.log-watermark{fill:none;width:76%;max-width:460px;stroke:var(--brass);stroke-width:.5px;opacity:.07;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scene-body,.scene-choice{z-index:2;position:relative}.scene-hint{z-index:2}.log-corner{width:32px;height:32px;position:absolute;overflow:visible}.log-corner-tl{top:2px;left:2px}.log-corner-tr{top:2px;right:2px;transform:scaleX(-1)}.log-corner-br{bottom:2px;right:2px;transform:scale(-1)}.log-corner-bl{bottom:2px;left:2px;transform:scaleY(-1)}.log-corner-line{fill:none;stroke:var(--brass-bright);stroke-width:2px;stroke-linecap:round}.log-corner-arc{fill:none;stroke:var(--brass);stroke-width:1.3px;stroke-linecap:round;opacity:.85}.log-corner-gem{fill:var(--brass-bright)}.log-loader{cursor:default;justify-content:center;align-items:center}.log-loader-inner{z-index:2;flex-direction:column;align-items:center;gap:16px;display:flex}.log-compass{transform-origin:50%;filter:drop-shadow(0 0 10px #f2a54a40);width:76px;height:76px;animation:9s linear infinite log-compass-spin}.log-compass-ring,.log-compass-ring2{fill:none;stroke:var(--line);stroke-width:1.5px}.log-compass-star{fill:var(--brass)}.log-compass-star2,.log-compass-hub{fill:var(--brass-bright)}.log-loader-label{color:var(--text-dim);font-size:var(--fs-base);letter-spacing:.3px;margin:0;font-style:italic}@keyframes log-compass-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.log-compass{animation:none}}.log-interlude{cursor:pointer;justify-content:center;align-items:center}.log-interlude-inner{z-index:2;flex-direction:column;align-items:center;gap:20px;animation:.52s ease-out both log-interlude-in;display:flex}.log-interlude-mark{filter:drop-shadow(0 0 8px #f2a54a38);width:60px;height:60px}.log-interlude-line{color:var(--text);letter-spacing:.4px;text-align:center;text-wrap:balance;margin:0;font-size:1.15rem;font-style:italic}.log-interlude-hint{color:var(--text-dim);font-size:var(--fs-base);letter-spacing:.3px;margin:0}@keyframes log-interlude-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.log-interlude-inner{animation:none}}@keyframes wheel-breathe{0%,to{box-shadow:0 0 0 1px var(--line), 0 0 18px -6px var(--lantern)}50%{box-shadow:0 0 0 1px var(--brass), 0 0 30px -2px var(--lantern)}}.zone.breathing{animation:4.2s ease-in-out infinite wheel-breathe}@media (prefers-reduced-motion:reduce){.zone.breathing{animation:none}}.zone.tease-dark{opacity:.72;cursor:default;border-style:dashed}.voyage-screen{justify-content:center;align-items:center;height:100%;min-height:100dvh;padding:0;display:flex;position:relative;overflow:hidden}.voyage-map-wrap{width:100%;max-width:min(100%,66.6dvh);box-shadow:var(--shadow);margin:0 auto;position:relative}.voyage-back{bottom:calc(var(--safe-bottom,0px) + 14px);white-space:nowrap;z-index:8;width:auto;padding:8px 18px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #00000080}.voyage-map-img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.voyage-pin{--self-center:translate(-50%, -50%);transform:var(--self-center);min-width:var(--tap-min);min-height:var(--tap-min);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:0;display:flex;position:absolute}.voyage-pin:disabled{cursor:default}.voyage-pin-dot{background:var(--brass-bright);width:15px;height:15px;box-shadow:0 0 10px -1px var(--lantern), 0 1px 3px #0009;border:1.5px solid #0c1720bf;border-radius:50%}.voyage-plaque{white-space:nowrap;filter:drop-shadow(0 3px 8px #00000080);background:url(/assets/Border-CMKY-amy.webp) 50%/100% 100% no-repeat;justify-content:center;align-items:center;height:46px;padding:0 26px;display:inline-flex}.voyage-plaque-title{font-size:var(--fs-min);letter-spacing:.04em;color:#f4e7c7;text-shadow:0 1px #281405;align-items:baseline;gap:7px;padding-bottom:2px;font-weight:700;display:inline-flex}.voyage-plaque-n{font-size:var(--fs-min);color:#2a1605;width:21px;height:21px;text-shadow:none;background:#d9b25f;border-radius:50%;flex:none;justify-content:center;align-self:center;align-items:center;font-weight:800;display:inline-flex;box-shadow:inset 0 1px 1px #fff0c899,0 1px 2px #0006}.voyage-pin.locked .voyage-plaque-n{color:#2a2620;box-shadow:none;background:#6f6656}.voyage-pin.current .voyage-pin-dot{background:var(--lantern);width:19px;height:19px;box-shadow:0 0 0 4px var(--lantern-soft), 0 0 16px 0 var(--lantern);animation:4.2s ease-in-out infinite voyage-pin-breathe}.voyage-pin.current .voyage-plaque{filter:drop-shadow(0 0 10px var(--lantern-soft)) drop-shadow(0 3px 8px #00000080)}.voyage-pin.current .voyage-plaque-title{color:#fff3d6}.voyage-pin.locked{pointer-events:none}.voyage-pin.locked .voyage-pin-dot{background:#c9a24a80;border-color:#0c172099;width:11px;height:11px;box-shadow:0 0 6px -2px #c9a24a80}.voyage-pin.star .voyage-pin-dot{width:20px;height:20px}.voyage-pin.star.charted .voyage-pin-dot{background:#eaf3ff;box-shadow:0 0 0 4px #b4d2ff38,0 0 20px 2px #c8e0ffd9}@keyframes voyage-pin-breathe{0%,to{box-shadow:0 0 0 3px var(--lantern-soft), 0 0 12px 0 var(--lantern)}50%{box-shadow:0 0 0 6px var(--lantern-soft), 0 0 22px 2px var(--lantern)}}@media (prefers-reduced-motion:reduce){.voyage-pin.current .voyage-pin-dot{animation:none}}.voyage-grid{pointer-events:none;z-index:2;background-image:repeating-linear-gradient(90deg,#f0c76647 0 1px,#0000 1px 10%),repeating-linear-gradient(#f0c76647 0 1px,#0000 1px 10%);position:absolute;inset:0}.voyage-pin.draggable{cursor:grab;touch-action:none;z-index:4}.voyage-pin.draggable.dragging{cursor:grabbing;z-index:6}.voyage-pin.draggable.dragging .voyage-plaque{filter:drop-shadow(0 0 0 2px var(--brass-bright)) drop-shadow(0 4px 12px #000000b3)}.voyage-edit .voyage-pin.locked{pointer-events:auto}.voyage-edit .voyage-pin.locked .voyage-plaque{opacity:.85}.voyage-editbar{z-index:30;padding:10px 14px calc(10px + var(--safe-bottom,0px));border-top:1px solid var(--line);background:#081016f0;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.voyage-editbar-top{align-items:center;gap:10px;display:flex}.voyage-editbar-hint{color:var(--text-dim,#b9c4cc);font-size:13px}.voyage-editbar-status{color:var(--brass-bright);white-space:nowrap;margin-left:auto;font-size:13px;font-weight:700}.voyage-editbar-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.voyage-editbar .bell{width:auto;padding:6px 16px}.voyage-step{gap:4px;display:inline-flex}.voyage-step-btn{--dim-fg:var(--text-dim);border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:700}.voyage-step-btn.on{--dim-fg:var(--ink-dim);background:var(--brass);color:#1a1206;border-color:var(--brass-bright)}.voyage-dpad{grid-template-rows:repeat(3,32px);grid-template-columns:repeat(3,36px);gap:3px;display:grid}.voyage-dpad button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff0d;border-radius:6px;padding:0;font-size:13px}.voyage-dpad button:disabled{opacity:.35;cursor:default}.voyage-dpad .up{grid-area:1/2}.voyage-dpad .left{grid-area:2/1}.voyage-dpad .right{grid-area:2/3}.voyage-dpad .down{grid-area:3/2}.voyage-pin.selected{z-index:7}.voyage-pin.selected .voyage-plaque{outline:2px solid var(--brass-bright);outline-offset:2px;border-radius:4px}.deck-stage-screen{--deck-plate-h:96px;--deck-stage-w:min(100vw, 520px, calc((100dvh - var(--deck-plate-h) - 8px) * .666));flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:100dvh;padding:0;display:flex;position:relative;overflow:hidden}.deck-nameplate{flex:0 0 var(--deck-plate-h);height:var(--deck-plate-h);width:100%;max-width:var(--deck-stage-w);z-index:3;flex-direction:column;justify-content:center;margin:0 auto;padding:0 16px;display:flex}.deck-nameplate h1{margin:0 0 2px}.deck-nameplate .deck-sailline{max-width:none}.deck-stage{width:100%;max-width:var(--deck-stage-w);box-shadow:var(--shadow);flex:none;margin:0 auto;position:relative}.deck-photo{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.deck-scrim{pointer-events:none;z-index:1;background:linear-gradient(#060c118c 0%,#060c1100 26% 68%,#060c1180 100%);position:absolute;inset:0}.deck-title{top:calc(var(--safe-top,0px) + 12px);z-index:3;pointer-events:none;position:absolute;left:16px;right:16px}.deck-title h1{text-shadow:0 2px 8px #000c;margin:0}.deck-title p{text-shadow:0 1px 4px #000000e6;margin:2px 0 0}.deck-story-start{pointer-events:auto;flex-direction:column;align-items:flex-start;gap:6px;max-width:min(18em,100%);display:flex}.deck-title .deck-story-btn{font-size:var(--fs-lg);border:1px solid var(--brass-bright);min-height:56px;box-shadow:0 0 0 3px var(--lantern-soft), 0 0 26px 2px var(--lantern);border-radius:999px;padding:12px 30px;font-weight:700;transition:transform .12s,filter .12s,box-shadow .2s}.deck-title .deck-story-btn:hover{filter:brightness(1.08);box-shadow:0 0 0 5px var(--lantern-soft), 0 0 34px 4px var(--lantern)}.deck-title .deck-story-btn:active{filter:brightness(.96)}.deck-title .deck-story-btn.breathing{animation:3.2s ease-in-out infinite deck-story-breathe}.deck-title .deck-story-btn.breathing:hover{animation-play-state:paused}@keyframes deck-story-breathe{0%,to{box-shadow:0 0 0 3px var(--lantern-soft), 0 0 22px 1px var(--lantern)}50%{box-shadow:0 0 0 7px var(--lantern-soft), 0 0 36px 6px var(--lantern)}}@media (prefers-reduced-motion:reduce){.deck-title .deck-story-btn.breathing{animation:none}}.deck-title p.deck-story-why{color:var(--text);font-size:var(--fs-min);text-shadow:0 1px 4px #000000f2,0 0 10px #000000b3;margin:0;font-weight:600}@media (width<=359px){.deck-crew{display:none}}.deck-hot{pointer-events:none}.deck-hot-ring,.deck-hot-label{pointer-events:auto}.deck-hot{--dim-fg:var(--text-dim);--hot-edge:50;--hot-room:calc(2 * var(--hot-edge) / 100 * var(--deck-stage-w) - 12px);--self-center:translate(-50%, -50%);transform:var(--self-center);z-index:4;min-width:var(--tap-min);min-height:var(--tap-min);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex;position:absolute}.deck-hot:disabled{cursor:default}.deck-hot-ring{border:2px solid var(--brass-bright);width:24px;height:24px;box-shadow:0 0 12px 1px var(--lantern), 0 1px 4px #000000b3;background:radial-gradient(circle,#f0c7668c 0%,#f0c7661f 60%,#0000 72%);border-radius:50%}.deck-hot-label{font-size:var(--fs-min);letter-spacing:.02em;color:#f4ecd8;white-space:normal;text-align:center;max-width:calc(var(--deck-stage-w) - 12px);text-shadow:0 1px 2px #000000e6;background:#0a1218b8;border:1px solid #f0c76680;border-radius:6px;padding:2px 8px;font-weight:700}.deck-hot.primary .deck-hot-ring{width:28px;height:28px}.deck-hot.breathing .deck-hot-ring{animation:4.2s ease-in-out infinite deck-hot-breathe}@keyframes deck-hot-breathe{0%,to{box-shadow:0 0 0 3px var(--lantern-soft), 0 0 12px 0 var(--lantern)}50%{box-shadow:0 0 0 6px var(--lantern-soft), 0 0 22px 2px var(--lantern)}}@media (prefers-reduced-motion:reduce){.deck-hot.breathing .deck-hot-ring{animation:none}}.deck-hot.dark .deck-hot-ring,.deck-hot.disabled .deck-hot-ring{box-shadow:none;background:radial-gradient(circle,#c9a24a33 0%,#0000 68%);border-color:#c9a24a8c}.deck-hot.dark .deck-hot-label,.deck-hot.disabled .deck-hot-label{opacity:.72;border-color:#c9a24a59}.deck-crew{left:0;right:0;bottom:calc(var(--safe-bottom,0px) + 8px);z-index:3;pointer-events:none;justify-content:center;display:flex;position:absolute}.deck-crew .crew-chip{pointer-events:auto}.deck-hot.draggable{cursor:grab;touch-action:none}.deck-hot.draggable.dragging{cursor:grabbing;z-index:6}.deck-hot.selected{z-index:7}.deck-hot.selected .deck-hot-ring{outline:2px solid var(--brass-bright);outline-offset:3px}.ceremony{z-index:20;background:var(--sea-deep,#0a141c);padding:24px 20px calc(24px + var(--safe-bottom,0px));cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed;inset:0}.ceremony-body{width:100%;max-width:360px}.ceremony-caption{text-align:center;color:var(--parchment,#f6e4b8);font-style:italic;font-size:var(--fs-base);margin:12px 2px 0}.weather-sky{margin-bottom:2px;font-weight:600}.weather-clear .weather-sky{color:var(--amber,#e7b45a)}.weather-sitting .weather-sky{color:var(--calm-soft,#8fb0c4)}.tide-log{background:linear-gradient(#0000,#8fb0c41a);border-radius:10px;align-items:flex-end;gap:4px;height:60px;padding:10px 8px 8px;display:flex}.tide-col{flex:1;align-items:flex-end;height:100%;display:flex}.tide-bar{border-radius:3px 3px 0 0;width:100%;transition:height .3s}.tide-in .tide-bar{background:var(--amber,#e7b45a);height:100%}.tide-out .tide-bar{background:var(--calm-soft,#8fb0c4);opacity:.45;height:26%}.tide-high .tide-bar{box-shadow:0 0 10px -1px var(--amber,#e7b45a)}.tide-today .tide-bar{outline:1px solid var(--brass-bright,#f0d9a8);outline-offset:1px}.deck-hub-root{position:relative}.deck-content{z-index:1;flex-direction:column;flex:1;gap:14px;min-height:0;display:flex;position:relative}.deck-ambience{z-index:0;pointer-events:none;contain:strict;position:absolute;inset:0;overflow:hidden}.deck-ambience.paused *{animation-play-state:paused!important}.watch-tint{opacity:1;will-change:opacity;animation:1.2s watch-fade-in;position:absolute;inset:0}.watch-tint[data-watch=dawn]{background:radial-gradient(130% 90% at 50% 8%,#f0b47829,#0000 60%),linear-gradient(#5a78961a,#0000 55%)}.watch-tint[data-watch=day]{background:radial-gradient(130% 90% at 50% 0,#b4d2e61a,#0000 60%)}.watch-tint[data-watch=dusk]{background:radial-gradient(130% 90% at 50% 6%,#f0965029,#0000 62%),linear-gradient(#0000 40%,#1e14282e)}.watch-tint[data-watch=night]{background:radial-gradient(120% 80% at 50% -6%,#1e3c5a33,#0000 60%),linear-gradient(#060c1647,#060c161a)}@keyframes watch-fade-in{0%{opacity:0}to{opacity:1}}.weather-veil{opacity:0;will-change:transform;background:radial-gradient(60% 40% at 30% 30%,#c8d6e080,#0000 70%),radial-gradient(50% 35% at 72% 55%,#c8d6e066,#0000 70%);animation:90s ease-in-out infinite alternate veil-drift;position:absolute;inset:-10% -20%}.weather-veil[data-weather=cloud]{opacity:.12}.weather-veil[data-weather=mist]{opacity:.22}@keyframes veil-drift{0%{transform:translate(-3%)}to{transform:translate(3%,1%)}}.kettle-steam{filter:blur(3px);opacity:.5;will-change:transform, opacity;background:radial-gradient(50% 40% at 50% 80%,#dce4ea80,#0000 70%);width:40px;height:90px;animation:6s ease-in-out infinite kettle-wisp;position:absolute;bottom:14px;left:12px}@keyframes kettle-wisp{0%{opacity:0;transform:translateY(6px)scaleX(.9)}30%{opacity:.55}to{opacity:0;transform:translateY(-26px)scaleX(1.15)}}.deck-ambience.no-motion .watch-tint,.deck-ambience.no-motion .weather-veil,.deck-ambience.no-motion .kettle-steam{animation:none}.deck-ambience.no-motion .kettle-steam{opacity:.4;transform:translateY(-8px)}.crew-deck{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.crew-chip{border:1px solid var(--line-soft);min-height:var(--tap-min);color:var(--text);font-size:var(--fs-min);background:#1a2f3db3;border-radius:999px;align-items:center;gap:7px;padding:6px 12px 6px 8px;display:inline-flex}.crew-chip .silhouette{background:radial-gradient(circle at 50% 35%, var(--text-faint), #6f859266);border-radius:50%;flex:none;width:18px;height:18px}.crew-chip.telling{border-color:var(--line)}.crew-line{font-size:var(--fs-min);color:var(--text-dim);margin:4px 2px 0;font-style:italic}.art-layer{z-index:0;pointer-events:none;will-change:opacity;background-position:50%;background-size:cover;animation:.6s art-fade-in;position:absolute;inset:0}@keyframes art-fade-in{0%{opacity:0}to{opacity:1}}.art-host{isolation:isolate;position:relative}.art-host>.art-layer,.art-fixed-host>.art-layer{z-index:-1}.no-motion .art-layer{animation:none}@media (prefers-reduced-motion:reduce){.art-layer{animation:none}}.crash-screen{text-align:center;justify-content:center;align-items:center}.crash-panel{align-items:stretch;max-width:320px}.route-fallback{justify-content:center;align-items:center}.route-fallback-dots{font-size:var(--fs-lg);color:var(--text-faint);letter-spacing:4px;animation:1.1s ease-in-out infinite route-fallback-fade}@media (prefers-reduced-motion:reduce){.route-fallback-dots{opacity:.6;animation:none}}@keyframes route-fallback-fade{0%,to{opacity:.35}50%{opacity:.85}}.lz-panel{align-self:center;gap:12px;max-width:340px}.lz-line{color:var(--ink);font-size:var(--fs-base);margin:0;line-height:1.5}.lz-btn{width:100%}.lz-ledger-mark{justify-content:center;align-items:center;min-height:52px;display:flex}.lz-scrawl path{fill:none;stroke:var(--ink);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:620;stroke-dashoffset:620px;animation:.9s ease-out forwards lz-draw}.lz-scrawl-static path{stroke-dashoffset:0;animation:none}@keyframes lz-draw{to{stroke-dashoffset:0}}.lz-tap{cursor:pointer}.lz-vig-body{align-self:stretch;gap:14px}.lz-stage{margin:0}.lz-say{flex-direction:column;gap:6px;display:flex}.lz-say .scene-line{margin:0}.lz-patient{border-radius:var(--radius);border:1px solid var(--brass);background:linear-gradient(180deg, var(--sea-panel), var(--sea));width:100%;min-height:88px;color:var(--text);box-shadow:var(--shadow);flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:16px 18px;display:flex}.lz-patient:active{border-color:var(--brass-bright)}.lz-patient-name{font-size:var(--fs-lg);color:var(--brass-bright)}.lz-patient-cue{color:var(--text-faint);letter-spacing:.4px}.lz-chart{flex-direction:column;gap:6px;display:flex}.lz-chart p{color:var(--ink);margin:0}.lz-stamp-wrap{justify-content:center;display:flex}.lz-stamp circle{fill:none;stroke:var(--brass);stroke-width:3px}.lz-stamp path{fill:none;stroke:var(--brass-bright);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.lz-stamp:not(.lz-stamp-static){animation:.32s ease-out both lz-stamp-in}@keyframes lz-stamp-in{0%{opacity:0;transform:scale(.7)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(-4deg)}}.lz-breath{cursor:pointer;justify-content:center;position:relative}.lz-breath:after{content:"";z-index:-1;pointer-events:none;background:#060c1180;position:absolute;inset:0}.lz-breath-lines{gap:16px}.lz-breath-line{color:var(--parchment);font-size:var(--fs-lg);margin:0;line-height:1.5}.lz-breath-anim .lz-breath-line{opacity:0;animation:.6s ease-out forwards lz-breath-fade}.lz-breath-anim .lz-breath-line-2{animation-delay:.55s}@keyframes lz-breath-fade{0%{opacity:0}to{opacity:1}}.lz-breath-hint{color:var(--text-faint)}@media (prefers-reduced-motion:reduce){.lz-scrawl path,.lz-stamp,.lz-breath-anim .lz-breath-line{animation:none}.lz-scrawl path{stroke-dashoffset:0}.lz-breath-anim .lz-breath-line{opacity:1}}button.linked-pick{border-color:var(--brass-bright);box-shadow:0 0 0 2px var(--brass-bright), 0 0 14px -2px var(--lantern)}.crew-token.picked{border-color:var(--brass-bright);box-shadow:0 0 0 2px var(--brass-bright), 0 0 12px -2px var(--lantern);transform:translateY(-2px)}.crew-chip-ready{outline:2px dashed var(--brass);outline-offset:2px;cursor:pointer}.crew-chip-assigned .crew-chip-task,.crew-chip-assigned .crew-chip-role{color:var(--ink)}.tap-picked{box-shadow:0 0 0 2px var(--brass-bright), 0 0 12px -2px var(--lantern);transform:translateY(-2px);border-color:var(--brass-bright)!important}.tap-target-ready{outline:2px dashed var(--brass);outline-offset:2px}.screen-scroll .zone.secondary{flex-shrink:0}.person-face-lg{flex:none;width:56px;height:56px}.case-bedside{align-items:center;gap:10px;display:flex}.bedside-say{align-items:flex-start;gap:10px;display:flex}.face-fade-layer{position:absolute;inset:0}.face-fade-layer.out{animation:.3s both face-fade-out}@keyframes face-fade-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.face-fade-layer.out{opacity:0;animation:none}}.scene-figure{pointer-events:none;flex:none;position:relative}.scene-figure .art-layer{background-position:bottom;background-repeat:no-repeat;background-size:contain}.scene-figure-host{aspect-ratio:2/3;z-index:1;opacity:.92;-webkit-mask-composite:source-in;width:auto;height:46vh;position:absolute;bottom:0;right:-5%;-webkit-mask-image:linear-gradient(270deg,#000 52%,#0000 100%),linear-gradient(#0000 0%,#000 32%);mask-image:linear-gradient(270deg,#000 52%,#0000 100%),linear-gradient(#0000 0%,#000 32%);-webkit-mask-composite:source-in;mask-composite:intersect}.case-figure,.bedside-figure{aspect-ratio:2/3;border:1px solid var(--brass);border-radius:12px;flex:none;width:auto;height:176px;overflow:hidden}.deck-sailline{--dim-fg:var(--text-dim);pointer-events:auto;max-width:min(15.5em,58%)}.deck-crew-stack{pointer-events:none;flex-direction:column;align-items:center;gap:6px;max-width:86%;display:flex}.deck-crew-row{align-items:center;display:flex}.deck-crew-face{--dim-fg:var(--text-dim);border:2px solid var(--line-soft);pointer-events:auto;background:#1a2f3dbf;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;min-height:46px;padding:0;display:inline-flex;overflow:hidden}.deck-crew-face+.deck-crew-face{margin-left:-10px}.deck-crew-face.telling{border-color:var(--brass-bright,#c8a24a);z-index:1}.deck-crew-face .scene-face{border:none;border-radius:50%;width:100%;height:100%}.deck-crew-face .silhouette{background:radial-gradient(circle at 50% 35%, var(--text-faint), #6f859266);border-radius:50%;width:22px;height:22px}.deck-crew-line{text-align:center;text-shadow:0 1px 4px #000000e6;background:#0a161e8c;border-radius:8px;margin:0;padding:4px 10px}.deck-title .tide-dock{margin-top:8px;position:static}.deck-crew{justify-content:flex-end;padding-right:14px}.deck-crew-stack{align-items:flex-end}.log-interlude-line{white-space:pre-line}.log-page-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.log-page-caret{width:16px;color:var(--brass);display:inline-block}.log-page{border-left:2px solid var(--brass);border-radius:0 0 var(--radius) var(--radius);background:#0a161e59;margin:-6px 2px 10px;padding:8px 12px 10px 26px}.log-page-met{margin:0 0 2px;font-style:italic}.log-page-entry{margin:8px 0 0;line-height:1.5}.log-page-hand{opacity:.88}.log-framing{margin:6px 2px;line-height:1.5}.voyage-footer{bottom:calc(var(--safe-bottom,0px) + 14px);flex-direction:column;align-items:center;gap:8px;width:min(92vw,420px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.voyage-footer.is-top{bottom:auto;top:calc(var(--safe-top,0px) + 14px)}.voyage-footer .voyage-back{position:static;transform:none}.voyage-footer .voyage-sail{white-space:nowrap;width:auto;padding:10px 22px;position:static;transform:none;box-shadow:0 2px 10px #00000080}.voyage-plate-card{border:1px solid var(--brass);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);background:#0a161e;padding:8px 12px}.voyage-plate-card-title{color:var(--brass-bright)}.voyage-plate-card-desc{font-size:var(--fs-min);-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:4px 0 0;line-height:1.45;display:-webkit-box;overflow:hidden}.district{width:100%}.district-head{cursor:pointer;align-items:flex-start;list-style:none}.district-head::-webkit-details-marker{display:none}.district-head .zone-title:before{content:"›";width:14px;color:var(--brass);transition:transform .14s;display:inline-block}.district[open]>.district-head .zone-title:before{transform:rotate(90deg)}.district[open]>.district-head{border-color:var(--brass)}.district-doors{flex-direction:column;gap:6px;padding:6px 0 10px 14px;display:flex}.door-row{min-height:var(--tap-min);flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.door-run{opacity:.72}.door-run-note{color:var(--brass);flex:none}.sky-lamp-row{text-align:left;width:100%;color:var(--text);border:2px solid var(--line);background:0 0;border-radius:10px;align-items:center;gap:12px;transition:border-color .14s,background-color .14s;display:flex}.sky-lamp-row.is-lit{background:var(--lantern-soft);border-color:var(--brass-bright)}.sky-lamp-label{flex:1;min-width:0}.sky-lantern{flex:none}.sky-lantern-iron{stroke:var(--brass);fill:none}.sky-lantern-iron-fill{fill:var(--brass);opacity:.62;transition:opacity .14s}.sky-lantern.is-lit .sky-lantern-iron-fill{opacity:1}.sky-lantern-glass{fill:#060c129e;stroke:var(--brass);stroke-width:1.2px;opacity:.85;transition:fill .16s,opacity .16s}.sky-lantern.is-lit .sky-lantern-glass{fill:var(--lantern-soft);opacity:1}.sky-lantern-flame{fill:var(--brass-bright);opacity:0;transition:opacity .16s}.sky-lantern.is-lit .sky-lantern-flame{opacity:1;filter:drop-shadow(0 0 5px var(--lantern)) drop-shadow(0 0 12px var(--lantern))}@media (prefers-reduced-motion:no-preference){.sky-lantern.is-lit .sky-lantern-flame{animation:.26s ease-out sky-lantern-catch}}@keyframes sky-lantern-catch{0%{opacity:0;transform-origin:13px 23px;transform:scaleY(.4)}60%{opacity:1;transform-origin:13px 23px;transform:scaleY(1.12)}to{opacity:1;transform-origin:13px 23px;transform:scaleY(1)}}.sky-cell{text-align:left;align-items:center;gap:10px;width:100%;display:flex}.moor-board{gap:12px}.moor-hand{border:1px dashed var(--line);background:var(--panel);border-radius:10px;flex-wrap:wrap;gap:8px;min-height:56px;padding:8px;display:flex}.moor-hand-empty{padding:6px 4px}.moor-card{min-height:var(--tap-min);text-align:left;border:2px solid var(--line);background:var(--panel-2,var(--panel));color:var(--text);--dim-fg:var(--text-dim);border-radius:10px;flex:auto;padding:10px 12px}.moor-card.is-lifted{border-color:var(--brass-bright);background:var(--lantern-soft);box-shadow:0 0 0 2px var(--lantern-soft)}.moor-card.is-moored{flex:100%;font-size:.95em}.moor-quays{flex-wrap:wrap;gap:10px;display:flex}.moor-quay{flex-direction:column;flex:160px;gap:6px;min-width:150px;display:flex}.moor-quay-head{min-height:var(--tap-min);border:2px solid var(--line);color:var(--text);--dim-fg:var(--text-dim);background:0 0;border-radius:10px;padding:10px 12px}.moor-quay-head.is-open{border-color:var(--brass-bright);border-style:dashed}.moor-quay-body{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;gap:6px;min-height:44px;padding:6px;display:flex}.voyage-made{--dim-fg:var(--text-dim);cursor:default;justify-content:center;align-items:center}.voyage-made-inner{z-index:2;flex-direction:column;align-items:center;gap:26px;max-width:30rem;animation:.9s ease-out both voyage-made-in;display:flex}.voyage-made-eyebrow{color:var(--brass-bright);font-size:var(--fs-base);letter-spacing:2.4px;text-transform:uppercase;margin:0}.voyage-made-quote{text-align:center;flex-direction:column;gap:12px;display:flex}.voyage-made-quote p{color:var(--text);text-wrap:balance;margin:0;font-size:1.05rem;font-style:italic;line-height:1.6}.voyage-made-attrib{color:var(--dim-fg);font-size:var(--fs-min);letter-spacing:1.4px;font-style:normal}.voyage-made-quote .voyage-made-attrib{color:var(--dim-fg);font-size:var(--fs-min);font-style:normal}.voyage-made-count{border-top:1px solid var(--line);gap:22px;margin:0;padding:16px 0 0;list-style:none;display:flex}.voyage-made-count li{flex-direction:column;align-items:center;gap:4px;display:flex}.voyage-made-count strong{color:var(--brass-bright);font-size:1.6rem;font-weight:600;line-height:1}.voyage-made-count span{color:var(--dim-fg);font-size:var(--fs-min);letter-spacing:.6px;text-align:center}.voyage-made-door{margin-top:4px;padding:12px 26px}@keyframes voyage-made-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.voyage-made-inner{animation:none}}.run-leave{padding:6px 12px 0;display:flex}.run-leave-btn{font-size:var(--fs-min);opacity:.75;padding:4px 10px}.run-leave-btn:hover,.run-leave-btn:focus-visible{opacity:1}.deck-hot.hero .deck-hot-ring{border-width:3px;width:42px;height:42px}.deck-hot.hero .deck-hot-label{font-size:var(--fs-base);letter-spacing:.04em;box-shadow:0 0 14px -2px var(--lantern-soft);border-color:#f0c766d9;padding:4px 12px}.verdict-board{flex-direction:column;gap:4px;display:flex}.verdict-row{border-left:3px solid var(--verdict-good);font-size:var(--fs-min);grid-template-columns:1.1em 1fr;align-items:baseline;gap:2px 8px;padding:5px 0 5px 8px;display:grid}.verdict-row.is-wrong{border-left-color:var(--verdict-bad)}.verdict-row.is-part{border-left-color:var(--amber)}.verdict-mark{color:var(--verdict-good);font-weight:700;line-height:1.35}.verdict-row.is-wrong .verdict-mark{color:var(--verdict-bad)}.verdict-row.is-part .verdict-mark{color:var(--amber)}.verdict-note{color:var(--dim-fg);grid-column:2}@media (width<=360px){.deck-title{top:calc(var(--safe-top,0px) + 6px)}.deck-nameplate h1{font-size:var(--fs-lg)}.deck-sailline{margin-bottom:.2em;line-height:1.3}.deck-title .sail-line{margin-top:0}.deck-title .tide-dock{margin-top:2px}}@media (width<=340px){.deck-hot-label{max-width:var(--hot-room)}}.cue-prompt{color:var(--brass-bright);font-size:var(--fs-min);margin:6px 0 2px;line-height:1.45}.cue-satchel{border-top:1px solid var(--line);margin-top:auto;padding-top:10px}.cue-satchel-list{margin:4px 0 0;padding-left:18px}.cue-satchel-list li{margin:2px 0}.star-dot-unlit{box-shadow:none;border:1px solid var(--text-faint);background:0 0;animation:none}.voyage-fog{aspect-ratio:1;pointer-events:none;opacity:0;-webkit-backdrop-filter:saturate(.22)brightness(.5)blur(2.5px);backdrop-filter:saturate(.22)brightness(.5)blur(2.5px);background:#07111999;width:40%;transition:opacity 1.1s;position:absolute;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(closest-side,#000 0% 50%,#00000080 76%,#0000 100%);mask-image:radial-gradient(closest-side,#000 0% 50%,#00000080 76%,#0000 100%)}.voyage-fog.is-fogged{opacity:1}.voyage-lit{aspect-ratio:1;pointer-events:none;mix-blend-mode:screen;opacity:0;background:radial-gradient(closest-side,#f0c76638 0%,#f0c7661a 52%,#f0c76600 100%);border-radius:50%;width:44%;transition:opacity 1.4s;position:absolute;transform:translate(-50%,-50%)}.voyage-lit.is-here{opacity:1;animation:5.6s ease-in-out infinite voyage-lit-breathe}@keyframes voyage-lit-breathe{0%,to{opacity:.72}50%{opacity:1}}.run-leave.scene-leave{top:calc(var(--safe-top,0px) + 8px);z-index:6;padding:0;position:absolute;left:8px}.run-leave.scene-leave .run-leave-btn{opacity:1;background:#060e14b8;border-color:#e3b56673}.rights-row{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:8px 0;display:flex}.rights-row:first-of-type{border-top:0}.rights-pair{align-items:flex-start;gap:8px;display:flex}.rights-slip{--dim-fg:var(--text-dim);background:var(--sea-panel);color:var(--text);border:1px solid var(--line);font-size:var(--fs-min);border-radius:8px;flex-direction:column;padding:8px 10px;line-height:1.35;display:flex}.rights-slip.is-order{border-left:3px solid var(--rope);flex:auto;min-width:0}.rights-slip.is-hand{cursor:grab;touch-action:none;background:var(--sea-panel-2);max-width:45%;box-shadow:var(--shadow);border-style:dashed;flex:none;transition:transform 80ms linear}.rights-slip.is-hand:active{cursor:grabbing}.rights-slip .tiny{font-size:var(--fs-min);letter-spacing:.02em;text-transform:uppercase}[data-drop][data-drop-hover]{outline:2px solid var(--brass-bright);outline-offset:2px;box-shadow:0 0 0 4px var(--lantern-soft), 0 0 18px 2px var(--lantern-soft)}.crew-tray{position:relative}.crew-tray:after{content:"";border:2px solid var(--brass-bright);box-shadow:0 0 16px 2px var(--lantern-soft);opacity:0;pointer-events:none;border-radius:14px;position:absolute;inset:-4px}.crew-tray.crew-tray-pulse{animation:.42s ease-out crew-tray-pulse}.crew-tray.crew-tray-pulse:after{animation:.42s ease-out crew-tray-glow}@keyframes crew-tray-pulse{0%,to{scale:1}35%{scale:1.025}}@keyframes crew-tray-glow{0%,to{opacity:0}35%{opacity:1}}:root[data-calm] .crew-tray.crew-tray-pulse,:root[data-calm] .crew-tray.crew-tray-pulse:after{animation:none}@media (prefers-reduced-motion:reduce){.crew-tray.crew-tray-pulse,.crew-tray.crew-tray-pulse:after{animation:none}}.sail-line{font-size:var(--fs-min);text-shadow:0 1px 4px #000000e6;flex-wrap:wrap;gap:2px 12px;margin:2px 0 0;display:flex}.sail-days{color:var(--brass-bright);font-weight:700}.sail-next{color:var(--text-dim)}.return-line{font-size:var(--fs-min);color:var(--text-dim);text-shadow:0 1px 4px #000000e6;margin:3px 0 0;font-style:italic}.tide-dock{top:calc(var(--safe-top,0px) + 92px);z-index:3;pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;left:16px;right:16px}.tide-dock>*{pointer-events:auto}.knot-offer,.tide-tile{--dim-fg:var(--text-dim);min-height:var(--tap-min);font-size:var(--fs-min);color:#f4ecd8;border:1px solid var(--brass);cursor:pointer;background:linear-gradient(#1a2f3deb,#0c171eeb);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-weight:700;display:inline-flex;box-shadow:0 2px 10px #00000080}.tide-tile:not(.knot-offer){border-color:#c9a24a99;font-weight:600;box-shadow:0 1px 6px #0006}.knot-offer{border-color:var(--brass-bright);box-shadow:0 0 0 1px #f0c76640,0 2px 12px #0000008c}.knot-offer-glyph{border:2px solid var(--brass-bright);border-radius:50%;width:16px;height:16px;box-shadow:inset 0 0 0 2px #0c171ee6}.tide-tile-glyph{border-bottom:2px solid var(--brass-bright);background:linear-gradient(#0000 0 35%,#f0c7668c 35% 100%);border-radius:0 0 8px 8px;width:16px;height:12px}.tide-tile-label{white-space:nowrap}.tide-overlay,.knot-overlay{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#060c11b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tide-card,.knot-card{border-radius:var(--radius);background:linear-gradient(180deg, var(--sea-panel), var(--sea));border:1px solid var(--brass);text-align:center;width:100%;max-width:340px;padding:22px 20px;box-shadow:0 12px 40px #0009}.tide-heading{font-size:var(--fs-base);color:var(--brass-bright);margin:0 0 10px;font-weight:700}.tide-morsel{font-size:var(--fs-base);color:var(--text);margin:0 0 18px;line-height:1.5}.tide-actions{flex-direction:column;gap:10px;display:flex}.knot-count{font-size:var(--fs-base);color:var(--brass-bright);margin:0 0 16px;font-weight:700}.knot-rope{touch-action:none;cursor:grab;height:52px;margin:6px 0 16px;position:relative}.knot-rope-line{height:calc(3px + var(--cinch,0) * 3px);background:linear-gradient(90deg, var(--brass), var(--brass-bright), var(--brass));box-shadow:0 0 calc(var(--cinch,0) * 10px) #f0c76699;border-radius:3px;transition:height .2s,box-shadow .2s;position:absolute;top:50%;left:4%;right:4%;transform:translateY(-50%)}.knot-loop{top:50%;left:calc(6% + var(--cinch,0) * 82%);width:var(--tap-min);height:var(--tap-min);border:2px solid var(--brass-bright);cursor:grab;touch-action:none;background:radial-gradient(circle,#f0c7668c 0%,#f0c7661a 62%,#0000 72%);border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 12px 1px #f0c76680}.knot-loop:active{cursor:grabbing}.knot-cinch-mark{border:2px solid var(--brass);width:14px;height:14px;opacity:calc(.4 + var(--cinch,0) * .6);border-radius:50%;position:absolute;top:50%;right:2%;transform:translateY(-50%)}.knot-card.cinched .knot-cinch-mark{border-color:var(--brass-bright);box-shadow:0 0 12px 2px #f0c766b3}.knot-hint{font-size:var(--fs-min);margin:0}.knot-tap{width:100%}.knot-said{animation:.4s both knot-said-in}@keyframes knot-said-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.knot-speaker{font-size:var(--fs-min);letter-spacing:.03em;text-transform:uppercase;color:var(--brass);margin:4px 0 6px}.knot-line{font-size:var(--fs-base);color:var(--text);margin:0 0 18px;line-height:1.5}.knot-card[data-knot-tier="3"],.knot-card[data-knot-tier="4"]{box-shadow:0 0 0 1px #f0c76659,0 12px 40px #0009}.knot-card[data-knot-tier="5"],.knot-card[data-knot-tier="6"]{border-color:var(--brass-bright);box-shadow:0 0 0 2px #f0c76673,0 0 30px #f0c76638,0 12px 40px #000000a6}.knot-card[data-knot-tier="4"] .knot-rope:after,.knot-card[data-knot-tier="5"] .knot-rope:after,.knot-card[data-knot-tier="6"] .knot-rope:after{content:"";background:linear-gradient(90deg,#0000,#c9a24a8c,#0000);border-radius:2px;height:2px;position:absolute;top:calc(50% + 7px);left:8%;right:8%}@media (prefers-reduced-motion:reduce){.knot-rope-line{transition:none}.knot-said{animation:none}}.case-bell{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.case-bell-name{letter-spacing:.02em;font-weight:700}.case-step{font-size:var(--fs-min);color:var(--text-dim,#a9b8c2);text-transform:uppercase;letter-spacing:.04em}.case-pips{align-items:center;gap:6px;display:flex}.case-pip{border:2px solid var(--line);background:0 0;border-radius:50%;flex-shrink:0;width:12px;height:12px}.case-pip.done{background:var(--brass,#c8a24a);border-color:var(--brass,#c8a24a)}.case-pip.now{border-color:var(--brass-bright,#7fb0d8);box-shadow:0 0 0 2px var(--brass-bright,#7fb0d8)}.case-vitals{flex-wrap:wrap;gap:6px;display:flex}.case-vital{border:1px solid var(--line);background:var(--panel,#ffffff08);border-radius:8px;flex-direction:column;flex:62px;min-width:62px;padding:6px 8px;display:flex}.case-vital .k{font-size:var(--fs-min);color:var(--text-dim,#a9b8c2)}.case-vital .v{font-size:var(--fs-base);font-weight:700}.case-scene{flex-direction:column;flex:1;justify-content:center;gap:14px;display:flex}.case-scene-line{color:var(--text-dim,#a9b8c2);font-style:italic;font-size:var(--fs-base);line-height:1.5}.case-opt{text-align:left;white-space:normal;border:2px solid var(--line);width:100%;min-height:44px;color:var(--text);font-size:var(--fs-base);background:0 0;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;display:flex}.case-opt.picked{border-color:var(--brass-bright,#7fb0d8);background:var(--lantern-soft,#c8a24a1f)}.case-opt .box{text-align:center;flex-shrink:0;width:20px;font-weight:700}.case-mrow{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:8px 0;display:flex}.case-mrow-label{font-size:var(--fs-base)}.case-mrow-cols{gap:8px;display:flex}.case-col-btn{border:2px solid var(--line);min-height:44px;color:var(--text);font-size:var(--fs-min);white-space:normal;background:0 0;border-radius:10px;flex:1;padding:8px 10px}.case-col-btn.chosen{border-color:var(--brass-bright,#7fb0d8);background:var(--lantern-soft,#c8a24a1f);font-weight:600}.case-rank{text-align:left;white-space:normal;border:2px solid var(--line);width:100%;min-height:44px;color:var(--text);font-size:var(--fs-base);background:0 0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.case-rank.ranked{border-color:var(--brass-bright,#7fb0d8);background:var(--lantern-soft,#c8a24a1f)}.case-rank-badge{border:2px solid var(--line);width:26px;height:26px;font-weight:700;font-size:var(--fs-min);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.case-rank.ranked .case-rank-badge{border-color:var(--brass,#c8a24a);background:var(--brass,#c8a24a);color:var(--ink,#10161c)}.case-recap{flex-direction:column;gap:4px;display:flex}.case-recap-bell{font-weight:700;font-size:var(--fs-min);color:var(--text-dim,#a9b8c2);text-transform:uppercase;letter-spacing:.03em}.exam-view{--ev-ground:#f3f4f6;--ev-sheet:#fff;--ev-text:#1b2229;--ev-dim:#4b5563;--ev-line:#c9ced6;--ev-accent:#1d4ed8;--ev-ok:#166534;--ev-bad:#b91c1c;--dim-fg:var(--ev-dim);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--ev-ground);color:var(--ev-text);font-family:var(--sans);font-size:var(--fs-base)}.exam-view .run-leave-btn{--dim-fg:var(--ev-dim);color:var(--ev-text);border-color:var(--ev-line);opacity:1;background:0 0}.exam-sheet{--dim-fg:var(--ev-dim);background:var(--ev-sheet);border:1px solid var(--ev-line);box-sizing:border-box;border-radius:6px;flex-direction:column;gap:14px;width:100%;max-width:880px;margin:0 auto;padding:16px;display:flex}.exam-view .dim,.exam-sheet .dim{color:var(--ev-dim)}.exam-case{border-bottom:1px solid var(--ev-line);flex-direction:column;gap:6px;padding-bottom:12px;line-height:1.45;display:flex}.exam-stem{font-weight:600;line-height:1.45}.exam-options{flex-direction:column;gap:6px;display:flex}.exam-option{min-height:var(--tap-min);border:1px solid var(--ev-line);background:var(--ev-sheet);color:var(--ev-text);cursor:pointer;border-radius:4px;align-items:flex-start;gap:10px;padding:8px 10px;line-height:1.4;display:flex}.exam-option input{width:20px;height:20px;accent-color:var(--ev-accent);flex:none;margin:1px 0 0}.exam-option.is-disabled{cursor:default;color:var(--ev-dim)}.exam-section-title{font-weight:600;font-size:var(--fs-base)}.exam-matrix{border-collapse:collapse;width:100%}.exam-matrix th,.exam-matrix td{border:1px solid var(--ev-line);text-align:left;vertical-align:top;font-size:var(--fs-min);color:var(--ev-text);background:var(--ev-sheet);padding:8px}.exam-matrix thead th{--dim-fg:var(--ev-dim);background:var(--ev-ground);font-weight:600}.exam-matrix td.exam-cell{text-align:center}.exam-matrix .exam-cell label{min-height:var(--tap-min);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.exam-matrix .exam-cell input{width:20px;height:20px;accent-color:var(--ev-accent)}.exam-cell-name{display:none}@media (width<=640px){.exam-matrix,.exam-matrix tbody,.exam-matrix tr,.exam-matrix td{box-sizing:border-box;width:100%;display:block}.exam-matrix thead{display:none}.exam-matrix tr{border:1px solid var(--ev-line);border-radius:4px;margin-bottom:8px;overflow:hidden}.exam-matrix td{border:none;border-top:1px solid var(--ev-line)}.exam-matrix tr td:first-child{border-top:none;font-weight:600}.exam-matrix td.exam-cell{text-align:left}.exam-cell-name{display:inline}}.exam-bowtie{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}@media (width<=760px){.exam-bowtie{grid-template-columns:1fr}}.exam-bowtie-col{border:1px solid var(--ev-line);border-radius:4px;flex-direction:column;gap:6px;min-width:0;padding:10px;display:flex}.exam-input{font:inherit;font-size:var(--fs-base);min-height:var(--tap-min);border:1px solid var(--ev-line);background:var(--ev-sheet);color:var(--ev-text);box-sizing:border-box;border-radius:4px;max-width:100%;padding:6px 10px}.exam-select{width:100%}.exam-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.exam-view button.exam-primary{--dim-fg:#e5e7eb;background:var(--ev-accent);color:#fff;border:1px solid var(--ev-accent);box-shadow:none;border-radius:4px;font-weight:600}.exam-view button.exam-primary:disabled{--dim-fg:var(--ev-dim);color:var(--ev-dim);border-color:var(--ev-line);opacity:1;background:#e5e7eb}.exam-view button.exam-secondary{--dim-fg:var(--ev-dim);background:var(--ev-sheet);color:var(--ev-text);border:1px solid var(--ev-line);box-shadow:none;border-radius:4px}.exam-note{font-size:var(--fs-min);color:var(--ev-dim)}.exam-review-row{border:1px solid var(--ev-line);font-size:var(--fs-min);border-left-width:4px;border-radius:4px;flex-direction:column;gap:2px;padding:8px 10px;line-height:1.4;display:flex}.exam-review-row.ok{border-left-color:var(--ev-ok)}.exam-review-row.bad{border-left-color:var(--ev-bad)}.exam-mark-ok{color:var(--ev-ok);font-weight:600}.exam-mark-bad{color:var(--ev-bad);font-weight:600}.exam-rule{border:1px solid var(--ev-accent);border-radius:4px;padding:8px 10px;line-height:1.4}.exam-teaching{line-height:1.45}.breathe-overlay{z-index:60;background:var(--sea-deep);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.breathe-card{text-align:center;border:1px solid var(--line);background:var(--sea-panel);width:100%;max-width:440px;color:var(--text);border-radius:14px;flex-direction:column;align-items:center;gap:12px;padding:20px 16px;display:flex}.breathe-title{font-size:var(--fs-lg)}.breathe-stage{justify-content:center;align-items:center;width:200px;height:200px;display:flex}.breathe-circle{background:radial-gradient(circle at 50% 45%, var(--calm) 0%, var(--calm-soft) 70%);border:2px solid var(--calm);opacity:.6;will-change:transform, opacity;border-radius:50%;width:180px;height:180px;animation:10s 6 both breathe-round;transform:scale(.55)}.breathe-circle.still{opacity:.85;animation:none;transform:scale(.8)}@keyframes breathe-round{0%{opacity:.6;animation-timing-function:cubic-bezier(.37,0,.63,1);transform:scale(.55)}40%{opacity:1;animation-timing-function:cubic-bezier(.37,0,.63,1);transform:scale(1)}to{opacity:.6;transform:scale(.55)}}.breathe-word{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;min-height:1.5em;margin:0;font-weight:700}
