@font-face{font-family:Yekan Bakh;src:url(/fonts/yekan-bakh/YekanBakh-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Yekan Bakh;src:url(/fonts/yekan-bakh/YekanBakh-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Yekan Bakh;src:url(/fonts/yekan-bakh/YekanBakh-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Yekan Bakh;src:url(/fonts/yekan-bakh/YekanBakh-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Yekan Bakh;src:url(/fonts/yekan-bakh/YekanBakh-ExtraBold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Yekan Bakh;src:url(/fonts/yekan-bakh/YekanBakh-Black.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--bg: #070a12;--bg-elevated: #0f1424;--card: rgba(22, 28, 48, .72);--card-solid: #161c30;--border: rgba(255, 255, 255, .1);--border-glow: rgba(245, 158, 11, .35);--text: #f8fafc;--muted: #94a3b8;--team1: #60a5fa;--team2: #fb7185;--accent: #fbbf24;--accent-deep: #ea580c;--success: #4ade80;--font-en: "Outfit", system-ui, sans-serif;--font-fa: "Yekan Bakh", "Outfit", system-ui, sans-serif;--radius-lg: 22px;--radius-md: 16px;--shadow-card: 0 24px 60px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .06)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html[lang=fa] body{font-family:var(--font-fa)}body{font-family:var(--font-en);overflow-x:hidden;overscroll-behavior-y:none;background:radial-gradient(ellipse 90% 60% at 10% -10%,rgba(59,130,246,.18),transparent 50%),radial-gradient(ellipse 70% 50% at 90% 0%,rgba(244,63,94,.12),transparent 45%),radial-gradient(ellipse 120% 80% at 50% 100%,#121a2e 0%,var(--bg) 55%);color:var(--text);-webkit-font-smoothing:antialiased}.fa{font-family:var(--font-fa);direction:rtl}a{color:var(--accent);text-decoration:none}button{font-family:inherit;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}button:active:not(:disabled){transform:scale(.98)}input,select{font-family:inherit}.glass-panel{background:var(--card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.btn-primary{border:none;border-radius:var(--radius-md);padding:16px 20px;font-weight:800;font-size:1.05rem;color:#1a1200;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%);box-shadow:0 12px 32px #f59e0b40}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.confetti:before,.confetti:after{display:none}}.confetti:before,.confetti:after{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background-image:radial-gradient(circle,var(--accent) 2px,transparent 2px);background-size:24px 24px;opacity:.35;animation:confetti-drift 12s linear infinite;pointer-events:none}.confetti:after{animation-direction:reverse;opacity:.2}@keyframes confetti-drift{0%{transform:translateY(0) rotate(0)}to{transform:translateY(8%) rotate(8deg)}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn-success{border:none;border-radius:var(--radius-md);padding:18px 20px;font-weight:800;font-size:1.1rem;color:#052e16;background:linear-gradient(135deg,#4ade80,#16a34a);box-shadow:0 12px 32px #22c55e38}:root{--page-pad-x: max(16px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));--page-pad-top: max(12px, env(safe-area-inset-top, 0px));--page-pad-bottom: max(20px, env(safe-area-inset-bottom, 0px));--sticky-bar-pad: max(12px, env(safe-area-inset-bottom, 0px))}.app-page{min-height:100dvh;padding:var(--page-pad-top) var(--page-pad-x) var(--page-pad-bottom)}.app-page--centered{display:flex;flex-direction:column;align-items:center;justify-content:center}@media(max-width:640px){.app-page--centered{justify-content:flex-start;padding-top:max(48px,var(--page-pad-top))}}.field-label{display:block;font-size:.875rem;font-weight:600;color:var(--muted);margin-bottom:8px}.field-input{width:100%;min-height:48px;padding:12px 16px;border-radius:14px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}.field-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.btn-ghost{min-height:44px;min-width:44px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);font-weight:600;font-size:.875rem}.btn-primary,.btn-success{min-height:52px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.home-shell{width:100%;max-width:420px}.home-hero{text-align:center;margin-bottom:28px}.home-hero p{color:var(--muted);margin:10px 0 0;font-size:.95rem;line-height:1.5}.home-host-link{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:14px 16px;margin-bottom:20px;color:var(--text);font-weight:700;font-size:.95rem}.home-form{display:flex;flex-direction:column;gap:16px}.home-lang{position:fixed;top:max(12px,env(safe-area-inset-top,0px));inset-inline-end:max(12px,env(safe-area-inset-right,0px));z-index:20}.room-page{max-width:520px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:var(--page-pad-top) var(--page-pad-x) 0;padding-bottom:var(--page-pad-bottom)}.room-header{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.room-header__meta h1{margin:4px 0 0;font-size:clamp(1.1rem,4.5vw,1.35rem);font-weight:800;line-height:1.2}.room-header__team{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.room-header__status{margin:2px 0 0;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot--on{background:var(--success);box-shadow:0 0 8px var(--success)}.status-dot--off{background:var(--team2)}.room-header__scores{text-align:end;font-variant-numeric:tabular-nums;flex-shrink:0}.room-main{flex:1;display:flex;flex-direction:column;gap:16px;padding-bottom:16px}.room-panel{padding:clamp(18px,5vw,24px);text-align:center}.room-timer-block{padding:20px 16px;text-align:center;margin-bottom:12px}.turn-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;margin:0 -4px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.turn-scroll::-webkit-scrollbar{display:none}.turn-scroll>*{scroll-snap-align:start;flex-shrink:0}.room-sticky-actions{position:sticky;bottom:0;z-index:40;margin:0 calc(-1 * var(--page-pad-x));padding:12px var(--page-pad-x) max(12px,var(--sticky-bar-pad));background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--bg) 82%,transparent) 28%,var(--bg) 55%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.card-face__badge{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 8px;max-width:100%}.card-face__name-en{font-size:clamp(1.35rem,6.5vw,1.65rem);font-weight:800;line-height:1.12;margin-bottom:8px;letter-spacing:-.02em;word-break:break-word}.card-face__name-fa{font-size:clamp(1.2rem,5.5vw,1.45rem);font-weight:700;line-height:1.25}.card-face--play{padding:clamp(1.25rem,5vw,1.5rem) clamp(1rem,4vw,1.25rem)}.toast-stack{bottom:max(20px,env(safe-area-inset-bottom,0px))}.tv-page{min-height:100dvh;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column}.tv-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.tv-header h1{margin:0;font-size:clamp(1.5rem,6vw,2.75rem);font-weight:800;line-height:1.1}.tv-header-logo{margin-inline:0!important;max-width:min(280px,70vw)!important}.tv-header__actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tv-lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}@media(max-width:900px){.tv-lobby-grid{grid-template-columns:1fr;gap:20px}.tv-qr-wrap svg{width:min(220px,70vw)!important;height:auto!important}}@media(max-width:480px){.tv-header__scores{width:100%;display:flex;gap:10px}.tv-header__scores>*{flex:1}}
