:root{--gold: #d9a441;--gold-bright: #ffe9b0;--gold-dot: #ffd68c;--aurora: #7fd4c2;--night: #0a0e14;--ink: #f4ecdd;--ink-warm: #e8ddc8;--ink-cool: #cfdcec;--ink-dim: rgba(244, 236, 221, .6);--glass-card: rgba(12, 18, 28, .66);--glass-chip: rgba(10, 14, 20, .45);--glass-border: rgba(255, 224, 160, .28);--glass-border-strong: rgba(255, 224, 160, .65);--glass-border-dim: rgba(200, 214, 235, .25);--overlay: rgba(6, 9, 15, .82);--fs-xs: 10px;--fs-sm: 11px;--fs-md: 12px;--fs-lg: 14px;--fs-xl: 20px;--fs-2xl: 28px;--track: .16em;--track-wide: .24em}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:var(--night);color:var(--ink);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--fs-lg);line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}h1,h2,h3{margin:0;font-weight:600;letter-spacing:.01em}h1{font-size:var(--fs-2xl);color:#fff}h2{font-size:var(--fs-xl)}p{margin:0}button{font-family:inherit;font-size:var(--fs-md);letter-spacing:.14em;color:var(--ink);background:transparent;border:1px solid rgba(140,160,190,.4);border-radius:999px;padding:9px 18px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}button:hover{border-color:var(--glass-border-strong)}button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}button.primary{color:#1a1206;background:linear-gradient(180deg,var(--gold-bright),var(--gold));border:none;font-weight:700;letter-spacing:.2em;box-shadow:0 4px 18px #d9a44159}button.primary:hover{transform:translateY(-2px)}input,textarea{font-family:inherit;font-size:var(--fs-lg);color:var(--ink);background:#080c1499;border:1px solid var(--glass-border-dim);border-radius:10px;padding:12px 14px;width:100%}input:focus,textarea:focus{outline:none;border-color:var(--glass-border-strong)}.aim-entry{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;overflow:hidden}.aim-entry:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/art/ascent-dawn.png) center 32% / cover no-repeat;opacity:.55}.aim-entry:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#080c14b8,#080c14e6)}.aim-panel{position:relative;z-index:1;width:100%;max-width:480px;display:flex;flex-direction:column;gap:18px}.aim-panel .brand{font-size:var(--fs-md);letter-spacing:var(--track);color:var(--gold-bright)}.aim-panel .lede{color:var(--ink-warm);font-size:var(--fs-lg);line-height:1.6}.suggestions{display:flex;flex-direction:column;gap:8px}.suggestions button{text-align:left;letter-spacing:.02em;border-radius:10px;padding:10px 14px;color:var(--ink-warm);border-color:var(--glass-border-dim)}.suggestions button .pack{display:block;font-size:var(--fs-xs);letter-spacing:var(--track);color:var(--gold-dot);margin-bottom:3px}.learned{border-left:2px solid var(--aurora);padding:8px 0 8px 14px;color:var(--aurora);font-size:var(--fs-md);line-height:1.6}.learned b{display:block;color:var(--ink-warm);letter-spacing:var(--track);font-weight:600;margin-bottom:4px}.mountain{position:relative;min-height:100vh;overflow:hidden;background:var(--night)}.bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center 32%;opacity:0;transition:opacity 1.2s ease}.bg.night{background-image:url(/art/ascent-aurora.png);background-position:center 40%}.bg.dawn-clear{background-image:url(/art/ascent-dawn.png)}.bg.dawn-fog{background-image:url(/art/ascent-dawn-fog.png)}.bg.dawn-wind{background-image:url(/art/ascent-dawn-wind.png)}.bg.dawn-golden{background-image:url(/art/ascent-dawn-golden.png)}.bg.send{background-image:url(/art/ascent-daybreak.png)}.mountain[data-scene=night] .bg.night,.mountain[data-scene=send] .bg.send,.mountain[data-scene=dawn-clear] .bg.dawn-clear,.mountain[data-scene=dawn-fog] .bg.dawn-fog,.mountain[data-scene=dawn-wind] .bg.dawn-wind,.mountain[data-scene=dawn-golden] .bg.dawn-golden{opacity:1}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(8,12,20,.72) 0%,transparent 22%,transparent 52%,rgba(8,12,20,.86) 90%)}.mountain[data-scene=dawn-fog] .scrim,.mountain[data-scene=dawn-golden] .scrim{background:linear-gradient(180deg,#080c14d1,#080c1447 26%,#080c1466 54%,#080c14eb 90%)}.topline{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;padding:16px 20px;font-size:var(--fs-md);letter-spacing:var(--track);color:var(--ink-warm)}.topline b{color:#fff;font-weight:600}.run-aim{position:absolute;z-index:3;top:42px;left:20px;right:20px;font-size:var(--fs-md);font-style:italic;letter-spacing:.02em;color:var(--ink-warm);text-shadow:0 1px 6px rgba(6,9,15,.8);max-width:46ch}.lock-chip{position:absolute;z-index:3;left:var(--x);top:var(--y);display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:#fff0d2eb;background:var(--glass-chip);border:1px solid rgba(255,214,140,.35);border-radius:999px;padding:4px 10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transform:translate(-50%,-50%);white-space:nowrap}.lock-chip.dim{color:#dce4f0b3;border-color:var(--glass-border-dim)}.lock-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--gold-dot);box-shadow:0 0 8px #ffd68ce6;animation:lockpulse 2.4s ease-in-out infinite}.lock-chip.dim .dot{background:#c8d6eb80;box-shadow:none;animation:none}.player-light{position:absolute;z-index:3;left:var(--px);top:var(--py);width:11px;height:11px;border-radius:50%;background:#fff6e0;box-shadow:0 0 14px 5px #ffecbebf;transform:translate(-50%,-50%);animation:breathe 3.6s ease-in-out infinite;transition:left .9s ease,top .9s ease}.mountain[data-state=night] .lock-chip,.mountain[data-state=send] .lock-chip,.mountain[data-state=night] .player-light{display:none}.bottom{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:14px 20px 44px;display:flex;flex-direction:column;gap:12px}.readiness{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#f2e8d5;font-size:var(--fs-md);letter-spacing:.12em}.readiness .bar{flex:1 1 120px;max-width:170px;height:3px;background:#f2e8d538;border-radius:2px;overflow:hidden}.readiness .bar i{display:block;height:100%;width:var(--w, 0%);background:linear-gradient(90deg,var(--gold),var(--gold-bright));border-radius:2px;transition:width .9s ease}.run-status{font-size:var(--fs-xs);letter-spacing:var(--track);color:var(--gold-dot);border:1px solid rgba(255,214,140,.35);border-radius:999px;padding:2px 10px}.run-status.route-shift{color:var(--aurora);border-color:#7fd4c266}.boss-name{font-size:var(--fs-xs);letter-spacing:var(--track-wide);color:var(--gold-bright);border:1px solid var(--glass-border-strong);border-radius:999px;padding:2px 12px}.resource-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;background:var(--glass-chip);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;padding:8px 10px}.bottom .resource-strip{max-width:460px}.resource-meter{display:flex;flex-direction:column;gap:3px;min-width:0}.resource-meter .meter-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.resource-meter .meter-bar{position:relative;height:3px;border-radius:2px;background:#f2e8d529}.resource-meter .meter-bar .tick{position:absolute;top:-1.5px;left:var(--at, 50%);width:2px;height:6px;transform:translate(-50%);border-radius:1px;background:#ffecbebf}.resource-meter .meter-bar i{display:block;height:100%;width:var(--w, 0%);background:#f2e8d5b8;border-radius:2px;transition:width .9s ease}.resource-meter .meter-value{font-size:9px;letter-spacing:.06em;color:var(--ink-warm)}.morning-scan{display:flex;flex-direction:column;gap:12px;max-width:460px;animation:rise .28s ease}.morning-scan .scan-head h2{font-size:var(--fs-lg);letter-spacing:var(--track);color:#fff}.morning-scan .scan-head p{margin-top:4px;font-size:var(--fs-md);line-height:1.5;color:var(--ink-warm)}.scan-rows{display:flex;flex-direction:column;gap:7px}.scan-row{display:flex;align-items:center;gap:12px}.scan-row .scan-label{flex:0 0 90px;font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-warm)}.segmented{display:flex;gap:5px;flex:1}.segmented button{flex:1;padding:6px 10px;font-size:var(--fs-sm);letter-spacing:.06em;border-radius:8px;color:var(--ink-warm);border-color:var(--glass-border-dim)}.segmented button.selected{border-color:var(--gold-bright);color:#fff;background:#ffd68c24}.scan-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}button.quiet{border:none;color:var(--ink-dim);letter-spacing:.04em;padding:9px 6px}button.quiet:hover{color:var(--ink-warm)}.conditions{display:flex;flex-direction:column;gap:3px;color:#e6f0ea;font-size:var(--fs-md);letter-spacing:.04em;line-height:1.6}.restline,.sendline{color:#e6f0ea;font-size:12.5px;letter-spacing:.05em;line-height:1.7;max-width:46ch}.trailnote{color:var(--aurora);font-size:var(--fs-md);line-height:1.6;max-width:46ch}.hand{display:flex;gap:12px;flex-wrap:wrap}.card{flex:1 1 150px;max-width:190px;border-radius:10px;padding:11px 12px;color:var(--ink);background:var(--glass-card);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;gap:6px;text-align:left;letter-spacing:normal}.card:hover{transform:translateY(-5px);border-color:var(--glass-border-strong)}.card.chosen{border-color:var(--gold-bright);box-shadow:0 0 0 1px #ffe9b066}.card .tier{font-size:9px;letter-spacing:var(--track-wide);color:var(--gold-dot)}.card .name{font-size:11.5px;line-height:1.4;color:#fff}.card .preview{font-size:var(--fs-xs);line-height:1.5;color:#f4ecddc7}.card .fx{font-size:9px;color:var(--ink-dim)}.cta{align-self:flex-start}.cairns{display:flex;gap:8px}.cairn-slot{flex:1;max-width:34px;height:8px;border-radius:4px;background:#f2e8d51f;border:1px solid rgba(242,232,213,.14);transition:transform .2s ease,background .3s ease}.cairn-slot.gold{background:linear-gradient(90deg,var(--gold),var(--gold-bright));border-color:transparent}.cairn-slot.silver{background:linear-gradient(90deg,#9fb2c8,#dbe6f2);border-color:transparent}.cairn-slot.spark{background:linear-gradient(90deg,#b98a3e,#ffedd2);border-color:transparent}.cairn-slot.route-shift{background:linear-gradient(90deg,#4f8f82,var(--aurora));border-color:transparent}.cairn-slot.setting{animation:stone-set .6s ease}.footer{position:absolute;z-index:4;left:0;right:0;bottom:0;transform:translateY(calc(100% - 34px));transition:transform .3s ease;background:#06090fe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(255,224,160,.14)}.footer:hover,.footer:focus-within{transform:translateY(0)}.footer-handle{display:flex;justify-content:center;padding:9px 0;font-size:var(--fs-xs);letter-spacing:var(--track);color:var(--ink-dim)}.footer-body{padding:4px 20px 18px;display:flex;flex-direction:column;gap:14px}.counters{display:flex;gap:20px;flex-wrap:wrap}.counters .stat{display:flex;flex-direction:column;gap:2px}.counters .stat b{font-size:var(--fs-xl);color:#fff;font-weight:600}.counters .stat span{font-size:var(--fs-xs);letter-spacing:var(--track);color:var(--ink-dim)}.insights{display:flex;flex-direction:column;gap:4px}.insights p{color:var(--aurora);font-size:var(--fs-md);line-height:1.6}.signals{display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-md);color:var(--ink-warm);line-height:1.5;cursor:pointer}.signals input{width:auto;margin-top:2px;accent-color:var(--gold)}.footer-actions{display:flex;gap:10px;flex-wrap:wrap}.recon-confirm{display:flex;flex-direction:column;gap:10px;animation:rise .22s ease}.recon-line{color:#e6f0ea;font-size:var(--fs-md);line-height:1.6;max-width:46ch}.recon-confirm-actions{display:flex;gap:10px;flex-wrap:wrap}.ritual-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;padding:20px;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ritual{width:100%;max-width:460px;background:#0c121ceb;border:1px solid var(--glass-border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px;animation:rise .28s ease}.ritual .step-dots{display:flex;gap:6px}.ritual .step-dots i{width:22px;height:3px;border-radius:2px;background:#f2e8d52e}.ritual .step-dots i.on{background:var(--gold)}.ritual h2{font-size:var(--fs-lg);letter-spacing:.04em;color:#fff}.ritual .options{display:flex;flex-wrap:wrap;gap:8px}.ritual .options button{flex:1 1 40%;text-align:left;border-radius:10px;padding:12px 14px;letter-spacing:.02em;color:var(--ink-warm);border-color:var(--glass-border-dim)}.ritual .options button.selected{border-color:var(--gold-bright);color:#fff;background:#ffd68c24}.ritual .controls{display:flex;justify-content:space-between;gap:10px}.ritual .stone-preview{align-self:center;width:26px;height:26px;border-radius:6px;background:linear-gradient(135deg,var(--gold-bright),var(--gold));animation:stone-set .6s ease}.living-light{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(135% 95% at 50% 6%,hsl(calc(42deg + var(--tint-hue, 0deg)) 78% 62% / .26),transparent 70%);filter:saturate(var(--tint-warmth, 1));mix-blend-mode:soft-light}.living-light:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#c3d3df;opacity:var(--tint-veil, 0);mix-blend-mode:screen}.edge-line{position:relative;width:100%;height:32px;--edge-glow: rgba(255, 226, 170, .72)}.mountain>.edge-line{position:absolute;z-index:3;top:64px;left:20px;right:20px;width:auto}.edge-line .crest{position:absolute;left:0;right:0;top:3px;width:100%;height:14px;overflow:visible}.edge-line .crest path{fill:none;stroke:var(--edge-glow);stroke-width:1.1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px var(--edge-glow));opacity:.82}.edge-line .edge-marker{position:absolute;left:var(--m, 50%);top:var(--my, 8px);width:9px;height:9px;border-radius:50%;background:#fff6e0;box-shadow:0 0 12px 3px var(--edge-glow);transform:translate(-50%,-50%);animation:breathe 3.6s ease-in-out infinite;transition:left .9s ease,top .9s ease}.edge-line .edge-zone{position:absolute;left:var(--m, 50%);top:21px;transform:translate(-50%);font-size:9px;letter-spacing:var(--track);color:var(--edge-glow);white-space:nowrap;transition:left .9s ease}.edge-line[data-zone=idle]{--edge-glow: rgba(200, 214, 235, .62)}.edge-line[data-zone=warmline]{--edge-glow: rgba(255, 226, 170, .78)}.edge-line[data-zone=edge]{--edge-glow: rgba(255, 241, 202, 1)}.edge-line[data-zone=edge] .crest path{opacity:1;stroke-width:1.5}.edge-line[data-zone=edge] .edge-marker{box-shadow:0 0 18px 5px var(--edge-glow)}.edge-line[data-zone=redline]{--edge-glow: rgba(214, 198, 174, .6)}.edge-line[data-zone=overclock]{--edge-glow: rgba(198, 190, 182, .52)}.instrument{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--glass-border-dim);border-radius:12px;background:var(--glass-chip)}.baseline-caption{font-size:var(--fs-xs);letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-dim)}.syncnote{color:var(--aurora);font-size:var(--fs-md);line-height:1.6;max-width:46ch;animation:rise .28s ease}.hand-region{display:flex;flex-direction:column;gap:12px}.hand-region.locked .hand{opacity:.4;filter:saturate(.7)}.hand-cue{font-size:var(--fs-md);letter-spacing:.04em;color:var(--ink-warm)}.card:disabled{cursor:default}.card:disabled:hover{transform:none;border-color:var(--glass-border)}.morning-scan.compact{gap:10px;padding:14px 16px;border:1px solid var(--glass-border);border-radius:14px;background:#0a0e14db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 28px #06090f80}.morning-scan.compact .scan-head h2{font-size:var(--fs-md)}.morning-scan.compact .scan-head p{font-size:var(--fs-sm)}.morning-scan.compact .scan-rows{gap:5px}.morning-scan.compact .scan-row .scan-label{flex-basis:78px;font-size:var(--fs-xs)}.morning-scan.compact .segmented button{padding:5px 8px;font-size:var(--fs-xs)}@keyframes breathe{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.9}50%{transform:translate(-50%,-50%) scale(1.25);opacity:1}}@keyframes lockpulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes stone-set{0%{transform:scale(.2);opacity:0}60%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:1}}@keyframes rise{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.player-light,.lock-chip .dot,.cairn-slot.setting,.ritual .stone-preview,.ritual,.recon-confirm,.readiness .bar i,.resource-meter .meter-bar i,.morning-scan,.edge-line .edge-marker,.edge-line .edge-zone,.syncnote,.bg{animation:none!important;transition:none!important}}
