:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--ink:#f8f7ff;--muted:#b3a8c9;--night:#170f2c;--night-deep:#0e0820;--panel:#211944;--panel-soft:#2b2253;--line:#44386e;--violet:#7c6cff;--mint:#62efc8;--peach:#ff8466;--sun:#ffb84d;--sun-hot:#fff0c2;--sun-rim:#f2803a;--gold:#ffdc85;--rock:#827f97;--cw-line:#f1e3ff4d;--cw-mark:#c9b9e6;font-family:Inter,ui-rounded,SF Pro Rounded,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--night);width:100%;min-width:0;min-height:100%;margin:0}html{overscroll-behavior:none;overflow-x:hidden}body{min-height:100vh;min-height:100dvh;color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit}:is(button:focus-visible,input:focus-visible){outline:3px solid var(--sun);outline-offset:3px}button:disabled{cursor:default}.orbit-app{min-height:100vh;background:radial-gradient(circle at 12% -8%, #41367b 0, transparent 34%), radial-gradient(circle at 100% 58%, #1a5f63 0, transparent 34%), linear-gradient(155deg, var(--night) 0%, var(--night-deep) 100%);min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow-x:hidden}.app-content{min-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.app-header{justify-content:space-between;align-items:center;gap:16px;width:min(1120px,100%);min-height:66px;margin:0 auto;padding:10px clamp(16px,4vw,34px);display:flex}.brand{-webkit-appearance:none;appearance:none;min-height:44px;color:var(--ink);letter-spacing:.13em;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:4px 0;font-size:14px;font-weight:850;display:inline-flex}.brand b{color:var(--mint)}.logo-mark{width:34px;height:34px;display:block}.header-actions{gap:8px;display:flex}.icon-button{color:#e7e3f8;cursor:pointer;background:#211a42cc;border:1px solid #51477a;border-radius:50%;place-items:center;width:44px;height:44px;font-size:19px;line-height:1;display:inline-grid}.ui-icon{flex:none;width:1.15em;height:1.15em;display:block}.back-home{color:#e7e3f8;letter-spacing:.04em;cursor:pointer;background:#211a42cc;border:1px solid #51477a;border-radius:999px;align-items:center;gap:7px;height:44px;padding:0 14px 0 11px;font-size:12px;font-weight:800;display:inline-flex}.home-screen{width:min(560px,100%);min-height:calc(100vh - 66px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:calc(100dvh - 66px - env(safe-area-inset-top) - env(safe-area-inset-bottom));flex-direction:column;justify-content:flex-start;gap:20px;margin:0 auto;padding:clamp(10px,3vw,28px) 18px 18px;display:flex}.home-tagline{color:var(--ink);text-align:center;letter-spacing:-.02em;margin:0;font-size:clamp(26px,7vw,34px);font-weight:850}.mode-cards{gap:14px;display:grid}.home-card{background:#150f2ecc;border:1px solid #40346a;border-radius:28px;flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex;box-shadow:0 16px 36px #08051755,inset 0 1px #ffffff10}.home-card h2{color:var(--sun);letter-spacing:.14em;text-transform:uppercase;margin:2px 4px 0;font-size:12px;font-weight:800}.mode-switch{background:#1b1438;border:1px solid #4b4073;border-radius:16px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.mode-switch button{color:#c8c3d8;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:12px;min-height:44px;font-size:14px;font-weight:800}.mode-switch button[aria-pressed=true]{color:var(--ink);box-shadow:inset 0 0 0 1px var(--sun);background:#3a2f63}.mode-switch button:disabled{opacity:.6;cursor:default}.home-play{gap:8px;display:grid}.home-play-button{text-align:left;align-items:center;gap:12px;min-height:72px;padding:12px 18px 12px 16px;font-size:20px;display:flex;box-shadow:0 14px 34px #62efc833}.home-play-button .home-play-icon{flex:none;width:30px;height:30px}.home-play-copy{flex:1;gap:2px;min-width:0;display:grid}.home-play-copy b{font-size:20px;line-height:1.15}.home-play-copy small{color:#1f4a44;font-size:13px;font-weight:750}.home-play-button:disabled .home-play-copy small{color:inherit}.home-play-meta{color:#b8b2cd;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 10px;margin:0 4px;font-size:13px;line-height:1.35;display:flex}.home-play-meta .text-action{min-height:44px;color:var(--sun);font:inherit;cursor:pointer;background:0 0;border:0;margin:-10px 0;padding:0 4px;font-weight:800}.home-play-meta .text-action:disabled{opacity:.6;cursor:default}.home-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.home-card-head h2{margin:0 4px}.mode-switch.is-compact{width:auto;padding:3px}.mode-switch.is-compact button{min-height:32px;padding:0 12px;font-size:12px}.endless-row-icon{color:var(--rock);place-items:center;display:grid}.endless-row-icon .ui-icon{width:100%;height:100%}.board-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.board-row{width:100%;min-height:68px;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:linear-gradient(135deg,#2b2253e8,#1e173de8);border:1px solid #554881;border-radius:20px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;transition:transform .18s,border-color .18s;display:grid;box-shadow:0 10px 24px #08051755,inset 0 1px #ffffff14}@media (hover:hover) and (pointer:fine){.board-row:hover:not(:disabled){border-color:#8d7fff;transform:translateY(-1px)}}.board-row:active:not(:disabled){transform:scale(.985)}.board-row:disabled{opacity:.55;cursor:default}.board-icon{width:40px;height:40px;color:var(--mint);fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;background:#18112f;border-radius:13px;padding:7px}.board-icon.is-flip{color:#8f84e0}.board-icon-flip-base{fill:#18112f;stroke:none}.board-icon-flip-mint{fill:var(--mint);stroke:none}.board-icon-flip-peach{fill:var(--peach);stroke:none}.board-icon-block{fill:#8f84e033}.board-row-copy{gap:3px;min-width:0;display:grid}.board-row-copy b{font-size:16px}.new-tag{color:var(--peach);letter-spacing:.08em;text-transform:uppercase;vertical-align:2px;background:#ff846626;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:850}.board-row-copy small{color:#b8b2cd;font-size:12px;line-height:1.35}.board-pill{color:#d7d2e8;border:1px solid #6a5ca0;border-radius:999px;place-items:center;min-width:84px;min-height:36px;padding:0 14px;font-size:13px;font-weight:850;display:inline-grid}.board-pill.primary{border-color:var(--mint);background:linear-gradient(135deg, var(--mint), #8bf3d8);color:#122c2b}.home-card.journey-card.is-start{border-color:var(--sun);box-shadow:0 0 28px #ffb84d38,0 16px 36px #08051755,inset 0 1px #ffffff10}.journey-card.is-start .journey-option .mode-copy b{color:var(--sun)}.mode-options{gap:10px;display:grid}.journey-note{color:#8f89a9;margin:0 4px 2px;font-size:12px;line-height:1.35}.mode-card{text-align:left;cursor:pointer;background:linear-gradient(135deg,#2b2253e8,#1e173de8);border:1px solid #554881;border-radius:24px;grid-template-columns:54px minmax(0,1fr) 28px;align-items:center;gap:14px;width:100%;min-height:82px;padding:16px 18px;transition:transform .18s,border-color .18s,background .18s;display:grid;position:relative;box-shadow:0 16px 36px #08051766,inset 0 1px #ffffff14}@media (hover:hover) and (pointer:fine){.mode-card:hover:not(:disabled){background:linear-gradient(135deg,#392d6b,#241b49);border-color:#8d7fff;transform:translateY(-2px)}}.mode-card:active:not(:disabled){transform:scale(.985)}.mode-card:disabled{opacity:.55}.mode-icon{background:#18112f;border-radius:17px;width:54px;height:54px;padding:10px}.mode-icon.dual{padding:8px;display:flex}.mode-icon.dual .glyph{width:60%;margin-right:-8px}.glyph{fill:none;stroke-width:6px;stroke-linecap:round;width:100%;height:100%}.x{stroke:var(--mint)}.o{stroke:var(--peach)}.mode-copy{gap:5px;min-width:0;display:grid}.mode-copy b{font-size:18px}.mode-copy small{color:#b8b2cd;font-size:12px;line-height:1.35}.mode-arrow{color:var(--sun);place-items:center;font-size:23px;display:grid}.home-footer{color:#8f89a9;text-align:center;letter-spacing:.04em;margin:auto 0 0;font-size:11px;font-weight:650}.home-footer button{color:#beb7d4;min-height:44px;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items:center;margin-left:8px;padding:0 8px;text-decoration:underline;display:inline-flex}.game-screen{width:min(560px,100%);min-height:calc(100vh - 66px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:calc(100dvh - 66px - env(safe-area-inset-top) - env(safe-area-inset-bottom));grid-template-rows:auto auto auto auto;align-content:start;align-items:start;gap:10px;margin:0 auto;padding:0 16px 12px;display:grid}.scoreboard{background:#1a1435b8;border:1px solid #41376b;border-radius:20px;grid-template-columns:1fr .8fr 1fr;min-height:64px;display:grid;box-shadow:inset 0 1px #ffffff0d}.score{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:8px 14px;display:grid;position:relative}.score+.score{border-left:1px solid #41376b}.score span{color:#c2bdd5;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.score b{color:var(--ink);font-variant-numeric:tabular-nums;grid-area:1/2/3;font-size:25px}.score small{color:var(--mint);font-size:11px;font-weight:850}.score small.o{color:var(--peach)}.score.draws{text-align:center;flex-direction:column;justify-content:center;gap:1px;display:flex}.score.draws b{font-size:19px}.turn-heading{grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:58px;padding:2px 4px;display:grid}.turn-mark{background:#2a2151;border-radius:15px;width:46px;height:46px;padding:8px}.turn-heading p{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 2px;font-size:10px;font-weight:800}.turn-heading h1,.turn-heading h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(19px,5vw,25px);line-height:1.15;overflow:hidden}.turn-heading p.over-target{color:var(--sun)}.reset-button{color:#aaa4c2;cursor:pointer;background:#211a42aa;border:1px solid #4a406d;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:74px;height:44px;padding:0 10px;font-size:11px;font-weight:750;display:inline-flex}.turn-actions{align-items:center;gap:6px;display:flex}.reset-button:disabled{opacity:.4;cursor:default}@media (max-width:420px){.turn-actions .reset-button{width:44px;min-width:44px;padding:0}.turn-actions .reset-button span{display:none}}.board-wrap{place-items:center;min-height:0;display:grid}.board-frame{width:min(100vw - 32px,100vh - 300px,430px);aspect-ratio:1;background:linear-gradient(145deg,#201943,#120d29);border:1px solid #51457e;border-radius:30px;width:min(100vw - 32px,100dvh - 300px,430px);min-width:240px;padding:14px;position:relative;box-shadow:0 22px 50px #05021099,inset 0 1px #ffffff16}.board-frame:before{content:"";pointer-events:none;border:1px dashed #796ca35c;border-radius:25px;position:absolute;inset:7px}.board-frame.chooses-turn:before{display:none}.board-surface{aspect-ratio:1;width:100%;position:relative}.board-grid{grid-template:repeat(var(--board-size,3), 1fr) / repeat(var(--board-size,3), 1fr);gap:3%;display:grid;position:absolute;inset:0}.cell{cursor:pointer;touch-action:manipulation;background:linear-gradient(145deg,#30265b,#251c4a);border:1px solid #4b4073;border-radius:22%;min-width:0;min-height:0;padding:0;transition:transform .15s,background .15s,border-color .15s;position:relative}.cell:disabled{opacity:1}.cell.selected{border-color:var(--sun);background:linear-gradient(145deg,#433571,#2c2458);transform:scale(.97)}@media (hover:hover) and (pointer:fine){.cell:hover:not(:disabled){border-color:var(--sun);background:linear-gradient(145deg,#433571,#2c2458);transform:scale(.97)}}.cell.anchor{background:linear-gradient(145deg,#362b5b,#292149);border-color:#625680}.cell.hub{box-shadow:inset 0 0 0 2px var(--sun)}.cell.winning{border-color:var(--sun);box-shadow:0 0 24px #ffb84d40, inset 0 0 0 1px var(--sun);background:linear-gradient(145deg,#4d3d1b,#352a19);animation:.8s ease-out line-settle}@keyframes line-settle{0%{box-shadow:0 0 0 #ffb84d00, inset 0 0 0 1px var(--sun);border-color:#fff}35%{border-color:var(--sun);box-shadow:0 0 34px #ffb84d99, inset 0 0 0 2px var(--sun)}to{border-color:var(--sun);box-shadow:0 0 24px #ffb84d40, inset 0 0 0 1px var(--sun)}}.cell.guide-target{border-color:var(--sun);box-shadow:0 0 0 2px var(--sun) inset, 0 0 16px #ffb84d55;animation:1.7s ease-in-out infinite guide-target-pulse}@keyframes guide-target-pulse{0%,to{box-shadow:0 0 0 2px var(--sun) inset, 0 0 10px #ffb84d44}50%{box-shadow:0 0 0 2px var(--sun) inset, 0 0 24px #ffb84da0}}.cell.hint{border-color:var(--mint);box-shadow:0 0 0 2px var(--mint) inset, 0 0 14px #62efc844}.cell.hint.selected{border-color:var(--sun);box-shadow:0 0 0 2px var(--mint) inset}.keyboard-number{color:#8e86ab;opacity:0;font-size:9px;position:absolute;top:7px;left:9px}.anchor-dot{color:#71698a;place-items:center;font-size:22px;display:grid;position:absolute;inset:0}.cell.flips:before{content:"";background:conic-gradient(from 90deg, var(--mint) 0 50%, var(--peach) 50% 100%);opacity:.5;pointer-events:none;border-radius:50%;position:absolute;inset:11%;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px))}.flip-badge{color:#8e86ab;pointer-events:none;font-size:12px;line-height:1;position:absolute;bottom:4%;right:7%}.flip-out,.flip-in{transform-box:fill-box;transform-origin:50%}.flip-out{animation:.15s ease-in both flip-out}.flip-in{animation:.15s ease-out .15s both flip-in}@keyframes flip-out{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes flip-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.board-pieces{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.moving-piece{fill:none;stroke-width:8px;stroke-linecap:round;will-change:transform}.new-piece{filter:drop-shadow(0 0 7px #fff5)}.ghost{opacity:.52;animation:1.1s ease-in-out infinite alternate breathe}.orbit-cue{pointer-events:none;width:100%;height:100%;color:var(--sun);position:absolute;inset:0;overflow:visible}.orbit-cue-ring{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;opacity:.45;stroke-dasharray:100;animation:.8s ease-out both orbit-cue-sweep}.orbit-cue-chevron{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:.8;animation:.8s ease-out both orbit-cue-fade}@keyframes orbit-cue-sweep{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes orbit-cue-fade{0%{opacity:0}to{opacity:.8}}.reduce-motion .orbit-cue-ring,.reduce-motion .orbit-cue-chevron{animation:none}@media (prefers-reduced-motion:reduce){.orbit-cue-ring,.orbit-cue-chevron{animation:none}}.cell.lands{outline:2px dashed var(--mint);outline-offset:-6px}.board-grid.blocks{grid-template:22.3333% 2% 22.3333% 6.6667% 22.3333% 2% 22.3333%/22.3333% 2% 22.3333% 6.6667% 22.3333% 2% 22.3333%;gap:0}.block-backdrops{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.block-backdrops rect{fill:#ffffff0a;stroke:#6c5fa044;stroke-width:1px}.cell-void{pointer-events:none}.cell.turning{border-color:var(--sun);background:linear-gradient(145deg,#3b2f66,#2c2458)}.cell.turning.selected{background:linear-gradient(145deg,#433571,#2c2458)}.turn-picker{gap:6px;display:grid}.turn-picker-top{justify-content:space-between;align-items:center;gap:10px;min-height:44px;display:flex}.turn-picker-top p{color:#aaa5c0;min-width:0;margin:0;font-size:11px;line-height:1.45}.turn-cancel{color:#c9c4de;cursor:pointer;touch-action:manipulation;background:#211a42aa;border:1px solid #4a406d;border-radius:999px;flex:none;min-width:74px;height:44px;padding:0 14px;font-size:12px;font-weight:750}.turn-choices{grid-template-columns:1fr 1fr;gap:8px;display:grid}.turn-choice{border:1px solid var(--line);background:var(--panel-soft);min-height:52px;color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:800;display:inline-flex}.turn-choice .ui-icon{flex:none;width:22px;height:22px}.turn-choice:active{transform:scale(.985)}.turn-choice.hint{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint) inset}.turn-choice.staged{background:linear-gradient(135deg, var(--mint), #8bf3d8);color:#122c2b;border-color:#0000}.turn-picker button:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.orbit-track{z-index:2;color:var(--sun);pointer-events:none;position:absolute;inset:0}.track-arrow{background:var(--night);border:1px solid #796b9f;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;display:grid;position:absolute}.track-arrow .ui-icon{width:14px;height:14px}.track-arrow.right .ui-icon{transform:rotate(90deg)}.track-arrow.bottom .ui-icon{transform:rotate(180deg)}.track-arrow.left .ui-icon{transform:rotate(-90deg)}.track-arrow.top{top:2px;left:calc(50% - 12px)}.track-arrow.right{top:calc(50% - 12px);right:2px}.track-arrow.bottom{bottom:2px;left:calc(50% - 12px)}.track-arrow.left{top:calc(50% - 12px);left:2px}.orbit-track.ccw .track-arrow.top .ui-icon{transform:rotate(180deg)}.orbit-track.ccw .track-arrow.right .ui-icon{transform:rotate(-90deg)}.orbit-track.ccw .track-arrow.bottom .ui-icon{transform:none}.orbit-track.ccw .track-arrow.left .ui-icon{transform:rotate(90deg)}.size-4 .track-arrow{width:20px;height:20px}.size-4 .track-arrow .ui-icon{width:12px;height:12px}.size-4 .track-arrow.top{top:4px;left:calc(50% - 10px)}.size-4 .track-arrow.right{top:calc(50% - 10px);right:4px}.size-4 .track-arrow.bottom{bottom:4px;left:calc(50% - 10px)}.size-4 .track-arrow.left{top:calc(50% - 10px);left:4px}.track-arrow.center{width:20px;height:20px;top:calc(50% - 10px);left:calc(50% - 10px)}.track-arrow.center svg{width:14px;height:14px}.track-arrow.center.ccw svg{transform:scaleX(-1)}.size-4 .anchor-dot{font-size:18px}.is-orbiting .track-arrow{border-color:var(--sun);box-shadow:0 0 14px #ffb84d55}.play-action{gap:8px;display:grid}.primary-action,.secondary-action{cursor:pointer;touch-action:manipulation;border:0;border-radius:18px;width:100%;min-height:56px;font-weight:850}.primary-action{background:linear-gradient(135deg, var(--mint), #8bf3d8);color:#122c2b;padding:13px 20px;box-shadow:0 10px 28px #62efc826}.primary-action .ui-icon{vertical-align:middle;display:inline-block}.primary-action.celebrate{justify-content:center;align-items:center;gap:9px;display:inline-flex}.primary-action:not(:disabled):active{transform:scale(.985)}.primary-action:disabled{color:#89829f;box-shadow:none;background:#32294e}.primary-action.celebrate{background:linear-gradient(135deg, var(--sun), #ffe0a0);color:#392a0f}.primary-action.celebrate:disabled{color:#89829f;background:#32294e}.orbit-button-arrow{margin-right:9px;font-size:22px}.play-action>p{color:#aaa5c0;text-align:center;min-height:17px;margin:0;font-size:11px;line-height:1.45}.loading-screen{min-height:60vh;color:var(--muted);place-items:center;display:grid}.dialog-backdrop{z-index:20;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090615cc;place-items:center;animation:.16s ease-out fade-in;display:grid;position:fixed;inset:0}.dialog-sheet{width:min(520px,100%);max-height:calc(100vh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain;background:linear-gradient(150deg,#2b2253,#17112f);border:1px solid #5a4e86;border-radius:28px;padding:22px;overflow-y:auto;box-shadow:0 30px 90px #0009}.dialog-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog-heading h2{letter-spacing:-.03em;margin:0;font-size:25px}.step-dots{gap:7px;margin:4px 0 2px;display:flex}.step-dots span{background:#4a406d;border-radius:50%;width:8px;height:8px}.step-dots span.on{background:var(--sun)}.tutorial-demo{width:180px;margin:20px auto;position:relative}.demo-grid{aspect-ratio:1;background:#14102a;border:1px solid #554a7d;border-radius:22px;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:6px;padding:8px;display:grid}.demo-grid span{color:var(--mint);background:#31275b;border-radius:12px;place-items:center;font-size:26px;font-weight:850;display:grid}.demo-grid .demo-anchor{color:#7e7699;background:#3a3158}.demo-mark{animation:2.2s ease-in-out infinite demo-orbit}.demo-arrow{background:var(--sun);color:#2d210c;border-radius:50%;place-items:center;width:40px;height:40px;font-size:24px;display:grid;position:absolute;top:calc(50% - 20px);right:-15px}.tutorial-steps{gap:13px;margin:0 0 22px;padding:0;list-style:none;display:grid}.tutorial-steps li{grid-template-columns:78px 1fr;gap:12px;display:grid}.tutorial-steps b{color:var(--mint)}.tutorial-steps span,.confirm-copy{color:#c0bad3;font-size:13px;line-height:1.5}.strength-meter{vertical-align:middle;gap:3px;margin-left:6px;display:inline-flex}.mode-copy .strength-meter{margin:0 2px}.strength-meter>span,.score .strength-meter>span{background:0 0;border-radius:50%;width:6px;height:6px;box-shadow:inset 0 0 0 1px #fff6}.strength-meter>span.on,.score .strength-meter>span.on{background:var(--sun);box-shadow:none}.adaptive-level{color:#c4bed7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin:10px 0 8px;font-size:12px;font-weight:700;display:flex}.adaptive-level .text-action{min-height:44px;color:var(--sun);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items:center;margin:-8px 0;padding:0 2px;text-decoration:underline;display:inline-flex}.difficulty-note{color:#c4bed7;text-align:center;min-height:20px;margin:0 0 16px;font-size:11px;line-height:1.45}.difficulty-note:empty{min-height:0;margin:0}.easy-toggle{margin-top:16px}.toggle-list{border-top:1px solid #4a3f70;border-bottom:1px solid #4a3f70}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:54px;display:flex;position:relative}.toggle-row+.toggle-row{border-top:1px solid #40365f}.toggle-hint{color:var(--muted);margin-top:2px;font-size:12px;display:block}.toggle-row input{opacity:0;pointer-events:none;position:absolute}.toggle{background:#4a4261;border-radius:999px;flex-shrink:0;width:48px;height:28px;transition:background .16s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .16s;position:absolute;top:4px;left:4px;box-shadow:0 2px 6px #0006}.toggle-row input:checked+.toggle{background:var(--mint)}.toggle-row input:focus-visible+.toggle{outline:3px solid var(--sun);outline-offset:3px}.toggle-row input:checked+.toggle:after{transform:translate(20px)}.privacy-copy{color:#c8c2db;margin:18px 0 24px;font-size:14px;line-height:1.6}.privacy-copy p{margin:0 0 12px}.confirm-copy{margin:18px 0 22px}.danger-action{background:linear-gradient(135deg, var(--peach), #ffb09a);color:#411c13}.secondary-action{color:#c8c3d8;background:0 0;margin-top:8px}.guide-explanation{color:#c9c4dc;min-height:54px;margin:4px 0 14px;font-size:14px;line-height:1.5}.guide-board{margin:0 0 10px}.guide-board .board-frame{width:min(220px,58vw);min-width:160px;padding:10px}.play-action-hint{color:#aaa5c0;text-align:center;min-height:34px;margin:0 0 16px;font-size:12px;line-height:1.45}.guide-controls{align-items:center;gap:8px;display:flex}.guide-controls .primary-action{flex:1;margin-top:0}.guide-controls .guide-controls-spacer{visibility:hidden}.secondary-action:disabled{opacity:.45}.guide-controls .secondary-action{flex:none;width:auto;min-height:48px;margin-top:0;padding:0 14px}@keyframes breathe{to{opacity:.8}}@keyframes fade-in{0%{opacity:0}}@keyframes demo-orbit{0%,30%{transform:translate(0)}55%,to{transform:translate(calc(100% + 6px))}}@media (min-width:760px){.keyboard-number{opacity:.65}}@media (max-width:700px){.app-header{min-height:60px;padding:8px 16px}.brand{font-size:12px}.brand .logo-mark{width:30px;height:30px}.icon-button{width:44px;height:44px}.home-screen{min-height:calc(100vh - 60px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:calc(100dvh - 60px - env(safe-area-inset-top) - env(safe-area-inset-bottom));gap:16px;padding:10px 16px 12px}.mode-cards{gap:10px}.home-card{border-radius:24px;gap:8px;padding:12px}.mode-options{gap:8px}.mode-card{border-radius:19px;grid-template-columns:48px minmax(0,1fr) 24px;gap:12px;min-height:72px;padding:10px 12px}.mode-icon{border-radius:15px;width:48px;height:48px}.mode-copy b{font-size:16px}.mode-copy small{font-size:11px}.board-row{gap:10px;min-height:62px}.board-row-copy b{font-size:15px}.board-row-copy small{font-size:11px}.board-pill{min-width:76px;padding:0 12px}.journey-note{font-size:11px}.home-footer{font-size:10px}.game-screen{min-height:calc(100vh - 60px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:calc(100dvh - 60px - env(safe-area-inset-top) - env(safe-area-inset-bottom));gap:6px;padding:0 12px 8px}.scoreboard{border-radius:18px;min-height:58px}.score{gap:1px 6px;padding:7px 9px}.score span{font-size:11px}.score b{font-size:22px}.turn-heading{grid-template-columns:42px minmax(0,1fr) auto;gap:9px;min-height:52px}.turn-mark{width:42px;height:42px}.board-frame{width:min(100vw - 24px,100vh - 284px,430px);border-radius:26px;width:min(100vw - 24px,100dvh - 284px,430px);padding:12px}.cell{border-radius:19px}.play-action{gap:6px}.primary-action{border-radius:17px;min-height:54px}.play-action>p{font-size:11px}.dialog-backdrop{padding:max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom));align-items:end}.dialog-sheet{max-height:calc(100vh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:28px;padding:20px}}@media (max-height:680px) and (max-width:700px){.game-screen{gap:3px;padding-bottom:0}.scoreboard{min-height:50px}.turn-heading{min-height:45px}.turn-mark{width:38px;height:38px}.board-frame{width:min(100vw - 24px,100vh - 255px,430px);width:min(100vw - 24px,100dvh - 255px,430px);min-width:215px}.primary-action{min-height:48px}}@media (max-height:620px) and (max-width:700px){.home-screen{gap:10px}.home-tagline{font-size:22px}.mode-card{min-height:60px}.home-card{gap:6px;padding:10px}}@media (orientation:landscape) and (max-height:600px) and (min-width:680px){.home-screen{min-height:calc(100vh - 66px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:calc(100dvh - 66px - env(safe-area-inset-top) - env(safe-area-inset-bottom));gap:8px;padding:8px 16px 6px}.home-tagline{font-size:20px}.mode-cards{gap:6px}.home-card{border-radius:20px;gap:4px;padding:8px 10px}.home-card h2{margin:0 4px}.mode-options{gap:6px}.journey-note{margin:0 4px}.mode-card{border-radius:19px;grid-template-columns:46px minmax(0,1fr) 24px;gap:10px;min-height:56px;padding:8px 12px}.mode-icon{border-radius:14px;width:46px;height:46px}.game-screen{grid-template-rows:52px minmax(54px,auto) minmax(0,1fr);grid-template-columns:minmax(300px,1fr) minmax(300px,320px);align-items:center;gap:6px 18px;width:min(940px,100%);padding-bottom:0}.scoreboard{grid-column:1/-1;min-height:50px}.turn-heading{grid-area:2/2}.turn-actions .reset-button{width:44px;min-width:44px;padding:0}.turn-actions .reset-button span{display:none}.board-wrap{grid-area:2/1/4}.board-frame{width:min(100vh - 130px,400px);width:min(100dvh - 130px,400px);min-width:240px}.play-action{grid-area:3/2;align-content:center}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.journey-option .mode-icon .ui-icon,.endless-option .mode-icon .ui-icon,.daily-option .mode-icon .ui-icon{width:100%;height:100%;color:var(--sun)}.mode-card.daily-option{grid-template-columns:auto minmax(0,1fr) auto}.daily-option .board-pill{align-items:center;gap:4px;min-width:0;padding:0 12px;display:inline-flex}.board-pill.solved{border-color:var(--mint);color:var(--mint)}.board-pill .ui-icon{width:16px;height:16px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.journey-screen{gap:14px;width:min(760px,100%);margin:0 auto;padding:4px 16px 24px;display:grid}.chapter-title{color:var(--sun);letter-spacing:.14em;text-transform:uppercase;margin:2px 4px 0;font-size:12px;font-weight:800}.level-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.level-tile .level-number{color:var(--sun);font-variant-numeric:tabular-nums;place-items:center;font-size:24px;font-weight:850;display:grid}.level-tile:disabled .level-number{color:#8f89a9}.level-stars{color:var(--sun);letter-spacing:.12em;font-size:18px}.mode-card.level-tile.is-next,.mode-card.level-tile.is-next:hover:not(:disabled){border-color:var(--sun)}.next-tag{color:var(--sun);letter-spacing:.08em;text-transform:uppercase;vertical-align:2px;background:#ffb84d26;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:850}.level-more{color:#8f89a9;grid-column:1/-1;padding:0 6px;font-size:12px;font-weight:700}.lock-icon,.board-lock{color:#8f89a9;flex:none;place-items:center;display:grid}.lock-icon svg,.board-lock svg{width:20px;height:20px}.board-lock{width:40px;margin-left:auto}.board-row.is-locked:disabled{opacity:1}.board-row.is-locked>:not(.board-row-copy):not(.board-lock){opacity:.6}.board-row.is-locked .board-row-copy b{color:#9a94b8}.journey-brief{background:#1a1435b8;border:1px solid #41376b;border-radius:20px;gap:1px;min-height:58px;padding:8px 14px;display:grid;box-shadow:inset 0 1px #ffffff0d}.journey-brief p,.journey-brief h1{margin:0}.brief-kicker{color:var(--sun);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:850}.journey-brief h1{overflow-wrap:anywhere;font-size:17px;line-height:1.2}.brief-goal{color:#c2bdd5;font-size:12px;line-height:1.35}.brief-intro{color:var(--ink);margin-top:3px;font-size:13px;line-height:1.4}.journey-result{gap:8px;display:grid}.result-head{justify-content:center;align-items:center;gap:12px;display:flex}.result-head h2{margin:0;font-size:18px}.result-stars{color:var(--sun);letter-spacing:.1em;font-size:22px}.result-actions{align-items:center;gap:8px;display:flex}.result-actions .primary-action{flex:1;min-height:50px;margin:0}.result-actions .secondary-action{border:1px solid #4a406d;flex:none;width:auto;min-height:46px;margin:0;padding:0 14px}@media (max-width:700px){.journey-screen{padding:2px 12px 20px}.journey-brief{border-radius:18px;min-height:54px;padding:6px 12px}.journey-brief h1{font-size:16px}.brief-goal{font-size:11px}.brief-intro{font-size:12px}}@media (orientation:landscape) and (max-height:600px) and (min-width:680px){.journey-level{grid-template-rows:auto minmax(54px,auto) minmax(0,1fr)}.journey-brief{grid-column:1/-1;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:0 12px;min-height:0;padding:4px 14px}.result-head{justify-content:flex-start}.brief-intro{grid-column:1/-1;margin-top:0}}.journey-level .turn-heading h2{white-space:normal;font-size:clamp(16px,4.6vw,25px);line-height:1.1}.turn-heading h1.round-end,.turn-heading h2.round-end{-webkit-line-clamp:3;text-wrap:balance;white-space:normal;-webkit-box-orient:vertical;font-size:clamp(15px,4.5vw,22px);line-height:1.18;display:-webkit-box}@media (orientation:landscape) and (max-height:600px) and (min-width:680px){.turn-heading h1.round-end,.turn-heading h2.round-end{font-size:17px}}.journey-brief.has-demo{min-height:92px;padding-right:100px;position:relative}.ring-demo{background:linear-gradient(145deg,#201943,#120d29);border:1px solid #51457e;border-radius:16px;width:80px;height:80px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.ring-demo-surface{position:absolute;inset:11px}.ring-demo-grid{grid-template:repeat(4,1fr)/repeat(4,1fr);gap:3%;display:grid;position:absolute;inset:0}.ring-demo-grid span{background:#30265b;border-radius:22%}.ring-demo .moving-piece{stroke-width:11px}.ring-demo .orbit-track{z-index:0}.ring-demo.size-4 .track-arrow{background:0 0;border-width:0;width:12px;height:12px}.ring-demo.size-4 .track-arrow .ui-icon{width:9px;height:9px}.ring-demo.size-4 .track-arrow.top{top:0;left:calc(50% - 6px)}.ring-demo.size-4 .track-arrow.right{top:calc(50% - 6px);right:0}.ring-demo.size-4 .track-arrow.bottom{bottom:0;left:calc(50% - 6px)}.ring-demo.size-4 .track-arrow.left{top:calc(50% - 6px);left:0}.ring-demo .track-arrow.center{background:#120d29;top:calc(50% - 6px);left:calc(50% - 6px)}.ring-demo .track-arrow.center svg{width:10px;height:10px}.home-bottom{margin:auto 0 0;position:relative}.home-bottom .home-footer{margin:0}.update-notice{color:var(--muted);text-align:center;margin:0;font-size:12px;font-weight:650;animation:.4s ease-out fade-in;position:absolute;bottom:calc(100% + 2px);left:0;right:0}.update-notice:empty{display:none}.reduce-motion .update-notice{animation:none}@media (prefers-reduced-motion:reduce){.update-notice{animation:none}}.app-version{color:var(--muted);text-align:center;letter-spacing:.04em;margin:14px 0 0;font-size:11px;font-weight:650}.block-backdrops rect.plate-a{stroke:#8f84ff66}.block-backdrops rect.plate-b{stroke:#ff846666}.block-backdrops rect{transition:opacity .15s}.block-backdrops rect.dimmed{opacity:.4}.turn-arrows{--plate-a:#a79eff;--plate-b:#ff9f84}.turn-arrow{z-index:3;min-width:48px;min-height:48px;color:var(--ink);cursor:pointer;touch-action:manipulation;background:#2b225399;border:1px solid #6c5fa088;border-radius:18%;justify-content:center;align-items:center;padding:0;transition:transform .15s,background .15s,border-color .15s;display:flex;position:absolute}.turn-arrow svg{filter:drop-shadow(0 0 4px #0006);width:min(70%,44px);height:min(70%,44px)}.turn-arrow.hub[data-board=A]{color:var(--plate-a);border-color:var(--plate-a)}.turn-arrow.hub[data-board=B]{color:var(--plate-b);border-color:var(--plate-b)}.turn-arrow.hub svg{width:auto;max-width:44px;height:78%}.turn-arrow.pressed{background:#3b2f66dd;transform:scale(.96)}.turn-arrow.hint{box-shadow:0 0 0 2px var(--mint) inset}.turn-arrow.staged{background:linear-gradient(135deg, var(--mint), #8bf3d8);color:#122c2b;border-color:#0000}.turn-arrow-play{font-size:11px;font-weight:800;line-height:1;position:absolute;bottom:3px}.turn-arrows .turn-arrow:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.piece-nudge{transition:transform .15s}.piece-nudge.nudge-cw,.piece-nudge.nudge-ccw{transform:translate(calc(var(--nx,0) * 1px), calc(var(--ny,0) * 1px))}.cell.will-flip{animation:.7s ease-in-out infinite alternate will-flip-pulse}@keyframes will-flip-pulse{0%{border-color:var(--sun);box-shadow:0 0 #ffb84d00}to{border-color:var(--sun);box-shadow:0 0 0 4px #ffb84d99}}.reduce-motion .piece-nudge.nudge-cw,.reduce-motion .piece-nudge.nudge-ccw{transform:none}.reduce-motion .piece-nudge{transition:none}.reduce-motion .cell.will-flip{outline:3px solid var(--sun);outline-offset:-4px;animation:none}.reduce-motion .turn-arrow,.reduce-motion .turn-arrow.pressed{transition:none;transform:none}@media (prefers-reduced-motion:reduce){.piece-nudge.nudge-cw,.piece-nudge.nudge-ccw{transform:none}.piece-nudge{transition:none}.cell.will-flip{outline:3px solid var(--sun);outline-offset:-4px;animation:none}.turn-arrow,.turn-arrow.pressed{transition:none;transform:none}}.orbits-icon circle{fill:none}.orbits-icon .orbits-icon-sun{fill:var(--sun);stroke:none}.orbits-icon .orbits-icon-mint{fill:var(--mint);stroke:none}.orbits-icon .orbits-icon-peach{fill:var(--peach);stroke:none}.cw-screen{width:min(560px,100%);min-height:calc(100vh - 66px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:calc(100dvh - 66px - env(safe-area-inset-top) - env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);align-content:start;justify-items:center;gap:6px;margin:0 auto;padding:0 16px 12px;display:grid}.cw-top{align-items:center;gap:8px;width:100%;display:flex}.cw-scores{flex:1;gap:8px;min-width:0;display:flex}.cw-pill{background:var(--panel);border:2px solid #0000;border-radius:16px;flex:1;align-items:center;gap:8px;min-width:0;min-height:48px;padding:6px 12px;transition:border-color .2s;display:flex}.cw-pill.is-turn.is-mint{border-color:var(--mint)}.cw-pill.is-turn.is-peach{border-color:var(--peach)}.cw-pill-planet{flex:none;width:24px;height:24px;overflow:visible}.cw-pill.is-mint .cw-body{fill:var(--mint)}.cw-pill.is-peach .cw-body{fill:var(--peach)}.cw-pill-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:750;overflow:hidden}.cw-pill-points{font-variant-numeric:tabular-nums;font-size:26px}.cw-pill.is-tally{gap:6px;padding:6px 10px}.cw-pill.is-tally .cw-pill-name{color:var(--muted);font-size:13px}.cw-pill.is-tally .cw-pill-points{font-size:22px}.cw-target{color:var(--muted);margin:0;font-size:14px}.cw-board-wrap{width:min(calc(100vw - 32px), calc(100vh - var(--cw-board-reserve,300px)), 460px);width:min(calc(100vw - 32px), calc(100dvh - var(--cw-board-reserve,300px)), 460px);aspect-ratio:1;min-width:260px;position:relative}.cw-board{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;display:block;overflow:visible}.cw-status{text-align:center;max-width:460px;min-height:48px;margin:0;font-weight:650;line-height:1.4}.cw-actions{justify-content:center;gap:8px;display:flex}.cw-actions .primary-action,.cw-actions .secondary-action{width:auto;min-width:120px}.cw-actions .reset-button{min-width:104px}.cw-rules{gap:8px;margin:0 0 16px;padding-left:20px;line-height:1.45;display:grid}.cw-board-wrap.cw-demo{width:min(100%,100vh - 400px,340px);width:min(100%,100dvh - 400px,340px);min-width:220px;margin:0 auto}.cw-star{fill:#fff}.cw-orbit{fill:none;stroke:var(--cw-line);stroke-width:1.2px}.cw-spoke{stroke:#ecebfd24;stroke-width:1px;stroke-dasharray:2 5}.cw-dot,.cw-still{fill:var(--cw-line)}.cw-ring{transform-box:view-box;transform-origin:180px 180px;transition:transform .62s cubic-bezier(.45,.05,.3,1)}.cw-chevron{fill:none;stroke:var(--cw-mark);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.cw-planet{transform-box:fill-box;transform-origin:50%;transition:transform .55s ease-in,opacity .55s ease-in}.cw-planet.is-mint .cw-body{fill:var(--mint)}.cw-planet.is-peach .cw-body{fill:var(--peach)}.cw-band{fill:none;stroke:var(--ink);stroke-width:2px;opacity:.85}.cw-crater{fill:#9c4430;opacity:.75}.cw-shine{fill:#fff;opacity:.32}.cw-halo{fill:none;stroke:var(--gold);stroke-width:3px;opacity:0;transition:opacity .2s}.cw-planet.is-glowing .cw-halo{opacity:1}.cw-planet.is-pending{opacity:.5}.cw-planet.is-placed{animation:.25s ease-out cw-pop}.cw-planet.is-falling{transform:translate(var(--dx), var(--dy)) scale(.15);opacity:0}@keyframes cw-pop{0%{transform:scale(0)}to{transform:scale(1)}}.cw-rock path{fill:var(--rock)}.cw-rock circle{fill:#5f5c73}.cw-rock-wrap{transform-box:fill-box;transform-origin:50%}.cw-rock-wrap.is-landing{animation:.3s ease-out cw-pop}.cw-rock-wrap.is-crumbling{animation:.55s ease-in forwards cw-crumble}@keyframes cw-crumble{to{opacity:0;transform:scale(1.4)}}.cw-incoming circle{fill:none;stroke:var(--rock);stroke-width:2px;stroke-dasharray:4 4}.cw-incoming path{stroke:var(--rock);stroke-width:2.4px;stroke-linecap:round}.cw-ghost{fill:none;stroke-width:2px;stroke-dasharray:4 3}.cw-ghost.is-mint{stroke:var(--mint)}.cw-ghost.is-peach{stroke:var(--peach)}.cw-ghost.is-rock{stroke:var(--rock);stroke-width:1.5px;stroke-dasharray:3 3}.cw-ghost.is-scoring{stroke:var(--gold);stroke-width:3.5px;stroke-dasharray:none}.cw-spot,.cw-sun{outline:none}.cw-spot{pointer-events:none}.cw-taps{fill:#0000}.cw-taps.is-open,.cw-sun.is-ready{cursor:pointer}.cw-hit{fill:#0000}.cw-focus{fill:none;stroke:var(--gold);stroke-width:2.5px;opacity:0}.cw-spot:focus .cw-focus,.cw-sun:focus .cw-focus{opacity:1}:is(.cw-spot:focus:not(:focus-visible) .cw-focus,.cw-sun:focus:not(:focus-visible) .cw-focus){opacity:0}.cw-hint-ring{fill:none;stroke:var(--mint);stroke-width:3px;stroke-dasharray:5 4;animation:1.6s ease-in-out infinite cw-breathe}@keyframes cw-breathe{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.cw-hint-ring{animation:none}}.cw-sun-stop-hot{stop-color:var(--sun-hot)}.cw-sun-stop-mid{stop-color:var(--sun)}.cw-sun-stop-rim{stop-color:var(--sun-rim)}.cw-sun-glow-in{stop-color:var(--sun);stop-opacity:.5}.cw-sun-glow-out{stop-color:var(--sun);stop-opacity:0}.cw-sun-core{transition:opacity .3s,filter .3s}.cw-sun.is-selected .cw-sun-core{stroke:var(--ink);stroke-width:2.5px}.cw-sun-corona{opacity:.5;transform-origin:180px 180px;transition:opacity .3s}.cw-sun.is-ready .cw-sun-corona{animation:2.2s ease-in-out infinite cw-glow}.cw-sun.is-cooling .cw-sun-core{opacity:.55;filter:saturate(.4)}.cw-sun.is-cooling .cw-sun-corona{opacity:.1}.cw-sun-ready{fill:none;stroke:var(--sun);stroke-width:1.6px;stroke-dasharray:2 4;opacity:0;transform-origin:180px 180px;transition:opacity .3s}.cw-sun.is-ready .cw-sun-ready{opacity:1;animation:14s linear infinite cw-spin}.cw-sun-label{fill:var(--sun);letter-spacing:1px;font-size:7px;font-weight:800}@keyframes cw-glow{0%,to{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1.12)}}@keyframes cw-spin{to{transform:rotate(360deg)}}.cw-flow{fill:none;stroke:var(--cw-mark);stroke-width:2.4px;stroke-linecap:round;opacity:.8;animation:2s linear infinite cw-flow}.cw-flow.is-reverse{animation-direction:reverse}.cw-chevron{display:none}@keyframes cw-flow{to{stroke-dashoffset:var(--cw-flow-shift)}}.reduce-motion .cw-flow{display:none}.reduce-motion .cw-chevron{display:inline}.reduce-motion .cw-sun.is-ready .cw-sun-corona{opacity:.9}@media (prefers-reduced-motion:reduce){.cw-flow{display:none}.cw-chevron{display:inline}.cw-sun.is-ready .cw-sun-corona{opacity:.9;animation:none}.cw-sun.is-ready .cw-sun-ready{animation:none}}.cw-float{font-size:22px;font-weight:800;animation:1s ease-out forwards cw-up}.cw-float.is-mint{fill:var(--mint)}.cw-float.is-peach{fill:var(--peach)}@keyframes cw-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-34px)}}.cw-end{place-items:center;padding:12px;display:grid;position:absolute;inset:0}.cw-end-card{border:1px solid var(--line);background:var(--panel);text-align:center;border-radius:22px;gap:8px;width:min(300px,100%);padding:18px 16px;display:grid;box-shadow:0 18px 50px #05021099}.cw-end-card h2{margin:0;font-size:26px}.cw-end-card p{color:var(--muted);margin:0}.cw-end-tally,.cw-end-note{font-size:13px}@media (max-width:420px){.cw-top .reset-button{width:44px;min-width:44px;padding:0}.cw-top .reset-button span{display:none}.cw-pill{padding:6px 10px}}@media (orientation:landscape) and (max-height:600px) and (min-width:680px){.cw-screen{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:auto minmax(260px,340px);align-items:center;column-gap:18px;width:min(940px,100%)}.cw-board-wrap{width:min(100vh - 90px,420px);grid-area:1/1/-1;width:min(100dvh - 90px,420px);min-width:240px}.cw-top,.cw-target,.cw-status,.cw-actions{grid-column:2}}.run-screen{flex-direction:column;gap:12px;width:min(100%,520px);margin:0 auto;padding:18px 16px 28px;display:flex}.run-screen h2{margin:0}#run-summary{gap:12px;display:grid}.run-numbers,.run-next,.run-last{color:#c8c3d8;margin:0}.run-last{color:#ecebfd;font-weight:800}.run-intro{color:#ecebfd;gap:6px;margin:0;padding-left:20px;line-height:1.4;display:grid}.run-warning{color:var(--sun);margin:0;font-weight:700}.run-note{border:1px solid var(--mint);color:#ecebfd;border-radius:16px;margin:0;padding:12px 14px;line-height:1.4}.cw-target{text-align:center}.cw-screen.is-run{--cw-board-reserve:320px}.gravity-gauge{vertical-align:middle;align-items:center;gap:4px;display:inline-flex}.gravity-pip{background:0 0;border-radius:50%;width:9px;height:9px;transition:background .28s,box-shadow .28s,transform .28s;box-shadow:inset 0 0 0 1.5px #fff6}.gravity-pip.is-on{background:var(--sun);box-shadow:0 0 8px #ffb84d80}.gravity-overflow{color:var(--sun);font-variant-numeric:tabular-nums;margin-left:2px;font-size:12px;font-weight:800}.gravity-gauge.is-header{margin-top:-2px}.gravity-gauge.is-result{justify-self:start;gap:8px}.gravity-gauge.is-result .gravity-pip{width:18px;height:18px;box-shadow:inset 0 0 0 2px #fff5}.gravity-gauge.is-result .gravity-pip.is-on{transform:scale(1.06);box-shadow:0 0 14px #ffb84d99}.gravity-gauge.is-result .gravity-overflow{font-size:16px}.run-stake{min-height:1.4em;color:var(--sun);opacity:0;margin:0;font-weight:800;line-height:1.4;transition:opacity .3s}.run-stake.is-shown{opacity:1}.rival-glyph{width:1em;height:1em;color:var(--rival-accent,var(--muted));flex:none}.cw-pill.has-rival .cw-pill-name{color:var(--rival-accent);align-items:center;gap:5px;display:inline-flex}.cw-pill-glyph{font-size:16px}.run-title{align-items:center;gap:10px;display:flex}.run-title-glyph{font-size:26px}.run-next{align-items:flex-start;gap:8px;display:flex}.run-next-glyph{margin-top:1px;font-size:18px}.run-card{text-align:center;align-items:stretch}.run-card-body{border:1px solid var(--line);background:var(--panel);box-shadow:inset 0 1px #ffffff10, 0 0 0 1px var(--rival-glow,var(--line));border-radius:24px;justify-items:center;gap:10px;padding:22px 16px 20px;display:grid}.run-card-eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.run-card-glyph{filter:drop-shadow(0 0 16px var(--rival-glow,transparent));font-size:72px}.run-card h2{color:var(--rival-accent,var(--ink));font-size:30px}.run-card-line{color:#ecebfd;margin:0;font-size:17px;line-height:1.4}.run-card .run-note{text-align:left}.cw-screen.is-run .cw-board-wrap:focus,.run-screen h2:focus{outline:none}.cw-demo{touch-action:pan-y}.cw-demo-caption{text-align:center;color:#ecebfd;min-height:2.6em;margin:0;font-weight:700}
