:root{color:#f3f5f5;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#0b1013;--surface:#161d21;--surface-raised:#20282d;--line:#ebf3f521;--muted:#98a3a9;--red:#ef3039;--red-bright:#ff5b62;--ivory:#ece5d9;--ivory-dim:#a9a39a;background:#0b1013;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);min-width:320px;min-height:100svh;margin:0}button,a,input{font:inherit}button{color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible+i{outline-offset:3px;outline:3px solid #7cc8ff}a{color:inherit}.menu-screen,.standard-screen,.game-screen,.tutorial-screen{background:linear-gradient(#ffffff04 1px,#0000 1px) 0 0/44px 44px,linear-gradient(90deg,#ffffff04 1px,#0000 1px) 0 0/44px 44px,radial-gradient(circle at 50% -20%,#263137 0,#0b1013 48%);min-height:100svh;position:relative;overflow:hidden}.menu-screen{isolation:isolate;flex-direction:column;display:flex}.ambient{z-index:-1;filter:blur(90px);opacity:.15;pointer-events:none;border-radius:50%;position:fixed}.ambient-red{background:var(--red);width:440px;height:440px;top:24%;left:-180px}.ambient-ivory{background:var(--ivory);width:380px;height:380px;bottom:-40px;right:-150px}.menu-topbar,.game-topbar{justify-content:space-between;align-items:center;width:min(1160px,100% - 40px);min-height:82px;margin:0 auto;display:flex}.language-switch{border:1px solid var(--line);background:#13191dd9;border-radius:9px;padding:4px;display:flex}.language-switch button{min-width:44px;min-height:38px;color:var(--muted);cursor:pointer;letter-spacing:.12em;background:0 0;border:0;border-radius:6px;font-size:12px;font-weight:800}.language-switch button[aria-pressed=true]{color:#fff;background:#303a40;box-shadow:inset 0 0 0 1px #ffffff14}.icon-button{border:1px solid var(--line);color:#d9dfe1;cursor:pointer;background:#171e22e0;border-radius:10px;place-items:center;width:46px;height:46px;font-size:23px;line-height:1;display:grid}.icon-button:hover{background:#283137;border-color:#ffffff47}.settings-icon{width:23px;height:23px;overflow:visible}.settings-icon rect{fill:#aeb8bd}.settings-icon circle:first-of-type{fill:#273137;stroke:#d3dade;stroke-width:1.7px}.settings-icon circle:last-of-type{fill:#0d1316;stroke:#aeb8bd;stroke-width:1.5px}.hero{flex:1;grid-template-columns:minmax(300px,1fr) minmax(310px,470px);grid-template-areas:"brand board""actions board";align-content:center;gap:24px 84px;width:min(1050px,100% - 40px);margin:0 auto;padding:clamp(18px,4vh,62px) 0 42px;display:grid}.brand{grid-area:brand;align-items:center;gap:18px;display:flex}.brand img{filter:drop-shadow(0 12px 22px #0006);width:76px;height:76px}.brand strong{letter-spacing:.08em;font-size:clamp(28px,4vw,48px);font-weight:900;line-height:1;display:block}.brand span{color:#aeb7bc;letter-spacing:.28em;margin-top:12px;font-size:11px;font-weight:800;display:block}.brand-compact{grid-area:auto;gap:10px}.brand-compact img{width:38px;height:38px}.brand-compact strong{letter-spacing:.12em;font-size:16px}.hero-board{grid-area:board;align-self:center;position:relative}.hero-board:before{content:"";filter:blur(8px);background:radial-gradient(circle,#ff3d4624,#0000 64%);border-radius:50%;position:absolute;inset:8%}.hero-board img{aspect-ratio:1;filter:drop-shadow(0 38px 44px #0000008c);width:100%;display:block;position:relative;transform:rotate(2deg)}.menu-actions{grid-area:actions;gap:10px;display:grid}.primary-button,.secondary-button,.mode-button,.text-button{cursor:pointer;border:0;text-decoration:none}.primary-button{color:#fff;letter-spacing:.1em;background:linear-gradient(#f43a43,#b81f27);border:1px solid #ff6168;border-radius:8px;justify-content:center;align-items:center;gap:16px;min-height:58px;padding:0 22px;font-size:14px;font-weight:900;display:flex;box-shadow:0 12px 28px #cf1d263d,inset 0 1px #fff3}.primary-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary-button.wide{width:100%}.continue-button{text-align:left;justify-content:space-between}.continue-button span{flex-direction:column;gap:3px;display:flex}.continue-button small{letter-spacing:0;color:#ffffffb3;font-size:11px;font-weight:600}.mode-button{text-align:left;border:1px solid var(--line);color:#edf1f2;background:linear-gradient(145deg,#242c31f2,#141b1ff2);border-radius:8px;grid-template-columns:42px 1fr 20px;align-items:center;gap:13px;min-height:78px;padding:13px 16px;display:grid;box-shadow:inset 0 1px #ffffff08}.mode-button:hover{background:#252e33;border-color:#ffffff45}.mode-button>span:nth-child(2){flex-direction:column;gap:5px;min-width:0;display:flex}.mode-button b{letter-spacing:.1em;font-size:14px}.mode-button small{text-overflow:ellipsis;color:var(--muted);white-space:nowrap;font-size:12px;overflow:hidden}.mode-button strong{color:#7c898f;font-size:27px;font-weight:400}.mode-glyph{width:38px;height:38px;color:var(--red);background:#ef303914;border:1px solid #7a1e24;border-radius:7px;place-items:center;display:grid}.mode-glyph.ivory{color:var(--ivory);background:#ece5d90f;border-color:#5c5c58}.secondary-button{border:1px solid var(--line);color:#c5cdd1;letter-spacing:.11em;background:#12181ca6;border-radius:8px;place-items:center;min-height:50px;font-size:12px;font-weight:800;display:grid}.secondary-button:hover{color:#fff;border-color:#ffffff4d}.menu-screen footer{color:#78848a;place-items:center;min-height:54px;font-size:12px;display:grid}.menu-screen footer a:hover{color:#d6dddf}.title-bar{grid-template-columns:48px 1fr 48px;align-items:center;width:min(720px,100% - 32px);min-height:82px;margin:0 auto;display:grid}.title-bar h1{text-align:center;letter-spacing:.14em;margin:0;font-size:15px}.content-card{border:1px solid var(--line);background:#151c20f0;border-radius:12px;width:min(620px,100% - 32px);margin:20px auto 60px;padding:clamp(22px,5vw,38px);box-shadow:0 24px 70px #00000042}.section-title{color:#89959b;letter-spacing:.16em;margin:4px 0 10px;font-size:11px;font-weight:900}.section-title:not(:first-child){margin-top:30px}.choice-stack{gap:8px;display:grid}.choice-card{text-align:left;border:1px solid var(--line);color:#b5bec2;cursor:pointer;background:#1b2327;border-radius:7px;grid-template-columns:20px 1fr auto;align-items:start;gap:13px;width:100%;min-height:72px;padding:12px 14px;display:grid}.choice-card>i{border:2px solid #69767d;border-radius:50%;width:18px;height:18px;margin-top:2px}.choice-card>span{flex-direction:column;gap:4px;display:flex}.choice-card b{letter-spacing:.1em;font-size:13px}.choice-card small{color:#8f9ba1;line-height:1.35}.choice-card em{gap:4px;padding-top:5px;display:flex}.choice-card u{background:#49545a;border-radius:50%;width:7px;height:7px;text-decoration:none;display:block}.choice-card u.on{background:var(--red)}.choice-card[aria-pressed=true]{color:#fff;background:linear-gradient(90deg,#ef30391a,#1d2529 35%);border-color:#ff474fa6}.choice-card[aria-pressed=true]>i{border-color:var(--red-bright);background:var(--red-bright);box-shadow:inset 0 0 0 4px #1c2428}.segmented{border:1px solid var(--line);background:#101619;border-radius:8px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.segmented button{color:#8f9a9f;cursor:pointer;letter-spacing:.07em;background:0 0;border:0;border-radius:5px;min-height:46px;font-size:11px;font-weight:900}.segmented button[aria-pressed=true]{color:#fff;background:#30393e;box-shadow:inset 0 0 0 1px #ffffff1a}.segmented .red[aria-pressed=true]{color:#ff858a}.segmented .ivory[aria-pressed=true]{color:#fff8e8}.choice-caption{min-height:40px;color:var(--muted);margin:10px 3px 24px;font-size:12px;line-height:1.5}.game-screen{padding-bottom:42px;overflow:auto}.game-topbar{width:min(1120px,100% - 24px);min-height:68px}.game-shell{width:min(1060px,100% - 24px);margin:0 auto}.match-meta{border-bottom:1px solid var(--line);color:#7f8a90;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;min-height:32px;font-size:9px;font-weight:800;display:flex}.player-row{grid-template-columns:minmax(150px,1fr) minmax(210px,1.1fr) minmax(150px,1fr);align-items:center;gap:18px;min-height:88px;display:grid}.player-card{border:1px solid var(--line);opacity:.56;background:#192024b8;border-radius:8px;align-items:center;gap:10px;min-height:58px;padding:9px 12px;display:flex}.player-card.active{opacity:1;border-color:#ffffff42}.player-card>i{color:#080c0e;border-radius:5px;place-items:center;width:34px;height:34px;font-size:12px;font-style:normal;font-weight:900;display:grid}.player-card.red>i{color:#fff;background:linear-gradient(145deg, var(--red-bright), #a51f26)}.player-card.ivory>i{background:linear-gradient(145deg,#fffdf5,#aaa49b)}.player-card>span{flex-direction:column;gap:3px;display:flex}.player-card b{letter-spacing:.1em;font-size:11px}.player-card small{color:var(--muted);letter-spacing:.12em;font-size:9px}.turn-status{text-align:center}.turn-status strong{color:#fff;letter-spacing:.13em;font-size:clamp(12px,2vw,17px);display:block}.turn-status.red strong{color:#ff6269}.turn-status.ivory strong{color:#fff4df}.turn-status span{color:#859198;min-height:17px;margin-top:6px;font-size:11px;display:block}.board-column{width:min(70vh,700px,100%);margin:0 auto}.board-wrap{aspect-ratio:1;-webkit-user-select:none;user-select:none;width:100%;position:relative}.board-svg{width:100%;height:100%;display:block;overflow:visible}.board-piece{filter:drop-shadow(0 8px 6px #0000007a)}.board-piece.is-preview{opacity:.61}.board-piece.is-preview polygon:first-of-type{stroke:#ffffffa6}.board-piece.is-winning .piece-focus-ring{filter:drop-shadow(0 0 14px);animation:1.35s ease-in-out infinite win-pulse}.board-piece.is-focused{filter:drop-shadow(0 0 14px #82cfffe6)}.coordinate-labels text{text-anchor:middle;letter-spacing:.02em;font-size:24px;font-weight:900}.red-coordinate{fill:#ff676e}.ivory-coordinate{fill:#e9e2d6;opacity:.82}.board-emphasis-rail{stroke:#fffc;stroke-width:5px;animation:.9s ease-in-out 2 emphasis-rail}.board-emphasis-rail.red{fill:#ff40486b}.board-emphasis-rail.ivory{fill:#fff9eb59}.board-emphasis-ring{fill:#74caff14;stroke:#8ad4ff;stroke-width:7px;filter:drop-shadow(0 0 12px #74caffcc);animation:.9s ease-in-out 2 emphasis-ring}.slot-target{aspect-ratio:1;cursor:pointer;background:0 0;border:0;border-radius:50%;width:clamp(44px,7%,52px);padding:0;position:absolute;transform:translate(-50%,-50%)}.slot-target.show-hint:before{content:"";background:#ffffff09;border:1px solid #dbe5e82e;border-radius:3px;position:absolute;inset:35%}.slot-target:hover:before,.slot-target:focus-visible:before{background:#ffffff17;border-color:#fff9;inset:17%}.slot-target.is-selected:before{background:#ffffff0f;border:2px solid #fff;border-radius:9px;inset:5%;box-shadow:0 0 0 5px #ffffff17}.move-history{border:1px solid var(--line);background:#0d1215e6;border-radius:7px;grid-template-columns:auto 1fr;align-items:center;height:52px;margin:8px 2.8% 0;display:grid;overflow:hidden}.move-history>strong{border-right:1px solid var(--line);color:#8e999f;letter-spacing:.12em;place-items:center;height:100%;padding:0 12px;font-size:9px;display:grid}.move-history>div{scrollbar-width:none;align-items:center;gap:7px;min-width:0;padding:0 8px;display:flex;overflow-x:auto}.move-history>div::-webkit-scrollbar{display:none}.move-history>div>span{color:#657178;white-space:nowrap;padding-left:4px;font-size:11px}.move-history button{border:1px solid var(--line);color:#abb4b8;cursor:pointer;background:#1b2327;border-radius:4px;align-items:center;gap:5px;min-width:max-content;height:32px;padding:0 8px;font-size:10px;display:flex}.move-history button i{background:var(--ivory);width:7px;height:7px}.move-history button.red i{background:var(--red)}.move-history button[aria-pressed=true]{color:#fff;border-color:#74caff}.game-end{margin:28px auto 0;display:block}.quiet-danger,.text-button{color:#92777a;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;min-height:44px;padding:0 16px;font-size:11px;text-decoration:underline}.result-backdrop{z-index:20;opacity:0;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#040709c7;place-items:center;padding:20px;animation:.32s ease-out forwards result-backdrop-in;display:grid;position:fixed;inset:0}.result-card{text-align:center;opacity:0;transform-origin:50% 65%;border:1px solid var(--line);border-top:4px solid var(--ivory);background:linear-gradient(160deg,#273036,#11171a 72%);border-radius:12px;width:min(440px,100%);padding:38px 34px 30px;animation:.52s cubic-bezier(.2,.82,.28,1.08) 60ms forwards result-card-in;transform:translateY(26px)scale(.95);box-shadow:0 28px 100px #000000a3}.result-card.red{border-top-color:var(--red)}.result-mark{width:76px;height:76px;color:var(--ivory);place-items:center;margin:0 auto 18px;display:grid}.result-card.red .result-mark{color:var(--red-bright)}.result-token{opacity:0;filter:drop-shadow(0 10px 10px #00000073)drop-shadow(0 0 13px);width:72px;height:72px;animation:.54s cubic-bezier(.2,.86,.3,1.24) .2s forwards result-token-in;display:block}.result-card p,.result-card h1,.result-card button{opacity:0;animation:.34s ease-out forwards result-content-in;transform:translateY(10px)}.result-card p{color:var(--muted);letter-spacing:.2em;margin:0 0 8px;font-size:10px;animation-delay:.23s}.result-card h1{margin:0 0 28px;font-size:clamp(22px,6vw,32px);line-height:1.25;animation-delay:.28s}.result-card .primary-button{animation-delay:.34s}.result-card .secondary-button{width:100%;margin-top:9px;animation-delay:.4s}.result-card .text-button{color:#9da7ac;margin-top:10px;animation-delay:.46s}.review-content{width:min(680px,100% - 24px);margin:0 auto 40px}.review-counter{text-align:center;color:#9da8ad;letter-spacing:.1em;margin:0 0 8px;font-size:12px}.review-controls{justify-content:center;gap:8px;margin-top:12px;display:flex}.review-controls button{border:1px solid var(--line);cursor:pointer;background:#20282d;border-radius:7px;width:52px;height:46px;font-size:22px}.review-controls button:disabled{opacity:.32;cursor:default}.settings-card{padding-top:24px}.settings-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:14px;min-height:68px;padding:10px 4px;display:grid}.settings-row>span{flex-direction:column;gap:4px;display:flex}.settings-row b{font-size:14px}.settings-row small{color:var(--muted);font-size:12px;line-height:1.4}.settings-row input{opacity:0;pointer-events:none;position:absolute}.settings-row>i{background:#252e33;border:1px solid #536068;border-radius:20px;width:48px;height:28px;transition:all .18s;position:relative}.settings-row>i:after{content:"";background:#9ba5aa;border-radius:50%;width:20px;height:20px;transition:all .18s;position:absolute;top:3px;left:3px}.settings-row input:checked+i{background:#a9232a;border-color:#db3038}.settings-row input:checked+i:after{background:#fff;left:23px}.language-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.language-options button{border:1px solid var(--line);color:#99a4a9;cursor:pointer;background:#1b2327;border-radius:7px;min-height:48px}.language-options button[aria-pressed=true]{color:#fff;background:#ef30391a;border-color:#ff4d5599}.settings-link{border-top:1px solid var(--line);color:#aeb7bb;justify-content:space-between;align-items:center;min-height:54px;margin-top:28px;font-size:13px;text-decoration:none;display:flex}.settings-link span{font-size:24px}.tutorial-screen{width:100%;min-height:100svh;padding:max(16px, env(safe-area-inset-top)) 0 max(18px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr) auto;display:grid}.tutorial-topbar{grid-template-columns:48px 1fr 48px;align-items:center;width:min(860px,100% - 32px);min-height:52px;margin:0 auto;display:grid}.tutorial-topbar h1{text-align:center;letter-spacing:.14em;margin:0;font-size:15px}.tutorial-counter{color:#8c989e;text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.tutorial-lesson{text-align:center;align-content:center;justify-items:center;min-height:0;padding:8px 16px;display:grid}.tutorial-visual{place-items:center;width:min(100%,390px);height:min(47vh,390px);min-height:280px;display:grid;overflow:visible}.tutorial-copy{width:min(540px,100%);min-height:120px}.tutorial-copy>span{color:var(--red-bright);letter-spacing:.24em;font-size:10px;font-weight:900}.tutorial-copy h2{margin:10px 0 9px;font-size:clamp(25px,6vw,36px);line-height:1.12}.tutorial-copy p{color:#aeb8bc;margin:0;font-size:clamp(14px,2.5vw,16px);line-height:1.55}.tutorial-controls{grid-template-columns:112px 1fr 112px;align-items:center;gap:12px;width:min(860px,100% - 32px);margin:0 auto;display:grid}.tutorial-controls>button{border:1px solid var(--line);color:#d5dcde;cursor:pointer;letter-spacing:.08em;background:#ffffff0e;border-radius:8px;min-height:48px;padding:0 14px;font-size:12px;font-weight:900}.tutorial-controls>button:disabled{opacity:.24;cursor:default}.tutorial-controls>button.next{color:#fff;background:linear-gradient(#ef3740,#ac1f26);border-color:#f34b53}.tutorial-controls>div{justify-content:center;gap:7px;display:flex}.tutorial-controls i{background:#fff3;border-radius:99px;width:7px;height:7px;transition:width .18s,background .18s;display:block}.tutorial-controls i.active{background:#f4f6f6;width:22px}.tutorial-board{width:min(76vw,310px);position:relative}.tutorial-board .board-wrap{filter:drop-shadow(0 22px 28px #00000057)}.tutorial-goal-board .board-svg{opacity:.72}.goal-arrow{border:2px solid;border-radius:99px;place-items:center;font-size:31px;font-weight:900;display:grid;position:absolute;box-shadow:0 0 28px}.goal-arrow.red{color:#ff5058;background:#ef303929;width:48px;height:130px;top:calc(50% - 65px);left:calc(50% - 24px)}.goal-arrow.ivory{color:#fff6e5;background:#ece5d921;width:130px;height:48px;top:calc(50% - 24px);left:calc(50% - 65px)}.placement-demo{aspect-ratio:1;border:1px solid var(--line);background:radial-gradient(circle,#283238,#12191c 70%);border-radius:18px;width:min(76vw,310px);position:relative;box-shadow:inset 0 1px #ffffff0f,0 24px 50px #0000004d}.demo-rail{background:linear-gradient(90deg,#0000 25%,#ef303924 25% 75%,#0000 75%);border-radius:8px;width:64px;height:82%;position:absolute;top:9%;left:calc(50% - 32px)}.demo-node{z-index:3;background:linear-gradient(145deg,#ff5d64,#ce242c 60%,#7e191f);border:4px solid #050708;border-radius:5px;width:48px;height:48px;position:absolute;left:calc(50% - 24px)}.demo-node.top{top:52px}.demo-node.bottom{bottom:52px}.demo-stripe{z-index:2;opacity:.62;background:linear-gradient(145deg,#ff5d64,#b91f27);border-radius:11px;width:38px;height:calc(100% - 135px);position:absolute;top:67px;left:calc(50% - 19px)}.demo-token{z-index:4;clip-path:polygon(28% 0,72% 0,100% 28%,100% 72%,72% 100%,28% 100%,0 72%,0 28%);opacity:.62;background:linear-gradient(145deg,#4d565b,#161d21);border:5px solid #050708;width:92px;height:92px;position:absolute;top:calc(50% - 46px);left:calc(50% - 46px)}.demo-token:after{content:"";background:linear-gradient(145deg,#ff5d64,#ad1f26);width:34px;height:100%;position:absolute;top:0;left:24px}.placement-demo.stage-2 .demo-stripe,.placement-demo.stage-2 .demo-token{opacity:1}.placement-demo>button{z-index:8;cursor:pointer;background:0 0;border:0;border-radius:50%;width:112px;height:112px;position:absolute;top:calc(50% - 56px);left:calc(50% - 56px)}.placement-demo>button i{border:2px dashed #ffffff8c;border-radius:6px;width:32px;height:32px;animation:.8s ease-in-out infinite alternate target-pulse;position:absolute;top:40px;left:40px}.placement-demo.stage-1>button i,.placement-demo.stage-2>button i{display:none}.placement-demo>strong{color:#ff7379;letter-spacing:.06em;font-size:11px;position:absolute;bottom:14px;left:18px;right:18px}.placement-demo.stage-2>strong{color:#dfe6e8}.block-demo{aspect-ratio:1;border:1px solid var(--line);background:radial-gradient(circle,#2a3439,#12191c 68%);border-radius:18px;width:min(76vw,310px);position:relative;box-shadow:0 24px 50px #0000004d}.block-line{border-radius:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.block-line.red{z-index:3;background:linear-gradient(145deg,#ff5c63,#a91f26);width:40px;height:190px}.block-line.ivory{background:#ece5d914;border:3px dashed #fff9eca6;width:190px;height:40px}.block-node{z-index:4;border:4px solid #050708;border-radius:5px;width:48px;height:48px;position:absolute}.block-node.top,.block-node.bottom{background:linear-gradient(145deg,#ff5c63,#a91f26);left:calc(50% - 24px)}.block-node.top{top:38px}.block-node.bottom{bottom:38px}.block-node.left,.block-node.right{background:linear-gradient(145deg,#fffdf5,#a7a198);top:calc(50% - 24px)}.block-node.left{left:38px}.block-node.right{right:38px}.block-token{z-index:5;clip-path:polygon(28% 0,72% 0,100% 28%,100% 72%,72% 100%,28% 100%,0 72%,0 28%);background:linear-gradient(145deg,#4b5459,#151c20);border:5px solid #050708;width:96px;height:96px;position:absolute;top:calc(50% - 48px);left:calc(50% - 48px)}.block-token:after{content:"";background:linear-gradient(145deg,#ff5d64,#ad1f26);width:36px;height:100%;position:absolute;top:0;left:25px}.blocked-mark{z-index:7;color:#fff6e7;background:#20272b;border:2px solid #fff6e7;border-radius:50%;place-items:center;width:42px;height:42px;font-size:28px;line-height:1;display:grid;position:absolute;top:46px;right:46px}.ready-demo{grid-template-columns:1fr 80px 1fr;align-items:center;gap:10px;width:min(88vw,370px);display:grid}.ready-player{border:1px solid var(--line);color:#8e999e;letter-spacing:.1em;background:#192125;border-radius:12px;align-content:center;place-items:center;gap:10px;min-height:120px;font-size:11px;font-weight:900;display:grid}.ready-player i{color:#0b1013;border-radius:7px;place-items:center;width:48px;height:48px;font-size:17px;font-style:normal;display:grid}.ready-player.red{color:#fff;border-color:#ff525a9e;transform:translateY(18px)}.ready-player.red i{color:#fff;background:linear-gradient(145deg,#ff5960,#9e1e25)}.ready-player.ivory i{background:linear-gradient(145deg,#fffdf5,#aaa49a)}.ready-turn{justify-items:center;gap:10px;display:grid}.ready-turn span{color:var(--red-bright);font-size:25px}.ready-turn strong{color:#ff6c72;letter-spacing:.12em;width:120px;font-size:9px;line-height:1.45}@keyframes win-pulse{50%{opacity:.25;stroke-width:14px}}@keyframes target-pulse{to{background:#ffffff14;transform:scale(1.14);box-shadow:0 0 18px #ff555d59}}@keyframes emphasis-rail{50%{opacity:.45}}@keyframes emphasis-ring{50%{r:72px;opacity:.38}}@keyframes result-backdrop-in{to{opacity:1}}@keyframes result-card-in{to{opacity:1;transform:translateY(0)scale(1)}}@keyframes result-token-in{0%{opacity:0;transform:scale(.62)rotate(-9deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes result-content-in{to{opacity:1;transform:translateY(0)}}@media (width<=780px){.hero{grid-template-columns:1fr;grid-template-areas:"brand""board""actions";gap:18px;width:min(520px,100% - 32px);padding-top:10px}.hero .brand{text-align:center;justify-content:center}.hero .brand img{width:58px;height:58px}.hero .brand strong{font-size:clamp(24px,8vw,36px)}.hero .brand span{font-size:9px}.hero-board{width:min(62vw,270px);margin:0 auto -8px}.player-row{grid-template-columns:1fr 1fr;gap:8px;min-height:94px;padding:8px 0}.turn-status{grid-area:1/1/auto/-1}.player-card{grid-row:2;min-height:48px}.board-column{width:min(100%,650px)}.match-meta span:last-child{display:none}}@media (height<=720px){.tutorial-visual{height:285px;min-height:245px}.tutorial-board,.placement-demo,.block-demo{width:min(64vw,245px)}.tutorial-copy{min-height:102px}.tutorial-copy h2{margin-top:6px}}@media (width<=430px){.tutorial-topbar,.tutorial-controls{width:calc(100% - 24px)}.tutorial-controls{grid-template-columns:92px 1fr 110px;gap:7px}.tutorial-controls>button{padding:0 8px;font-size:11px}.tutorial-visual{min-height:265px}.tutorial-board,.placement-demo,.block-demo{width:min(72vw,280px)}}@media (width<=420px){.menu-topbar{min-height:66px}.hero{padding-bottom:22px}.hero-board{width:min(58vw,230px)}.brand{gap:10px}.mode-button{min-height:68px}.board-column{width:calc(100% + 12px);margin-left:-6px}.player-card>i{width:29px;height:29px}.player-card{padding:7px 8px}.move-history{margin-inline:4%}.content-card{margin-top:4px}}.android-tutorial .tutorial-lesson{text-align:left;grid-template-rows:auto auto;align-content:center}.android-tutorial .tutorial-visual{width:100%;height:min(42vh,360px);min-height:250px}.android-board{width:min(72vw,330px)}.android-copy{min-height:150px;padding-top:10px}.android-copy h2{margin:12px 0 8px;font-size:clamp(23px,5vw,32px)}.android-copy p{margin:0}.android-copy p+p{margin-top:7px}.android-progress{color:#8d999f;letter-spacing:.12em;justify-content:space-between;align-items:center;gap:16px;font-size:10px;font-weight:900;display:flex}.android-progress>div{flex:1;justify-content:flex-end;gap:5px;display:flex}.android-progress i{background:#ffffff24;border-radius:9px;width:min(34px,12%);height:3px;display:block}.android-progress i.active{background:var(--red-bright);box-shadow:0 0 8px #ff5b6247}.lesson-feedback{color:#ffd3d5;letter-spacing:.04em;margin-top:11px;font-size:12px;display:block}.android-tutorial-actions{justify-content:space-between;align-items:center;width:min(860px,100% - 32px);min-height:58px;margin:0 auto;display:flex}.android-tutorial-actions .text-button{color:#aab3b7;letter-spacing:.08em;font-weight:800;text-decoration:none}.android-tutorial-actions .primary-button{min-width:124px;min-height:48px}.tutorial-done-actions{gap:2px;width:min(440px,100% - 32px);margin:0 auto;display:grid}.tutorial-done-actions .text-button{color:#9ba6ab;letter-spacing:.08em;font-weight:800;text-decoration:none}@media (height<=720px){.android-tutorial .tutorial-visual{height:238px;min-height:220px}.android-board{width:min(58vw,230px)}.android-copy{min-height:126px}.android-copy h2{margin-top:7px}}@media (width<=430px){.android-tutorial .tutorial-topbar,.android-tutorial-actions{width:calc(100% - 24px)}.android-tutorial .tutorial-lesson{padding-inline:12px}.android-tutorial .tutorial-visual{height:min(40vh,320px);min-height:260px}.android-board{width:min(76vw,300px)}.android-copy{min-height:158px}.android-progress{gap:10px}.android-progress>div{gap:3px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}html[data-reduce-motion=true] *,html[data-reduce-motion=true] :before,html[data-reduce-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}
