:root{--tg-safe-top: 0px;--tg-safe-right: 0px;--tg-safe-bottom: 0px;--tg-safe-left: 0px;--bg: #0b0e14;--fg: #e6e6e6;--muted: #9aa4b2;--accent: #3d7bff;--overlay: rgba(11, 14, 20, .92);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;width:100%;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none}#root{height:100%;width:100%;display:flex;flex-direction:column}.app-shell{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:var(--tg-safe-top) var(--tg-safe-right) var(--tg-safe-bottom) var(--tg-safe-left)}.btn{appearance:none;border:0;border-radius:12px;padding:14px 22px;font-size:16px;font-weight:600;color:#fff;background:var(--accent);cursor:pointer;will-change:transform;transition:transform .12s ease}.btn:active{transform:translateZ(0) scale(.97)}.btn:disabled{opacity:.5;cursor:default}.overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:16px;padding:24px;background:var(--overlay);backdrop-filter:blur(2px)}.overlay h1{font-size:20px;margin:0}.overlay p{color:var(--muted);margin:0;max-width:40ch}.center-stack{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.game-canvas{display:block;width:100%;height:100%;touch-action:none}.game-stage{position:relative;flex:1 1 auto;min-height:0}.spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--fg);border-radius:50%;animation:spin .8s linear infinite;will-change:transform}@keyframes spin{to{transform:rotate(360deg)}}.subtitle{margin:0;color:var(--muted);letter-spacing:3px;text-transform:uppercase;font-size:12px}.muted{margin:0;color:var(--muted)}.ttt-stage{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:min(6vw,48px);padding:12px}.ttt-side{display:flex;flex-direction:column;gap:10px;min-width:26%;max-width:38%}.ttt-title{margin:0;font-size:clamp(18px,3.4vh,28px)}.ttt-you{margin:0;color:var(--muted)}.ttt-you strong{color:var(--fg);font-size:1.3em}.ttt-status{margin:4px 0 8px;font-size:clamp(16px,3vh,24px);font-weight:600}.ttt-board{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:8px;width:min(82vh,46vw);height:min(82vh,46vw);aspect-ratio:1 / 1}.ttt-cell{appearance:none;border:0;border-radius:12px;background:#141a24;color:var(--fg);font-size:min(16vh,11vw);font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;will-change:transform;transition:background .12s ease,transform 80ms ease}.ttt-cell.x{color:#5aa9ff}.ttt-cell.o{color:#ff8a5a}.ttt-cell:disabled{cursor:default}.ttt-board.is-active .ttt-cell:not(:disabled):hover{background:#1c2531}.ttt-board.is-active .ttt-cell:not(:disabled):active{transform:scale(.96)}.ttt-footer{display:flex;justify-content:space-between;padding:6px 12px;font-size:12px;color:var(--muted)}.btn-ghost{background:transparent;border:1px solid var(--muted);color:var(--fg)}.rotate-hint{gap:30px}.rotate-hint h1{font-size:22px;letter-spacing:.3px}.rotate-stage{position:relative;display:grid;place-items:center;width:170px;height:170px}.rotate-stage:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:radial-gradient(closest-side,#3d7bff73,#3d7bff00 70%);animation:rotate-glow 2.8s ease-in-out infinite;will-change:transform,opacity}.rotate-phone{position:relative;width:66px;height:116px;border:4px solid var(--fg);border-radius:16px;background:#0b0e14;animation:rotate-device 2.8s cubic-bezier(.65,0,.35,1) infinite;will-change:transform}.rotate-phone__screen{position:absolute;inset:7px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#7aa2ff);opacity:.4}.rotate-phone:after{content:"";position:absolute;bottom:7px;left:50%;transform:translate(-50%);width:22px;height:3px;border-radius:3px;background:var(--fg);opacity:.6}.rotate-arrow{position:absolute;top:6px;inset-inline-end:14px;font-size:30px;line-height:1;color:var(--accent);animation:rotate-arrow 2.8s ease-in-out infinite;will-change:transform,opacity}@keyframes rotate-device{0%,18%{transform:rotate(0)}46%,72%{transform:rotate(90deg)}to{transform:rotate(0)}}@keyframes rotate-glow{0%,to{transform:scale(.85);opacity:.45}50%{transform:scale(1.1);opacity:.9}}@keyframes rotate-arrow{0%,18%{transform:rotate(0) scale(1);opacity:.5}46%,72%{transform:rotate(90deg) scale(1.15);opacity:1}to{transform:rotate(0) scale(1);opacity:.5}}@media (prefers-reduced-motion: reduce){.rotate-phone,.rotate-stage:before,.rotate-arrow{animation:none}.rotate-phone{transform:rotate(90deg)}}:root[lang=fa] body{font-family:Vazirmatn,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}:root[lang=fa] .subtitle{letter-spacing:normal;text-transform:none}.profile-field{display:flex;flex-direction:column;align-items:center;gap:10px}.profile-label{margin:0;color:var(--muted);font-size:14px}.lang-options{display:flex;gap:10px}.lang-option{appearance:none;border:1px solid var(--muted);background:transparent;color:var(--fg);border-radius:10px;padding:10px 18px;font-size:15px;cursor:pointer}.lang-option.is-active{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.match{display:flex;height:100dvh;width:100vw;overflow:hidden}.match-map{flex:1 1 70%;min-width:0;display:flex;align-items:center;justify-content:center}.warmap{width:100%;height:100%;touch-action:none}.warmap-edge{stroke:#2a3040;stroke-width:.35}.warmap-node{cursor:pointer}.warmap-count{font-size:3px;fill:#0d1017;font-weight:700;user-select:none}.warmap-count-you{fill:#fff}.warmap-label{font-size:1.9px;fill:#8b93a7;user-select:none;letter-spacing:.02em}.warmap-arrow{stroke:#ffd76a;stroke-width:.8;opacity:.95;pointer-events:none}.warmap-arrow-drag{stroke-dasharray:1.6 1}.warmap-pulse{fill:#ffd76a;opacity:.9;pointer-events:none}.warmap-pending{font-size:2.4px;fill:#58c470;font-weight:700;user-select:none}.warmap-delta{font-size:3px;font-weight:700;user-select:none;pointer-events:none;animation:warmap-delta-float 1.3s ease-out forwards}.warmap-delta-plus{fill:#58c470}.warmap-delta-minus{fill:#ff8f87}@keyframes warmap-delta-float{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.warmap-hitring{fill:none;stroke:#ff8f5a;stroke-width:.8;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:warmap-hitring 1.1s ease-out forwards}@keyframes warmap-hitring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}@media (prefers-reduced-motion: reduce){.warmap-pulse,.warmap-hitring{display:none}.warmap-delta{animation:none;opacity:.9}.plan-item{animation:none}}.match-side{flex:0 0 30%;max-width:34%;display:flex;flex-direction:column;gap:1vh;padding:1.5vh 1vw;overflow-y:auto;background:#10141d;border-inline-start:1px solid #232a38}.match-head{display:flex;justify-content:space-between;align-items:center}.match-timer{font-variant-numeric:tabular-nums;color:#ffd76a}.match-players{display:flex;flex-wrap:wrap;gap:.5vh}.pill{border:1px solid #3a4152;border-radius:999px;padding:.3vh 1.2vw;font-size:.75rem}.pill-dead{opacity:.45;text-decoration:line-through}.match-stats{display:flex;gap:1.2vw;flex-wrap:wrap;font-size:.85rem}.plan-list{display:flex;flex-direction:column;gap:.5vh;max-height:22vh;overflow-y:auto}.plan-item{display:flex;align-items:center;gap:1vw;background:#141a28;border-inline-start:3px solid #3d7bff;border-radius:.5em;padding:.6vh 1vw;font-size:.72rem;animation:plan-in .25s ease-out}.plan-item-deploy{border-inline-start-color:#58c470}.plan-item-attack{border-inline-start-color:#e8554d}.plan-item-transfer{border-inline-start-color:#4e9af1}.plan-item-card{border-inline-start-color:#d9a441}.plan-item-swap{border-inline-start-color:#9ad0ff}.plan-icon{flex:0 0 auto;font-size:.95rem}.plan-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1vh}.plan-text em{font-style:normal;font-size:.65rem}.plan-del{flex:0 0 auto;background:#2a1c1f;border:1px solid #5a2e33;color:#ff8f87;border-radius:.4em;width:1.6rem;height:1.6rem;cursor:pointer;line-height:1}@keyframes plan-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ok{color:#58c470}.move-picker{display:flex;flex-direction:column;gap:.8vh;background:#141a28;border:1px solid #2a3346;border-radius:.6em;padding:1vh 1vw}.move-picker-row{display:flex;align-items:center;justify-content:space-between;gap:1vw;font-size:.78rem}.move-picker input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:#2a3346;outline:none}.move-picker input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--accent);cursor:pointer}.move-picker input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--accent);cursor:pointer}.move-picker input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:transparent}.card-hand{display:flex;gap:.8vw;overflow-x:auto;padding-block:.5vh}.card-chip{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.2vh;background:#1b2334;border:1px solid #2f3a52;color:inherit;border-radius:.6em;padding:.7vh 1.4vw;font-size:.7rem;cursor:pointer;transition:transform .12s ease-out}.card-chip:not(:disabled):active{transform:scale(1.12)}.card-chip:disabled{opacity:.4}.card-chip-active{border-color:#ffd76a;box-shadow:0 0 0 1px #ffd76a}.card-chip-icon{font-size:1.1rem;line-height:1}.card-icon{font-size:1.4rem;line-height:1}.event-ticker{margin-top:auto;display:flex;flex-direction:column;gap:.3vh;font-size:.7rem;color:#9aa3b8}.warn{color:#ffb04d}.small{font-size:.75rem}.overlay-abs{position:absolute;inset:0;background:#0b0e14e0;z-index:30}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(28vw,1fr));gap:1.5vh 1.5vw;width:min(90vw,60rem)}.choice-card{display:flex;flex-direction:column;gap:.6vh;background:#161c2a;border:1px solid #2b3450;color:inherit;border-radius:.8em;padding:2vh 2vw;cursor:pointer;text-transform:capitalize}.home-actions{display:flex;gap:1.5vw;flex-wrap:wrap;justify-content:center}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(30vw,1fr));gap:1.2vh 1.2vw;width:min(92vw,46rem)}.mode-card{display:flex;flex-direction:column;align-items:center;gap:.5vh;background:#161c2a;border:1px solid #2b3450;color:inherit;border-radius:.8em;padding:1.8vh 1.5vw;cursor:pointer}.mode-card:hover{border-color:var(--accent)}.resolve-banner{position:absolute;top:1vh;inset-inline:0;margin-inline:auto;width:fit-content;max-width:90%;z-index:20;background:#0b0e14e0;border:1px solid #2b3450;border-radius:.6em;padding:.6vh 1.6vw;font-size:.78rem;pointer-events:none;animation:plan-in .2s ease-out}.meta{display:flex;flex-direction:column;height:100dvh;padding:1.5vh 2vw;gap:1vh;overflow:hidden}.meta-head{display:flex;align-items:center;gap:2vw}.meta-tabs{display:flex;gap:.8vw;overflow-x:auto}.tab{background:none;border:none;border-bottom:2px solid transparent;color:#8b93a7;padding:.6vh 1.4vw;cursor:pointer;white-space:nowrap}.tab-active{color:#fff;border-bottom-color:#ffd76a}.meta-body{flex:1;overflow-y:auto;padding-bottom:2vh}.meta-row{display:flex;align-items:center;gap:1.2vw;margin-block:1vh;flex-wrap:wrap}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16vw,1fr));gap:1.2vh 1.2vw}.stat{background:#141a28;border-radius:.7em;padding:1.2vh 1vw;display:flex;flex-direction:column;align-items:center}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18vw,1fr));gap:1vh 1vw;margin-block:1vh}.meta-card{display:flex;flex-direction:column;gap:.3vh;align-items:flex-start;background:#151c2b;border:1px solid #2a3346;color:inherit;border-radius:.7em;padding:1vh 1vw;font-size:.8rem;cursor:pointer}.meta-card-picked{border-color:#58c470;box-shadow:0 0 0 1px #58c470}.rarity-special{border-color:#4e9af1}.rarity-legendary{border-color:#d9a441}.match-head{padding-inline-end:3.2rem}.meta-head{padding-inline:3.2rem}.home{padding-top:max(var(--tg-safe-top, 0px),2.2rem)}.lock-fab{position:fixed;bottom:2vh;inset-inline-end:2vw;z-index:40;width:3.2rem;height:3.2rem;border-radius:50%;border:2px solid var(--accent);background:#1b2334;font-size:1.3rem;cursor:pointer;box-shadow:0 2px 10px #00000080}.lock-fab:disabled{opacity:.6;cursor:default}.lock-fab-locked{border-color:#58c470}.flag-icon{vertical-align:-.15em}.pill-order{margin-inline-end:.3em;color:#ffd76a}.flag-grid{display:flex;flex-wrap:wrap;gap:.6vh .6vw}.flag-pick{background:#151c2b;border:2px solid #2a3346;border-radius:.4em;padding:.4vh .4vw;cursor:pointer;line-height:0}.flag-pick-active{border-color:#ffd76a}.color-swatch{width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid #2a3346;cursor:pointer}.color-swatch-active{border-color:#fff}.card-detail-backdrop{cursor:pointer}.card-detail{display:flex;flex-direction:column;gap:1vh;align-items:flex-start;text-align:start;background:#151c2b;border:1px solid #2a3346;border-radius:.8em;padding:2vh 2.5vw;width:min(92vw,34rem);max-height:84vh;overflow-y:auto;cursor:default}.card-detail-desc{margin:0;font-size:.85rem;line-height:1.5}.list{display:flex;flex-direction:column;gap:.7vh;margin-block:1vh}.list-row{display:flex;justify-content:space-between;align-items:center;background:#141a28;border-radius:.6em;padding:1vh 1.5vw}.btn.small{padding:.4vh 1.4vw;font-size:.75rem}
