:root{color-scheme:dark;--bg: #05080f;--bg-2: #0b1130;--panel: rgba(18, 26, 46, .72);--panel-border: rgba(120, 160, 230, .22);--text: #e8eefc;--ink: #e8eefc;--dim: #9fb0cc;--faint: #8295b3;--muted: rgba(232, 236, 244, .55);--accent: #8fdcff;--orange: #ff7a1a;--blue: #2bb8ff;--green: #3dff8b;--yellow: #ffd23f}*{box-sizing:border-box}html,body{margin:0;min-height:100vh;min-height:100dvh;-webkit-tap-highlight-color:transparent;background:radial-gradient(120% 80% at 50% -10%,#16224a,#0a1130 38%,#060a1c 70%,#04060f) fixed,var(--bg);color:var(--text);font-family:Rajdhani,"Exo 2",ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px}button,.board-wrap svg{touch-action:manipulation}.gmodal-panel,.rb-menu-list{overscroll-behavior:contain}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,rgba(120,170,255,.035) 0 1px,transparent 1px 4px);mix-blend-mode:screen}h1,h2,h3{font-family:Orbitron,sans-serif;letter-spacing:.04em}.app{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:980px;margin:0 auto;padding:22px clamp(12px,3vw,32px) 40px}.masthead{width:100%;display:flex;align-items:baseline;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:4px}.masthead h1{margin:0;font-family:Orbitron,sans-serif;font-size:clamp(1.4rem,2.6vw,2.1rem);letter-spacing:.06em;font-weight:900;text-transform:uppercase}.masthead h1 .w-portal{color:#fff;text-shadow:0 0 26px rgba(43,184,255,.5)}.masthead .tagline{color:var(--dim);font-size:.85rem;font-family:Rajdhani,sans-serif}@keyframes combatFlash{0%{color:#fff;text-shadow:0 0 14px #fff,0 0 30px rgba(61,255,139,.9)}to{color:transparent;text-shadow:none}}@keyframes portalOFlash{0%{color:#fff;text-shadow:0 0 16px #fff,0 0 36px rgba(43,184,255,.95)}to{color:#fff;text-shadow:0 0 26px rgba(43,184,255,.5)}}.masthead h1 .w-portal .po.flash{animation:portalOFlash .62s ease-out}body.anims-off .w-portal .po.flash{animation:none}.ptp{background:linear-gradient(90deg,var(--orange),var(--green),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}.ptp .cl{text-shadow:0 0 9px rgba(61,255,139,.24)}.ptp .ptp-w{white-space:nowrap}.ptp .cl{color:inherit}.ptp .cl.flash{animation:combatFlash .6s ease-out}body.anims-off .ptp .cl.flash{animation:none}.ptp .po{display:inline-block;position:relative;vertical-align:-.16em;width:.98em;height:.98em;margin:0 .01em;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:initial;isolation:isolate;filter:drop-shadow(0 0 9px rgba(61,255,139,.24))}.ptp .po .pto-off,.ptp .po .pto-on{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.ptp .po .pto-off svg,.ptp .po .pto-on svg{width:100%;height:100%}.ptp .po .pto-off{opacity:1;transition:opacity .4s ease}.ptp .po .pto-on{opacity:0;transition:opacity .4s ease}.ptp .po.lit .pto-off{opacity:0}.ptp .po.lit .pto-on{opacity:1;animation:portalIgnite .5s ease-out}body.anims-off .ptp .po .pto-off,body.anims-off .ptp .po .pto-on{transition:none}body.anims-off .ptp .po.lit .pto-on{animation:none}@keyframes portalIgnite{0%{transform:scale(.86);filter:brightness(1.5)}55%{transform:scale(1.06);filter:brightness(1.18)}to{transform:scale(1);filter:brightness(1)}}.ob-wordmark{margin:2px 0 14px;text-align:center;font-family:Orbitron,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(1.3rem,5vw,1.7rem);letter-spacing:.04em;line-height:1}.ob-wordmark .w-portal{color:#fff;text-shadow:0 0 18px rgba(43,184,255,.5)}.ob-wordmark .w-portal .po.flash{animation:portalOFlash .62s ease-out}body.anims-off .ob-wordmark .cl.flash,body.anims-off .ob-wordmark .po.flash{animation:none}.app-footer{width:100%;text-align:center;margin-top:2px;display:flex;gap:12px;justify-content:center;align-items:baseline;flex-wrap:wrap}.app-footer .tagline{color:var(--faint);font-size:.8rem;font-family:Rajdhani,sans-serif;letter-spacing:.04em}.app-footer .footer-link{color:var(--faint);font-size:.78rem;font-family:Rajdhani,sans-serif;letter-spacing:.04em;text-decoration:none;opacity:.85}.app-footer .footer-link:hover{color:var(--accent, #8fdcff);opacity:1;text-decoration:underline}.app-footer .footer-copyright{color:var(--faint);font-size:.78rem;font-family:Rajdhani,sans-serif;letter-spacing:.04em;opacity:.8}.app-footer .pt-num{color:var(--dim);font-weight:700}.app-footer .build-tag{flex:0 0 100%;width:100%;text-align:center;color:var(--faint);font-size:.66rem;letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Consolas,monospace}.howto-btn{width:38px;height:38px;flex:none;border-radius:999px;font-size:1.1rem;font-weight:800;color:var(--text);background:#78a0ff1a;border:1px solid var(--panel-border);box-shadow:0 0 18px #3c64dc29;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:all .15s ease}.howto-btn:hover{background:#78a0ff33;border-color:#78a0ff8c;box-shadow:0 0 24px #78a0ff52}.rulebook-btn[hidden]{display:none}.rulebook-btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;letter-spacing:.02em;color:var(--text);text-decoration:none;padding:9px 16px;border-radius:999px;background:#78a0ff1a;border:1px solid var(--panel-border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.rulebook-btn:hover{background:#78a0ff33;border-color:#78a0ff8c;box-shadow:0 0 26px #78a0ff59}#rulebook-btn{border-color:#3dff8b80;box-shadow:0 0 18px 3px #3dff8b66}#rulebook-btn:hover{background:#3dff8b24;border-color:#3dff8bd9;box-shadow:0 0 26px 4px #3dff8b99}.topbar{width:100%;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:4px 12px;background:transparent;border:1px solid transparent;box-shadow:none}.topbar-btn{display:inline-flex;align-items:center;gap:7px}.topbar-btn .bi{font-size:1.1em;line-height:1}.match-bar{width:100%;margin:-8px 0;display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:1px 10px;padding:1px 6px 3px;text-align:center;line-height:1.2}.match-bar[hidden]{display:none}.match-bar .player-tag{font-family:Orbitron,sans-serif;font-weight:500;font-size:.92rem;letter-spacing:.03em;color:var(--accent, #8fdcff);text-shadow:0 0 14px rgba(43,184,255,.3)}.match-bar .player-tag:empty{display:none}.match-bar .opp-tag{font-size:.86rem;color:var(--dim)}.match-bar .match-clock{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-weight:600;font-size:.82rem;color:var(--accent, #8fdcff);text-shadow:0 0 14px rgba(43,184,255,.3)}.dockbar{width:100%;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:8px 12px;background:transparent;border:none;box-shadow:none}.dockbar:empty{display:none}.piece-ref-box{width:100%;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:2px;padding:4px 12px;background:transparent;border:none;box-shadow:none}.piece-ref-btn{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;padding:4px;border-radius:10px;background:transparent;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.piece-ref-btn:hover{background:#78a0ff14;border-color:var(--panel-border)}.piece-ref-btn:active{transform:translateY(1px)}.piece-ref-btn svg,.piece-ref-btn .pr-3d{display:block;pointer-events:none}.piece-ref-btn .pr-3d{width:50px;height:50px}.board-panel{position:relative;display:grid;grid-template-columns:2fr 15fr 2fr;align-items:stretch;gap:clamp(6px,1.2vw,14px);padding:16px;border-radius:16px;background:var(--panel);border:1px solid var(--panel-border);box-shadow:inset 0 0 50px #1e46961f,0 10px 30px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body.tut-active .board-panel{background:none;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.board-wrap{min-width:0}.board-mode-toggle{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#78a0ff1a;border:1px solid var(--panel-border);box-shadow:0 0 22px #3c64dc2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.board-mode-toggle .seg-opt{flex:0 0 auto;min-width:42px;padding:7px 16px;font-size:.92rem;font-weight:700;letter-spacing:.03em;border-radius:999px;overflow:visible;text-overflow:clip}.board-area.mode-3d .board-wrap{display:flex}.board-area.booting #board{visibility:hidden}.grid-flank,.piece-tray{transition:filter 1.8s ease}body.app-idle .grid-flank,body.app-idle .piece-tray{filter:grayscale(1) brightness(.72)}.board-3d-canvas{transition:filter 1.8s ease}body.app-idle .board-3d-canvas{filter:grayscale(1) brightness(.72)}body.app-idle.central-lit .board-wrap svg>g.central-layer{animation:centralBloom .7s ease-out;transform-box:fill-box;transform-origin:center}body.anims-off .board-wrap svg>g.central-layer{animation:none}@keyframes centralBloom{0%{transform:scale(.82)}55%{transform:scale(1.12)}to{transform:scale(1)}}body.app-idle .board-panel,body.app-idle .piece-tray{pointer-events:none}@keyframes ng-nudge{0%,to{box-shadow:0 0 #3dff8b00;border-color:#3dff8b59}50%{box-shadow:0 0 18px 3px #3dff8b80;border-color:#3dff8bd9}}body.app-idle.training-done #new-game{animation:ng-nudge 2.4s ease-in-out infinite}body.anims-off #new-game{animation:none}body.defeat-fade .match-bar,body.defeat-fade .board-area,body.defeat-fade .side{filter:grayscale(1) brightness(.6);transition:filter .9s ease}body.anims-off.defeat-fade .match-bar,body.anims-off.defeat-fade .board-area,body.anims-off.defeat-fade .side{transition:none}body.training-loss-fade .board-area{filter:grayscale(.55) brightness(.78);transition:filter .52s ease}body.anims-off.training-loss-fade .board-area{transition:none}.tut-resume-note{margin:12px 0 0;font-size:.8rem;color:#8fa2bd;line-height:1.45}.tut-resume-note button{background:none;border:none;padding:0;font:inherit;color:var(--green, #3dff8b);text-decoration:underline;cursor:pointer}.tut-resume-note button:hover{color:#7dffb5}.tut-resume-note button:focus-visible{outline:2px solid var(--green, #3dff8b);outline-offset:2px;border-radius:3px}.board-area.mode-3d #board{width:100%;aspect-ratio:1.3 / 1;max-height:72vh;min-height:0;align-self:center}.board-area.mode-3d .board-3d-canvas{border-radius:10px}.board-area.mode-3d .board-panel{grid-template-columns:1fr}.board-area.mode-3d .grid-flank{display:none}.board-svg{width:100%;height:auto;display:block;border-radius:12px}.cell{transition:fill .12s ease;cursor:pointer}.coord{fill:var(--faint);font-size:12px;font-family:Orbitron,sans-serif;letter-spacing:.04em}.coord-central{fill:#ffd23f}.coord-central.tut-coord-flash{animation:tutCoordFlash .52s ease-in-out both}@keyframes tutCoordFlash{0%{fill:#ffd23f;filter:drop-shadow(0 0 0 rgba(255,210,63,0))}18%{fill:#fff;filter:drop-shadow(0 0 16px #fff3b0) drop-shadow(0 0 7px #ffd23f)}42%{fill:#ffe680;filter:drop-shadow(0 0 5px #ffd23f)}66%{fill:#fff;filter:drop-shadow(0 0 13px #fff3b0) drop-shadow(0 0 6px #ffd23f)}to{fill:#ffd23f;filter:drop-shadow(0 0 0 rgba(255,210,63,0))}}body.anims-off .coord-central.tut-coord-flash{animation:none}@media (prefers-reduced-motion: reduce){.coord-central.tut-coord-flash{animation:none}}.brand-coord{fill:#ffd23f;opacity:.8;letter-spacing:.1em}.piece{cursor:pointer}.sel-ring{filter:drop-shadow(0 0 8px rgba(255,210,63,.9));animation:pulse 1.4s ease-in-out infinite}.tut-spotlight-ring{filter:drop-shadow(0 0 7px rgba(255,138,61,.95));animation:tutSpot 1.25s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes tutSpot{0%,to{opacity:.55;stroke-width:3}50%{opacity:1;stroke-width:4}}body.anims-off .tut-spotlight-ring{animation:none;opacity:1}.tut-target-beacon{filter:drop-shadow(0 0 8px rgba(255,184,77,.95));animation:tutBeacon 1.1s ease-in-out infinite}@keyframes tutBeacon{0%,to{opacity:.7}50%{opacity:1}}body.anims-off .tut-target-beacon{animation:none;opacity:1}.target-dot{filter:drop-shadow(0 0 6px rgba(61,255,139,.9));animation:pulse 1.3s ease-in-out infinite}.target-capture{filter:drop-shadow(0 0 7px rgba(255,77,94,.9))}.target-capture-frame{filter:drop-shadow(0 0 4px rgba(255,77,94,.55))}.teleport-target{filter:drop-shadow(0 0 8px rgba(61,255,139,.85));animation:pulse 1s ease-in-out infinite}.move-lance .lance-head{filter:drop-shadow(0 0 4px rgba(61,255,139,.95))}.attack-lance .lance-head{filter:drop-shadow(0 0 5px rgba(255,77,94,.95))}.lance-shaft{animation:lance-march .7s linear infinite}.attack-lance .lance-head{animation:lance-strike 1.1s ease-in-out infinite}@keyframes lance-march{to{stroke-dashoffset:-14}}@keyframes lance-strike{0%,to{opacity:.85}50%{opacity:1}}body.anims-off .lance-shaft,body.anims-off .attack-lance .lance-head{animation:none}.setup-zone-outline{filter:drop-shadow(0 0 3px rgba(61,255,139,.55))}.biz-hint{transform-box:fill-box;transform-origin:center;opacity:.6;animation:bizHint 1.5s ease-in-out infinite}@keyframes bizHint{0%,to{transform:scale(.74);opacity:.4}50%{transform:scale(1.08);opacity:.68}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.side{width:100%;display:flex;flex-flow:row wrap;gap:14px;align-items:stretch;justify-content:center}.side>.card{flex:1 1 230px;min-width:0}.side>.turn-card{flex:1 1 100%;max-width:none;padding:2px 10px;background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.turn-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px}.turn-card .turn-row{margin-bottom:0}.turn-card .setup-card,.turn-card .play-card,.turn-card .btn-row{margin-top:0}.turn-card .play-controls button{flex:0 1 auto;padding:9px 24px}.play-controls .replay-ctrl{align-self:center;border:1px solid transparent;-webkit-backdrop-filter:none;backdrop-filter:none;background:#121c37eb}.play-controls .replay-ctrl[data-color=orange]{border-color:#ff7a1a80;box-shadow:0 0 18px #ff7a1a59}.play-controls .replay-ctrl[data-color=blue]{border-color:#2bb8ff80;box-shadow:0 0 18px #2bb8ff59}.turn-card .play-controls .replay-ctrl .seg-opt{padding:4px 12px;min-width:40px;font-size:1.35rem;line-height:1}.replay-count{align-self:center;min-width:2.2ch;text-align:center;font-weight:700;font-size:.9rem;color:var(--muted);font-variant-numeric:tabular-nums}.replay-count.behind{color:var(--text)}.side>.status{flex-basis:100%;margin:1px 0 0;text-align:center;font-size:.82rem;min-height:0;color:var(--muted)}.side>.status:empty{display:none}.side>.opp-tag{flex-basis:100%;margin:2px 0 0;text-align:center}.side>.setup-hint{order:-1;flex:0 1 100%}.card{padding:16px 18px;border-radius:12px;background:var(--panel);border:1px solid var(--panel-border);box-shadow:inset 0 0 40px #1e46961a,0 8px 24px #00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card h2{margin:0 0 10px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:700}.turn-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.turn-badge{font-weight:700;font-size:1.05rem;padding:6px 14px;border-radius:999px;border:1px solid transparent}.turn-badge[data-color=orange]{color:var(--orange);border-color:#ff7a1a80;box-shadow:0 0 18px #ff7a1a59;background:#ff7a1a14}.turn-badge[data-color=blue]{color:var(--blue);border-color:#2bb8ff80;box-shadow:0 0 18px #2bb8ff59;background:#2bb8ff14}.moves-left{color:var(--muted);font-size:.85rem}.status{font-size:.9rem;margin-top:10px;min-height:1.2em;color:var(--muted)}.setup-card{margin-top:10px}.setup-card[hidden],.play-card[hidden]{display:none}.pc-orange{color:var(--orange)}.pc-blue{color:var(--blue)}.setup-hint{align-self:center;width:100%;max-width:min(620px,100%);display:flex;align-items:flex-start;gap:8px;padding:9px 12px 9px 14px;border-radius:12px;background:#0b1126db;border:1px solid var(--panel-border);box-shadow:inset 0 0 26px #1e469629,0 8px 24px #00000073;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.86rem;line-height:1.4;color:var(--text);pointer-events:auto;animation:setup-hint-in .2s ease}.setup-hint[hidden]{display:none}.setup-hint-text{flex:1 1 auto}.setup-hint-text .hint{color:var(--muted);font-size:.8rem;display:block;margin-top:3px}.setup-hint-text b{color:var(--text)}.setup-hint-text .hint-pc{display:inline-flex;vertical-align:middle;margin-right:7px}.setup-hint-text .hint-pc svg{display:block}.setup-hint-text .hint-pc+.hint-pc{margin-left:-3px}.setup-hint-x{flex:0 0 auto;margin:-2px -4px 0 0;padding:2px 6px;font-size:.85rem;line-height:1;border-radius:7px;color:var(--dim);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .15s ease}.setup-hint-x:hover{color:var(--text);background:#78a0ff24;border-color:var(--panel-border)}@keyframes setup-hint-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}body.anims-off .setup-hint{animation:none}@media (max-width: 560px){.setup-hint{font-size:.78rem;padding:8px 10px}}button.brush{padding:6px 12px;font-size:.85rem}button.brush.active{background:#3dff8b24;border-color:#3dff8b99;color:var(--green);box-shadow:0 0 12px #3dff8b40}.btn-row{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.setup-controls{flex-wrap:nowrap;gap:7px}.setup-controls button{flex:1 1 auto;min-width:0;white-space:nowrap;padding:8px;font-size:.82rem}button{font:inherit;font-weight:600;color:var(--text);background:#ffffff0f;border:1px solid var(--panel-border);border-radius:10px;padding:8px 14px;cursor:pointer;transition:all .12s ease}button:where(:hover:not(:disabled)){background:#78a0ff29;border-color:#78a0ff80;box-shadow:0 0 14px #78a0ff40;filter:brightness(1.12)}.share-act:hover,.dp-caret:hover,.opp-daily-cta:hover,.opp-train-btn:hover,.watch-tab:hover,.watch-chapter:hover,.watch-spd:hover,.watch-play:hover,.watch-ctl:hover,.watch-x:hover{box-shadow:none}button:disabled{opacity:.4;cursor:default}button.primary{background:#3dff8b1f;border-color:#3dff8b73;color:var(--green)}button.primary:hover:not(:disabled){background:#3dff8b33;border-color:#3dff8ba6;box-shadow:0 0 14px #3dff8b40}.play-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 1 auto}#undo.undo-locked{color:#ffcf7a;border-color:#ffb04a80;background:#ffb04a14}#undo.undo-locked:hover{background:#ffb04a29}.play-controls .bi{font-size:1.1em;line-height:1}.dot{width:10px;height:10px;border-radius:50%}.dot.orange{background:var(--orange);box-shadow:0 0 8px var(--orange)}.dot.blue{background:var(--blue);box-shadow:0 0 8px var(--blue)}.grid-cells{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-flow:row;gap:3px;width:100%}.grid-slot{aspect-ratio:1;border-radius:3px;display:grid;place-items:center;font-size:.5rem;font-family:Orbitron,sans-serif;font-weight:700;color:#06121f;border:1px solid;opacity:.4}.grid-slot.zone-green{background:#3dff8b;border-color:#3dff8b}.grid-slot.zone-orange{background:#ff7a1a;border-color:#ff7a1a}.grid-slot.zone-blue{background:#2bb8ff;border-color:#2bb8ff}.grid-slot.zone-yellow{background:#ffd23f;border-color:#ffd23f}@keyframes gridCharge{0%{background:#3dff8b;box-shadow:0 0 8px #3dff8be6;opacity:1}to{background:#ffd23f;box-shadow:0 0 9px #ffd23ff2;opacity:1}}.grid-slot.charging{animation:gridCharge .34s ease-out forwards}.grid-slot.filled{opacity:1}.grid-slot svg{width:84%;height:84%;display:block}.board-area{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0;width:100%}.grid-flank{min-width:0;display:flex;flex-direction:column;gap:8px}.grid-flank.orange{justify-content:flex-start}.grid-flank.blue{justify-content:flex-end}.flank-label{display:none}.grid-mount{display:flex;flex-direction:column;padding:5px;border-radius:9px;border:1.5px solid transparent}.grid-flank.orange .grid-mount{border-color:#ff7a1acc;box-shadow:0 0 10px #ff7a1a40,inset 0 0 16px #ff7a1a0f}.grid-flank.blue .grid-mount{border-color:#2bb8ffcc;box-shadow:0 0 10px #2bb8ff40,inset 0 0 16px #2bb8ff0f}.log{max-height:200px;overflow-y:auto;font-size:.78rem;font-family:Rajdhani,sans-serif;line-height:1.6}.log-line{color:#e8ecf4c7;border-bottom:1px solid rgba(255,255,255,.04);padding:1px 0}.log-line.log-orange{color:var(--orange)}.log-line.log-blue{color:var(--blue)}.gmodal-panel.stats-modal-panel{width:min(780px,94vw)}.stats-combo{display:flex;flex-wrap:wrap;gap:16px 20px}.stats-combo .stats-col{flex:1 1 280px;min-width:0}.stats-combo .stats-col .stats-sub{margin-top:0}.stats-combo .stats-col-log .log{max-height:min(52vh,380px);overflow-y:auto;margin-top:4px}.stats-combo .stats-col-log .log:empty:before{content:"No moves yet.";color:var(--faint);font-style:italic}.legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:7px 10px;font-size:.78rem;color:var(--muted);align-items:center}.legend-pieces,.legend-lances,.legend-portals,.legend-danger{display:contents}.lg-piece{display:inline-flex;align-items:center;gap:6px}.lg-piece svg{flex:none}.lg-3d{flex:none;width:22px;height:22px;object-fit:contain;vertical-align:middle}.legend .swatch{width:14px;height:14px;border-radius:3px;flex:none}.lg-off{grid-column:1 / -1;opacity:.6;font-style:italic}.turn-badge{scroll-margin-bottom:18px}.banner-reshow{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:149;padding:10px 22px;border-radius:999px;font-weight:700;color:var(--green);background:#0a1428eb;border:1px solid rgba(61,255,139,.55);box-shadow:0 6px 24px #00000080,0 0 18px #3dff8b33}.banner-reshow[hidden]{display:none}.banner{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:grid;place-items:center;overflow:auto;background:#070b16d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:16px clamp(12px,4vw,24px);text-align:center}.banner[hidden]{display:none}.banner .inner{padding:28px 34px;border-radius:18px;border:1px solid var(--panel-border);background:var(--panel)}.banner .bn-wordmark{font-size:1.05rem;letter-spacing:.16em;opacity:.8;margin:0 0 8px}@keyframes portalOFlashLoop{0%,64%,to{color:#fff;text-shadow:0 0 18px rgba(43,184,255,.5)}78%{color:#fff;text-shadow:0 0 16px #fff,0 0 36px rgba(43,184,255,.95)}}.banner .bn-wordmark .w-portal .po{animation:portalOFlashLoop 2.4s ease-out infinite;animation-delay:.13s}body.anims-off .banner .bn-wordmark .cl,body.anims-off .banner .bn-wordmark .po{animation:none}.banner .win-result{font-family:Orbitron,sans-serif;font-size:2.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:2px 0 10px;line-height:1.05}.banner[data-outcome=win] .win-result{color:#eafff3;text-shadow:0 0 28px rgba(61,255,139,.6)}.banner[data-outcome=loss] .win-result{color:#ffc6c6;text-shadow:0 0 22px rgba(255,90,90,.5)}.banner .win-match{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:2px 10px;margin-bottom:16px}.banner .win-match .player-tag{font-family:Orbitron,sans-serif;font-weight:500;font-size:.95rem;letter-spacing:.03em;color:var(--accent, #8fdcff);text-shadow:0 0 14px rgba(43,184,255,.35)}.banner .win-match .player-tag:empty{display:none}.banner .win-match .opp-tag{font-size:.86rem;color:var(--dim)}.banner .win-moves{display:inline-block;padding:7px 20px;border-radius:12px;border:1px solid var(--panel-border);background:#78a0ff0f;font-family:Orbitron,sans-serif;font-size:clamp(1.05rem,4.6vw,1.7rem);font-weight:700;letter-spacing:.03em;color:#fff;text-shadow:0 0 22px rgba(61,255,139,.55)}.banner .win-method{margin:12px auto 0;font-size:.84rem;color:var(--faint);max-width:22rem}.banner .win-time{margin:7px 0 0;font-family:Orbitron,sans-serif;font-size:.95rem;letter-spacing:.04em;color:var(--accent, #8fdcff)}.banner .win-time:empty{display:none}.banner .win-quote{margin:16px auto 0;max-width:27rem;padding:14px 10px 0;border-top:1px solid var(--panel-border)}.banner .win-quote .wq-text{margin:0;font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:1.05rem;line-height:1.5;color:#e8ecf4d1}.banner .win-quote .wq-text:before{content:"“"}.banner .win-quote .wq-text:after{content:"”"}.banner .win-quote .wq-author{margin:9px 0 0;font-family:Orbitron,sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent, #8fdcff);opacity:.85}#banner-share{border-color:#2bb8ff80;color:#bfe6ff;background:#2bb8ff1f}#banner-share:hover{filter:brightness(1.12)}#banner-share[hidden]{display:none}#banner-swap.swap-orange{background:linear-gradient(180deg,#ff7a1aeb,#ff7a1ab3);border-color:transparent;color:#1a0d02}#banner-swap.swap-blue{background:linear-gradient(180deg,#2bb8fff2,#2bb8ffb8);border-color:transparent;color:#042234}#banner-swap:hover{filter:brightness(1.1)}@media (max-width: 480px){.banner .inner{padding:20px 16px}.banner .bn-wordmark{font-size:.9rem;margin-bottom:4px}.banner .win-result{font-size:1.85rem;letter-spacing:.08em;margin:0 0 8px}.banner .win-match{margin-bottom:10px}.banner .win-moves{padding:6px 14px}.banner .win-method{margin-top:10px;font-size:.8rem}.banner-btns{gap:8px;margin-top:14px}}.banner[data-color=orange] .win-moves{text-shadow:0 0 22px rgba(255,122,26,.7)}.banner[data-color=blue] .win-moves{text-shadow:0 0 22px rgba(43,184,255,.7)}.banner[data-color=orange] .inner{box-shadow:0 0 60px #ff7a1a66;border-color:#ff7a1a80}.banner[data-color=blue] .inner{box-shadow:0 0 60px #2bb8ff66;border-color:#2bb8ff80}.banner[data-outcome=loss] .win-moves{color:#ffd9d9;text-shadow:0 0 16px rgba(255,90,90,.4)}.banner[data-outcome=loss] .inner{box-shadow:0 0 50px #ff5a5a38;border-color:#ff787866}.banner button{margin-top:18px}.banner-btns{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;justify-content:center}.banner-btns button{margin-top:0}.rb-menu{position:fixed;z-index:200;width:min(300px,calc(100vw - 24px));max-height:var(--rb-menu-max, calc(100svh - 24px) );display:flex;flex-direction:column;padding:8px;border-radius:14px;background:var(--bg-2);border:1px solid var(--panel-border);box-shadow:0 24px 60px #00000080,0 0 30px #3c64dc1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease}.rb-menu[hidden]{display:none}.rb-menu.is-open{opacity:1;transform:translateY(0)}.rb-menu-head{flex:0 0 auto;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:6px 10px 8px}.rb-menu-list{flex:1 1 auto;min-height:0;max-height:680px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.rb-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;border-radius:10px;background:transparent;border:1px solid transparent;color:var(--text);text-decoration:none;font-weight:600;font-size:.92rem}.rb-item:hover{background:#78a0ff24;border-color:#78a0ff73;box-shadow:0 0 14px #78a0ff33}.rb-part{font-family:Orbitron,sans-serif;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent, #8fdcff);padding:11px 10px 4px;margin-top:4px;border-top:1px solid var(--panel-border)}.rb-part:first-of-type{border-top:0;margin-top:0}.rb-item-lead .rb-title{font-weight:700;color:#eaf2ff}.rb-item .rb-pg{color:var(--muted);font-family:Rajdhani,sans-serif;font-size:.74rem;white-space:nowrap}.rb-menu-foot{flex:0 0 auto;padding:9px 10px 4px;margin-top:4px;border-top:1px solid var(--panel-border);font-size:.72rem;color:var(--muted)}.threat-cell{opacity:.5;filter:drop-shadow(0 0 4px rgba(255,77,94,.95)) drop-shadow(0 0 11px rgba(255,77,94,.55));animation:threatPulse 1.05s ease-in-out infinite}@keyframes threatPulse{0%,to{opacity:.62}50%{opacity:.34}}.biz-check{filter:drop-shadow(0 0 4px rgba(255,77,94,.95)) drop-shadow(0 0 11px rgba(255,77,94,.55));animation:pulse 1s ease-in-out infinite}.opp-tag{margin-top:9px;text-align:center;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.opp-tag:empty{display:none}body.anims-off .target-dot,body.anims-off .teleport-target,body.anims-off .sel-ring,body.anims-off .setup-legal,body.anims-off .biz-hint,body.anims-off .threat-cell,body.anims-off .biz-check{animation:none}.pref-row{display:flex;align-items:center;gap:10px;padding:7px 0;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05)}.pref-row:last-child{border-bottom:none}.pref-row[hidden]{display:none}.anim-speed-row,.move-style-row,.threats-seg-row{padding-left:26px}.pref-text{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.pref-label{font-size:.85rem;font-weight:600;color:var(--text)}.pref-hint{font-size:.69rem;color:var(--muted);line-height:1.2}.pref-seg-row{flex-direction:column;align-items:stretch;gap:6px;cursor:default}.pref-seg{display:flex;gap:4px}.pref-seg .seg-opt{flex:1;padding:6px 8px;font-size:.78rem;white-space:nowrap}.pref-switch{position:absolute;opacity:0;width:0;height:0}.pref-track{flex:none;width:38px;height:22px;border-radius:999px;background:#ffffff1a;border:1px solid var(--panel-border);position:relative;transition:all .15s ease}.pref-track:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:all .15s ease}.pref-switch:checked+.pref-track{background:#3dff8b38;border-color:#3dff8b8c}.pref-switch:checked+.pref-track:before{left:18px;background:var(--green);box-shadow:0 0 8px #3dff8b99}.pref-switch:focus-visible+.pref-track{box-shadow:0 0 0 2px #78a0ff80}.autofill-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.autofill-modal[hidden]{display:none}.afm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#04070fb8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:afmFade .18s ease both}.afm-panel{position:relative;width:min(420px,92vw);padding:26px 26px 20px;text-align:center;border-radius:18px;background:linear-gradient(180deg,#121a30f7,#090d1cf7);border:1px solid var(--panel-border);box-shadow:0 24px 70px #0009,0 0 60px #3dff8b2e;animation:afmPop .22s cubic-bezier(.2,.9,.3,1.3) both}.autofill-modal[data-color=orange] .afm-panel{box-shadow:0 24px 70px #0009,0 0 60px #ff7a1a38}.autofill-modal[data-color=blue] .afm-panel{box-shadow:0 24px 70px #0009,0 0 60px #2bb8ff38}.gmodal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:16px}.gmodal[hidden]{display:none}#confirm-modal{z-index:320}.share-modal{z-index:340}.share-panel{max-width:440px}.share-sub{font-size:.85rem;color:var(--dim);margin:0 0 12px}.share-card-img{display:block;width:100%;max-width:340px;aspect-ratio:1 / 1;margin:0 auto 4px;border-radius:14px;border:1px solid var(--panel-border);box-shadow:0 10px 34px #00000080;background:#0a102899;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto}.share-card-img[hidden]{display:none}.share-hint{font-size:.76rem;line-height:1.4;color:var(--faint);margin:12px 2px 0;text-align:center}.share-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.share-act{flex:1 1 110px;padding:11px 14px;border-radius:10px;border:1px solid var(--panel-border);background:#78a0ff1a;color:var(--ink);font-weight:600;cursor:pointer}.share-act.primary{background:#2bb8ff2e;border-color:#2bb8ff80;color:#bfe6ff}.share-act[hidden]{display:none}.share-act:hover{filter:brightness(1.1)}.share-net{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.share-net:empty{display:none}.share-net-btn{padding:9px 8px;border-radius:9px;border:1px solid var(--panel-border);background:#78a0ff12;color:var(--ink);font-weight:600;font-size:.82rem;cursor:pointer}.share-net-btn:hover{filter:brightness(1.14)}.gmodal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#04060cb8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.gmodal-panel{position:relative;width:min(440px,94vw);max-height:88vh;overflow:auto;padding:22px 24px;border-radius:16px;background:var(--panel);border:1px solid var(--panel-border);box-shadow:inset 0 0 50px #1e46961f,0 24px 70px #0009}.gmodal-title{font-family:Orbitron,sans-serif;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin:0 0 14px;text-shadow:0 0 18px rgba(43,184,255,.4)}.ai-em{font-family:Rajdhani,"Exo 2",ui-sans-serif,system-ui,sans-serif;font-weight:700;color:#5fd0ff;letter-spacing:.01em}.ai-em .ai-i{text-transform:none}.gmodal-text{margin:0;color:#c6d4e6;font-size:.95rem;line-height:1.5}.score-note{font-size:.62em;opacity:.72;font-weight:500;white-space:nowrap}.gmodal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.gmodal-actions button{flex:1 1 auto}.gmodal-x{position:absolute;top:12px;right:12px;padding:4px 9px;border-radius:8px;line-height:1}.gmodal .opp-cpu{margin-top:6px}.gmodal-panel.dp-panel{width:min(720px,96vw)}.dp-body{display:flex;flex-direction:column;gap:16px}.dp-fod-note{font-size:.8rem;color:var(--dim);margin:2px 0 10px;line-height:1.45}.dp-fod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px}.fod-cell{display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:9px;background:#141e3880;border:1px solid var(--panel-border);min-width:0}.fod-lvl{flex:0 0 auto;min-width:26px;text-align:center;font-family:Orbitron,sans-serif;font-size:.7rem;font-weight:700;color:var(--dim)}.fod-who{flex:1 1 auto;min-width:0;font-size:.8rem;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fod-cell.claimed{border-color:#2bb8ff6b;background:#2bb8ff17}.fod-cell.claimed .fod-who{color:var(--ink);font-weight:600}.fod-cell.you{border-color:#2bb8ffcc;background:#2bb8ff33;box-shadow:0 0 0 1px #2bb8ff59}.fod-cell.you .fod-who{color:#fff}.fod-cell.next{border-color:#3dff8b80;background:#3dff8b14}.fod-cell.next .fod-who{color:var(--green);font-weight:600;font-size:.74rem}.fod-cell.elite{border-color:#ffce3f57}.fod-cell.elite .fod-lvl{color:#ffce3f}.fod-cell.elite.claimed{border-color:#ffce3f99;background:#ffce3f1a}.dp-you{display:flex;align-items:center;gap:10px}.dp-you-input{flex:0 1 200px;padding:7px 11px;border-radius:9px;border:1px solid var(--panel-border);background:#78a0ff1a;color:var(--ink);font:inherit;font-weight:600}.dp-you-input:focus{outline:none;border-color:#2bb8ff8c;box-shadow:0 0 0 2px #2bb8ff2e}.dp-today{border:1px solid var(--panel-border);border-radius:14px;padding:14px 16px;background:#141e3880}.dp-noassist{font-size:.8rem;color:var(--dim);line-height:1.45;margin:0 0 12px;padding:8px 11px;border-radius:8px;background:#2bb8ff14;border:1px solid rgba(43,184,255,.25)}.dp-noassist b{color:var(--accent, #8fdcff)}.dp-play{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.dp-play-btn{flex:1 1 200px;padding:11px 14px;border-radius:10px;border:1px solid var(--panel-border);background:#78a0ff1a;color:var(--ink);font-weight:600;cursor:pointer}.dp-play-btn.primary{background:linear-gradient(180deg,#ff7a1aeb,#ff7a1ab3);border-color:transparent;color:#1a0d02}.dp-play-btn:not(.primary){box-shadow:inset 0 0 0 1px #2bb8ff40}.dp-play-btn.blue{background:linear-gradient(180deg,#2bb8fff2,#2bb8ffb8);border-color:transparent;box-shadow:none;color:#042234}button.dp-play-btn:hover{background:#3dff8b33;border-color:#3dff8ba6;box-shadow:0 0 14px #3dff8b4d;color:var(--text);filter:brightness(1.05)}.dp-split{position:relative;flex:1 1 200px;display:flex}.dp-split .dp-play-btn{flex:1 1 auto}.dp-split.has-menu .dp-play-btn{border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:none}.dp-caret{flex:0 0 auto;width:50px;border:none;border-radius:0 10px 10px 0;font-weight:800;font-size:1.35rem;line-height:1;cursor:pointer;box-shadow:inset 2px 0 #0000004d;filter:brightness(.9)}.dp-caret.primary{background:linear-gradient(180deg,#ff7a1aeb,#ff7a1ab3);color:#1a0d02}.dp-caret.blue{background:linear-gradient(180deg,#2bb8fff2,#2bb8ffb8);color:#042234}.dp-caret:hover{filter:brightness(1.06)}.dp-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:30;display:flex;flex-direction:column;gap:2px;padding:5px;border-radius:10px;border:1px solid var(--panel-border);background:#0e1426fa;box-shadow:0 10px 28px #00000080}.dp-menu[hidden]{display:none}.dp-menu-item{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:9px 12px;border-radius:7px;border:none;background:transparent;color:var(--ink);font-weight:600;font-size:.88rem;cursor:pointer}.dp-menu-item:hover{background:#78a0ff29}.dp-menu-tag{font-size:.72rem;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}.dp-title-dash{color:var(--dim);font-weight:400}.dp-name-inline{font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.03em;text-transform:none;color:#8fd0ff;background:transparent;border:none;border-bottom:1px dashed rgba(43,184,255,.45);padding:0 2px 1px;min-width:80px}.dp-name-inline:focus{outline:none;border-bottom-color:var(--blue)}.dp-headmeta{font-size:.82rem;color:var(--dim);margin:-8px 0 16px;letter-spacing:.03em}.dp-hm-num{font-family:Orbitron,sans-serif;font-size:1.05rem;font-weight:700;color:#fff;letter-spacing:.04em;margin:0 .2em 0 .55em;text-shadow:0 0 14px rgba(43,184,255,.35)}.dp-adaptive{font-size:.86rem;color:var(--ink);margin:2px 0 14px;line-height:1.5}.dp-adaptive b{color:var(--blue);font-weight:700}.dp-chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.dp-chip-hopper{background:#3dff8b29;color:#7dffb4;border:1px solid rgba(61,255,139,.4)}.dp-chip-banger{background:#ff7a1a29;color:#ffb27a;border:1px solid rgba(255,122,26,.4)}.dp-chip-mixed{background:#a98bff29;color:#c7b4ff;border:1px solid rgba(169,139,255,.4)}.dp-boards-h{font-family:Orbitron,sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent, #8fdcff);margin-bottom:2px}.dp-boards-sub{font-weight:400;letter-spacing:.04em;color:var(--faint);text-transform:none;font-size:.92em}.dp-boards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dp-board{border:1px solid var(--panel-border);border-radius:12px;padding:10px 12px;background:#0c122480}.dp-board-h{font-size:.75rem;font-weight:700;margin-bottom:6px;color:var(--ink)}.dp-orange .dp-board-h{color:#ffb27a}.dp-blue .dp-board-h{color:#8fd0ff}.dp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.dp-row{display:flex;align-items:center;gap:8px;font-size:.82rem;padding:3px 4px;border-radius:6px}.dp-row.empty{color:var(--faint);font-style:italic}.dp-row.you{background:#2bb8ff24;color:#fff}.dp-rank{width:16px;color:var(--faint);text-align:right}.dp-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-rank,.dp-level,.dp-moves,.dp-time{font-family:ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;text-align:right}.dp-level{font-weight:800;font-size:.76rem;color:#ffd66b;min-width:2.6em;letter-spacing:.01em}.dp-row.you .dp-level{color:#ffe6a3}.dp-moves{font-weight:700;color:var(--ink);min-width:2.2em}.dp-time{font-size:.72rem;color:var(--faint);min-width:3.6em}.dp-row.you .dp-time{color:#ffffffc7}.dp-dev{border-top:1px dashed var(--panel-border);padding-top:10px}.dp-dev-toggle{background:none;border:1px solid var(--panel-border);color:var(--dim);padding:6px 10px;border-radius:8px;cursor:pointer;font-size:.78rem}.dp-dev-list{margin-top:10px;max-height:320px;overflow:auto;display:flex;flex-direction:column;gap:4px}.dp-dev-row{display:grid;grid-template-columns:42px auto 70px 1fr auto auto;align-items:center;gap:8px;font-size:.76rem;padding:4px 6px;border-radius:6px;border:1px solid transparent}.dp-dev-row.today{border-color:#2bb8ff66;background:#2bb8ff14}.dp-dev-day{color:var(--faint);font-variant-numeric:tabular-nums}.dp-dev-stars{color:var(--yellow);font-size:.72rem;letter-spacing:1px}.dp-dev-segs{color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-dev-load{background:#78a0ff1f;border:1px solid var(--panel-border);color:var(--ink);border-radius:6px;padding:3px 7px;font-size:.72rem;cursor:pointer}.dp-dev-load:hover{filter:brightness(1.12)}@media (max-width: 560px){.dp-boards{grid-template-columns:1fr}.dp-dev-row{grid-template-columns:38px auto 1fr;row-gap:2px}.dp-dev-stars,.dp-dev-segs{display:none}}.stats-body{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 440px){.stats-body{grid-template-columns:1fr}}.stats-colony{border:1px solid var(--panel-border);border-radius:10px;padding:12px 13px;background:#78a0ff0d}.stats-colony[data-color=orange]{border-color:#ff7a1a59}.stats-colony[data-color=blue]{border-color:#2bb8ff59}.stats-colony-title{font-family:Orbitron,sans-serif;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;margin-bottom:8px}.stats-colony[data-color=orange] .stats-colony-title{color:var(--orange)}.stats-colony[data-color=blue] .stats-colony-title{color:var(--blue)}.stats-sub{font-family:Rajdhani,sans-serif;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:10px 0 4px}.stats-sub:first-of-type{margin-top:0}.stats-row{display:flex;justify-content:space-between;gap:10px;font-size:.82rem;padding:2px 0;border-bottom:1px solid rgba(255,255,255,.05)}.stats-row:last-child{border-bottom:none}.stats-k{color:var(--dim)}.stats-v{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.settings-section{border:1px solid var(--panel-border);border-radius:10px;margin-bottom:8px;overflow:hidden}.settings-head{display:flex;align-items:center;gap:8px;width:100%;font-family:Orbitron,sans-serif;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);padding:11px 12px;background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;text-align:left}.settings-head:hover:not(:disabled){background:#78a0ff14;box-shadow:none;border:none}.settings-name{margin-right:auto}.settings-caret{transition:transform .15s ease;opacity:.7}.settings-section.open>.settings-head .settings-caret{transform:rotate(180deg)}.settings-body{display:none;padding:2px 12px 10px}.settings-section.open>.settings-body{display:block}.settings-section.stub .settings-head{color:var(--dim)}.settings-soon{font-family:Rajdhani,sans-serif;font-size:.68rem;letter-spacing:.02em;color:var(--faint);text-transform:none}.settings-note{margin:4px 0 2px;font-size:.82rem;color:var(--dim)}.my-stats{display:flex;flex-direction:column;gap:4px;margin:2px 0 6px}.st-head{font-family:Orbitron,sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent, #8fdcff);margin:10px 0 4px}.st-head:first-child{margin-top:2px}.st-sub{font-family:Rajdhani,sans-serif;color:var(--faint);letter-spacing:.02em;margin-left:6px}.st-row{display:flex;align-items:center;gap:9px;font-size:.82rem}.st-lbl{flex:0 0 76px;color:var(--dim)}.st-bar{flex:1 1 auto;height:9px;border-radius:99px;background:#78a0ff1f;overflow:hidden}.st-fill{display:block;height:100%;border-radius:99px;background:var(--green)}.st-fill.or{background:var(--orange)}.st-fill.bl{background:var(--blue)}.st-fill.ov{background:linear-gradient(90deg,var(--orange),var(--green),var(--blue))}.st-val{flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink);min-width:74px;text-align:right}.st-streak{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin:2px 0}.st-streak-cell{flex:0 0 auto;min-width:78px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 16px;border-radius:12px;border:1px solid var(--panel-border);background:#78a0ff0f}.st-streak-cell.live{border-color:#3dff8b80;background:#3dff8b17;box-shadow:0 0 16px #3dff8b2e}.st-streak-n{font-family:Orbitron,sans-serif;font-weight:800;font-size:1.7rem;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}.st-streak-cell.live .st-streak-n{color:var(--green);text-shadow:0 0 14px rgba(61,255,139,.45)}.st-streak-cap{font-family:Orbitron,sans-serif;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.st-streak-note{flex:1 1 130px;align-self:center;font-size:.82rem;color:var(--dim)}.st-types{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.st-chip{padding:3px 10px;border-radius:999px;font-size:.76rem;font-weight:700;border:1px solid var(--panel-border)}.st-chip-two{background:#3dff8b24;color:#9dffc4;border-color:#3dff8b66}.st-chip-h8{background:#ffd23f24;color:#ffe08a;border-color:#ffd23f66}.st-best{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}.st-best li{display:flex;align-items:center;gap:8px;font-size:.8rem}.st-day{flex:0 0 auto;font-weight:700;color:var(--ink)}.st-day.st-played-orange{color:#ffb27a}.st-day.st-played-blue{color:#8fd0ff}.st-tag{font-size:.68rem;padding:1px 7px;border-radius:999px;background:#78a0ff1f;color:var(--dim)}.st-moves{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink)}.afm-glyph{width:58px;height:58px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:1.9rem;border-radius:50%;background:radial-gradient(circle,#3dff8b38,#3dff8b0a);box-shadow:0 0 0 1px #3dff8b66,0 0 26px #3dff8b59}.afm-title{margin:0 0 8px;font-size:1.18rem;font-weight:800;letter-spacing:.02em}.afm-flavor{margin:0 0 18px;font-size:.86rem;line-height:1.5;color:var(--muted)}.afm-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.afm-opts .reserve-opt{width:100%;padding:11px 8px;font-size:.82rem}.afm-opts .reserve-opt b{color:var(--green);font-weight:800}.reserve-opt:hover:not(:disabled){border-color:#3dff8b80;color:var(--green);box-shadow:0 0 14px #3dff8b38}.reserve-opt:disabled{opacity:.32;cursor:not-allowed}.afm-cancel{width:100%;padding:9px;font-size:.82rem;color:var(--muted);background:transparent}.afm-cancel:hover{color:var(--text);border-color:#ff788c80;background:#ff788c14;box-shadow:none}@keyframes afmFade{0%{opacity:0}to{opacity:1}}@keyframes afmPop{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}body.anims-off .afm-backdrop,body.anims-off .afm-panel{animation:none}.piece-tray{padding:4px 8px 2px}.piece-tray[hidden]{display:none}.ptray-remaining{display:inline-flex;align-items:baseline;gap:5px;font-size:.95rem;color:var(--dim);letter-spacing:.02em;margin-left:6px}.ptray-rem-n{font-weight:800;font-size:1.4em;line-height:1}@keyframes fleet-remaining-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.15)}}.ptray-remaining.pulse .ptray-rem-n{display:inline-block;animation:fleet-remaining-pulse .65s ease-in-out infinite}body.anims-off .ptray-remaining.pulse .ptray-rem-n{animation:none}.ptray{display:flex;gap:16px;align-items:flex-start}.ptray-col{flex:1 1 0;min-width:0}.ptray-col.idle{opacity:.9}.ptray-rows{display:flex;flex-wrap:wrap;gap:3px;align-content:flex-start}.ptray-biz-row,.ptray-portal-row{justify-content:center;gap:8px}.ptray-biz-row:empty,.ptray-portal-row:empty,.ptray-fleet-row:empty{display:none}.ptray-fleet-row{margin-top:8px;justify-content:center;gap:6px}.pp{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;transition:transform .1s ease;padding:0;background:none;border:0;box-shadow:none;color:inherit;font:inherit}.pp svg{width:100%;height:100%;display:block}.pp.dim{opacity:.26;filter:grayscale(.35)}.pp.avail{cursor:grab;animation:ppulse 2.4s ease-in-out infinite}.pp.avail:hover{transform:translateY(-2px) scale(1.1)}.pp.held{animation:none;box-shadow:0 0 0 2px #3dff8bf2,0 0 10px #3dff8b80}.ptray-col[data-color=orange] .pp.held{box-shadow:0 0 0 2px #ff7a1af2,0 0 10px #ff7a1a8c}.ptray-col[data-color=blue] .pp.held{box-shadow:0 0 0 2px #2bb8fff2,0 0 10px #2bb8ff8c}.pp.drag-ghost{opacity:.5}@keyframes ppulse{0%,to{opacity:1}50%{opacity:.72}}body.anims-off .pp.avail{animation:none}.ptray-chip-row{gap:10px;margin-top:8px;align-items:center}.pp-chip{width:auto;height:auto;gap:5px;padding:4px 10px 4px 6px;border-radius:11px;background:#ffffff0d;border:1px solid var(--panel-border)}.pp-chip svg{width:22px;height:22px}.pp-count{font-family:Orbitron,sans-serif;font-size:.82rem;font-weight:700;color:#e8eefc}.pp-chip.dim .pp-count{color:#8595ad}.side-tray{display:none}.side-tray .side-ptray{display:block}.side-tray .ptray-col{width:100%}.side-tray .ptray-rows{justify-content:center;gap:8px;margin:0}.side-tray .pp{width:34px;height:34px}.side-tray .pp-chip{width:auto;height:auto}.side-tray .pp-chip svg{width:28px;height:28px}.board-stage{display:flex;flex-direction:column;gap:14px;width:100%;min-width:0}@media (min-width: 768px){.board-stage:has(>.piece-tray:not([hidden])){display:grid;grid-template-columns:minmax(88px,110px) minmax(0,1fr) minmax(88px,110px);align-items:start;gap:clamp(8px,1.4vw,16px)}.board-stage:has(>.piece-tray:not([hidden]))>.piece-tray,.board-stage:has(>.piece-tray:not([hidden])) .ptray{display:contents}.board-stage:has(>.piece-tray:not([hidden]))>.board-panel{grid-column:2;grid-row:1}.board-stage:has(>.piece-tray:not([hidden])) .ptray-col[data-color=orange]{grid-column:1;grid-row:1}.board-stage:has(>.piece-tray:not([hidden])) .ptray-col[data-color=blue]{grid-column:3;grid-row:1}.board-stage:has(>.piece-tray:not([hidden])) .ptray-col{padding:6px 4px}.board-stage:has(>.piece-tray:not([hidden])) .ptray-remaining{flex-direction:column;align-items:center;gap:1px;width:100%;margin:6px 0 0;font-size:.72rem;white-space:nowrap;text-align:center}.board-stage:has(>.piece-tray:not([hidden])) .ptray-rem-n{font-size:1.7rem}body.app-idle .board-stage:has(>.piece-tray:not([hidden])) .ptray-col{filter:grayscale(1) brightness(.72)}}.seg{display:flex;gap:4px}.seg+.seg{margin-top:4px}.seg-opt{flex:1 1 0;min-width:0;padding:7px 6px;font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);background:#ffffff0a;border:1px solid var(--panel-border);border-radius:9px}.seg-opt:hover:not(.active){color:var(--text);border-color:#78a0ff66;box-shadow:none}.seg-opt.active{color:var(--text);background:#78a0ff29;border-color:#78a0ff8c;box-shadow:0 0 12px #78a0ff38}.opp-side-colored .seg-opt[data-side=orange]{background:linear-gradient(180deg,#ff7a1aeb,#ff7a1ab3);border-color:transparent;color:#1a0d02}.opp-side-colored .seg-opt[data-side=blue]{background:linear-gradient(180deg,#2bb8fff2,#2bb8ffb8);border-color:transparent;color:#042234}.opp-side-colored .seg-opt:hover:not(.active){filter:brightness(1.06)}.opp-side-colored .seg-opt.active{border-color:var(--green);box-shadow:0 0 0 1px var(--green),0 0 12px #3dff8b80}#opponent-modal .seg:not(.opp-side-colored) .seg-opt.active{border-color:var(--green);background:#3dff8b1f;box-shadow:0 0 0 1px var(--green),0 0 12px #3dff8b80;color:var(--text)}.opp-cpu{margin-top:6px}.opp-cpu[hidden]{display:none}.opp-sub{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin:9px 0 4px}.opp-daily-cta{width:100%;margin:6px 0 4px;padding:12px 16px;border-radius:12px;background:#3dff8b1f;border:1px solid rgba(61,255,139,.45);color:var(--green);font-family:Orbitron,sans-serif;font-weight:700;font-size:1rem;letter-spacing:.02em;cursor:pointer}.opp-daily-cta:hover{background:#3dff8b33}.opp-daily-cta:active{transform:translateY(1px)}.opp-train-cta{width:100%;margin:6px 0 4px;padding:12px 16px;border-radius:12px;background:#ffd23f1f;border:1px solid rgba(255,210,63,.5);color:var(--yellow);font-family:Orbitron,sans-serif;font-weight:700;font-size:1rem;letter-spacing:.02em;cursor:pointer;animation:ng-nudge-gold 2.4s ease-in-out infinite}.opp-train-cta:hover{background:#ffd23f33}.opp-train-cta:active{transform:translateY(1px)}body.anims-off .opp-train-cta{animation:none}@media (prefers-reduced-motion: reduce){.opp-train-cta{animation:none}}@keyframes ng-nudge-gold{0%,to{box-shadow:0 0 #ffd23f00;border-color:#ffd23f66}50%{box-shadow:0 0 18px 3px #ffd23f80;border-color:#ffd23fe6}}#opponent-modal .gmodal-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:8px}#opponent-modal .gmodal-actions button{flex:0 0 auto;width:100%}#opponent-modal #opp-start{width:100%;margin:6px 0 4px;padding:14px 16px;font-size:1.05rem;font-weight:700}#opponent-modal .opp-daily-cta{margin:0}#opponent-modal #opp-cancel{opacity:.75}.opp-options{overflow:hidden;max-height:0;opacity:0;visibility:hidden;transition:max-height .3s ease,opacity .2s ease,visibility .3s}.opp-options.is-open{max-height:1000px;opacity:1;visibility:visible}body.anims-off .opp-options{transition:none}@media (prefers-reduced-motion: reduce){.opp-options{transition:none}}.opp-watch-btn{width:100%;padding:11px 16px;border-radius:12px;cursor:pointer;font-family:inherit;font-size:.98rem;font-weight:600;letter-spacing:.01em;color:var(--text);background:#ffffff0d;border:1px solid rgba(255,255,255,.16);transition:all .15s ease}.opp-watch-btn:hover{background:#ffffff17;border-color:#ffffff47}.opp-watch-btn:active{transform:translateY(1px)}.opp-daily-cta .ai-em{color:#fff}.opp-fort-select{width:100%;padding:4px;font:inherit;font-size:.8rem;font-weight:600;color:var(--text);background-color:#78a0ff1a;border:1px solid rgba(120,160,255,.5);border-radius:9px;cursor:pointer}.opp-fort-select:hover{border-color:#78a0ffbf}.opp-fort-select:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.opp-fort-select[hidden]{display:none}.opp-fort-select option{background:#0e1430;color:var(--text)}.opp-fort-select option:checked{background:linear-gradient(0deg,#78a0ff6b,#78a0ff6b);color:#fff}.turn-badge.starter{cursor:pointer;border-color:#3dff8b8c;box-shadow:0 0 12px #3dff8b40;transition:box-shadow .15s ease,filter .15s ease}.turn-badge.starter:hover{filter:brightness(1.18);box-shadow:0 0 18px #3dff8b73}.turn-badge.starter:focus-visible{outline:2px solid var(--green);outline-offset:2px}body.tut-active .turn-badge.starter,.turn-badge.start-pulse{animation:tutEndTurnPulse 1.15s ease-in-out infinite;border-color:#3dff8be6}@keyframes tutEndTurnPulse{0%,to{box-shadow:0 0 9px #3dff8b4d}50%{box-shadow:0 0 22px #3dff8bd9}}body.anims-off .turn-badge.starter,body.anims-off .turn-badge.start-pulse,body.tut-active .turn-badge.starter:hover,.turn-badge.start-pulse:hover{animation:none}@media (prefers-reduced-motion: reduce){body.tut-active .turn-badge.starter,.turn-badge.start-pulse{animation:none}}.turn-badge.thinking{letter-spacing:.1em}.turn-badge.thinking .tk-l{display:inline-block;animation:tkGap .5s steps(1,end) infinite;animation-delay:calc(var(--i) * 62.5ms)}@keyframes tkGap{0%{opacity:0}12.5%{opacity:1}to{opacity:1}}body.anims-off .turn-badge.thinking .tk-l{animation:none;opacity:1}@media (max-width: 560px){.app{padding:14px 10px 30px;gap:14px}.masthead{margin-bottom:0}.masthead .tagline{font-size:.76rem}.board-panel{padding:9px;gap:6px}.grid-flank{gap:5px}.flank-label{font-size:.5rem;letter-spacing:.08em}.btn-row{gap:8px}.btn-row button,.reserve-opt,.seg-opt,.pref-row{min-height:44px}.gmodal-x{min-width:44px;min-height:44px;display:grid;place-items:center;padding:0}.setup-hint-x,.watch-x,.ob-skip{min-width:44px;min-height:44px;display:grid;place-items:center}.ptray{gap:10px}.side{gap:12px}.board-mode-toggle .seg-opt{padding:7px 14px}}@media (hover: none) and (pointer: coarse){#board,.pp,.cell,button,.seg-opt{touch-action:manipulation}#board{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}button,.seg-opt,.pp{-webkit-tap-highlight-color:transparent}}.ob-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:210;display:flex;align-items:center;justify-content:center;padding:20px}.ob-modal[hidden]{display:none}.ob-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#04070fbd;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:afmFade .18s ease both}.ob-panel{position:relative;width:min(460px,94vw);padding:30px 28px 22px;text-align:center;border-radius:18px;background:linear-gradient(180deg,#121a30fa,#090d1cfa);border:1px solid var(--panel-border);box-shadow:0 24px 70px #0009,0 0 60px #78a0ff33;animation:afmPop .22s cubic-bezier(.2,.9,.3,1.3) both;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain}.ob-skip{position:absolute;top:12px;right:12px;padding:5px 9px;font-size:.74rem;color:var(--muted);background:transparent;border:1px solid transparent}.ob-skip:hover{color:var(--text);background:#ffffff0f;box-shadow:none}.ob-glyph{width:64px;height:64px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:2rem;border-radius:50%;color:#bfe6ff;background:radial-gradient(circle,#78a0ff3d,#78a0ff0a);box-shadow:0 0 0 1px #78a0ff73,0 0 28px #78a0ff66}.ob-glyph[hidden],.ob-graphic[hidden]{display:none}.ob-graphic{margin:2px auto 14px;max-width:330px}.ob-graphic svg{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 20px rgba(0,0,0,.45))}.ob-hook{margin:2px 0 14px;text-align:center;font-family:Rajdhani,sans-serif;font-weight:500;font-size:.95rem;letter-spacing:.03em;color:var(--dim)}.ob-title{margin:0 0 10px;font-size:1.3rem;font-weight:800;letter-spacing:.01em}.ob-body{margin:0 auto 20px;max-width:34rem;font-size:.96rem;line-height:1.6;color:var(--text)}.ob-wincard{border:1px solid var(--panel-border);border-radius:12px;padding:12px 16px;background:#2bb8ff0f;text-align:left}.ob-or{text-align:center;font-family:Orbitron,sans-serif;font-weight:800;font-size:1.15rem;letter-spacing:.14em;color:#ffd23f;margin:10px 0}.ob-dots{display:flex;gap:7px;justify-content:center;margin-bottom:16px}.ob-dot{width:7px;height:7px;border-radius:50%;background:#ffffff38;transition:all .18s ease}.ob-dot.on{background:var(--blue);box-shadow:0 0 8px #2bb8ffb3;transform:scale(1.25)}.ob-nav{display:flex;gap:10px;justify-content:center;align-items:center}.ob-nav button{min-width:96px;padding:10px 16px}body.anims-off .ob-backdrop,body.anims-off .ob-panel{animation:none}.ob-tutorial{display:block;width:100%;margin:2px 0 14px;padding:11px 16px;font-family:inherit;font-size:.95rem;font-weight:700;letter-spacing:.01em;color:#c9f7df;background:#3dff8b1a;border:1.5px solid rgba(61,255,139,.55);border-radius:11px;cursor:pointer;transition:all .15s ease}.ob-tutorial:hover{background:#3dff8b2e;border-color:#3dff8bd9;color:#fff}.ob-tutorial[hidden]{display:none}.tut-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;pointer-events:none}.tut-overlay[hidden]{display:none}.tut-card{pointer-events:auto;position:absolute;left:50%;bottom:18px;transform:translate(-50%) translateY(10px);width:min(540px,calc(100vw - 24px));display:flex;flex-direction:column;padding:10px 16px 12px;border-radius:16px;background:var(--panel);border:1px solid var(--panel-border);box-shadow:inset 0 0 40px #1e469624,0 16px 44px #0000008c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .25s ease,transform .25s ease;max-height:42dvh}.tut-overlay.is-open .tut-card{opacity:1;transform:translate(-50%) translateY(0)}.tut-cardnum{flex:1 1 auto;text-align:center;pointer-events:none;font-size:.7rem;font-weight:700;letter-spacing:.06em;color:var(--faint, #6b7a90);font-variant-numeric:tabular-nums}.tut-card.tut-card-inflow{position:relative;left:auto;top:auto;bottom:auto;transform:none;opacity:1;margin:6px auto 18px;max-height:none;-webkit-backdrop-filter:none;backdrop-filter:none}.tut-scroll{overflow-x:hidden;overflow-y:auto;min-height:0;flex:1 1 auto}.tut-exit{padding:8px 12px;border-radius:9px;flex:0 0 auto;cursor:pointer;font-family:Rajdhani,sans-serif;font-size:.86rem;font-weight:600;color:var(--dim);background:transparent;border:1px solid var(--panel-border);transition:color .12s ease,border-color .12s ease,background .12s ease}.tut-exit:hover{color:var(--text);border-color:#ff787880;background:#ff5a5a1a}.tut-chapter{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ff9d52;margin-bottom:2px}body.tut-active .app{padding-bottom:24px;min-height:calc(100dvh + 120px)}body.tut-active .grid-flank,body.tut-active #match-bar,body.tut-active .rank-badge-host,body.tut-active .topbar,body.tut-active .dockbar,body.tut-active .board-mode,body.tut-active .side,body.tut-active .app-footer{display:none!important}body.tut-active .piece-ref-box{margin-top:14px;row-gap:6px}body.tut-active .piece-ref-box:before{content:"Machine & portal rules — tap to open the rulebook";flex:1 0 100%;text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.tut-nav .turn-card{margin:0 auto;padding:0;background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;flex:0 1 auto;min-width:0;display:flex;align-items:center}.tut-nav .turn-card .turn-row{margin:0}.tut-nav .turn-card .setup-card,.tut-nav .turn-card .play-card{display:none}.tut-card-inflow .tut-tophint{width:100%;min-height:0;margin:0 0 10px;box-sizing:border-box}.tut-card-inflow.tut-uses-hint .tut-tophint{min-height:5.6rem}.tut-card-inflow:not(.tut-uses-hint) .tut-tophint{display:none}.tut-card-inflow .tut-tophint:empty{border-color:transparent;background:transparent;box-shadow:none}.tut-card-inflow .tut-task,.tut-card-inflow .tut-note{display:none}.tut-pmpulse{animation:tutPmPulse 1.5s ease-in-out infinite}@keyframes tutPmPulse{0%,to{opacity:1}50%{opacity:.5}}body.anims-off .tut-pmpulse{animation:none}@media (prefers-reduced-motion: reduce){.tut-pmpulse{animation:none}}.tut-glowsq{display:inline-block;width:.82em;height:.82em;vertical-align:-.08em;margin-right:.3em;border-radius:2px;background:#3dff8b24;border:1.5px solid #3dff8b;box-shadow:0 0 4px #3dff8b99}.tut-card:not(.tut-show-turnctl) .tut-nav{display:none}.tut-board-turnctl{display:none;justify-content:center;align-items:center;width:100%;margin-top:-12px}.tut-board-turnctl.show{display:flex;margin-bottom:14px}.tut-board-turnctl .turn-card{display:flex;justify-content:center;padding:0;background:none;border:none;box-shadow:none}.tut-board-turnctl .turn-badge{padding:6px 13px;font-size:.95rem;white-space:nowrap;box-sizing:border-box;min-width:112px;text-align:center}.tut-undo-btn{font-weight:700;font-size:.9rem;padding:6px 15px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#ffffff0a;color:var(--muted);cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.tut-undo-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff6b;color:#e7edf5}.tut-undo-btn:disabled{opacity:.38;cursor:default}body.tut-active .board-area{margin-top:0}body.tut-active .board-area:not(.mode-3d) .board-panel{padding-top:0}body.tut-cardonly .board-area{display:none!important}body.tut-cardonly .tut-card.tut-card-inflow{max-width:620px;margin:8px auto 18px;max-height:none}@media (min-width: 960px),(min-width: 820px) and (max-height: 720px){body.tut-cardonly.tut-active .app>.tut-card.tut-card-inflow{grid-column:1 / -1;justify-self:center;max-width:620px}}body.tut-active .board-panel{display:flex!important;justify-content:center}body.tut-active .board-wrap{flex:0 1 auto;width:min(500px,90vw,62vh)}@media (max-height: 720px){body.tut-active .board-wrap{width:min(500px,80vw,54vh)}body.tut-active .tut-tophint{padding:6px 10px;font-size:.9rem;line-height:1.28}body.tut-active .tut-card-inflow.tut-uses-hint .tut-tophint{min-height:4.6rem}body.tut-active .app{padding-bottom:20px}}@media (orientation: landscape) and (max-height: 540px){body.tut-active .board-wrap{width:min(500px,78vh,48vw)}body.tut-active .app{min-height:100svh}body.tut-active .masthead,body.tut-active .piece-ref-box{display:none}body.tut-active .app{row-gap:0;padding-top:6px;padding-bottom:6px;padding-left:max(env(safe-area-inset-left),58px);padding-right:max(env(safe-area-inset-right),10px)}}@media (pointer: coarse){.tut-scroll{overscroll-behavior-y:contain}}@media (min-width: 960px),(min-width: 820px) and (max-height: 720px){body.tut-active .app{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);grid-template-rows:auto auto auto;column-gap:32px;align-content:safe center;padding-bottom:20px;min-height:100svh}body.tut-active .app>.masthead{grid-column:1 / -1;grid-row:1}body.tut-active .app>.piece-ref-box{grid-column:1 / -1;grid-row:3;align-self:start}body.tut-active .app>.board-area{grid-column:1;grid-row:2;max-width:560px;width:100%;justify-self:center;align-self:start}body.tut-active .app .tut-board-turnctl{display:flex;visibility:hidden;min-height:33px;margin-bottom:14px}body.tut-active .app .tut-board-turnctl.show{visibility:visible}body.tut-active .app>.tut-card.tut-card-inflow{grid-column:2;grid-row:2;align-self:start;justify-self:stretch;margin:0;width:100%;max-height:calc(100svh - 32px)}body.tut-active .board-wrap{width:min(500px,100%,80vh)}}@media (min-width: 820px) and (max-height: 540px){body.tut-active .app{grid-template-columns:minmax(0,1fr) minmax(280px,320px);column-gap:16px;padding-top:6px;padding-bottom:6px}body.tut-active .board-wrap{width:min(500px,100%,88vh)}body.tut-active .app>.board-area{justify-self:start}body.tut-active .board-area:not(.mode-3d) .board-panel{margin-inline:0;justify-content:flex-start;max-width:calc(88vh + 36px)}body.tut-active .app>.tut-card.tut-card-inflow{max-height:calc(100svh - 44px)}body.tut-cardonly.tut-active .app>.tut-card.tut-card-inflow{max-width:min(780px,90vw)}body.tut-active .tut-card-inflow .tut-body{font-size:1.04rem}body.tut-active .tut-card-inflow .tut-title,body.tut-active .tut-card-inflow .tut-def-head{font-size:1.12rem}}body.tut-active .play-controls,body.tut-active #banner{display:none}.builder-panel{position:fixed;top:12px;right:12px;z-index:400;width:230px;max-height:92vh;overflow:auto;background:#0a0e1af5;border:1px solid rgba(120,160,255,.4);border-radius:12px;padding:10px;font-family:Rajdhani,system-ui,sans-serif;box-shadow:0 8px 30px #00000080}.builder-panel[hidden]{display:none}.bp-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;color:#cfe0ff;letter-spacing:.04em;margin-bottom:6px}.bp-exit{background:transparent;border:none;color:var(--dim);cursor:pointer;font-size:1rem}.bp-readout{font-size:.74rem;color:#ffd23f;min-height:1.1em;margin-bottom:8px}.bp-grp{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin:6px 0 4px}.bp-pal{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.bp-tool{padding:6px 4px;font-size:.72rem;font-weight:600;color:var(--muted);background:#ffffff0d;border:1px solid var(--panel-border);border-radius:7px;cursor:pointer}.bp-tool[data-tool^=o]{color:#ffceaa}.bp-tool[data-tool^=b]:not(.bp-portal){color:#bfe6ff}.bp-tool.bp-portal[data-tool=green]{color:#3dff8b}.bp-tool.bp-portal[data-tool=orange]{color:#ff9d52}.bp-tool.bp-portal[data-tool=blue]{color:#2bb8ff}.bp-tool.active{background:#78a0ff38;border-color:#78a0ffb3;color:#fff;box-shadow:0 0 10px #78a0ff4d}.bp-tool[data-tool=erase]{grid-column:span 2}.bp-rec{display:flex;flex-direction:column;gap:4px}.bp-btn{padding:7px 8px;font-size:.76rem;font-weight:600;color:var(--text);background:#ffffff0d;border:1px solid var(--panel-border);border-radius:8px;cursor:pointer}.bp-btn:hover{border-color:#78a0ff99}.bp-clear{width:100%;margin-top:6px;background:#ff5a5a1f;border-color:#ff5a5a66;color:#ffc7c7}.bp-clear:hover{border-color:#ff5a5ab3}.bp-export{width:100%;margin-top:8px;background:#3dff8b1f;border-color:#3dff8b66;color:#c7ffdd}.bp-out{width:100%;height:150px;margin-top:6px;font-family:ui-monospace,monospace;font-size:.66rem;background:#0006;color:#cfe0ff;border:1px solid var(--panel-border);border-radius:7px;padding:6px}.opp-mode-row{display:flex;gap:8px;align-items:stretch}.opp-mode-row .opp-mode{flex:1 1 auto}.opp-train-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 14px;font-family:inherit;font-size:1rem;font-weight:600;letter-spacing:.01em;color:#ffceaa;background:#ff7a1a1a;border:1px solid rgba(255,122,26,.45);border-radius:10px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.opp-train-btn:hover{background:#ff7a1a33;border-color:#ff7a1abf;color:#fff}.opp-train-btn:disabled{cursor:not-allowed;color:var(--dim);background:#ffffff0b;border-color:#ffffff21}.train-chapters{display:flex;flex-direction:column;gap:8px;margin:4px 0 6px}.train-chapter{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;padding:11px 13px;border-radius:12px;font-family:inherit;border:1px solid rgba(255,122,26,.3);background:#ff7a1a0f;transition:filter .12s ease,transform .05s ease,border-color .12s ease}.train-chapter:hover{filter:brightness(1.15);border-color:#ff7a1a99}.train-chapter:active{transform:translateY(1px)}.train-chapter-n{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-family:Orbitron,sans-serif;font-weight:800;font-size:.85rem;color:var(--orange);border:1.5px solid rgba(255,122,26,.55);box-shadow:0 0 8px #ff7a1a40}.train-chapter-tx{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.train-chapter-t{font-family:Rajdhani,sans-serif;font-weight:700;font-size:1rem;color:#fff}.train-chapter-b{font-family:Rajdhani,sans-serif;font-size:.82rem;color:var(--dim)}.train-chapter-go{flex:0 0 auto;color:var(--orange);font-size:1.1rem}.train-chapter-tag{font-family:Rajdhani,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#06210f;background:var(--orange);padding:1px 6px;border-radius:999px;vertical-align:middle;margin-left:6px}.train-chapter-badge{flex:0 0 auto;font-family:Rajdhani,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--green);border:1px solid rgba(61,255,139,.5);background:#3dff8b1a;padding:2px 7px;border-radius:999px;white-space:nowrap}.train-chapter.is-done{border-color:#3dff8b59;background:#3dff8b0f}.train-chapter.is-done .train-chapter-n{color:var(--green);border-color:#3dff8b99;box-shadow:0 0 8px #3dff8b47}.train-chapter.is-done .train-chapter-go{color:var(--green)}.train-chapter.is-next{border-color:#ff7a1abf;box-shadow:0 0 14px #ff7a1a33}.train-progress{display:flex;align-items:center;gap:10px;margin:2px 0 10px;min-height:18px}.train-count{font-family:Rajdhani,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--dim);white-space:nowrap}.train-bar{flex:1 1 auto;height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.train-bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--orange),#ffb84d)}.train-grad{font-family:Rajdhani,sans-serif;font-size:.86rem;font-weight:700;letter-spacing:.02em;color:var(--green)}.tut-title{font-family:Orbitron,sans-serif;font-size:1rem;letter-spacing:.04em;color:#fff;margin:0 0 6px;text-wrap:balance}.tut-big-title .tut-title{font-size:1.4rem;line-height:1.22;letter-spacing:.02em;margin:2px 0 12px;text-wrap:balance}.tut-body{margin:0;font-size:.92rem;line-height:1.5;color:var(--text)}.tut-tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:650;pointer-events:auto}.tut-tour-hole{position:fixed;border-radius:12px;pointer-events:none;box-shadow:0 0 0 100vmax #050914d1,0 0 0 2px #ff9d52e6,0 0 24px 5px #ff9d5273;transition:top .3s ease,left .3s ease,width .3s ease,height .3s ease}.tut-tour-card{position:fixed;z-index:651;width:min(300px,calc(100vw - 32px));background:var(--panel, #0f1830);border:1px solid var(--panel-border, rgba(90, 130, 220, .3));border-radius:14px;padding:14px 16px;box-shadow:0 16px 44px #0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:top .3s ease,left .3s ease}.tut-tour-title{margin:0 0 4px;font-family:Orbitron,sans-serif;font-weight:700;font-size:1rem;color:#fff}.tut-tour-body{margin:0 0 12px;font-size:.92rem;line-height:1.45;color:var(--text)}.tut-tour-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.tut-tour-nav{display:flex;align-items:center;gap:8px}.tut-tour-nav[hidden]{display:none}.tut-tour-arrow{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:#ffffff0f;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:var(--text);cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.tut-tour-arrow:hover:not(:disabled){background:#ffffff24;border-color:#ffffff4d}.tut-tour-arrow:disabled{opacity:.3;cursor:default}.tut-tour-dots{display:flex;gap:6px}.tut-tour-dot{width:7px;height:7px;border-radius:50%;background:#ffffff38}.tut-tour-dot.on{background:var(--green, #3dff8b)}.tut-tour-next{background:var(--green, #3dff8b);color:#06220f;border:0;border-radius:9px;padding:7px 16px;font-weight:700;font-size:.9rem;cursor:pointer}.tut-tour-next:hover{filter:brightness(1.08)}@media (prefers-reduced-motion: reduce){.tut-tour-hole,.tut-tour-card{transition:none}}body.tut-touring .tut-nav,body.tut-touring .tut-scroll,body.tut-touring .tut-foot{visibility:hidden}.tut-bullets{margin:9px 0 0;padding:0 0 0 1.25em;list-style:none;display:flex;flex-direction:column;gap:7px}.tut-bullets li{position:relative;line-height:1.45}.tut-bullets li:before{content:"";position:absolute;left:-1em;top:.52em;width:5px;height:5px;border-radius:50%;background:#ff7a1a}.tut-numlist{margin:9px 0 0;padding:0 0 0 1.9em;list-style:none;display:flex;flex-direction:column;gap:8px;counter-reset:tutnum}.tut-numlist li{position:relative;line-height:1.45;counter-increment:tutnum}.tut-numlist li:before{content:counter(tutnum);position:absolute;left:-1.9em;top:.08em;width:1.35em;height:1.35em;border-radius:50%;background:#ffd23f29;border:1.5px solid #ffd23f;color:#ffd23f;font-weight:800;font-size:.82em;line-height:1;display:flex;align-items:center;justify-content:center}.tut-earned{margin:2px 0 6px;padding:12px 14px;border-radius:12px;border:1px solid rgba(61,255,139,.34);background:#3dff8b12;box-shadow:0 0 18px #3dff8b1a}.tut-earned-head{text-align:center;font-weight:800;color:#c4ffdd;font-size:1.02em;margin-bottom:8px}.tut-earned-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}.tut-earned-list li{display:flex;align-items:center;gap:7px;font-weight:600}.tut-earned-list li:before{content:none}.tut-earned-ic{display:inline-flex;flex:0 0 auto}@keyframes tutEarnPop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.tut-earned-ic{animation:tutEarnPop .42s cubic-bezier(.22,1.2,.36,1) both;animation-delay:calc(var(--i, 0) * .14s + .08s)}body.anims-off .tut-earned-ic{animation:none}@media (prefers-reduced-motion: reduce){.tut-earned-ic{animation:none}}.tut-intro-lead.tut-lead-xl{font-size:clamp(1.16rem,4.6vw,1.42rem);line-height:1.42;text-align:center;text-wrap:balance;margin:20px 4px 10px}.tut-grad-lead{margin-top:4px}.tut-grad-cta{text-align:center;text-wrap:balance;font-size:1.04rem;font-weight:600;margin:12px 4px 2px;color:#e8eefc}.tut-wire{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:13px 10px;align-items:start;margin-top:8px}.tut-wire>.tut-glyph{justify-self:center;margin-top:5px}.tut-wire .wire-n{color:#ff7a1a;font-size:1.25em;font-weight:800}.tut-intro-lead{margin:0 0 2px;font-size:.98rem}.tut-wire-demo{margin-top:13px;padding:11px 12px 12px;border-radius:11px;border:1px solid rgba(255,122,26,.32);background:#ff7a1a0f}.tut-wire-pace{margin:10px 0 2px;font-size:.9rem;line-height:1.5;text-align:left;color:var(--dim)}.tut-portal-prompt{margin:11px 0 0;font-size:.86rem;line-height:1.45;text-align:left;opacity:.92}.tut-wire-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;cursor:pointer;outline:none;margin:16px 0 4px;touch-action:none;background:linear-gradient(90deg,#3dff8b29 0,#3dff8b29 22.7%,#ff7a1a29 22.7%,#ff7a1a29 45.5%,#2bb8ff29 45.5%,#2bb8ff29 68.2%,#ffd23f29 68.2%,#ffd23f29)}@keyframes tutThumbPulse{0%,to{box-shadow:0 0 8px #ffffff73}50%{box-shadow:0 0 19px #fffffff2}}.tut-wire-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--thumb, #3dff8b);border:2px solid rgba(255,255,255,.9);box-shadow:0 0 9px #ffffff80;cursor:grab;animation:tutThumbPulse 2.4s ease-in-out infinite}.tut-wire-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--thumb, #3dff8b);border:2px solid rgba(255,255,255,.9);box-shadow:0 0 9px #ffffff80;cursor:grab;animation:tutThumbPulse 2.4s ease-in-out infinite}.tut-wire-slider.pulse-off::-webkit-slider-thumb{animation:none}.tut-wire-slider.pulse-off::-moz-range-thumb{animation:none}body.anims-off .tut-wire-slider::-webkit-slider-thumb{animation:none}body.anims-off .tut-wire-slider::-moz-range-thumb{animation:none}@media (prefers-reduced-motion: reduce){.tut-wire-slider::-webkit-slider-thumb{animation:none}.tut-wire-slider::-moz-range-thumb{animation:none}}.tut-wire-slider:focus-visible{outline:2px solid var(--green, #3dff8b);outline-offset:3px}.tut-wire-count{margin-top:9px;font-size:.9rem;text-align:center}.tut-wire-count .wire-num{font-size:1.15em;font-weight:800;transition:color .18s ease}.tut-portal-icons{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;justify-content:center}.pico{display:flex;flex-direction:column;align-items:center;gap:3px;opacity:.5;transition:opacity .18s ease}.pico.on{opacity:1}.pico-glyph{line-height:0}.tut-portalseq{display:inline-flex;gap:9px;margin:8px 0 2px 8px;vertical-align:middle}.tut-pseq{position:relative;display:inline-flex;width:26px;height:26px;line-height:0}.tut-pseq .off,.tut-pseq .on{position:absolute;top:0;right:0;bottom:0;left:0}.tut-pseq .on{opacity:0;animation-duration:5.5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.tut-pseq[data-i="0"] .on{animation-name:tutPseq0}.tut-pseq[data-i="1"] .on{animation-name:tutPseq1}.tut-pseq[data-i="2"] .on{animation-name:tutPseq2}.tut-pseq[data-i="3"] .on{animation-name:tutPseq3}@keyframes tutPseq0{0%,7%{opacity:0}12%,90%{opacity:1}95%,to{opacity:0}}@keyframes tutPseq1{0%,21%{opacity:0}26%,90%{opacity:1}95%,to{opacity:0}}@keyframes tutPseq2{0%,35%{opacity:0}40%,90%{opacity:1}95%,to{opacity:0}}@keyframes tutPseq3{0%,49%{opacity:0}54%,90%{opacity:1}95%,to{opacity:0}}body.anims-off .tut-pseq .on{animation:none;opacity:1}@media (prefers-reduced-motion: reduce){.tut-pseq .on{animation:none;opacity:1}}.tut-portalword{font-family:Orbitron,sans-serif;letter-spacing:.02em}.tut-lance-inline{display:inline-block;vertical-align:-.12em;margin-right:3px;line-height:0}.tut-lance-inline svg{display:inline-block;vertical-align:middle}.tut-sqgrid{display:inline-block;width:22px;height:22px;vertical-align:baseline;overflow:hidden;margin:0 4px;border-radius:3px;border:1px solid rgba(120,160,255,.55);background:conic-gradient(#243a66 .25turn,#0b1430 .25turn,#0b1430 .5turn,#243a66 .5turn,#243a66 .75turn,#0b1430 .75turn)}:root{--tut-hopsq-dark: #0b1430}.tut-hopcue-dark rect[fill=none]{stroke-width:1.6px}.tut-lance-list{list-style:none;margin:8px 0 12px;padding:0}.tut-lance-list li{padding:3px 0 3px 30px;text-indent:-30px;line-height:1.45}.tut-move-goals li{opacity:.42;transition:opacity .3s ease,transform .3s ease;transform-origin:left center}.tut-move-goals li .tut-lance-inline{filter:grayscale(.85) brightness(.85);transition:filter .3s ease}.tut-move-goals li.done{opacity:1}.tut-move-goals li.done .tut-lance-inline{filter:drop-shadow(0 0 4px rgba(61,255,139,.65))}.tut-move-goals li.just-done{animation:tutGoalPop .5s ease}@keyframes tutGoalPop{0%{transform:scale(1)}35%{transform:scale(1.05)}to{transform:scale(1)}}.tut-move-goals li.tut-goal-preview{opacity:1;transform:scale(1.05)}.tut-move-goals li.tut-goal-preview .tut-lance-inline{filter:drop-shadow(0 0 6px rgba(61,255,139,.9))}body.anims-off .tut-move-goals li,body.anims-off .tut-move-goals li .tut-lance-inline{transition:none}body.anims-off .tut-move-goals li.just-done{animation:none}@media (prefers-reduced-motion: reduce){.tut-move-goals li.just-done{animation:none}.tut-move-goals li.tut-goal-preview{transform:none}}.tut-no-list{list-style:none;margin:8px 0 4px;padding:0}.tut-no-list li{display:flex;align-items:center;gap:7px;padding:3px 0;line-height:1.4}.tut-no-inline{flex:0 0 auto;display:inline-flex;line-height:0}.tut-roller-split{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-start}.tut-roller-split>.tut-move-goals{flex:1 1 150px;min-width:0;margin:6px 0 2px}.tut-never-box{flex:0 1 auto;margin-top:6px;border:1px solid rgba(255,77,94,.32);border-radius:10px;padding:6px 11px;background:#ff4d5e0f}.tut-never-box .tut-no-list{margin:0}.tut-no{width:17px;height:17px;display:block}.tut-card [style*="color:"],.tut-tophint [style*="color:"]{font-weight:700}@keyframes tutPulseRed{0%,to{opacity:1;text-shadow:0 0 7px rgba(255,77,94,.75)}50%{opacity:.55;text-shadow:0 0 2px rgba(255,77,94,.2)}}.tut-pulse-red{color:#ff4d5e;font-weight:700;animation:tutPulseRed 1.05s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.tut-pulse-red{animation:none}}.tut-goal{color:#ffd23f;font-weight:800;letter-spacing:.07em}.tut-glyph{display:inline-block;width:19px;height:19px;line-height:0;vertical-align:-.34em;margin:0 1px}.tut-glyph svg{width:19px;height:19px}.tut-task{display:flex;gap:8px;align-items:flex-start;margin-top:11px;padding:9px 12px;border-radius:10px;font-size:.9rem;line-height:1.4;color:var(--text);border:1.5px solid rgba(255,122,26,.5);background:#ff7a1a14}.tut-task[hidden]{display:none}.tut-tophint{display:flex;gap:8px;align-items:center;justify-content:center;margin:3px auto 2px;width:min(430px,82vw,54vh);box-sizing:border-box;min-height:5.6rem;padding:9px 11px;border-radius:11px;font-size:.96rem;line-height:1.35;text-align:center;color:var(--text);border:1.5px solid rgba(255,122,26,.55);background:#ff7a1a1a;box-shadow:0 0 18px #ff7a1a1a}@keyframes tutHintFlash{0%{filter:brightness(1)}28%{filter:brightness(1.5) drop-shadow(0 0 12px rgba(255,255,255,.45))}to{filter:brightness(1)}}.tut-tophint.tut-hint-flash{animation:tutHintFlash .6s ease-out 1}body.anims-off .tut-tophint.tut-hint-flash{animation:none}@media (prefers-reduced-motion: reduce){.tut-tophint.tut-hint-flash{animation:none}}.tut-findglow-ring{fill:none;stroke:#ffb84d;stroke-width:2.4;pointer-events:none;filter:drop-shadow(0 0 6px rgba(255,184,77,.95)) drop-shadow(0 0 13px rgba(255,184,77,.55));animation:tutFindGlow .7s ease-in-out 3}@keyframes tutFindGlow{0%,to{opacity:1}50%{opacity:.3}}body.anims-off .tut-findglow-ring{animation:none}@media (prefers-reduced-motion: reduce){.tut-findglow-ring{animation:none}}.tut-tophint.cheer{color:#86ffbb;font-weight:700;border-color:#3dff8be6;background:#3dff8b26;box-shadow:0 0 22px #3dff8b4d;animation:tutCheerFlash .6s ease-out 2}.tut-tophint.cheer b{color:#c4ffdd}@keyframes tutCheerFlash{0%{border-color:#3dff8be6;box-shadow:0 0 22px #3dff8b4d}50%{border-color:#3dff8b;box-shadow:0 0 36px #3dff8bcc}to{border-color:#3dff8be6;box-shadow:0 0 22px #3dff8b4d}}body.anims-off .tut-tophint.cheer{animation:none}@media (prefers-reduced-motion: reduce){.tut-tophint.cheer{animation:none}}.tut-tophint.portalcue{color:#d6ffe9;border-color:#3dff8bd9;background:#3dff8b1f;box-shadow:0 0 20px #3dff8b47}.tut-tophint.gold{color:#fff3c9;font-weight:700;border-color:#ffd23ff2;background:#ffd23f29;box-shadow:0 0 26px #ffd23f66}.tut-tophint.gold b{color:#ffe28a}.tut-tophint[hidden]{display:none}.tut-tophint:empty{border-color:transparent;background:transparent;box-shadow:none}.tut-tophint .tut-glyph{flex:0 0 auto}.tut-tophint.warn{color:#ffe2bd;border-color:#ffb84dd9;background:#ffb84d29;box-shadow:0 0 20px #ffb84d33}.tut-tophint.milestone{color:#e6fff0;font-weight:600;letter-spacing:.01em;border:2px solid rgba(61,255,139,.9);background:#3dff8b29;box-shadow:0 0 26px #3dff8b57;text-align:left}.tut-tophint.milestone .tut-hint-star{flex:0 0 auto;color:#3dff8b;font-size:1.1rem;text-shadow:0 0 12px rgba(61,255,139,.6)}.tut-hint-x{flex:0 0 auto;margin-left:auto;width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid rgba(61,255,139,.55);background:#040a1459;color:#cfffe0;font-size:1.15rem;line-height:1;cursor:pointer;padding:0}.tut-hint-x:hover{background:#3dff8b38;border-color:#3dff8be6}.tut-hint-x:focus-visible{outline:2px solid #3dff8b;outline-offset:2px}.tut-tophint.milestone.warn{color:#ffe2bd;border-color:#ffb84df2;background:#ffb84d29;box-shadow:0 0 26px #ffb84d4d}.tut-tophint.milestone.warn .tut-hint-star{color:#ffb84d;text-shadow:0 0 12px rgba(255,184,77,.6)}.tut-tophint.milestone.warn .tut-hint-x{border-color:#ffb84d99;color:#ffe2bd}.tut-tophint.milestone.warn .tut-hint-x:hover{background:#ffb84d38;border-color:#ffb84df2}.tut-tophint.milestone.m-orange{color:#ffe4c8;border-color:#ff7a1af2;background:#ff7a1a29;box-shadow:0 0 26px #ff7a1a52}.tut-tophint.milestone.m-orange .tut-hint-star{color:#ff7a1a;text-shadow:0 0 12px rgba(255,122,26,.6)}.tut-tophint.milestone.m-orange .tut-hint-x{border-color:#ff7a1a99;color:#ffe4c8}.tut-tophint.milestone.m-orange .tut-hint-x:hover{background:#ff7a1a38;border-color:#ff7a1af2}.tut-tophint.milestone.m-blue{color:#d6ecff;border-color:#2bb8fff2;background:#2bb8ff29;box-shadow:0 0 26px #2bb8ff52}.tut-tophint.milestone.m-blue .tut-hint-star{color:#2bb8ff;text-shadow:0 0 12px rgba(43,184,255,.6)}.tut-tophint.milestone.m-blue .tut-hint-x{border-color:#2bb8ff99;color:#d6ecff}.tut-tophint.milestone.m-blue .tut-hint-x:hover{background:#2bb8ff38;border-color:#2bb8fff2}.tut-tophint.milestone.m-yellow{color:#fff0c2;border-color:#ffd23ff2;background:#ffd23f29;box-shadow:0 0 26px #ffd23f57}.tut-tophint.milestone.m-yellow .tut-hint-star{color:#ffd23f;text-shadow:0 0 12px rgba(255,210,63,.6)}.tut-tophint.milestone.m-yellow .tut-hint-x{border-color:#ffd23f99;color:#fff0c2}.tut-tophint.milestone.m-yellow .tut-hint-x:hover{background:#ffd23f38;border-color:#ffd23ff2}.tut-mstone{--acc: #3dff8b;--acc-rgb: 61, 255, 139;position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:12px;background:#060a1294;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);animation:tutMstoneIn .16s ease-out}.tut-mstone.m-orange{--acc: #ff7a1a;--acc-rgb: 255, 122, 26}.tut-mstone.m-blue{--acc: #2bb8ff;--acc-rgb: 43, 184, 255}.tut-mstone.m-yellow{--acc: #ffd23f;--acc-rgb: 255, 210, 63}.tut-mstone.warn{--acc: #ffb84d;--acc-rgb: 255, 184, 77}.tut-mstone-card{display:flex;gap:9px;align-items:flex-start;max-width:min(94%,380px);padding:13px 15px;border-radius:13px;font-size:.9rem;line-height:1.4;text-align:left;color:#eefaf3;border:2px solid rgba(var(--acc-rgb),.92);background:#090f18f7;box-shadow:0 18px 44px -16px #000000e6,0 0 30px rgba(var(--acc-rgb),.4)}.tut-mstone-card .tut-hint-star{flex:0 0 auto;color:var(--acc);font-size:1.15rem;line-height:1.2;text-shadow:0 0 12px rgba(var(--acc-rgb),.6)}.tut-mstone-msg{flex:1 1 auto}.tut-mstone-card .tut-hint-x{flex:0 0 auto;margin-left:4px;border-color:rgba(var(--acc-rgb),.6);color:#eaf6ff}.tut-mstone-card .tut-hint-x:hover{background:rgba(var(--acc-rgb),.22);border-color:rgba(var(--acc-rgb),.95)}.tut-mstone-card .tut-hint-x:focus-visible{outline:2px solid var(--acc);outline-offset:2px}@keyframes tutMstoneIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.tut-mstone{animation:none}}.tut-tophint.nowtry{flex-direction:column;align-items:stretch;gap:7px;justify-content:flex-start;color:#e6fff5;font-weight:600;text-align:left;border:2px solid rgba(61,255,139,.9);background:#3dff8b1f;box-shadow:0 0 26px #3dff8b4d}.tut-nowtry-badge{display:block;width:100%;text-align:center;box-sizing:border-box;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#04140b;background:#3dff8b;border-radius:8px;padding:4px 8px;box-shadow:0 0 12px #3dff8b80;animation:tut-nowtry-pulse 1.7s ease-in-out infinite}@keyframes tut-nowtry-pulse{0%,to{box-shadow:0 0 8px #3dff8b66}50%{box-shadow:0 0 20px #3dff8bd9}}@media (prefers-reduced-motion: reduce){.tut-nowtry-badge{animation:none}}.tut-hoverlabel{position:fixed;z-index:160;pointer-events:none;padding:5px 11px;border-radius:8px;font-size:.82rem;font-weight:600;color:var(--text);white-space:nowrap;background:#070c1cf5;border:1px solid rgba(255,210,63,.65);box-shadow:0 4px 14px #00000080}.tut-hoverlabel[hidden]{display:none}.tut-tophint:has(.tut-mission){flex-direction:column;gap:7px;padding:0;min-height:0;border-color:transparent;background:transparent;box-shadow:none}.tut-tophint>span:has(.tut-mission){display:flex;flex-direction:column;gap:7px;width:100%}.tut-mission{width:100%;box-sizing:border-box;padding:9px 13px;border-radius:10px;font-size:.88rem;line-height:1.35;text-align:left;display:flex;flex-direction:column;gap:8px;border:1.5px solid rgba(255,210,63,.6);background:#ffd23f14}.tut-mission-txt{flex:0 0 auto}.tut-mgrid{display:block;width:100%;max-width:330px;height:auto;margin:1px auto 0}.tut-mission-div{display:flex;align-items:center;gap:10px;width:100%;color:#ffd23f;font-size:1.4rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 14px rgba(255,210,63,.6);animation:tutWaysPulse 2.6s ease-in-out infinite}.tut-mission-div:before,.tut-mission-div:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(255,210,63,.6),transparent)}@keyframes tutWaysPulse{0%,to{opacity:.62;text-shadow:0 0 6px rgba(255,210,63,.35)}50%{opacity:1;text-shadow:0 0 16px rgba(255,210,63,.85)}}body.anims-off .tut-mission-div{animation:none;opacity:1}.tut-section-head{width:100%;margin:10px 0 2px;text-align:left;color:#e8eefce6;font-size:1.02rem;font-weight:700}.tut-victory{position:fixed;top:0;right:0;bottom:0;left:0;z-index:640;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 46%,#ffd23f4d,#ffd23f00 62%),#04060ff7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden;animation:tutVicIn .45s ease-out;cursor:pointer}.tut-victory.is-out{opacity:0;transition:opacity .32s ease}.tut-victory-ring{position:absolute;width:180px;height:180px;border-radius:50%;border:4px solid #ffd23f;box-shadow:0 0 42px #ffd23fbf,inset 0 0 26px #ffd23f80;animation:tutVicRing 1.5s ease-out infinite}.tut-victory-ring.r2{animation-delay:.75s}.tut-victory-text{position:relative;text-align:center;color:#fff8e1;text-shadow:0 0 24px rgba(255,210,63,.8);padding:0 18px}.tut-victory-text b{display:block;font-size:clamp(1.6rem,6vw,2.6rem);letter-spacing:.22em;color:#ffd23f;font-weight:800;-webkit-text-stroke:1px rgba(0,0,0,.9);text-shadow:-1.5px -1.5px 0 rgba(0,0,0,.9),1.5px -1.5px 0 rgba(0,0,0,.9),-1.5px 1.5px 0 rgba(0,0,0,.9),1.5px 1.5px 0 rgba(0,0,0,.9),0 0 24px rgba(255,210,63,.8)}.tut-victory-text b+b{margin-top:10px}@keyframes tutVicIn{0%{opacity:0}}@keyframes tutVicRing{0%{transform:scale(.4);opacity:1}to{transform:scale(3.4);opacity:0}}body.anims-off .tut-victory{animation:none}body.anims-off .tut-victory-ring{animation:none;opacity:.85;transform:scale(1.15)}body.anims-off .tut-victory-ring.r2{opacity:.5;transform:scale(2.1)}@media (prefers-reduced-motion: reduce){.tut-victory-ring{animation:none;opacity:.85;transform:scale(1.15)}.tut-victory-ring.r2{opacity:.5;transform:scale(2.1)}}.tut-biz-burst{position:fixed;z-index:320;pointer-events:none}.tut-biz-ring{position:absolute;left:0;top:0;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;border:3px solid #ffd23f;box-shadow:0 0 20px #ffd23f80,inset 0 0 12px #ffd23f52;animation:tutBizRing 1s ease-out forwards}.tut-biz-ring.r2{animation-delay:.26s}.tut-biz-burst.tone-green .tut-biz-ring{border-color:#3dff8b;box-shadow:0 0 20px #3dff8b80,inset 0 0 12px #3dff8b52}.tut-biz-burst.tone-orange .tut-biz-ring{border-color:#ff7a1a;box-shadow:0 0 20px #ff7a1a80,inset 0 0 12px #ff7a1a52}.tut-biz-burst.tone-blue .tut-biz-ring{border-color:#2bb8ff;box-shadow:0 0 20px #2bb8ff80,inset 0 0 12px #2bb8ff52}@keyframes tutBizRing{0%{transform:scale(.35);opacity:.95}to{transform:scale(2.3);opacity:0}}body.anims-off .tut-biz-ring{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.tut-biz-ring{animation:none;opacity:0}}.tut-h8line{fill:none;stroke:#ffd23f;stroke-width:3.4;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);filter:drop-shadow(0 0 4px #ffd23f) drop-shadow(0 0 9px rgba(255,210,63,.55));animation:tutH8Draw 1.15s cubic-bezier(.4,0,.2,1) forwards}.tut-h8head{fill:#ffd23f;opacity:0;filter:drop-shadow(0 0 4px #ffd23f);animation:tutH8Head .3s ease-out forwards}.tut-h8arrows{animation:tutH8Fade 1.7s forwards}@keyframes tutH8Draw{to{stroke-dashoffset:0}}@keyframes tutH8Head{to{opacity:1}}@keyframes tutH8Fade{0%,70%{opacity:1}to{opacity:0}}body.anims-off .tut-h8line,body.anims-off .tut-h8head{animation:none;stroke-dashoffset:0;opacity:1}body.anims-off .tut-h8arrows{animation:tutH8Fade 1.8s forwards}@media (prefers-reduced-motion: reduce){.tut-h8line,.tut-h8head{animation:none;stroke-dashoffset:0;opacity:1}.tut-h8arrows{animation:tutH8Fade 1.8s forwards}}.tut-hint-line{fill:none;stroke:#ffd23f;stroke-width:3.2;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);filter:drop-shadow(0 0 4px #ffd23f) drop-shadow(0 0 9px rgba(255,210,63,.5));animation:tutHintDraw .6s cubic-bezier(.4,0,.2,1) forwards}.tut-hint-head{fill:#ffd23f;opacity:0;filter:drop-shadow(0 0 4px #ffd23f);animation:tutHintHead .3s .5s ease-out forwards}.tut-hint-arrow{animation:tutHintPulse 1.6s 1s ease-in-out infinite}@keyframes tutHintDraw{to{stroke-dashoffset:0}}@keyframes tutHintHead{to{opacity:1}}@keyframes tutHintPulse{0%,to{opacity:1}50%{opacity:.5}}.tut-hint-lead{color:#ffd23f}body.anims-off .tut-hint-line{animation:none;stroke-dashoffset:0}body.anims-off .tut-hint-head{animation:none;opacity:1}body.anims-off .tut-hint-arrow{animation:none}@media (prefers-reduced-motion: reduce){.tut-hint-line{animation:none;stroke-dashoffset:0}.tut-hint-head{animation:none;opacity:1}.tut-hint-arrow{animation:none}}.tut-disc-count{color:#3dff8b;font-weight:700;white-space:nowrap}.tut-disc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tut-disc-count-cell{display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 10px;border-radius:11px;font-size:.86rem;border:1px solid rgba(61,255,139,.55);background:#3dff8b17}.tut-disc{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%;display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:11px;border:1px solid var(--panel-border);background:#ffffff05;opacity:.5;filter:grayscale(.7);transition:opacity .2s ease,filter .2s ease,border-color .2s ease,background .2s ease}.tut-disc:focus-visible{outline:2px solid #3dff8b;outline-offset:2px}.tut-disc-thumb{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center}.tut-disc-thumb svg{width:30px;height:30px}.tut-disc-gridthumb{width:30px!important;height:auto!important}.tut-disc-name{font-size:.86rem;font-weight:600;color:var(--text);line-height:1.15}.tut-disc-tick{display:none}.tut-portalcycle{position:relative;display:inline-block}.tut-portalcycle .tut-pcyc-f{position:absolute;top:0;right:0;bottom:0;left:0;display:inline-flex}.tut-portalcycle .pcyc0{animation:tutPcyc 3s linear infinite}.tut-portalcycle .pcyc1{animation:tutPcyc 3s linear infinite;animation-delay:1s}.tut-portalcycle .pcyc2{animation:tutPcyc 3s linear infinite;animation-delay:2s}@keyframes tutPcyc{0%,28%{opacity:1}36%,94%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.tut-portalcycle .pcyc1,.tut-portalcycle .pcyc2{animation:none;opacity:0}.tut-portalcycle .pcyc0{animation:none;opacity:1}}body.anims-off .tut-portalcycle .pcyc1,body.anims-off .tut-portalcycle .pcyc2{animation:none;opacity:0}body.anims-off .tut-portalcycle .pcyc0{animation:none;opacity:1}.tut-disc.found{opacity:1;filter:none;border-color:#3dff8b8c;background:#3dff8b17}.tut-disc.found .tut-disc-tick{border-color:#3dff8b;background:#3dff8b;box-shadow:inset 0 0 0 2px #070b14d9}.tut-disc.just-found{animation:tutDiscPop .7s cubic-bezier(.34,1.56,.64,1);z-index:1;transform-origin:center bottom}@keyframes tutDiscPop{0%{transform:scale(1);box-shadow:0 0 #3dff8b00}35%{transform:scale(1.07);box-shadow:0 0 0 3px #3dff8b66,0 0 18px #3dff8b73}to{transform:scale(1);box-shadow:0 0 #3dff8b00}}.tut-disc-burst .tut-biz-ring{width:46px;height:46px;margin:-23px 0 0 -23px;border-width:2px}.tut-pgmini{display:block;width:min(210px,82%);height:auto;margin:8px auto 0}.tut-pggly{height:.92em;width:auto;vertical-align:-.12em;margin:0 3px}.tut-title.tut-title-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.tut-move-demo{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:11px 0}.tut-explore-turns{display:flex;align-items:center;gap:18px;margin:11px 0;flex-wrap:wrap}.tut-explore-turns .tut-move-demo{margin:0}.tut-turn-count{display:flex;flex-direction:column;align-items:center;gap:14px;margin-left:auto;padding:16px 24px;border:1.5px solid rgba(255,122,26,.55);border-radius:16px;background:#ff7a1a17;box-shadow:0 0 18px #ff7a1a1f}.tut-turn-count-pips{display:flex;gap:13px}.tut-turn-count-pips span{width:23px;height:23px;border-radius:50%;background:#ff7a1a;box-shadow:0 0 11px #ff7a1ab3;transition:background .3s ease,box-shadow .3s ease,transform .3s ease}.tut-turn-count-pips span.off{background:#ff7a1a33;box-shadow:none;transform:scale(.8)}.tut-turn-count-txt{font-weight:700;font-size:1.34rem;color:#ff7a1a;white-space:nowrap}@media (prefers-reduced-motion: reduce){.tut-turn-count-pips span{transition:none}}.tut-yportal{display:inline-flex;flex-direction:column;align-items:center;gap:7px}.tut-yportal-pips{display:flex;gap:9px}.tut-yportal-pips span{width:15px;height:15px;border-radius:50%;background:#ffd23f;box-shadow:0 0 8px #ffd23f99;transition:background .3s ease,transform .3s ease}.tut-yportal-pips span.off{background:#ffd23f38;box-shadow:none;transform:scale(.8)}.tut-yportal-txt{font-weight:700}body.anims-off .tut-yportal-pips span{transition:none}@media (prefers-reduced-motion: reduce){.tut-yportal-pips span{transition:none}}.tut-bizrule{margin:11px 0 0;line-height:1.45}.turn-badge.tut-move-badge{font-size:.9rem;padding:5px 13px;cursor:default}.tut-capdemo-cap .turn-badge.tut-move-badge{display:inline-block;font-size:.82rem;padding:3px 11px}.turn-badge.tut-endturn-demo{margin-top:3px;border-color:#3dff8b99;box-shadow:0 0 12px #3dff8b38}.tut-wire-demo:not(.tut-reveal-hidden){animation:tutRevealIn .35s ease both}@keyframes tutRevealIn{0%{opacity:0}to{opacity:1}}body.anims-off .tut-wire-demo{animation:none!important}@media (prefers-reduced-motion: reduce){.tut-wire-demo{animation:none!important}}body.anims-off .tut-disc.just-found{animation:none}@media (prefers-reduced-motion: reduce){.tut-disc.just-found{animation:none}}@media (max-width: 380px){.tut-disc-list{grid-template-columns:1fr}}.tut-capdemo-btns{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.tut-capdemo-btn{flex:1 1 auto;display:inline-flex;align-items:center;gap:7px;justify-content:center;padding:9px 12px;border-radius:10px;cursor:pointer;font-family:Rajdhani,sans-serif;font-size:.9rem;font-weight:600;color:var(--text);border:1px solid rgba(61,255,139,.45);background:#3dff8b17;transition:background .12s ease,border-color .12s ease,transform .06s ease}.tut-capdemo-btn:hover{background:#3dff8b29;border-color:#3dff8bb3}.tut-capdemo-btn:active{transform:translateY(1px)}.tut-capdemo-btn .tut-glyph{flex:0 0 auto}.tut-capdemo-btns.tut-capdemo-col{flex-direction:column;gap:7px}.tut-capdemo-note{margin:4px 0 2px;font-size:.85rem;color:var(--muted);text-align:center}.tut-capdemo-btn.tut-capdemo-wide{width:100%;flex:0 0 auto;justify-content:flex-start;text-align:left}.tut-capdemo-lead{flex:0 0 19px}.tut-cap-num{color:#ff4d5e;font-weight:800;font-size:1.3em;animation:tutCapNum 1.5s ease-in-out infinite}@keyframes tutCapNum{0%,to{opacity:.6}50%{opacity:1;text-shadow:0 0 7px rgba(255,77,94,.75)}}body.anims-off .tut-cap-num{animation:none;opacity:1}@media (prefers-reduced-motion: reduce){.tut-cap-num{animation:none;opacity:1}}.tut-capdemo-btn.is-locked,.tut-capdemo-btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.6);border-color:var(--panel-border);background:#ffffff0a}.tut-capdemo-btn.is-locked:hover,.tut-capdemo-btn:disabled:hover{background:#ffffff0a;border-color:var(--panel-border)}.tut-capdemo-btns.tut-capdemo-pending{display:none}.tut-capdemo-btns.tut-capdemo-reveal{animation:tutCapReveal .34s ease both}@keyframes tutCapReveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}body.anims-off .tut-capdemo-btns.tut-capdemo-reveal{animation:none}@media (prefers-reduced-motion: reduce){.tut-capdemo-btns.tut-capdemo-reveal{animation:none}}.tut-capdemo-btn.just-unlocked{animation:tutUnlockPulse 1s ease 2}@keyframes tutUnlockPulse{0%,to{box-shadow:0 0 #3dff8b00}50%{box-shadow:0 0 16px #3dff8b8c}}body.anims-off .tut-capdemo-btn.just-unlocked{animation:none}@media (prefers-reduced-motion: reduce){.tut-capdemo-btn.just-unlocked{animation:none}}.tut-capdemo-btn.tut-cta{animation:tutEndTurnPulse 1.15s ease-in-out infinite;border-color:#3dff8be6}body.anims-off .tut-capdemo-btn.tut-cta,.tut-capdemo-btn.tut-cta:hover{animation:none}@media (prefers-reduced-motion: reduce){.tut-capdemo-btn.tut-cta{animation:none}}.tut-capdemo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:12px;background:#060a129e;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);animation:tutMstoneIn .16s ease-out}.tut-capdemo-card{position:relative;width:min(320px,92%);padding:16px 16px 14px;border-radius:16px;background:linear-gradient(180deg,#10192b,#0c1322);border:1px solid rgba(61,255,139,.35);box-shadow:0 18px 60px #0009}.tut-capdemo-x{position:absolute;top:6px;right:8px;width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:1.3rem;line-height:1;color:var(--dim);background:transparent;border:1px solid transparent}.tut-capdemo-x:hover{color:var(--text);border-color:var(--panel-border);background:#ffffff0d}.tut-capdemo-title{font-family:Rajdhani,sans-serif;font-size:1rem;color:var(--text);text-align:center;margin:0 26px 8px}.tut-capdemo-board{width:100%;height:auto;display:block;border-radius:10px;background:#0a1122}.tut-capdemo-board .cd-cell-d{fill:#243a66}.tut-capdemo-board .cd-cell-l{fill:#2b447a}.tut-capdemo-board .cd-ring{stroke:#3dff8b}.tut-capdemo-cap{margin-top:9px;font-size:.88rem;line-height:1.4;color:var(--dim);text-align:center}@keyframes tutCritPulse{0%,to{filter:drop-shadow(0 0 1px rgba(255,210,63,.25))}50%{filter:drop-shadow(0 0 8px rgba(255,210,63,.95))}}.tut-capdemo-cap .tut-crit-pulse{animation:tutCritPulse 1.1s ease-in-out infinite}body.anims-off .tut-capdemo-cap .tut-crit-pulse{animation:none}@media (prefers-reduced-motion: reduce){.tut-capdemo-cap .tut-crit-pulse{animation:none}}.tut-type-caret{display:inline-block;width:2px;height:1.05em;margin-left:2px;border-radius:1px;background:var(--text);vertical-align:text-bottom;animation:tutCaretBlink 1.05s steps(1,end) infinite}@keyframes tutCaretBlink{0%,50%{opacity:1}50.01%,to{opacity:0}}body.anims-off .tut-type-caret{animation:none}@media (prefers-reduced-motion: reduce){.tut-type-caret{animation:none}}.tut-ways-pop{width:min(360px,94%);border-color:#ffd23f66;display:flex;flex-direction:column;gap:8px}.tut-ways-pop .tut-ways-lead{margin:2px 24px 2px 2px;font-size:.92rem;line-height:1.35;color:var(--text);text-align:center}.tut-ways-pop .tut-mission-div{font-size:1.05rem;letter-spacing:.1em}.tut-ways-pop .tut-mission{padding:8px 11px;font-size:.82rem;gap:6px}.tut-ways-pop .tut-mgrid{max-width:300px}.tut-bizrem-pop{width:min(372px,95%);border-color:#ffd23f66}.tut-bizrem{margin:6px 24px 2px 6px;font-size:.82rem;line-height:1.45;text-align:center}.tut-bi-arrow{display:inline-block;vertical-align:middle;margin:0 2px}.hm-board .hm-cell-d{fill:#0b1430}.hm-board .hm-cell-l{fill:#243a66}.rm-board .rm-cell-d{fill:#0b1430}.rm-board .rm-cell-l{fill:#243a66}.rm-board .rm-label{fill:#3dff8b;font-family:Rajdhani,sans-serif;font-size:22px;font-weight:700}.rm-num{color:#3dff8b}.jm-board .jm-cell-d{fill:#0b1430}.jm-board .jm-cell-l{fill:#243a66}.cd-attacker,.cd-stone,.cd-ring{transform-box:fill-box;transform-origin:center}.cd-ring{opacity:0}.cd-hop .cd-stone{filter:grayscale(1) brightness(.95);opacity:0}.cd-hop .cd-stone0{animation:cdStone0 15.2s linear infinite}.cd-hop .cd-stone1{animation:cdStone1 15.2s linear infinite}.cd-hop .cd-stone2{animation:cdStone2 15.2s linear infinite}.cd-hop .cd-stone3{animation:cdStone3 15.2s linear infinite}.tut-capdemo-board .cd-htgt{opacity:0}.tut-capdemo-board .cd-tgt0{animation:cdTgtC0 15.2s linear infinite}.tut-capdemo-board .cd-tgt1{animation:cdTgtC1 15.2s linear infinite}.tut-capdemo-board .cd-tgt2{animation:cdTgtC2 15.2s linear infinite}.tut-capdemo-board .cd-tgt3{animation:cdTgtC3 15.2s linear infinite}.cd-roll .cd-attacker{animation:cdRoll 3.8s cubic-bezier(.5,.05,.3,1) infinite}.cd-hop .cd-attacker{animation:cdHop 3.8s cubic-bezier(.5,.05,.3,1) infinite}.cd-jug .cd-attacker{animation:cdJug 3.8s cubic-bezier(.5,.05,.3,1) infinite}.tut-capdemo-board .cd-ring{animation:cdRing 3.8s ease-out infinite}@keyframes cdRoll{0%,7%{transform:translate(0);opacity:1}33%{transform:translate(144px);opacity:1}80%{transform:translate(144px);opacity:1}87%{transform:translate(144px);opacity:0}88%{transform:translate(0);opacity:0}97%,to{transform:translate(0);opacity:1}}@keyframes cdHop{0%,7%{transform:translate(0);opacity:1}20%{transform:translate(48px,-34px);opacity:1}33%{transform:translate(96px);opacity:1}80%{transform:translate(96px);opacity:1}87%{transform:translate(96px);opacity:0}88%{transform:translate(0);opacity:0}97%,to{transform:translate(0);opacity:1}}@keyframes cdJug{0%,12%{transform:translate(0);opacity:1}33%{transform:translate(48px);opacity:1}80%{transform:translate(48px);opacity:1}87%{transform:translate(48px);opacity:0}88%{transform:translate(0);opacity:0}97%,to{transform:translate(0);opacity:1}}@keyframes cdRing{0%,30%{opacity:0;transform:scale(.3)}37%{opacity:.95;transform:scale(.55)}56%{opacity:0;transform:scale(2)}to{opacity:0;transform:scale(2)}}@keyframes cdStone0{0%,23%{opacity:1}26%{opacity:0}97%{opacity:0}to{opacity:1}}@keyframes cdStone1{0%,23%{opacity:0}26%,48%{opacity:1}51%,to{opacity:0}}@keyframes cdStone2{0%,48%{opacity:0}51%,73%{opacity:1}76%,to{opacity:0}}@keyframes cdStone3{0%,73%{opacity:0}76%,98%{opacity:1}to{opacity:0}}@keyframes cdTgtC0{0%,7%{opacity:1}9%,96%{opacity:0}to{opacity:1}}@keyframes cdTgtC1{0%,24%{opacity:0}26%,32%{opacity:1}34%,to{opacity:0}}@keyframes cdTgtC2{0%,49%{opacity:0}51%,57%{opacity:1}59%,to{opacity:0}}@keyframes cdTgtC3{0%,74%{opacity:0}76%,82%{opacity:1}84%,to{opacity:0}}@media (prefers-reduced-motion: reduce){.cd-attacker,.tut-capdemo-board .cd-ring,.cd-hop .cd-stone,.tut-capdemo-board .cd-htgt{animation:none}.tut-capdemo-board .cd-ring{opacity:0}.cd-hop .cd-stone0,.tut-capdemo-board .cd-tgt0{opacity:1}}body.anims-off .cd-attacker,body.anims-off .tut-capdemo-board .cd-ring,body.anims-off .cd-hop .cd-stone,body.anims-off .tut-capdemo-board .cd-htgt{animation:none}body.anims-off .tut-capdemo-board .cd-ring{opacity:0}body.anims-off .cd-hop .cd-stone0,body.anims-off .tut-capdemo-board .cd-tgt0{opacity:1}.cd-def .cd-ph0,.cd-def .cd-ph1,.cd-def .cd-ph2,.cd-def .cd-ph3,.cd-def .cd-cap0,.cd-def .cd-cap1,.cd-def .cd-cap2,.cd-def .cd-cap3,.cd-def .cd-def-jug,.cd-def .cd-def-ring{transform-box:fill-box;transform-origin:center}.cd-def .cd-ph0{animation:cdPh0 18s linear infinite}.cd-def .cd-ph1{animation:cdPh1 18s linear infinite}.cd-def .cd-ph2{animation:cdPh2 18s linear infinite}.cd-def .cd-ph3{animation:cdPh3 18s linear infinite}.cd-def .cd-cap0{animation:cdPh0 18s linear infinite,cdLng0 18s ease-in-out infinite}.cd-def .cd-cap1{animation:cdPh1 18s linear infinite,cdLng1 18s ease-in-out infinite}.cd-def .cd-cap2{animation:cdPh2 18s linear infinite,cdLng2 18s ease-in-out infinite}.cd-def .cd-cap3{animation:cdPh3 18s linear infinite,cdLng3 18s ease-in-out infinite}.cd-def .cd-def-jug{animation:cdDefJug 18s linear infinite}.cd-def .cd-def-ring{animation:cdDefRingP 18s ease-in-out infinite}.cd-def .cd-def-stone{filter:grayscale(1) brightness(.85)}@keyframes cdPh0{0%{opacity:0}2%,22%{opacity:1}25%,to{opacity:0}}@keyframes cdPh1{0%,24%{opacity:0}26%,47%{opacity:1}50%,to{opacity:0}}@keyframes cdPh2{0%,49%{opacity:0}51%,72%{opacity:1}75%,to{opacity:0}}@keyframes cdPh3{0%,74%{opacity:0}76%,97%{opacity:1}99%,to{opacity:0}}@keyframes cdLng0{0%,8%{transform:translate(0)}15%,22%{transform:translate(var(--dx),var(--dy))}25%,to{transform:translate(0)}}@keyframes cdLng1{0%,33%{transform:translate(0)}40%,47%{transform:translate(var(--dx),var(--dy))}50%,to{transform:translate(0)}}@keyframes cdLng2{0%,55%{transform:translate(0)}64%,72%{transform:translate(var(--dx),var(--dy))}75%,to{transform:translate(0)}}@keyframes cdLng3{0%,83%{transform:translate(0)}90%,97%{transform:translate(var(--dx),var(--dy))}99%,to{transform:translate(0)}}@keyframes cdDefJug{0%,12%{opacity:1}17%,22%{opacity:.12}26%,37%{opacity:1}42%,47%{opacity:.12}51%,62%{opacity:1}67%,72%{opacity:.12}76%,87%{opacity:1}92%,97%{opacity:.12}99%,to{opacity:1}}@keyframes cdDefRingP{0%,to{opacity:.45;transform:scale(.95)}15%,40%,65%,90%{opacity:1;transform:scale(1.06)}24%,49%,74%,99%{opacity:.4;transform:scale(.95)}}@media (prefers-reduced-motion: reduce){.cd-def .cd-ph0,.cd-def .cd-ph1,.cd-def .cd-ph2,.cd-def .cd-ph3,.cd-def .cd-cap0,.cd-def .cd-cap1,.cd-def .cd-cap2,.cd-def .cd-cap3,.cd-def .cd-def-jug,.cd-def .cd-def-ring{animation:none}.cd-def .cd-ph1,.cd-def .cd-ph2,.cd-def .cd-ph3,.cd-def .cd-cap1,.cd-def .cd-cap2,.cd-def .cd-cap3{opacity:0}.cd-def .cd-def-ring{opacity:.7}}body.anims-off .cd-def .cd-ph0,body.anims-off .cd-def .cd-ph1,body.anims-off .cd-def .cd-ph2,body.anims-off .cd-def .cd-ph3,body.anims-off .cd-def .cd-cap0,body.anims-off .cd-def .cd-cap1,body.anims-off .cd-def .cd-cap2,body.anims-off .cd-def .cd-cap3,body.anims-off .cd-def .cd-def-jug,body.anims-off .cd-def .cd-def-ring{animation:none}body.anims-off .cd-def .cd-ph1,body.anims-off .cd-def .cd-ph2,body.anims-off .cd-def .cd-ph3,body.anims-off .cd-def .cd-cap1,body.anims-off .cd-def .cd-cap2,body.anims-off .cd-def .cd-cap3{opacity:0}body.anims-off .cd-def .cd-def-ring{opacity:.7}.cd-bizcap .bz-atk,.cd-bizcap .bz-stone,.cd-bizcap .bz-biz,.cd-bizcap .bz-ring{transform-box:fill-box;transform-origin:center}.cd-bizcap .bz-ph0{animation:bzOp0 15s linear infinite}.cd-bizcap .bz-ph1{animation:bzOp1 15s linear infinite}.cd-bizcap .bz-ph2{animation:bzOp2 15s linear infinite}.cd-bizcap .bz-atk.bz-ph0{animation:bzOp0 15s linear infinite,bzLng0 15s ease-in-out infinite}.cd-bizcap .bz-atk.bz-ph1{animation:bzOp1 15s linear infinite,bzLng1 15s ease-in-out infinite}.cd-bizcap .bz-atk.bz-ph2{animation:bzOp2 15s linear infinite,bzLng2 15s ease-in-out infinite}.cd-bizcap .bz-stone{filter:grayscale(1) brightness(.85)}.cd-bizcap .bz-biz{animation:bzBizHit 15s linear infinite}.cd-bizcap .bz-ring{animation:bzRing 15s ease-in-out infinite}@keyframes bzOp0{0%{opacity:0}3%,30%{opacity:1}33%,to{opacity:0}}@keyframes bzOp1{0%,33%{opacity:0}36%,63%{opacity:1}66%,to{opacity:0}}@keyframes bzOp2{0%,66%{opacity:0}69%,96%{opacity:1}99%,to{opacity:0}}@keyframes bzLng0{0%,6%{transform:translate(0)}14%,24%{transform:translate(var(--dx))}30%,to{transform:translate(0)}}@keyframes bzLng1{0%,39%{transform:translate(0)}47%,57%{transform:translate(var(--dx))}63%,to{transform:translate(0)}}@keyframes bzLng2{0%,72%{transform:translate(0)}80%,90%{transform:translate(var(--dx))}96%,to{transform:translate(0)}}@keyframes bzBizHit{0%,14%{opacity:1}18%,22%{opacity:.35}26%,47%{opacity:1}51%,55%{opacity:.35}59%,80%{opacity:1}84%,88%{opacity:.35}92%,to{opacity:1}}@keyframes bzRing{0%,to{opacity:.5;transform:scale(.95)}18%,51%,84%{opacity:1;transform:scale(1.1)}30%,63%,96%{opacity:.5;transform:scale(.95)}}@media (prefers-reduced-motion: reduce){.cd-bizcap .bz-ph0,.cd-bizcap .bz-ph1,.cd-bizcap .bz-ph2,.cd-bizcap .bz-atk.bz-ph0,.cd-bizcap .bz-atk.bz-ph1,.cd-bizcap .bz-atk.bz-ph2,.cd-bizcap .bz-biz,.cd-bizcap .bz-ring{animation:none}.cd-bizcap .bz-ph1,.cd-bizcap .bz-ph2{opacity:0}.cd-bizcap .bz-ring{opacity:.7}}body.anims-off .cd-bizcap .bz-ph0,body.anims-off .cd-bizcap .bz-ph1,body.anims-off .cd-bizcap .bz-ph2,body.anims-off .cd-bizcap .bz-atk.bz-ph0,body.anims-off .cd-bizcap .bz-atk.bz-ph1,body.anims-off .cd-bizcap .bz-atk.bz-ph2,body.anims-off .cd-bizcap .bz-biz,body.anims-off .cd-bizcap .bz-ring{animation:none}body.anims-off .cd-bizcap .bz-ph1,body.anims-off .cd-bizcap .bz-ph2{opacity:0}body.anims-off .cd-bizcap .bz-ring{opacity:.7}.tut-def-head{text-align:left;font-family:Orbitron,sans-serif;font-size:1rem;letter-spacing:.04em;color:#fff;margin:16px 0 4px}.tut-def-head .tut-lance-inline{vertical-align:middle;margin:0 3px}.tut-def-head .tut-lance-flip{transform:scaleX(-1)}.tut-task.is-done{border-color:#ff7a1ad9;background:#ff7a1a29}.tut-note{margin-top:8px;padding:7px 11px;border-radius:9px;font-size:.84rem;line-height:1.35;color:#ffe2bd;border:1px solid rgba(255,184,77,.6);background:#ffb84d1f}.tut-note[hidden]{display:none}.tut-nav{display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:wrap;justify-content:center;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--panel-border)}.tut-nav .turn-card .turn-badge{padding:6px 11px;font-size:.9rem;white-space:nowrap}.tut-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:0 0 auto;justify-content:space-between;padding-top:10px;margin-top:10px;border-top:1px solid var(--panel-border)}.tut-skip{flex:0 0 auto}.tut-scroll .tut-chapter{margin-top:2px}.tut-back,.tut-alt{font-family:Rajdhani,sans-serif;font-size:.86rem;font-weight:600;color:var(--dim);background:transparent;border:1px solid var(--panel-border);border-radius:9px;padding:8px 12px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.tut-back:hover,.tut-alt:hover{color:var(--text);border-color:#78a0ff73;background:#78a0ff14}.tut-back[hidden],.tut-alt[hidden]{display:none}.tut-card.is-cleared{border-color:#3dff8b80;box-shadow:0 0 26px #3dff8b2e}.tut-card.is-cleared .tut-chapter{color:var(--green)}.tut-card.is-graduated{border-color:#ffb84db3;box-shadow:0 0 30px #ffb84d47}.tut-card.is-graduated .tut-chapter{color:#ffb84d}.tut-card.is-graduated .tut-nav{row-gap:10px}.tut-card.is-graduated .tut-alt{margin-left:auto}.tut-card.is-graduated .tut-switch{flex:1 1 100%;order:3}.tut-card.is-graduated .tut-switch .tut-next{flex:1 1 auto}.tut-skip{padding:8px 10px;font-size:.82rem;color:var(--dim);background:transparent;border:1px solid transparent;cursor:pointer}.tut-skip[hidden]{display:none}.tut-skip:hover{color:var(--text)}.tut-next{min-width:120px;padding:9px 18px}.tut-next:disabled{opacity:.45;cursor:default}.tut-next{scroll-margin-bottom:max(16px,env(safe-area-inset-bottom))}.tut-switch{display:inline-flex;align-items:stretch;flex:0 0 auto;border:1px solid var(--panel-border);border-radius:10px;overflow:hidden}.tut-switch .tut-back,.tut-switch .tut-next{border:0;border-radius:0;margin:0}.tut-switch .tut-back{border-right:1px solid var(--panel-border)}.dev-panel{position:fixed;left:12px;bottom:12px;z-index:60;width:216px;font-family:Rajdhani,sans-serif;background:#080e20eb;border:1px solid rgba(120,160,255,.4);border-radius:10px;box-shadow:0 6px 22px #0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.dev-head{display:flex;align-items:center;justify-content:space-between;padding:5px 6px 5px 9px;background:#78a0ff1f;border-bottom:1px solid rgba(120,160,255,.22)}.dev-tag{font-size:.68rem;font-weight:700;letter-spacing:.13em;color:#aecbff}.dev-min{width:20px;height:20px;line-height:1;padding:0;background:transparent;color:#aecbff;cursor:pointer;border:1px solid rgba(120,160,255,.4);border-radius:5px}.dev-panel.collapsed .dev-body{display:none}body.tut-active .dev-panel{display:none!important}.dev-body{padding:8px;display:flex;flex-direction:column;gap:6px}.dev-seg-row,.dev-btn-row{display:flex;gap:5px}.dev-seg,.dev-btn{flex:1 1 0;min-width:0;padding:5px 4px;font-family:inherit;font-size:.72rem;font-weight:600;color:var(--muted);background:#ffffff0d;border:1px solid rgba(120,160,255,.3);border-radius:6px;cursor:pointer}.dev-seg.active{color:#fff;background:#78a0ff38;border-color:#78a0ff99}.dev-seg:hover:not(.active),.dev-btn:hover{border-color:#78a0ff99;color:var(--text)}.dev-noassist.active{border-color:#3dff8bb3;color:#bfffd6;background:#3dff8b24}.dev-biz{color:#ffd23f}.dev-biz:hover{color:#ffe27a}.dev-undo{color:var(--muted);margin-top:1px}.dev-readout{margin-top:1px;font-size:.66rem;line-height:1.35;color:#8aa0c8;white-space:pre-line;min-height:1.2em;font-variant-numeric:tabular-nums}.dev-sep{height:1px;margin:3px 0 1px;background:#78a0ff38}.dev-dv-label{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8fb6ff}.dev-dv-row{display:flex;flex-wrap:wrap;gap:5px}.dev-dv-select{flex:1 1 100%;min-width:0;padding:5px 6px;font-family:inherit;font-size:.72rem;font-weight:600;color:var(--text);background:#ffffff0d;border:1px solid rgba(120,160,255,.3);border-radius:6px;cursor:pointer}.dev-dv-select:hover{border-color:#78a0ff99}.dev-dv-row .dev-btn{margin-top:0}.dev-dv-orient{display:flex;gap:4px;flex:1 1 auto;min-width:0}.dev-dv-orient .dev-seg{flex:1 1 0;min-width:0}.dev-dv-row .dev-dv-exit{flex:0 0 auto}.dev-dl-row{display:flex;flex-wrap:wrap;gap:5px}.dev-dl-day{flex:0 0 52px;min-width:0;padding:5px 6px;font-family:inherit;font-size:.72rem;font-weight:600;color:var(--text);background:#ffffff0d;border:1px solid rgba(120,160,255,.3);border-radius:6px}.dev-dl-color,.dev-dl-level{flex:1 1 0;min-width:0;padding:5px 6px;font-family:inherit;font-size:.72rem;font-weight:600;color:var(--text);background:#ffffff0d;border:1px solid rgba(120,160,255,.3);border-radius:6px;cursor:pointer}.dev-dl-color:hover,.dev-dl-level:hover{border-color:#78a0ff99}.dev-dl-mode{flex:0 0 auto;padding:5px 9px;font-family:inherit;font-size:.72rem;font-weight:600;color:var(--text);background:#ffffff0d;border:1px solid rgba(120,160,255,.3);border-radius:6px;cursor:pointer}.dev-dl-mode:hover{border-color:#78a0ff99}.dev-dl-mode.on{border-color:#3dff8bb3;color:#bfffd6;background:#3dff8b24}.dev-dl-desc{font-size:.68rem;line-height:1.35;color:#c7d6f5}.dev-dl-item{padding:1px 0 1px 9px;position:relative}.dev-dl-item:before{content:"›";position:absolute;left:0;color:#8fb6ff}#dev-deviceview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:#030610d1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#dev-deviceview .ddv-stage{display:flex;flex-direction:column;align-items:center;gap:12px}#dev-deviceview .ddv-label{font-family:Orbitron,Rajdhani,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.06em;color:#eaf2ff;text-align:center;padding:6px 14px;border-radius:9px;background:#10182ceb;border:1px solid rgba(120,160,255,.4);box-shadow:0 4px 18px #00000080;font-variant-numeric:tabular-nums}#dev-deviceview .ddv-frame{transform-origin:center top;background:#04060f;border-radius:10px;overflow:hidden;box-shadow:0 0 0 6px #10182cf2,0 18px 60px #000000b3}#dev-deviceview .ddv-frame iframe{display:block;border:0;background:#04060f}#dev-deviceview .ddv-exit{position:fixed;top:16px;right:18px;font-family:Orbitron,Rajdhani,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.08em;color:#eaf2ff;cursor:pointer;padding:9px 14px;border-radius:10px;background:#10182ceb;border:1px solid rgba(120,160,255,.4);box-shadow:0 6px 22px #00000080}#dev-deviceview .ddv-exit:hover{border-color:#78a0ffb3}@media (max-width: 560px){.topbar{padding:7px 10px;gap:8px}.topbar-btn{gap:5px;padding:8px 10px;font-size:.82rem}.topbar-btn .bi{font-size:1em}.topbar .rulebook-btn{padding:8px 12px}.turn-card .setup-card{flex:1 1 100%}.setup-controls{flex-wrap:wrap;justify-content:center}.setup-controls button{flex:1 1 46%;padding:9px 8px}.dockbar .rulebook-btn{min-height:44px}}@media (max-width: 560px) and (max-height: 760px){.masthead .tagline{display:none}.masthead h1{font-size:1.3rem;line-height:1.1}.masthead{margin-bottom:0}.app{gap:10px;padding-top:10px}.side{gap:10px}.card{padding:12px 14px}.turn-row{margin-bottom:4px}body.tut-active .tut-card.tut-card-inflow{max-height:none}}.board-area:not(.mode-3d) .board-panel{width:100%;max-width:calc((100svh - 88px)/.8);margin-inline:auto}.board-area.mode-3d #board{max-height:min(72vh,calc(100svh - 104px))}@media (orientation: landscape) and (max-height: 620px){.masthead .tagline{display:none}.masthead h1{font-size:clamp(1.1rem,2.4vw,1.5rem)}.masthead{margin-bottom:0}.app{gap:8px;padding-top:8px}.topbar{padding:6px 10px;gap:8px}.turn-card{padding:8px 14px}}@media (orientation: landscape) and (max-height: 620px) and (max-width: 1024px){.app{flex-flow:row wrap;align-items:flex-start;justify-content:center;column-gap:clamp(6px,1.4vw,12px);padding-left:10px;padding-right:10px}.masthead,.topbar,.dockbar,.piece-ref-box,.app-footer{flex:0 0 100%;width:100%}.board-area{flex:1 1 0;max-width:calc((100svh - 14px)/.8);min-width:0}.side{flex:0 0 clamp(150px,26vw,190px);width:auto;flex-flow:column nowrap;align-items:stretch;justify-content:flex-start;gap:10px}.tut-card.tut-card-inflow{flex:0 1 clamp(300px,46vw,460px);width:auto;margin:0;align-self:stretch;max-height:calc(100svh - 20px);overflow:hidden}body.tut-active .tut-card-inflow .tut-body{font-size:1.02rem}body.tut-active .tut-card-inflow .tut-title,body.tut-active .tut-card-inflow .tut-def-head{font-size:1.1rem}.side>.turn-card{flex:0 0 auto;padding:0}.turn-card{flex-direction:column;align-items:stretch;gap:10px}.turn-card .turn-row{margin-bottom:0;text-align:center}.turn-card .btn-row{flex-direction:column;align-items:stretch;gap:8px;margin-top:0}.turn-card .play-controls button,.setup-controls button{width:100%;flex:0 0 auto;padding:11px 10px}.side>.status,.side>.opp-tag{flex-basis:auto;width:100%;margin:0}.side>.setup-hint{order:0;flex:0 0 auto;width:100%;margin:0}.board-stage,.board-stage:has(>.piece-tray:not([hidden])){display:flex;flex-direction:column;align-items:stretch;grid-template-columns:none;gap:10px}.board-stage:has(>.piece-tray:not([hidden]))>.board-panel{grid-column:auto}.board-stage:has(>.piece-tray:not([hidden]))>.piece-tray,.board-stage>.piece-tray{display:none}.side-tray:not([hidden]){display:block}.board-area:not(.mode-3d) .board-panel{max-width:calc((100svh - 14px)/.8)}.board-area.mode-3d #board{max-height:calc(100svh - 14px)}}@media (min-width: 768px) and (orientation: portrait){.board-stage,.board-stage:has(>.piece-tray:not([hidden])){display:flex;flex-direction:column;align-items:stretch;grid-template-columns:none;gap:14px}.board-stage:has(>.piece-tray:not([hidden]))>.board-panel{grid-column:auto}.board-stage:has(>.piece-tray:not([hidden]))>.piece-tray{display:block}.board-stage:has(>.piece-tray:not([hidden])) .ptray{display:flex;justify-content:center}}@media (max-width: 560px) and (orientation: portrait){.board-area:not(.mode-3d) .board-panel{grid-template-columns:1fr;grid-template-areas:"gorange" "gblue" "board";gap:6px}.board-area:not(.mode-3d) .board-wrap{grid-area:board}.board-area:not(.mode-3d) .grid-flank.orange{grid-area:gorange}.board-area:not(.mode-3d) .grid-flank.blue{grid-area:gblue}.board-area:not(.mode-3d) .grid-flank{display:block}.board-area:not(.mode-3d) .grid-cells{grid-template-columns:repeat(11,1fr);grid-template-rows:repeat(2,1fr);grid-auto-flow:column;gap:3px}.board-area:not(.mode-3d) .grid-flank.orange .grid-mount{box-shadow:0 0 7px #ff7a1a38}.board-area:not(.mode-3d) .grid-flank.blue .grid-mount{box-shadow:0 0 7px #2bb8ff38}}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.board-svg:focus,.board-svg:focus-visible{outline:none}.board-svg.no-kb-cursor:focus-visible{outline:2px solid #7aa2ff;outline-offset:2px}.board-focus-ring{stroke:#eaf2ff;stroke-width:3;filter:drop-shadow(0 0 4px rgba(180,210,255,.95));animation:boardFocusPulse 1.2s ease-in-out infinite}@keyframes boardFocusPulse{0%,to{stroke-opacity:1}50%{stroke-opacity:.4}}body.anims-off .board-focus-ring{animation:none;stroke-opacity:1}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.seg-opt:focus-visible{outline:2px solid #7aa2ff;outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.nudge-toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%);z-index:350;max-width:min(440px,90vw);padding:11px 16px;font-family:Rajdhani,sans-serif;font-size:.92rem;line-height:1.35;color:#eaf2ff;text-align:center;background:#10182cf5;border:1px solid rgba(120,160,255,.45);border-radius:12px;box-shadow:0 10px 34px #0000008c;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:1;pointer-events:none;transition:opacity .32s ease}.nudge-toast.fade{opacity:0}.nudge-toast[hidden]{display:none}.topbar-daily{color:var(--orange);border-color:#ff7a1a66}.topbar-feedback{color:var(--blue);border-color:#2bb8ff66}.fb-panel{width:min(420px,94vw)}.fb-q{font-size:.82rem;color:var(--dim);margin:0 0 10px}.fb-cat{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:#10182c99;border:1px solid var(--panel-border);border-radius:11px;padding:12px 13px;margin-bottom:9px;color:var(--ink);cursor:pointer;transition:border-color .14s ease,transform .14s ease,background .14s ease}.fb-cat:hover{border-color:var(--blue);transform:translateY(-1px);background:#141e38d9}.fb-dot{width:11px;height:11px;border-radius:50%;flex:none}.fb-cat-l{font-weight:600;font-size:.95rem}.fb-cat-s{font-weight:400;color:var(--dim);font-size:.82rem}.fb-back{background:none;border:none;color:var(--dim);cursor:pointer;padding:0;font-size:.82rem;margin-bottom:8px}.fb-chosen{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:12px}.fb-pl{display:block;font-size:.8rem;color:#9fb6df;margin:0 0 5px}.fb-ta,.fb-email{width:100%;box-sizing:border-box;background:#080e1eb3;border:1px solid var(--panel-border);border-radius:9px;padding:9px 11px;color:var(--ink);font:inherit;font-size:16px}.fb-ta{resize:vertical;margin-bottom:11px}.fb-email{margin-bottom:12px}.fb-ta:focus,.fb-email:focus{outline:none;border-color:var(--blue)}.fb-send{width:100%}.fb-note{font-size:.72rem;color:var(--muted);margin-top:11px;line-height:1.5}.fb-done{text-align:center;padding:28px 8px 12px}.fb-done-ic{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;color:#04240f;background:#3dff8b;box-shadow:0 0 24px #3dff8b80}.fb-done-h{font-weight:600;font-size:1.05rem;margin-bottom:4px}.fb-done-p{font-size:.85rem;color:var(--dim)}.watch-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;background:radial-gradient(120% 90% at 50% -10%,#16224a,#0a1130 45%,#060a1c);opacity:0;transition:opacity .2s ease}.watch-modal[hidden]{display:none}.watch-modal.is-open{opacity:1}.watch-top{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid rgba(80,120,200,.22)}.watch-title{font-family:Orbitron,sans-serif;font-weight:800;font-size:16px;letter-spacing:.04em;color:#eaf2ff;white-space:nowrap}.watch-tabs{display:flex;gap:8px;margin-left:6px;flex:1;flex-wrap:wrap}.watch-tab{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;padding:6px 12px;border-radius:10px;border:1px solid rgba(80,120,200,.4);background:#141e3c80;color:#cdd5e2;cursor:pointer}.watch-tab b{font-size:12.5px}.watch-tab span{font-size:9.5px;color:#8fb6ff;opacity:.85}.watch-tab.is-on{border-color:#2bb8ff;background:#2bb8ff29;color:#fff}.watch-x{background:none;border:0;color:#8fb6ff;font-size:20px;cursor:pointer;padding:4px 8px;line-height:1}.watch-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:14px 16px}.watch-arena{position:relative;display:flex;gap:clamp(6px,1.2vw,14px);align-items:stretch;justify-content:center;height:min(64vh,calc(100vw - 270px));max-width:100%;padding:16px;border-radius:16px;background:var(--panel);border:1px solid var(--panel-border);box-shadow:inset 0 0 50px #1e46961f,0 10px 30px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.watch-board{aspect-ratio:1;height:100%;flex:0 0 auto}.watch-board svg{width:100%;height:100%;display:block}.watch-grid.wg-side{display:flex;flex-direction:column;width:84px;flex:0 0 auto}.wg-orange{justify-content:flex-start}.wg-blue{justify-content:flex-end}.wg-orange .grid-mount{border-color:#ff7a1acc;box-shadow:0 0 10px #ff7a1a40,inset 0 0 16px #ff7a1a0f}.wg-blue .grid-mount{border-color:#2bb8ffcc;box-shadow:0 0 10px #2bb8ff40,inset 0 0 16px #2bb8ff0f}.wg-side .grid-cells{gap:3px}.watch-pill{position:absolute;z-index:5;pointer-events:none;white-space:nowrap;font-family:Orbitron,sans-serif;font-weight:800;font-size:11px;letter-spacing:.02em;padding:4px 9px;border-radius:999px;opacity:0;box-shadow:0 4px 14px #00000080;transform:translate(-50%,-118%) scale(.7);transform-origin:bottom center;transition:opacity .16s ease,transform .2s cubic-bezier(.3,1.5,.5,1)}.watch-pill.show{opacity:1;transform:translate(-50%,-118%) scale(1)}.watch-pill:after{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border:5px solid transparent}.wp-orange{background:#ff8a3a;color:#2a1402;border:1px solid #ffc59b}.wp-orange:after{border-top-color:#ff8a3a}.wp-blue{background:#3fb6ff;color:#04203a;border:1px solid #a6dcff}.wp-blue:after{border-top-color:#3fb6ff}.watch-chapbar{display:flex;align-items:center;gap:10px;padding:4px 16px 2px;min-width:0}.watch-chapters-h{font-family:Orbitron,sans-serif;font-size:10px;letter-spacing:.1em;color:#8fb6ff;text-transform:uppercase;white-space:nowrap;flex:0 0 auto}.watch-chapters{position:relative;display:flex;gap:6px;flex-wrap:nowrap;flex:1 1 auto;min-width:0;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:2px 0;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-x;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}.watch-chapters::-webkit-scrollbar{display:none}.watch-chapters.dragging{cursor:grabbing;scroll-behavior:auto}.watch-chapters.dragging .watch-chapter{cursor:grabbing}.watch-chapter{flex:0 0 auto;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:8px;border:1px solid rgba(80,120,200,.3);background:#141e3c66;color:#cdd5e2;cursor:pointer;font-size:12px}.watch-chapter span{font-size:9px;color:#7e90b0}.watch-chapter:hover{border-color:#2bb8ff99}.watch-chapter.is-on{border-color:#3dff8b;background:#3dff8b1f;color:#fff}.watch-caption{min-height:52px;margin:12px 16px 4px;padding:12px 18px;border-radius:12px;background:#080e1ed9;border:1px solid rgba(80,120,200,.3);color:#eaf2ff;font-size:16px;line-height:1.45;text-align:center;display:flex;align-items:center;justify-content:center;box-shadow:0 0 22px #2bb8ff14}.watch-caption b{color:#fff}.wc-orange{color:#ff8a3a;font-weight:700}.wc-blue{color:#3fb6ff;font-weight:700}.watch-caption.watch-won{border-color:#3dff8b;background:#3dff8b1a;box-shadow:0 0 32px #3dff8b40;animation:watchWon .5s ease-out}.watch-caption.watch-won b{color:#3dff8b;font-size:18px}@keyframes watchWon{0%{transform:scale(.95);opacity:.5}to{transform:scale(1);opacity:1}}body.anims-off .watch-caption.watch-won{animation:none}body.anims-off .watch-pill{transition:opacity .01s linear,transform .01s linear}body.anims-off .watch-modal{transition:none}.watch-bar{display:flex;align-items:center;gap:8px;justify-content:center;padding:12px 16px 16px;flex-wrap:wrap}.watch-ctl{width:42px;height:42px;border-radius:10px;border:1px solid rgba(80,120,200,.4);background:#141e3c99;color:#eaf2ff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.watch-ctl:hover{border-color:#2bb8ff}.watch-play{background:#2bb8ff;color:#04122a;border-color:#2bb8ff;width:52px;height:52px;font-size:20px}.watch-progress{font-family:Orbitron,sans-serif;font-size:11px;color:#8fb6ff;min-width:54px;text-align:center}.watch-speed{display:flex;gap:4px;margin-left:8px}.watch-spd{padding:7px 11px;border-radius:8px;border:1px solid rgba(80,120,200,.4);background:#141e3c99;color:#cdd5e2;font-size:12px;cursor:pointer}.watch-spd.is-on{border-color:#3dff8b;background:#3dff8b29;color:#fff}@media (max-width: 760px){.watch-stage{padding:8px;align-items:center;overflow:hidden}.watch-arena{flex-direction:column;align-items:center;height:100%;max-height:100%;min-height:0;gap:8px;width:auto;max-width:100%;padding:10px;overflow-y:auto;overscroll-behavior:contain}.watch-board{height:auto;width:min(88vw,34svh);max-width:100%;flex:0 0 auto}.watch-grid.wg-side{width:min(88vw,34svh);flex:0 0 auto}.wg-orange,.wg-blue{justify-content:flex-start}.wg-side .grid-cells{grid-template-columns:repeat(11,1fr);grid-template-rows:repeat(2,1fr);grid-auto-flow:column;gap:3px}.watch-caption{font-size:14px;min-height:0;margin:6px 12px 2px;padding:9px 12px}.watch-chapbar{padding:4px 10px 2px}.watch-bar{padding:8px 10px 12px;gap:6px}.watch-ctl{width:38px;height:38px;font-size:16px}.watch-play{width:46px;height:46px;font-size:18px}.watch-top{padding:9px 12px;gap:8px}.watch-title{font-size:14px}}@media (max-width: 430px){.watch-tab b{font-size:11.5px}.watch-tab span{font-size:8.5px}.watch-board,.watch-grid.wg-side{width:90vw}}@media (max-height: 480px){.watch-modal{display:grid;grid-template-columns:minmax(0,1fr) minmax(182px,218px);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"top    top" "stage  caption" "stage  chap" "stage  bar";column-gap:8px;row-gap:2px;align-items:stretch}.watch-top{grid-area:top;padding:5px 12px;gap:8px}.watch-title{font-size:13px}.watch-tab{padding:3px 9px}.watch-tab b{font-size:11px}.watch-tab span{font-size:8px}.watch-stage{grid-area:stage;padding:2px 4px 2px 8px;align-items:center;justify-content:center;min-height:0}.watch-arena{flex-direction:row;align-items:stretch;width:auto;gap:6px;padding:6px;height:100%;max-height:100%}.watch-board{height:100%;width:auto;aspect-ratio:1}.watch-grid.wg-side{width:44px}.wg-side .grid-cells{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(11,1fr);grid-auto-flow:row;gap:2px}.wg-orange{justify-content:flex-start}.wg-blue{justify-content:flex-end}.watch-caption{grid-area:caption;min-height:0;font-size:11.5px;line-height:1.28;margin:0;padding:6px 10px;align-self:stretch}.watch-chapbar{grid-area:chap;flex-direction:column;align-items:stretch;gap:4px;padding:2px 8px 2px 0;min-height:0;overflow:hidden}.watch-chapters-h{font-size:9px}.watch-chapters{flex-direction:column;flex-wrap:nowrap;overflow-y:auto;overflow-x:hidden;-webkit-mask-image:none;mask-image:none;gap:4px;padding:0}.watch-chapter{white-space:normal;flex:0 0 auto;text-align:left}.watch-bar{grid-area:bar;flex-wrap:wrap;justify-content:flex-start;padding:4px 8px 6px 0;gap:5px}.watch-ctl{width:30px;height:30px;font-size:14px}.watch-play{width:36px;height:36px;font-size:15px}.watch-progress{font-size:10px;min-width:42px}.watch-speed{margin-left:0}.watch-spd{padding:4px 7px;font-size:10.5px}.gmodal-panel{padding:14px 18px;max-height:92vh}.gmodal-title{margin-bottom:8px;font-size:.95rem}.opp-sub{margin:5px 0 3px}.gmodal .opp-cpu{margin-top:3px}.gmodal-actions{margin-top:10px}}.rank-badge-host,.dp-rank-host{position:relative;display:inline-flex;align-items:center}.dp-rank-host{margin-left:10px;vertical-align:middle}.rank-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 8px;border-radius:999px;cursor:pointer;border:1px solid transparent;background:transparent;color:var(--faint);font-family:Rajdhani,sans-serif;transition:box-shadow .16s ease,border-color .16s ease,filter .16s ease}.rank-chip[data-color=orange]{color:var(--orange);border-color:#ff7a1a80;background:#ff7a1a14;box-shadow:0 0 16px #ff7a1a4d}.rank-chip[data-color=blue]{color:var(--blue);border-color:#2bb8ff80;background:#2bb8ff14;box-shadow:0 0 16px #2bb8ff4d}.rank-chip[data-tier=admiral][data-color=orange]{border-color:#ffce3f8c;box-shadow:0 0 20px #ff7a1a6b,inset 0 0 12px #ffce3f1f}.rank-chip[data-tier=admiral][data-color=blue]{border-color:#ffce3f8c;box-shadow:0 0 20px #2bb8ff6b,inset 0 0 12px #ffce3f1f}.rank-chip.unranked{color:#ffd23f;border-color:#ffd23f73;background:#ffd23f17;box-shadow:0 0 14px #ffd23f2e}.rank-chip.rank-training{color:#ffd23f;border-color:#ffd23f80;background:#ffd23f1a;box-shadow:0 0 16px #ffd23f38;gap:6px;box-sizing:border-box;min-height:39px;padding-left:14px;padding-right:14px;animation:rankTrainPulse 2.6s ease-in-out infinite}.rank-chip.rank-training .rank-tier-word{color:#ffd23f;font-size:.72rem;opacity:1}.rank-chip.rank-training .rank-training-ic{font-size:.72em;line-height:1}.rank-chip.rank-training:hover{border-color:#ffd23fd1}@keyframes rankTrainPulse{0%,to{box-shadow:0 0 13px #ffd23f29}50%{box-shadow:0 0 20px #ffd23f6b}}body.anims-off .rank-chip.rank-training{animation:none}@media (prefers-reduced-motion: reduce){.rank-chip.rank-training{animation:none}}.rank-chip:hover{filter:brightness(1.12)}.rank-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rank-crest{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:18px}.crest-bar{width:14px;height:2.5px;border-radius:2px;background:currentColor;box-shadow:0 0 6px currentColor}.rank-chip[data-tier=admiral] .rank-crest{gap:0}.crest-shield{width:14px;height:16px;background:currentColor;box-shadow:0 0 8px currentColor;clip-path:polygon(50% 0,100% 22%,100% 62%,50% 100%,0 62%,0 22%)}.rank-insig{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.chev{width:14px;height:5px;display:block}.rank-stars{display:inline-flex;gap:2px;align-items:center}.star{width:9px;height:9px}.chev.ghost,.star.ghost{opacity:.22}.rank-meta{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1}.rank-lvl{font-family:Orbitron,sans-serif;font-weight:800;font-size:1.02rem;line-height:1;font-variant-numeric:tabular-nums;color:#fff;letter-spacing:.02em;text-shadow:0 0 12px currentColor}.rank-chip.unranked .rank-lvl{color:#ffe9a8;text-shadow:0 0 10px rgba(255,210,63,.5)}.rank-lvl-dec{font-size:.82em;margin-left:.5px}.rank-lvl-dec[data-color=orange]{color:var(--orange)}.rank-lvl-dec[data-color=blue]{color:var(--blue)}.rank-tier-word{font-family:Orbitron,sans-serif;font-weight:700;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;opacity:.9}.rank-card-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:210;display:grid;place-items:center;padding:18px;background:#04081494;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:rank-overlay-in .14s ease}@keyframes rank-overlay-in{0%{opacity:0}to{opacity:1}}.rank-card{width:min(340px,calc(100vw - 36px));max-height:calc(100dvh - 36px);overflow-y:auto;border-radius:16px;padding:18px 18px 14px;background:var(--panel);border:1px solid var(--panel-border);box-shadow:inset 0 0 44px #1e46961f,0 12px 34px #00000073;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:13px;animation:rank-bloom .22s cubic-bezier(.2,.8,.3,1)}.rc-next/.rc-meter*/.rc-climb* — and the .rank-card[data-color] variants were deleted: rank-badge.ts emits neither those children nor a data-color on the card (the colour lives on .rank-row now),so editing them looked like it should work and changed nothing. */ @keyframes rank-bloom{from{opacity:0;transform:scale(.9) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.rc-locks{display:flex;flex-direction:column;gap:7px;margin-top:1px}.rc-lock{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:11px;border:1px dashed rgba(120,160,230,.16);background:#78a0ff08}.rc-lock-ic{flex:0 0 auto;color:var(--faint);opacity:.7}.rc-lock-tx{display:flex;flex-direction:column;gap:1px;min-width:0}.rc-lock-t{font-family:Rajdhani,sans-serif;font-weight:700;font-size:.8rem;color:var(--dim);letter-spacing:.02em}.rc-lock-s{font-family:Rajdhani,sans-serif;font-size:.72rem;color:var(--faint)}.rc-lock-soon{margin-left:auto;font-family:Orbitron,sans-serif;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);border:1px solid var(--panel-border);border-radius:999px;padding:2px 7px;white-space:nowrap}.rc-foot{font-family:Orbitron,sans-serif;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);text-align:center}.rank-chip.rank-pulse{animation:rank-pulse .6s ease}@keyframes rank-pulse{0%{transform:scale(1)}30%{transform:scale(1.14);filter:brightness(1.5)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.rank-card,.rank-chip.rank-pulse{animation:none}}body.anims-off .rank-card,body.anims-off .rank-chip.rank-pulse{animation:none}.rc-title{font-family:Orbitron,sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.rc-title-sub{color:var(--faint);font-weight:400}.rank-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;border:1px solid var(--panel-border);background:#78a0ff0a;color:var(--faint)}.rank-row[data-color=orange]{border-color:#ff7a1a52;background:#ff7a1a0f;color:var(--orange)}.rank-row[data-color=blue]{border-color:#2bb8ff52;background:#2bb8ff0f;color:var(--blue)}button.rank-row.playable{width:100%;text-align:left;cursor:pointer;font:inherit;transition:filter .12s ease,transform .05s ease}button.rank-row.playable:hover{filter:brightness(1.14)}button.rank-row.playable:active{transform:translateY(1px)}button.rank-row.playable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rr-cta{flex:0 0 auto;align-self:flex-end;margin-top:10px;display:inline-flex;align-items:center;gap:4px;padding:8px 14px;border-radius:999px;border:1.5px solid currentColor;font-family:Rajdhani,sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;line-height:1;white-space:nowrap;opacity:.92;background:color-mix(in srgb,currentColor 13%,transparent);box-shadow:0 0 12px color-mix(in srgb,currentColor 28%,transparent);transition:background .12s ease,opacity .12s ease}.rr-cta-tri{font-size:.9em}button.rank-row.playable:hover .rr-cta{background:color-mix(in srgb,currentColor 24%,transparent);opacity:1}.rr-crest{display:flex;align-items:center;gap:6px;flex:0 0 auto}.rr-crest .crest-shield{width:18px;height:21px}.rr-crest .crest-bar{width:16px;height:3px}.rr-crest .chev{width:15px;height:6px}.rr-crest .star{width:11px;height:11px}.rr-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.rr-top{display:flex;align-items:baseline;gap:8px}.rr-colony{font-family:Orbitron,sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.rr-tier{font-family:Rajdhani,sans-serif;font-size:.78rem;color:var(--dim)}.rr-lvl{margin-left:auto;font-family:Orbitron,sans-serif;font-weight:800;font-size:1.35rem;line-height:1;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 0 12px currentColor}.rank-row[data-tier=unranked] .rr-lvl{color:var(--faint);text-shadow:none}.rr-next{display:flex;flex-direction:column;gap:4px}.rr-next-lbl{font-family:Rajdhani,sans-serif;font-size:.72rem;color:var(--dim)}.rr-next-lbl b{color:#fff;font-weight:700}.rr-hint{font-family:Rajdhani,sans-serif;font-size:.72rem;color:var(--faint)}.rr-meter{height:5px;border-radius:999px;background:#78a0ff1a;overflow:hidden}.rr-meter-fill{height:100%;border-radius:999px;background:#78a0ff66}.rank-row[data-color=orange] .rr-meter-fill{background:linear-gradient(90deg,rgba(255,122,26,.5),var(--orange));box-shadow:0 0 8px #ff7a1a80}.rank-row[data-color=blue] .rr-meter-fill{background:linear-gradient(90deg,rgba(43,184,255,.5),var(--blue));box-shadow:0 0 8px #2bb8ff80}.dp-play-btn{display:flex;align-items:center;justify-content:center;gap:8px}@media (max-width: 560px),(pointer: coarse){.topbar-btn,.rank-chip,.rank-chip.rank-training{min-height:44px}.app-footer .footer-link{display:inline-flex;align-items:center;min-height:44px;font-size:.86rem}.rank-tier-word{font-size:.7rem}.app-footer .build-tag{font-size:.76rem;opacity:.6}.opp-sub{font-size:.78rem}.opp-fort-select{font-size:16px}}
