@font-face{font-family:Vazirmatn;src:local("Vazirmatn"),local("Vazir");font-display:swap}
:root{--bg-canvas:#0d1014;--bg-surface:#181d22;--bg-surface-2:#222930;--bg-surface-3:#2a333b;--bg-border:#39444d;--bg-text:#f3f6f7;--bg-muted:#aab5bc;--bg-teal:#19c7b0;--bg-blue:#3478f6;--bg-gold:#d8ad5d;--bg-danger:#ef6672;--bg-success:#31c98f;--bg-accent:var(--bg-teal);--bg-accent-soft:color-mix(in srgb,var(--bg-accent) 18%,transparent);--bg-space-1:4px;--bg-space-2:8px;--bg-space-3:12px;--bg-space-4:16px;--bg-space-5:20px;--bg-space-6:24px;--bg-radius-sm:8px;--bg-radius-md:12px;--bg-radius-lg:18px;--bg-radius-xl:24px;--bg-shadow:0 18px 55px rgba(0,0,0,.28);--bg-focus:0 0 0 3px color-mix(in srgb,var(--bg-accent) 32%,transparent);--bg-control:44px;--bg-content:1480px;font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;color-scheme:dark}
html{background:var(--bg-canvas);scrollbar-color:var(--bg-accent) var(--bg-surface)}body{font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--bg-focus);outline:2px solid transparent}button,[role=button],a{touch-action:manipulation}button{min-height:var(--bg-control)}input,select,textarea{min-height:var(--bg-control);border-radius:var(--bg-radius-md)}[hidden]{display:none!important}.bg-ltr,[data-numeric],time{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
body[data-bg-module=analyse]{--bg-accent:var(--bg-teal);--mint:var(--bg-teal)}body[data-bg-module=play]{--bg-accent:var(--bg-blue);--lime:var(--bg-blue);--teal:#39aee8;--gold:#7eb2ff;--panel:#151c24;--panel2:#202a34;--line:var(--bg-border);--ink:var(--bg-text);--muted:var(--bg-muted)}body[data-bg-module=tournament]{--bg-accent:var(--bg-gold);--accent:var(--bg-gold);--gold:var(--bg-gold)}body[data-bg-module=recorder]{--bg-accent:#39aee8;--accent:#39aee8;--blue:#3478f6}body[data-bg-module=admin]{--bg-accent:var(--bg-teal);--green:var(--bg-teal);--mint:#153d38;--paper:var(--bg-canvas);--white:var(--bg-surface);--ink:var(--bg-text);--muted:var(--bg-muted);--line:var(--bg-border);--gold:var(--bg-gold)}
body[data-bg-module=play]{background:radial-gradient(circle at 50% -10%,#152c3b 0,transparent 38%),var(--bg-canvas)}body[data-bg-module=play] .phone-shell{width:min(var(--bg-content),100%);max-width:none;background:transparent;box-shadow:none}body[data-bg-module=play] .top{min-height:68px;height:auto;border-bottom:1px solid var(--bg-border);background:rgba(13,16,20,.88);backdrop-filter:blur(18px);position:sticky;top:0;z-index:40}body[data-bg-module=play] main{max-width:var(--bg-content);margin-inline:auto}body[data-bg-module=play] .primary,body[data-bg-module=play] .home-credit button{background:var(--bg-accent);color:white}body[data-bg-module=play] .section-card,body[data-bg-module=play] .profile-card,body[data-bg-module=play] .upload-card{border-color:var(--bg-border);box-shadow:0 10px 30px rgba(0,0,0,.12)}body[data-bg-module=play] .game-overlay{overscroll-behavior:contain}body[data-bg-module=play] .game-modal{max-height:100dvh;overflow:auto}body[data-bg-module=play] .game-board,body[data-bg-module=play] .board{isolation:isolate}
body[data-bg-module=recorder]{background:radial-gradient(circle at 50% 0,#10263a 0,transparent 35%),var(--bg-canvas);color:var(--bg-text)}body[data-bg-module=recorder]>header{position:sticky;top:0;z-index:30;min-height:64px;background:rgba(10,17,25,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--bg-border)}body[data-bg-module=recorder] main{width:min(1500px,calc(100% - 24px));margin-inline:auto}body[data-bg-module=recorder] .workspace{align-items:start}body[data-bg-module=recorder] .entry{min-width:0}body[data-bg-module=recorder] .board{max-height:calc(100dvh - 245px);min-height:420px;aspect-ratio:1.72/1;margin-inline:auto}body[data-bg-module=recorder] aside{max-height:calc(100dvh - 205px);overflow:auto;scrollbar-gutter:stable}body[data-bg-module=recorder] .fast-controls{position:sticky;bottom:8px;z-index:20;background:rgba(8,17,29,.9);backdrop-filter:blur(14px);border:1px solid var(--bg-border);border-radius:var(--bg-radius-lg)}body[data-bg-module=recorder] .dialog{backdrop-filter:blur(8px)}body[data-bg-module=recorder] .dialog>div{width:min(420px,calc(100% - 28px));border-radius:var(--bg-radius-xl);box-shadow:var(--bg-shadow)}
body[data-bg-module=tournament]{background:radial-gradient(circle at 50% 0,#302713 0,transparent 30%),var(--bg-canvas);color:var(--bg-text)}body[data-bg-module=tournament]>header{position:sticky;top:0;z-index:20;background:rgba(13,16,20,.9);backdrop-filter:blur(16px);border-color:var(--bg-border)}body[data-bg-module=tournament] main{width:min(1380px,calc(100% - 24px));margin-inline:auto}body[data-bg-module=tournament] table{font-variant-numeric:tabular-nums}
body[data-bg-module=admin]{background:var(--bg-canvas);color:var(--bg-text)}body[data-bg-module=admin] .shell{max-width:var(--bg-content);margin-inline:auto;min-height:100dvh}body[data-bg-module=admin] aside{background:#11171c;border-color:var(--bg-border)}body[data-bg-module=admin] main,body[data-bg-module=admin] .card,body[data-bg-module=admin] table,body[data-bg-module=admin] .modal-card{background:var(--bg-surface);color:var(--bg-text);border-color:var(--bg-border)}body[data-bg-module=admin] main header{position:sticky;top:0;z-index:15;background:rgba(13,16,20,.88);backdrop-filter:blur(16px)}body[data-bg-module=admin] table{font-variant-numeric:tabular-nums}body[data-bg-module=admin] th{color:var(--bg-muted);background:var(--bg-surface-2)}body[data-bg-module=admin] td{border-color:var(--bg-border)}
body[data-bg-module=analyse]{background:var(--bg-canvas);color:var(--bg-text)}body[data-bg-module=analyse] .topbar{position:sticky;top:0;z-index:50;background:rgba(25,28,34,.9);backdrop-filter:blur(16px)}
@media(max-width:900px){body[data-bg-module=recorder] main{width:min(100% - 12px,760px)}body[data-bg-module=recorder] .workspace{display:grid;grid-template-columns:1fr;gap:10px}body[data-bg-module=recorder] .board{width:100%;max-height:none;min-height:0;aspect-ratio:1.72/1}body[data-bg-module=recorder] aside{max-height:38dvh}body[data-bg-module=recorder] .scoreboard{position:sticky;top:64px;z-index:22}body[data-bg-module=admin] .shell{display:block}}
@media(max-width:600px){body[data-bg-module=play] main{padding-inline:10px}body[data-bg-module=play] .top{padding-inline:12px}body[data-bg-module=play] nav{height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}body[data-bg-module=recorder]>header{padding-inline:10px}body[data-bg-module=tournament] main{width:calc(100% - 12px)}}
@media(max-height:520px) and (orientation:landscape){body[data-bg-module=play] .top{min-height:48px;padding-block:4px}body[data-bg-module=play] nav{height:54px}body[data-bg-module=recorder]>header{min-height:48px}body[data-bg-module=recorder] main{width:100%;padding-inline:6px}body[data-bg-module=recorder] .scoreboard{top:48px;min-height:48px}body[data-bg-module=recorder] .workspace{grid-template-columns:minmax(0,1fr) minmax(230px,34vw)}body[data-bg-module=recorder] .board{height:calc(100dvh - 155px);width:auto;max-width:100%;min-height:0}body[data-bg-module=recorder] aside{max-height:calc(100dvh - 155px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
