@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Outfit:wght@400;500;600;700&display=swap";:root{--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-ui: "Outfit", system-ui, -apple-system, sans-serif;--bg-deep: #0e0b09;--bg: #14100c;--bg-elevated: #1a1510;--bg-panel: rgba(22, 17, 13, .94);--bg-panel-solid: #1a1510;--border: rgba(168, 132, 72, .18);--border-strong: rgba(168, 132, 72, .32);--border-iron: rgba(72, 64, 56, .55);--ink: #efe6d6;--ink-dim: #b0a088;--ink-faint: #9a8c78;--text: var(--ink);--text-muted: var(--ink-dim);--accent: #c4a050;--accent-bright: #e0c989;--accent-dim: #8a6a30;--accent-soft: rgba(196, 160, 80, .14);--focus: #e0c989;--focus-ring: 0 0 0 2px var(--bg-deep), 0 0 0 4px var(--focus);--gold: var(--accent);--bronze: #c4a050;--iron: #4a443e;--you: #d4b878;--you-soft: rgba(212, 184, 120, .14);--ai: #b8b0c4;--ai-soft: rgba(184, 176, 196, .14);--danger: #c86058;--danger-text: #f0b0a8;--danger-soft: rgba(200, 96, 88, .14);--success: #8aaa72;--success-text: #c8e0b0;--seed-a: #c43c2c;--seed-b: #7a2218;--seed-shine: #e8a090;--wood: #3d2818;--wood-light: #5c4030;--wood-dark: #14100c;--pit: #0c0a08;--seed: var(--seed-a);--seed-rim: var(--seed-b);--radius-sm: 0;--radius: 0;--radius-lg: 0;--radius-xl: 0;--shadow-deep: 0 16px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 0 32px rgba(168, 132, 60, .06);--shadow-inset: inset 0 1px 0 rgba(255, 230, 190, .06), inset 0 -1px 0 rgba(0, 0, 0, .35);color-scheme:dark}.surface-page{background-color:var(--bg-deep);background-image:radial-gradient(ellipse 75% 45% at 50% 0%,rgba(70,48,28,.22) 0%,transparent 55%),linear-gradient(180deg,#0e0b09e0,#0a0806f0)}.surface-panel,.surface-paper{position:relative;isolation:isolate;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:linear-gradient(165deg,#261c14f5,#0e0b09fa);box-shadow:var(--shadow-deep),var(--shadow-inset),0 0 0 1px #00000059;overflow:hidden}.surface-panel:before,.surface-paper:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;box-shadow:inset 0 0 0 1px #a8844814}.surface-panel>*,.surface-paper>*{position:relative;z-index:1}.surface-metal{border-radius:var(--radius);border:1px solid var(--border-strong);background:linear-gradient(180deg,#5a46288c,#1c140ce6);box-shadow:var(--shadow-inset)}.surface-field{border-radius:var(--radius);border:1px solid var(--border-iron);background:linear-gradient(180deg,#14100c,#0c0a08);box-shadow:inset 0 1px 2px #00000073}*{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%}html,body,#root{margin:0;min-height:100%;font-family:var(--font-ui);font-size:1rem;line-height:1.5;color:var(--ink);-webkit-font-smoothing:antialiased}body{background-color:var(--bg-deep);background-image:radial-gradient(ellipse 80% 40% at 50% -5%,rgba(60,42,24,.28) 0%,transparent 50%),linear-gradient(180deg,#12100c,#0e0b09);background-attachment:fixed}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,.icon-btn:focus-visible,.hud-icon:focus-visible,.hud-chip:focus-visible,.dir-btn:focus-visible,.dir-cancel:focus-visible,.tour-dot:focus-visible,.home-nudge:focus-visible,.pit-kb-nav-btn:focus-visible,.field select:focus-visible,.travel-speed input[type=range]:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:var(--focus-ring)}.skip-link{position:absolute;top:0;left:0;z-index:10000;padding:.65rem 1rem;background:var(--bg-panel-solid);color:var(--ink);border:2px solid var(--focus);font-weight:600;font-size:.95rem;text-decoration:none;transform:translateY(-120%);transition:transform .15s ease}.skip-link:focus,.skip-link:focus-visible{transform:translateY(.5rem) translate(.5rem);outline-offset:0}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100dvh;display:flex;flex-direction:column;max-width:760px;margin:0 auto;padding:1.15rem 1.2rem 2rem}.app-main{flex:1;display:flex;flex-direction:column;min-height:0;outline:none}.app-shell-play{max-width:none;width:100%;margin:0;padding:0;min-height:100dvh;height:100dvh;overflow:hidden;background:#100c0a}.app-shell-play .app-main{height:100%;min-height:100dvh}.screen-title{font-family:var(--font-display);font-size:2rem;font-weight:600;letter-spacing:.01em;margin:.75rem 0 .35rem;color:var(--accent-bright)}.subtitle{color:var(--ink-dim);margin:0 0 1.25rem;font-size:.95rem;line-height:1.5;font-weight:400}.btn{--btn-face-top: #3a3028;--btn-face-mid: #241c16;--btn-face-bot: #14100c;--btn-edge: rgba(120, 100, 70, .45);--btn-shine: rgba(255, 230, 190, .14);--btn-shade: rgba(0, 0, 0, .55);display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.88rem 1.4rem;border-radius:var(--radius-sm);font-family:var(--font-ui);font-weight:600;letter-spacing:.07em;text-transform:uppercase;font-size:.78rem;color:var(--ink);position:relative;isolation:isolate;border:1px solid var(--btn-edge);background-color:var(--btn-face-mid);background-image:linear-gradient(180deg,var(--btn-shine) 0%,transparent 42%,transparent 58%,rgba(0,0,0,.35) 100%),linear-gradient(180deg,var(--btn-face-top) 0%,var(--btn-face-mid) 48%,var(--btn-face-bot) 100%);box-shadow:0 1px #ffe6be14,0 3px #0a0806,0 6px 14px #0006,inset 0 1px #fff0d21f,inset 0 -2px 4px #00000059,inset 0 0 0 1px #00000040;text-shadow:0 1px 1px rgba(0,0,0,.45);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,border-color .12s ease}.btn:hover:not(:disabled){filter:brightness(1.07) saturate(1.05);transform:translateY(-1px);border-color:#a8844880;box-shadow:0 1px #ffe6be1f,0 4px #0a0806,0 8px 18px #00000073,inset 0 1px #fff0d229,inset 0 -2px 4px #00000052,inset 0 0 0 1px #00000038}.btn:active:not(:disabled){transform:translateY(2px);filter:brightness(.96);box-shadow:0 0 #0a0806,0 1px 4px #00000080,inset 0 2px 6px #0000008c,inset 0 1px #0000004d,inset 0 0 0 1px #00000059}.btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.25)}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:3px;box-shadow:var(--focus-ring)}.btn-primary{--btn-face-top: #e0c989;--btn-face-mid: #c4a050;--btn-face-bot: #9a7834;--btn-edge: rgba(90, 64, 28, .85);--btn-shine: rgba(255, 245, 210, .45);color:#1a1208;text-shadow:0 1px 0 rgba(255,240,200,.35);background-image:linear-gradient(180deg,rgba(255,245,210,.5) 0%,transparent 38%,transparent 62%,rgba(60,36,10,.35) 100%),linear-gradient(180deg,var(--btn-face-top) 0%,var(--btn-face-mid) 46%,var(--btn-face-bot) 100%);border-color:var(--btn-edge);box-shadow:0 1px #fff0c859,0 3px #3a2810,0 6px 16px #50321066,inset 0 1px #fffadc8c,inset 0 -2px 5px #28180659,inset 0 0 0 1px #5a3c1459}.btn-primary:hover:not(:disabled){border-color:#5a3e18;box-shadow:0 1px #fff0c866,0 4px #3a2810,0 8px 20px #5a371273,inset 0 1px #fffadc99,inset 0 -2px 5px #2818064d,inset 0 0 0 1px #5a3c144d}.btn-primary:active:not(:disabled){box-shadow:0 0 #3a2810,0 1px 4px #28180880,inset 0 2px 8px #321e0880,inset 0 1px #00000026}.btn-ghost{--btn-face-top: #2a221a;--btn-face-mid: #1c1612;--btn-face-bot: #12100c;--btn-edge: rgba(90, 78, 64, .55);--btn-shine: rgba(255, 255, 255, .05);color:var(--ink);text-transform:none;letter-spacing:.03em;font-size:.88rem;font-weight:500;text-shadow:none;background-image:linear-gradient(180deg,rgba(255,255,255,.04) 0%,transparent 40%,rgba(0,0,0,.25) 100%),linear-gradient(180deg,var(--btn-face-top),var(--btn-face-bot));box-shadow:0 2px #0a0806,0 4px 10px #0000004d,inset 0 1px #ffe6be0f,inset 0 -1px 3px #00000059}.btn-ghost:hover:not(:disabled){border-color:#a8844859}.btn-danger{--btn-face-top: #8a4848;--btn-face-mid: #6a3030;--btn-face-bot: #3a1818;--btn-edge: rgba(90, 36, 36, .8);--btn-shine: rgba(255, 200, 200, .18);color:#f8e8e8;text-shadow:0 1px 1px rgba(0,0,0,.5);background-image:linear-gradient(180deg,rgba(255,200,200,.2) 0%,transparent 40%,rgba(0,0,0,.35) 100%),linear-gradient(180deg,var(--btn-face-top),var(--btn-face-bot));border-color:var(--btn-edge);box-shadow:0 1px #ffb4b41f,0 3px #220c0c,0 5px 12px #280a0a66,inset 0 1px #ffc8c833,inset 0 -2px 4px #0006}.btn-block{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:.6rem}.stack{display:flex;flex-direction:column;gap:.75rem}.card{position:relative;isolation:isolate;border-radius:var(--radius-lg);padding:1.2rem 1.25rem;border:1px solid var(--border-strong);background:linear-gradient(180deg,#241c14f7,#0e0b09fc);box-shadow:var(--shadow-deep),var(--shadow-inset);overflow:hidden}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;box-shadow:inset 0 0 0 1px #a8844812}.card>*{position:relative;z-index:1}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.95rem}.field label{font-size:.8125rem;color:var(--ink-dim);font-weight:500;letter-spacing:.06em;text-transform:uppercase}.field select{font:inherit;color:var(--ink);border-radius:var(--radius-sm);padding:.7rem .85rem;background:linear-gradient(180deg,#16120e,#0e0b08);border:1px solid var(--border-iron);box-shadow:inset 0 1px 2px #0006}.field input[type=checkbox]{accent-color:var(--accent);width:1.05rem;height:1.05rem}.rules-body h3{color:var(--accent-bright);margin:1.15rem 0 .4rem;font-size:1.2rem;font-family:var(--font-display);font-weight:600;letter-spacing:.02em}.rules-body p,.rules-body li{color:var(--ink-dim);line-height:1.65;font-size:1rem}.rules-body ul{padding-left:1.2rem}.rules-body strong,.rules-body em{color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.live-region{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.subpage{max-width:520px;margin:0 auto;width:100%}.subpage-top{display:flex;align-items:center;gap:.65rem;margin-bottom:.25rem}.subpage-top .icon-btn{flex-shrink:0;min-width:2.5rem;min-height:2.5rem;display:grid;place-items:center;border:1px solid var(--border-strong);color:var(--ink);background:var(--bg-elevated);font-size:1.1rem;line-height:1}.subpage-top .icon-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.field-hint{margin:.25rem 0 0;font-size:.875rem;line-height:1.45;color:var(--ink-dim)}.modal-backdrop,.result-overlay,.confirm-overlay{position:fixed;inset:0;background:linear-gradient(180deg,#060504b8,#060504e0);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.modal{width:100%;max-width:360px;text-align:center;position:relative;border-radius:var(--radius-lg);padding:1.4rem 1.5rem;border:1px solid var(--border-strong);background:linear-gradient(180deg,#241c14fa,#0e0b09fc);box-shadow:var(--shadow-deep),var(--shadow-inset)}.modal h2{margin:0 0 .5rem;color:var(--accent-bright);font-family:var(--font-display);font-weight:600}.home-screen{position:relative;width:100%;height:100dvh;min-height:100dvh;overflow:hidden;background:#0e0b09}.home-stage{position:absolute;inset:0;z-index:0}.home-stage .home-hero-3d,.home-stage .home-hero-fallback{width:100%;height:100%}.home-hero-3d{width:100%;height:100%;position:relative;border:none;border-radius:0;overflow:hidden;background:#0e0b09;box-shadow:none;pointer-events:none}.home-stage-scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 50% 42%,transparent 0%,rgba(8,6,4,.25) 55%,rgba(8,6,4,.72) 100%),linear-gradient(180deg,rgba(8,6,4,.35) 0%,transparent 28%,transparent 48%,rgba(8,6,4,.78) 100%);z-index:1}.home-hero-fallback{position:absolute;inset:0;width:100%;height:100%;background:radial-gradient(ellipse 55% 40% at 50% 42%,rgba(48,32,18,.35) 0%,transparent 70%),#0e0b09;z-index:0}.home-hero-fallback-board{display:none}.home-hero-3d canvas{opacity:0;transition:opacity .5s ease;z-index:1}.home-hero-3d.is-ready canvas{opacity:1}.home-hud{position:absolute;inset:0;z-index:10;pointer-events:none;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1.1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.home-hud .hud-chip,.home-hud .btn,.home-hud select,.home-hud .home-nudge{pointer-events:auto}.home-tl{position:absolute;top:max(1rem,env(safe-area-inset-top));left:max(1rem,env(safe-area-inset-left));z-index:2}.home-kicker{font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);text-shadow:0 1px 8px rgba(0,0,0,.7)}.home-tr{position:absolute;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));display:flex;align-items:center;gap:.35rem;z-index:2}.home-center{position:absolute;left:50%;bottom:max(2.6rem,calc(env(safe-area-inset-bottom) + 2.2rem));transform:translate(-50%);width:min(24rem,calc(100% - 2rem));z-index:2;text-align:center;display:flex;flex-direction:column;align-items:stretch;gap:.65rem}.home-title{font-family:var(--font-display);font-size:clamp(2.6rem,9vw,3.8rem);font-weight:600;letter-spacing:.04em;margin:0;color:#efe6d6f2;text-shadow:0 2px 18px rgba(0,0,0,.75);line-height:1.05}.home-tagline{margin:0 auto;max-width:22rem;color:var(--ink-dim);font-size:1rem;line-height:1.5;text-shadow:0 1px 10px rgba(0,0,0,.75)}.home-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.35rem}.home-diff{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;border:1px solid rgba(168,132,72,.22);background:linear-gradient(180deg,#1c1610b8,#0c0a08c7);box-shadow:0 2px 10px #0000004d}.home-diff-label{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.home-diff select{font:inherit;color:var(--ink);background:transparent;border:none;text-align:right;cursor:pointer;font-size:.95rem;font-weight:500;min-height:2.25rem;padding:.25rem .15rem}.home-diff select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.home-nudge{margin-top:.25rem;background:none;border:none;color:var(--accent-bright);font:inherit;font-size:.95rem;letter-spacing:.03em;cursor:pointer;text-shadow:0 1px 8px rgba(0,0,0,.7);text-decoration:underline;text-underline-offset:.2em;min-height:2.5rem}.home-nudge:hover{color:var(--ink)}.home-bl{position:absolute;left:50%;bottom:max(.75rem,env(safe-area-inset-bottom));transform:translate(-50%);margin:0;z-index:2;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);text-shadow:0 1px 6px rgba(0,0,0,.7);pointer-events:none;white-space:nowrap}.linkish{background:none;border:none;color:var(--accent);font:inherit;font-size:.88rem;font-weight:500;letter-spacing:.04em;cursor:pointer;text-decoration:none;opacity:.9;border-bottom:1px solid transparent}.linkish:hover{opacity:1;border-bottom-color:var(--accent);color:var(--accent-bright)}.play-screen{position:relative;width:100%;height:100dvh;min-height:100dvh;overflow:hidden;background:#87a0b8}.play-bg{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 90% 50% at 50% 100%,rgba(90,110,60,.45) 0%,transparent 55%),linear-gradient(180deg,#6a9ac8,#87a0b8 42%,#a8b898 78%,#6a7a48)}.play-viewport{position:absolute;inset:0;z-index:1;background:transparent}.play-viewport.board-ai-turn:after,.play-viewport.board-your-turn:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;transition:box-shadow .4s ease}.play-viewport.board-ai-turn:after{box-shadow:inset 0 0 120px #645a781f}.play-viewport.board-your-turn:after{box-shadow:inset 0 0 120px #8c6e321a}.play-empty{display:grid;place-items:center;min-height:100dvh;gap:1rem;text-align:center;color:var(--ink-dim)}.play-hud{position:absolute;inset:0;z-index:10;pointer-events:none;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1.1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.play-hud .hud-icon,.play-hud .hud-chip{pointer-events:auto}.hud-tl{position:absolute;top:max(1rem,env(safe-area-inset-top));left:max(1rem,env(safe-area-inset-left));display:flex;align-items:center;gap:.65rem;z-index:2}.hud-meta{display:flex;flex-direction:column;gap:.05rem;pointer-events:none}.hud-meta-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:.04em;color:var(--ink);text-shadow:0 1px 8px rgba(0,0,0,.7)}.hud-meta-sub{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);text-shadow:0 1px 6px rgba(0,0,0,.7)}.hud-tr{position:absolute;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));display:flex;align-items:center;gap:.35rem;z-index:2}.hud-icon{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;display:grid;place-items:center;border:1px solid rgba(168,132,72,.28);border-radius:0;color:var(--ink);font-size:1rem;cursor:pointer;background:linear-gradient(180deg,#282018d1,#0e0b09e0);box-shadow:0 1px #ffe6be0f,0 2px 8px #00000059,inset 0 1px #fff0d20f;text-shadow:0 1px 2px rgba(0,0,0,.55);transition:border-color .12s ease,background .12s ease,transform .12s ease}.hud-icon:hover:not(:disabled){border-color:#a8844873;background:linear-gradient(180deg,#34281cd9,#120e0ae0);transform:translateY(-1px)}.hud-icon:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 4px #00000073}.hud-icon:disabled{opacity:.32;cursor:not-allowed}.hud-chip{height:2.75rem;min-height:2.75rem;padding:0 .85rem;border:1px solid rgba(168,132,72,.28);border-radius:0;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);cursor:pointer;background:linear-gradient(180deg,#241c14d1,#0e0b09e0);box-shadow:0 2px 8px #0000004d;transition:border-color .12s ease,color .12s ease,background .12s ease}.hud-chip:hover:not(:disabled){color:var(--ink);border-color:#a8844873}.hud-chip:disabled{opacity:.4;cursor:not-allowed}.hud-chip.is-on{color:#1a1208;border-color:#5a401cb3;background:linear-gradient(180deg,#e0c989,#c4a050 55%,#9a7834);text-shadow:0 1px 0 rgba(255,240,200,.3)}.hud-chip.is-danger{color:var(--danger-text);border-color:#c8605880;background:linear-gradient(180deg,#5a2420d9,#24100ee6)}.hud-score{position:absolute;z-index:2;display:flex;flex-direction:column;gap:.1rem;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.75);transition:opacity .25s ease,color .25s ease}.hud-score-n{top:max(4.6rem,calc(env(safe-area-inset-top) + 3.6rem));left:max(1rem,env(safe-area-inset-left));align-items:flex-start}.hud-score-s{bottom:max(5.5rem,calc(env(safe-area-inset-bottom) + 4.5rem));right:max(1rem,env(safe-area-inset-right));align-items:flex-end;text-align:right}.hud-score-label{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.hud-score-value{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,3.2rem);font-weight:600;line-height:1;color:var(--ink);letter-spacing:.02em}.hud-score-cue{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-bright);margin-top:.15rem}.hud-score.is-active .hud-score-value,.hud-score.is-active .hud-score-label{color:var(--accent-bright)}.hud-score.is-you.is-active .hud-score-value{color:#d4b878}.hud-score.is-active .hud-score-cue{color:inherit}.hud-objective{position:absolute;left:50%;bottom:max(1.15rem,env(safe-area-inset-bottom));transform:translate(-50%);z-index:2;width:min(28rem,calc(100% - 2rem));text-align:center;pointer-events:none;padding:.7rem 1.1rem .75rem;background:linear-gradient(180deg,#0a080600,#0a080673 30%,#0a08068c)}.hud-objective-main{margin:0;font-family:var(--font-display);font-size:clamp(1.2rem,3vw,1.5rem);font-weight:600;letter-spacing:.04em;color:var(--ink);text-shadow:0 2px 14px rgba(0,0,0,.8);line-height:1.25}.hud-objective-sub{margin:.3rem 0 0;font-size:.875rem;letter-spacing:.03em;color:var(--ink-dim);text-shadow:0 1px 8px rgba(0,0,0,.75);line-height:1.45}.hud-objective.tone-you .hud-objective-main{color:#d4b878}.hud-objective.tone-ai .hud-objective-main{color:#b8b0c4}.hud-objective.tone-pass .hud-objective-main{color:var(--accent-bright)}.hud-objective-pulse{display:inline-block;width:6px;height:6px;margin-bottom:.35rem;border-radius:50%;background:#b8b0c4;box-shadow:0 0 10px #b4aac899;animation:pulse-dot 1.1s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}@media(max-width:640px){.hud-meta-title{display:none}.hud-tr .hud-chip:not(.is-danger):not(.is-on){display:none}.hud-score-value{font-size:2.1rem}.hud-score-n{top:max(3.8rem,calc(env(safe-area-inset-top) + 3rem))}.hud-score-s{bottom:max(5rem,calc(env(safe-area-inset-bottom) + 4rem))}}.shader-board-wrap{position:relative;width:100%;height:100%;margin:0;border-radius:0;overflow:hidden;border:none;box-shadow:none;background:#87a0b8}.board-viewport-fill{width:100%;height:100%;min-height:100%}.shader-loading{display:grid;place-items:center}.shader-loading-inner{text-align:center;color:var(--ink-dim);font-size:.9rem}.shader-loading-spin{display:block;width:28px;height:28px;margin:0 auto .75rem;border-radius:50%;border:2px solid rgba(201,169,98,.2);border-top-color:var(--accent);animation:spin .8s linear infinite}.board-fallback{width:100%;height:100%;display:grid;place-items:center;padding:5rem 1.25rem 4rem;box-sizing:border-box}.board-fallback .premium-board-stage,.board-fallback .premium-board{width:min(720px,100%)}.board-fallback-note{text-align:center;font-size:.72rem;color:var(--ink-faint);margin:.4rem 0 0;position:absolute;bottom:1rem;left:0;right:0}@keyframes spin{to{transform:rotate(360deg)}}.dir-sheet{position:fixed;inset:0;z-index:40;display:grid;place-items:end center;padding:1rem;background:#0807069e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in .18s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.dir-sheet-card{width:min(420px,100%);position:relative;isolation:isolate;border:1px solid var(--border-strong);border-radius:0;padding:1.3rem 1.25rem 1.05rem;background:linear-gradient(180deg,#241c14fa,#0e0b09fc);box-shadow:var(--shadow-deep),var(--shadow-inset);text-align:center;animation:slide-up .22s ease;overflow:hidden}.dir-sheet-card>*{position:relative;z-index:1}@keyframes slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.dir-sheet-kicker{margin:0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.dir-sheet-title{font-family:var(--font-display);margin:.3rem 0 .15rem;font-size:1.55rem;color:var(--accent-bright)}.dir-sheet-sub{margin:0 0 1rem;font-size:1rem;line-height:1.45;color:var(--ink-dim)}.dir-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.dir-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:1.05rem .5rem;border-radius:var(--radius-lg);color:#1a1208;cursor:pointer;border:1px solid rgba(90,64,28,.8);background-image:linear-gradient(180deg,rgba(255,245,210,.42) 0%,transparent 40%,rgba(40,24,6,.3) 100%),linear-gradient(180deg,#e0c989,#c4a050 48%,#9a7834);box-shadow:0 1px #fff0c84d,0 3px #3a2810,0 6px 14px #3c280c66,inset 0 1px #fffadc80,inset 0 -2px 5px #2818064d;text-shadow:0 1px 0 rgba(255,240,200,.25);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.dir-btn:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 1px #fff0c859,0 4px #3a2810,0 10px 18px #3c280c73,inset 0 1px #fffadc8c,inset 0 -2px 5px #28180647}.dir-btn:active{transform:translateY(1px);filter:brightness(.97);box-shadow:0 0 #3a2810,inset 0 2px 6px #28180673}.dir-arrow{font-size:1.65rem;line-height:1;color:#1a1208;opacity:.85}.dir-btn-label{font-weight:700;font-size:.95rem;color:#1a1208}.dir-btn-hint{font-size:.75rem;color:#3a2810;font-weight:600}.dir-btn:focus-visible{outline:2px solid var(--focus);outline-offset:3px;box-shadow:var(--focus-ring)}.dir-cancel{margin-top:.8rem;background:none;border:none;color:var(--ink-dim);font:inherit;font-size:.88rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.result-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#080706c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;animation:ro-fade .35s ease-out both}@keyframes ro-fade{0%{opacity:0}to{opacity:1}}.ro-rays{position:absolute;inset:-40%;pointer-events:none;background:repeating-conic-gradient(from 0deg,rgba(217,164,65,.14) 0deg 9deg,transparent 9deg 24deg);mask-image:radial-gradient(circle at center,black 0%,transparent 62%);-webkit-mask-image:radial-gradient(circle at center,black 0%,transparent 62%);animation:ro-spin 24s linear infinite}@keyframes ro-spin{to{transform:rotate(360deg)}}.ro-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.ro-confetti span{position:absolute;top:-3%;border-radius:999px;opacity:0;animation-name:ro-fall;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes ro-fall{0%{transform:translate3d(0,-4vh,0) rotate(0);opacity:0}8%{opacity:.95}to{transform:translate3d(var(--sway, 30px),106vh,0) rotate(660deg);opacity:.9}}.ro-banner{font-family:var(--font-display);margin:.2rem 0 .6rem;font-size:3rem;line-height:1.05;letter-spacing:.02em;transform:scale(.3);opacity:0}.result-card.ro-in .ro-banner{animation:ro-slam .5s cubic-bezier(.22,1.6,.36,1) both}@keyframes ro-slam{0%{transform:scale(2.2);opacity:0}60%{transform:scale(.92);opacity:1}to{transform:scale(1);opacity:1}}.ro-banner-win{color:var(--accent);background:linear-gradient(180deg,#f4dfa4,#d9a441 55%,#a8752a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 12px rgba(217,164,65,.35))}.ro-banner-lose{color:var(--ink-dim)}.ro-banner-draw{color:var(--ink)}.ro-stars{display:flex;justify-content:center;gap:.45rem;margin:.1rem 0 .9rem;font-size:2rem;line-height:1}.ro-star{opacity:0;transform:scale(2.4) rotate(18deg)}.ro-star-earned{color:#f2c14e;text-shadow:0 0 14px rgba(242,193,78,.55)}.ro-star-empty{color:#ffffff24;text-shadow:none}.ro-star-in,.ro-star-empty{animation:ro-stamp .34s cubic-bezier(.2,1.8,.4,1) both}.ro-star-empty{animation-delay:.1s}@keyframes ro-stamp{0%{opacity:0;transform:scale(2.4) rotate(18deg)}to{opacity:1;transform:scale(1) rotate(0)}}.ro-pending{opacity:0;transform:translateY(10px)}.result-scores.ro-in,.result-actions.ro-in{animation:ro-rise .4s ease-out both}@keyframes ro-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ro-pulse{animation:ro-pulse 1.6s ease-in-out .4s infinite}@keyframes ro-pulse{0%,to{transform:scale(1);box-shadow:0 0 #d9a44159}50%{transform:scale(1.035);box-shadow:0 0 0 8px #d9a44100}}.result-card{transform:scale(.86);opacity:0;transition:transform .35s cubic-bezier(.22,1.4,.36,1),opacity .3s ease-out}.result-card.ro-in{transform:scale(1);opacity:1}@media(prefers-reduced-motion:reduce){.result-overlay,.result-card,.ro-banner,.result-card.ro-in .ro-banner,.ro-star,.ro-pending,.result-scores.ro-in,.result-actions.ro-in,.ro-pulse{animation:none!important;transition:none!important;opacity:1;transform:none}.ro-rays,.ro-confetti{display:none}}.result-card{width:min(360px,100%);text-align:center;position:relative;border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:1.85rem 1.5rem 1.45rem;background:linear-gradient(180deg,#241c14fa,#0e0b09fc);box-shadow:var(--shadow-deep),var(--shadow-inset);overflow:hidden}.result-card>*{position:relative;z-index:1}.result-kicker{margin:0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.result-title{font-family:var(--font-display);margin:.35rem 0 1.05rem;font-size:2.05rem;color:var(--accent)}.result-scores{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-bottom:1.4rem}.result-scores span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim)}.result-scores strong{font-family:var(--font-display);font-size:1.8rem;color:var(--ink)}.result-vs{color:var(--ink-faint)}.result-actions{display:flex;flex-direction:column;gap:.55rem}.confirm-overlay{position:fixed;inset:0;z-index:55;display:grid;place-items:center;padding:1rem;background:#080706b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.confirm-card{width:min(340px,100%);position:relative;border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:1.4rem 1.3rem;text-align:center;background:linear-gradient(180deg,#241c14fa,#0e0b09fc);box-shadow:var(--shadow-deep),var(--shadow-inset)}.confirm-card h2{font-family:var(--font-display);margin:0 0 .4rem;font-size:1.35rem;color:var(--ink)}.confirm-card p{margin:0 0 1.1rem;color:var(--ink-dim);font-size:.92rem;line-height:1.45}.confirm-actions{display:flex;flex-direction:column;gap:.5rem}@media(prefers-reduced-motion:reduce){.hud-objective-pulse,.shader-loading-spin{animation:none}.dir-sheet,.dir-sheet-card,.btn,.hud-icon,.hud-chip{transition:none;animation:none}}.tour-screen{position:relative;width:100%;height:100dvh;min-height:100dvh;overflow:hidden;background:#0e0b09}.tour-stage{position:absolute;inset:0;z-index:0}.tour-board-3d,.tour-stage .home-hero-fallback{width:100%;height:100%}.tour-board-3d{position:relative;overflow:hidden;background:#0e0b09;pointer-events:none}.tour-stage-scrim{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 75% 50% at 50% 38%,transparent 0%,rgba(8,6,4,.2) 50%,rgba(8,6,4,.55) 100%),linear-gradient(180deg,rgba(8,6,4,.4) 0%,transparent 22%,transparent 42%,rgba(8,6,4,.88) 100%)}.tour-hud{position:absolute;inset:0;z-index:10;pointer-events:none;display:flex;flex-direction:column;padding:max(.85rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.tour-hud .btn,.tour-hud .hud-icon,.tour-hud .tour-dot{pointer-events:auto}.tour-tl{display:flex;align-items:center;gap:.65rem;align-self:flex-start}.tour-meta{display:flex;flex-direction:column;gap:.1rem}.tour-meta-title{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.04em;color:var(--ink, #f3ebe0);text-shadow:0 1px 8px rgba(0,0,0,.65)}.tour-meta-sub{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#f3ebe08c}.tour-progress{display:flex;gap:.4rem;justify-content:center;margin-top:.75rem}.tour-dot{width:.45rem;height:.45rem;padding:0;border-radius:50%;background:#f3ebe02e;border:1px solid rgba(200,170,110,.25);cursor:pointer;position:relative;transition:background .2s ease,transform .2s ease}.tour-dot:after{content:"";position:absolute;inset:-.55rem;border-radius:50%}.tour-dot:hover{background:#e0c98999}.tour-dot:focus-visible{outline:2px solid var(--focus, #e0c989);outline-offset:3px}.tour-dot.is-done{background:#c8aa6e73}.tour-dot.is-on{background:#e0c989;box-shadow:0 0 10px #e0c98973;transform:scale(1.15)}.tour-card{pointer-events:auto;margin-top:auto;width:min(32rem,100%);align-self:center;padding:1.15rem 1.25rem 1.2rem;border-radius:4px;background:linear-gradient(165deg,#241c14f0,#120e0af5);border:1px solid rgba(200,168,100,.28);box-shadow:0 18px 48px #0000008c,inset 0 1px #fff0c80f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tour-kicker{margin:0 0 .35rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:#e0c989bf}.tour-title{margin:0 0 .55rem;font-family:var(--font-display);font-size:clamp(1.35rem,3.5vw,1.7rem);font-weight:600;color:#f3ebe0;letter-spacing:.02em}.tour-body{margin:0 0 1.1rem;font-size:.95rem;line-height:1.55;color:#f3ebe0c7}.tour-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-start}.tour-actions .btn-primary{min-width:7.5rem}@media(max-width:520px){.tour-card{padding:1rem 1rem 1.05rem}.tour-actions{width:100%}.tour-actions .btn{flex:1 1 auto}}.tour-live-caption{pointer-events:none;align-self:center;margin:.65rem auto 0;padding:.35rem .85rem;border-radius:999px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#f0d9a0;background:#140e0ab8;border:1px solid rgba(224,201,137,.28);box-shadow:0 6px 20px #00000059;text-shadow:0 1px 4px rgba(0,0,0,.7)}.travel-speed{display:flex;flex-direction:column;gap:.35rem;width:100%}.travel-speed-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.travel-speed-head label{margin:0;font-size:.82rem;font-weight:600;color:var(--ink, #f3ebe0);text-transform:none;letter-spacing:.02em}.travel-speed-value{font-size:.75rem;color:#e0c989e6;letter-spacing:.04em;white-space:nowrap}.travel-speed-num{opacity:.65}.travel-speed input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:.45rem;border-radius:999px;background:linear-gradient(90deg,#a0784673,#e0c989a6);cursor:pointer}.travel-speed input[type=range]:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.travel-speed input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:1rem;height:1rem;border-radius:50%;background:#e0c989;border:2px solid #2a2014;box-shadow:0 1px 6px #00000073;cursor:grab}.travel-speed input[type=range]::-moz-range-thumb{width:1rem;height:1rem;border-radius:50%;background:#e0c989;border:2px solid #2a2014;box-shadow:0 1px 6px #00000073;cursor:grab}.travel-speed-ends{display:flex;justify-content:space-between;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint, rgba(243, 235, 224, .45))}.travel-speed.is-compact{gap:.2rem;min-width:7.5rem;max-width:11rem}.travel-speed.is-compact .travel-speed-head label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#f3ebe0b3}.travel-speed.is-compact .travel-speed-value{font-size:.65rem}.travel-speed.is-compact input[type=range]{height:.28rem}.travel-speed.is-compact input[type=range]::-webkit-slider-thumb{width:.85rem;height:.85rem}.travel-speed.is-compact input[type=range]::-moz-range-thumb{width:.85rem;height:.85rem}.hud-speed{position:absolute;top:max(3.6rem,calc(env(safe-area-inset-top) + 3.2rem));right:max(.75rem,env(safe-area-inset-right));z-index:12;pointer-events:auto;padding:.4rem .55rem .45rem;border-radius:4px;background:#0e0a08b8;border:1px solid rgba(200,168,100,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 18px #00000059}.tour-speed-wrap{margin:0 0 .95rem;padding:.55rem .65rem .6rem;border-radius:3px;background:#00000038;border:1px solid rgba(200,168,100,.15)}.tour-speed-wrap .travel-speed.is-compact{max-width:none;min-width:0}.field-hint{margin:.35rem 0 0;font-size:.78rem;line-height:1.4;color:var(--ink-dim, rgba(243, 235, 224, .6))}@media(max-width:640px){.hud-speed{top:auto;bottom:max(5.5rem,calc(env(safe-area-inset-bottom) + 4.8rem));right:max(.65rem,env(safe-area-inset-right));left:auto}}.pit-count{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:1.35rem;font-family:system-ui,sans-serif;font-weight:800;line-height:1.05;text-align:center;text-shadow:0 1px 3px #000,0 0 10px rgba(0,0,0,.85);transform-origin:center bottom;transition:opacity .15s ease}.pit-count.is-dim{opacity:.32}.pit-count.is-empty{opacity:.38}.pit-count.is-bump .pit-count-num{animation:pit-count-bump .48s cubic-bezier(.22,1.4,.36,1) both}.pit-count.is-gain .pit-count-num{color:#f0e0b0}.pit-count.is-loss .pit-count-num{color:#f0c8a8}.pit-count-label{display:block;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:none;opacity:.9;margin-bottom:.08rem;white-space:nowrap}.pit-count-num{display:block;font-size:.95rem;font-variant-numeric:tabular-nums;min-width:1.1em}.pit-count-delta{position:absolute;left:50%;top:-.15rem;transform:translate(-50%);font-size:.72rem;font-weight:800;white-space:nowrap;pointer-events:none;text-shadow:0 1px 4px #000,0 0 8px rgba(0,0,0,.9);animation:pit-count-float .52s ease-out both}.pit-count-delta.is-up{color:#b8f0a8}.pit-count-delta.is-down{color:#f0a890}@keyframes pit-count-bump{0%{transform:scale(1)}35%{transform:scale(1.45)}to{transform:scale(1)}}@keyframes pit-count-float{0%{opacity:0;transform:translate(-50%) translateY(.2rem) scale(.85)}18%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-1.1rem) scale(1.05)}}.anim-score{position:relative;display:inline-block;font-variant-numeric:tabular-nums}.anim-score.is-bump .anim-score-num{animation:pit-count-bump .5s cubic-bezier(.22,1.4,.36,1) both}.anim-score.is-gain .anim-score-num{color:#f0e0b0}.anim-score-delta{position:absolute;left:50%;top:-.35rem;transform:translate(-50%);font-size:.7rem;font-weight:800;white-space:nowrap;pointer-events:none;text-shadow:0 1px 4px #000;animation:pit-count-float .7s ease-out both}.anim-score-delta.is-up{color:#b8f0a8}.anim-score-delta.is-down{color:#f0a890}.pit-count-id{display:flex;align-items:baseline;justify-content:center;gap:.02em;font-size:.58rem;font-weight:800;letter-spacing:.06em;line-height:1;margin-bottom:.12rem;opacity:.88;text-transform:uppercase}.pit-count-row{font-size:.68rem;opacity:1}.pit-count.is-row-a .pit-count-row{color:#c8b8d8}.pit-count.is-row-b .pit-count-row{color:#e0c989}.pit-count-col{opacity:.85;font-variant-numeric:tabular-nums}.pit-count-caption{display:block;font-size:.58rem;font-weight:700;letter-spacing:.03em;opacity:.9;margin-bottom:.06rem;white-space:nowrap;max-width:6.5rem;overflow:hidden;text-overflow:ellipsis}.pit-count-label{display:none}.row-initial{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.28rem .4rem .32rem;border-radius:3px;background:#0c0907b8;border:1px solid rgba(200,168,100,.28);box-shadow:0 4px 14px #0006;text-shadow:0 1px 3px #000;font-family:system-ui,sans-serif;pointer-events:none}.row-initial-letter{font-size:1.15rem;font-weight:800;line-height:1;letter-spacing:.04em}.row-initial-sub{font-size:.52rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.72;white-space:nowrap}.row-initial-a .row-initial-letter{color:#c8b8d8}.row-initial-b .row-initial-letter{color:#e0c989}.row-initial-a{border-color:#b4a0d259}.row-initial-b{border-color:#e0c98966}.shell-label{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.28rem .45rem .32rem;border-radius:3px;background:#0c0907c7;border:1px solid rgba(200,150,90,.32);box-shadow:0 4px 16px #00000073;text-shadow:0 1px 3px #000;font-family:system-ui,sans-serif;white-space:nowrap}.shell-label-title{font-size:.55rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#f0d9a0d9}.shell-label-score{font-size:1.05rem;font-weight:800;font-variant-numeric:tabular-nums;color:#f3ebe0;line-height:1}.board-pit-html{pointer-events:none!important}.board-pit-focus{position:relative;width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;margin:0;padding:0;border:none;border-radius:50%;background:transparent;cursor:pointer;pointer-events:auto;opacity:0;transition:opacity .12s ease,transform .12s ease}.board-pit-focus.is-legal{opacity:.35}.board-pit-focus.is-legal:hover,.board-pit-focus.is-legal:focus-visible{opacity:1}.board-pit-focus.is-selected{opacity:1}.board-pit-focus-ring{position:absolute;inset:0;border-radius:50%;border:2px solid transparent;box-shadow:none;pointer-events:none}.board-pit-focus.is-legal .board-pit-focus-ring{border-color:#e0c9898c;box-shadow:0 0 0 1px #00000059,inset 0 0 0 1px #fff0c81f}.board-pit-focus:focus{outline:none}.board-pit-focus:focus-visible{opacity:1;outline:none;transform:scale(1.08)}.board-pit-focus:focus-visible .board-pit-focus-ring{border-color:var(--focus, #e0c989);border-width:3px;box-shadow:0 0 0 2px #0e0b09,0 0 0 4px var(--focus, #e0c989),0 0 18px #e0c9898c;background:#e0c9891f}.board-pit-focus.is-selected .board-pit-focus-ring{border-color:var(--accent-bright, #e0c989);background:#e0c9892e}.board-pit-focus:disabled,.board-pit-focus.is-locked{cursor:default;opacity:0;pointer-events:none}
