:root{--bg: #08110f;--bg-2: #0c1a17;--panel: #10221e;--panel-2: #143029;--line: rgba(255, 255, 255, .08);--text: #eef7f3;--muted: #93aca4;--gold: #f3c969;--gold-2: #e0a93f;--teal: #35d6b0;--red: #f87171;--blue: #60a5fa;--shadow: 0 12px 34px rgba(0, 0, 0, .38);--radius: 18px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:radial-gradient(120% 90% at 50% -10%,#123128 0%,var(--bg) 46%,#050b0a 100%);color:var(--text);font-family:Vazirmatn,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.7;overscroll-behavior-y:none}button,input{font-family:inherit;font-size:inherit;color:inherit}button{border:0;background:none;cursor:pointer}.app{min-height:100%;max-width:560px;margin:0 auto;padding:14px 14px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.topbar{display:flex;align-items:center;gap:10px;padding:4px 2px}.topbar .back{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:20px;background:var(--panel);border:1px solid var(--line);color:var(--text);flex:0 0 auto}.topbar .titles{flex:1;min-width:0}.topbar h1{margin:0;font-size:19px;font-weight:700;letter-spacing:-.2px}.topbar .sub{margin:0;color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .coin{font-size:12.5px;color:var(--gold);background:#f3c9691a;border:1px solid rgba(243,201,105,.25);padding:5px 11px;border-radius:999px;white-space:nowrap}.hero{position:relative;overflow:hidden;border-radius:22px;padding:18px;background:radial-gradient(90% 140% at 100% 0%,rgba(53,214,176,.18),transparent 55%),linear-gradient(145deg,#164237,#0d2620 70%);border:1px solid rgba(53,214,176,.18);box-shadow:var(--shadow)}.hero h2{margin:0 0 6px;font-size:21px;font-weight:700}.hero p{margin:0;color:#b9d3c9;font-size:13px}.hero .suits{position:absolute;left:-8px;top:-14px;font-size:54px;opacity:.1;transform:rotate(-14deg);letter-spacing:6px;pointer-events:none}.section-title{display:flex;align-items:center;justify-content:space-between;margin:2px 2px -4px;color:var(--muted);font-size:12.5px}.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.game-card{position:relative;overflow:hidden;text-align:right;padding:14px 13px 13px;border-radius:var(--radius);background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line);box-shadow:0 6px 18px #00000038;transition:transform .12s ease,border-color .12s ease;display:flex;flex-direction:column;gap:3px;min-height:118px}.game-card:active{transform:scale(.975);border-color:#f3c96966}.game-card .emoji{font-size:27px;line-height:1.25}.game-card .name{font-size:15.5px;font-weight:700}.game-card .desc{color:var(--muted);font-size:11.5px;line-height:1.5}.game-card .badge{position:absolute;top:10px;left:10px;font-size:10px;padding:3px 8px;border-radius:999px;background:#35d6b01f;border:1px solid rgba(53,214,176,.28);color:var(--teal)}.game-card .badge.hot{background:#f3c9691f;border-color:#f3c9694d;color:var(--gold)}.game-card.span2{grid-column:span 2}.game-card.wide{grid-column:span 2;min-height:92px;flex-direction:row;align-items:center;gap:14px}.game-card.wide .emoji{font-size:34px}.game-card.wide .grow{flex:1}.screen{display:flex;flex-direction:column;gap:12px;flex:1}.stage{background:linear-gradient(170deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.status-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border-radius:14px;background:#ffffff09;border:1px solid var(--line);font-size:13px;min-height:44px}.status-line .turn{font-weight:700}.status-line .turn.you{color:var(--teal)}.status-line .turn.bot{color:var(--gold)}.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;background:#ffffff0d;border:1px solid var(--line);color:var(--muted);white-space:nowrap}.chip.on{background:#35d6b024;border-color:#35d6b052;color:var(--teal)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:10px 18px;border-radius:14px;font-weight:700;font-size:14px;background:#ffffff0f;border:1px solid var(--line);transition:transform .1s ease,filter .15s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;transform:none}.btn.primary{background:linear-gradient(160deg,var(--gold),var(--gold-2));color:#22190a;border:0;box-shadow:0 8px 20px #e0a93f40}.btn.teal{background:linear-gradient(160deg,#3fe3bd,#20a98a);color:#042019;border:0}.btn.ghost{background:transparent}.btn.block{width:100%}.btn.sm{min-height:36px;padding:6px 12px;font-size:12.5px;border-radius:11px}.row{display:flex;gap:9px}.row>*{flex:1}.scorebar{display:flex;gap:8px}.score-pill{flex:1;text-align:center;padding:8px 6px;border-radius:13px;background:#ffffff09;border:1px solid var(--line)}.score-pill b{display:block;font-size:17px}.score-pill span{color:var(--muted);font-size:11px}.dooz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;width:min(100%,330px);margin:4px auto;aspect-ratio:1}.dooz-cell{border-radius:16px;background:#ffffff0a;border:1px solid var(--line);display:grid;place-items:center;font-size:clamp(34px,13vw,58px);font-weight:700;transition:background .12s ease,transform .1s ease}.dooz-cell:active{transform:scale(.96)}.dooz-cell.x{color:var(--teal);background:#35d6b017}.dooz-cell.o{color:var(--gold);background:#f3c96914}.dooz-cell.win{border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold)}.c4-wrap{display:flex;flex-direction:column;gap:8px}.c4-cols{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.c4-drop{height:30px;border-radius:10px;background:#ffffff08;border:1px dashed rgba(255,255,255,.12);display:grid;place-items:center;font-size:12px;color:var(--muted)}.c4-drop:active{background:#f3c9691f}.c4-board{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:7px;border-radius:16px;background:#0a2138;border:1px solid rgba(96,165,250,.22)}.c4-cell{aspect-ratio:1;border-radius:50%;background:#071626;box-shadow:inset 0 2px 5px #0000008c}.c4-cell.p1{background:radial-gradient(circle at 34% 30%,#fb8b8b,#dc2626 70%)}.c4-cell.p2{background:radial-gradient(circle at 34% 30%,#ffe08a,#d4a017 70%)}.c4-cell.win{outline:2px solid #fff;outline-offset:1px}.ms-grid{display:grid;gap:3px;margin:4px 0;user-select:none;touch-action:manipulation}.ms-cell{aspect-ratio:1;border-radius:5px;background:linear-gradient(160deg,#1c3b33,#142b25);border:1px solid rgba(255,255,255,.06);display:grid;place-items:center;font-size:clamp(10px,2.9vw,15px);font-weight:700;color:var(--text);transition:background .08s ease}.ms-cell.revealed{background:#ffffff12;border-color:transparent}.ms-cell.flagged{background:#f3c96924}.ms-cell.mine{background:#f8717147}.ms-cell.boom{background:var(--red)}.ms-cell.n1{color:#60a5fa}.ms-cell.n2{color:#34d399}.ms-cell.n3{color:#f87171}.ms-cell.n4{color:#c084fc}.ms-cell.n5{color:#fbbf24}.ms-cell.n6{color:#2dd4bf}.ms-cell.n7{color:#f472b6}.ms-cell.n8{color:#e5e7eb}.gw-mask{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;direction:rtl;margin:12px 0 4px}.gw-letter{min-width:30px;height:40px;padding:0 4px;border-radius:9px;display:grid;place-items:center;font-size:21px;font-weight:700;background:#ffffff0d;border-bottom:2px solid rgba(255,255,255,.18)}.gw-letter.shown{color:var(--gold);border-bottom-color:var(--gold);background:#f3c96914}.gw-letter.gap{border:0;background:none;min-width:14px;color:var(--muted)}.gw-input{flex:1;min-width:0;min-height:48px;padding:10px 14px;border-radius:13px;background:#ffffff0d;border:1px solid var(--line);outline:none;text-align:center;font-size:16px}.gw-input:focus{border-color:#f3c96980}.gw-attempts{margin-top:12px;display:flex;flex-direction:column;gap:6px;max-height:160px;overflow:auto}.attempt{display:flex;justify-content:space-between;gap:8px;padding:7px 11px;border-radius:10px;background:#ffffff08;font-size:13px}.attempt.ok{color:var(--teal)}.attempt.no{color:#fca5a5}.ef-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ef-field{display:flex;flex-direction:column;gap:4px}.ef-field label{font-size:11.5px;color:var(--muted)}.ef-field input{min-height:42px;padding:8px 11px;border-radius:11px;background:#ffffff0d;border:1px solid var(--line);outline:none}.ef-field input:focus{border-color:#35d6b080}.letter-badge{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:16px;font-size:28px;font-weight:700;color:#22190a;background:linear-gradient(160deg,var(--gold),var(--gold-2));box-shadow:0 8px 20px #e0a93f3d}.timerbar{height:7px;border-radius:999px;background:#ffffff12;overflow:hidden}.timerbar>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--gold));transition:width .3s linear}.overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:22px;background:#030807b8;backdrop-filter:blur(4px);animation:fade .16s ease}.modal{width:min(100%,380px);border-radius:22px;padding:22px 18px 18px;text-align:center;background:linear-gradient(165deg,#174237,#0d2620);border:1px solid rgba(53,214,176,.22);box-shadow:0 24px 60px #00000080;animation:pop .18s ease}.modal .big{font-size:44px;line-height:1.2}.modal h3{margin:8px 0 4px;font-size:20px}.modal p{margin:0 0 16px;color:var(--muted);font-size:13px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.94)}}.hint{color:var(--muted);font-size:12px;text-align:center;margin:0}.menu-list{display:flex;flex-direction:column;gap:11px}.menu-card{display:flex;align-items:center;gap:13px;text-align:right;padding:16px 14px;border-radius:var(--radius);background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line);box-shadow:0 6px 18px #00000038;transition:transform .12s ease,border-color .12s ease}.menu-card:active{transform:scale(.978);border-color:#35d6b066}.menu-card:disabled{opacity:.6}.menu-card .menu-emoji{width:46px;height:46px;flex:0 0 46px;border-radius:14px;display:grid;place-items:center;font-size:23px;background:#35d6b01a;border:1px solid rgba(53,214,176,.22)}.menu-card .menu-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.menu-card .menu-info b{font-size:16px;font-weight:700}.menu-card .menu-info em{color:var(--muted);font-size:11.5px;font-style:normal;line-height:1.5}.menu-card .menu-arrow{flex:0 0 auto;color:var(--muted);font-size:20px}.guest-card{display:flex;flex-direction:column;gap:10px;padding:16px 14px;border-radius:var(--radius);background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line);box-shadow:var(--shadow)}.guest-card h3{margin:0;font-size:16px}.guest-card p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.7}.guest-input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#00000047;color:var(--text);font-size:15px;text-align:center;outline:none}.guest-input:focus{border-color:#35d6b080}.spacer{flex:1}.toast{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:50;padding:9px 16px;border-radius:999px;background:#143029f5;border:1px solid rgba(53,214,176,.3);color:var(--text);font-size:12.5px;box-shadow:var(--shadow);animation:pop .16s ease;max-width:90vw;text-align:center}.group-entry{display:flex;flex-direction:column;gap:8px;margin:0 0 14px}.entry-error{color:#fca5a5;font-size:12px;text-align:center;margin:2px 0 0}.code-input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#00000047;color:var(--text);font-size:18px;letter-spacing:4px;text-align:center;font-weight:700;outline:none}.code-input:focus{border-color:#35d6b080}.room-banner{margin:0 0 12px;padding:9px 12px;border-radius:12px;background:#35d6b01a;border:1px solid rgba(53,214,176,.25);color:var(--text);font-size:12.5px;text-align:center}.room-banner.warn{background:#f3c9691f;border-color:#f3c9694d;color:#fde9b8}.room-code-card{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px;margin:0 0 14px;border-radius:var(--radius);background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line);box-shadow:var(--shadow)}.room-code-label{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}.room-code{font-size:26px;letter-spacing:5px;color:var(--gold);font-weight:800}.room-code-actions{display:flex;gap:8px;flex-wrap:wrap}.seat-list{display:flex;flex-direction:column;gap:8px;margin:0 0 14px}.seat{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}.seat.me{border-color:#35d6b073;background:#35d6b014}.seat.empty{opacity:.55;border-style:dashed}.seat-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#05211b;font-size:15px}.seat-avatar.ghost{background:transparent;border:1px dashed var(--line);color:var(--muted)}.seat-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.seat-name{font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.seat-name em{font-style:normal;font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:999px}.seat-crown{color:var(--gold);background:#f3c96924}.seat-you{color:var(--teal);background:#35d6b024}.seat-state{font-size:11.5px;color:var(--muted)}.ready-dot{width:9px;height:9px;border-radius:50%;background:#ffffff29;flex:0 0 9px}.ready-dot.on{background:var(--teal);box-shadow:0 0 8px #35d6b099}.seat-kick{border:none;background:#f871711f;color:#fca5a5;width:26px;height:26px;border-radius:8px;font-size:13px;cursor:pointer}.lobby-settings{padding:12px;margin:0 0 14px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.setting-title{font-size:12.5px;font-weight:700;color:var(--muted)}.setting-row{display:flex;flex-direction:column;gap:6px;font-size:12.5px}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg-btn{padding:7px 11px;border-radius:10px;border:1px solid var(--line);background:#00000038;color:var(--muted);font-size:12px;cursor:pointer;font-family:inherit}.seg-btn.on{background:#35d6b029;border-color:#35d6b073;color:var(--teal);font-weight:700}.room-bar{display:flex;align-items:center;gap:8px;padding:8px 10px;margin:0 0 12px;border-radius:12px;background:#10221ee6;border:1px solid var(--line)}.room-bar-code{display:flex;flex-direction:column;align-items:flex-start;gap:0;border:none;background:transparent;color:var(--gold);font-weight:800;font-size:13px;letter-spacing:2px;cursor:pointer;padding:0;font-family:inherit}.room-bar-code em{font-style:normal;font-size:9px;color:var(--muted);letter-spacing:0;font-weight:600}.room-bar-players{display:flex;gap:3px;flex:1;flex-wrap:wrap}.mini-avatar{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-size:10.5px;font-weight:800;background:#35d6b038;color:var(--teal);border:1px solid rgba(53,214,176,.35)}.mini-avatar.off{opacity:.4}.mini-avatar.done{background:#f3c96933;color:var(--gold);border-color:#f3c96966}.mini-avatars{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:8px 0}.room-role{font-size:11px;color:var(--muted);white-space:nowrap}.room-role.host{color:var(--gold)}.room-exit{border:none;background:#f8717124;color:#fca5a5;width:26px;height:26px;border-radius:8px;font-size:13px;cursor:pointer;flex:0 0 26px}.vs-row{display:flex;align-items:center;gap:8px;margin:0 0 12px}.vs-player{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 6px;border-radius:14px;background:var(--panel);border:1px solid var(--line);transition:border-color .2s,background .2s}.vs-player.turn{border-color:#35d6b08c;background:#35d6b014}.vs-mark{font-size:17px}.vs-name{font-size:11.5px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vs-score{font-size:17px;color:var(--text)}.vs-sep{font-size:11px;color:var(--muted)}.round-panel{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;padding:14px;margin:12px 0;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line)}.round-panel b{font-size:14px}.round-panel .hint{font-size:11.5px}.letter-hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px;margin:0 0 12px;border-radius:var(--radius);background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line)}.letter-label{font-size:11px;color:var(--muted)}.letter-big{font-size:40px;line-height:1.1;color:var(--gold);font-weight:900}.chip.danger{color:#fca5a5;background:#f8717124;border-color:#f871714d}.ef-form{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}.ef-field{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--muted)}.ef-input{padding:10px 12px;border-radius:11px;border:1px solid var(--line);background:#00000042;color:var(--text);font-size:14px;font-family:inherit;outline:none}.ef-input:focus{border-color:#35d6b073}.ef-review{display:flex;flex-direction:column;gap:10px;margin:0 0 12px}.ef-review-row{padding:10px 12px;border-radius:14px;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.ef-review-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.ef-review-answers{display:flex;flex-direction:column;gap:3px}.ef-answer{display:grid;grid-template-columns:62px 1fr 26px;gap:6px;align-items:center;font-size:11.5px}.ef-answer em{font-style:normal;color:var(--muted)}.ef-answer b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ef-answer i{font-style:normal;color:var(--gold);text-align:left}.master-card{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;padding:14px;margin:0 0 12px;border-radius:var(--radius);background:#f3c96914;border:1px solid rgba(243,201,105,.28)}.master-word{font-size:20px;font-weight:800;color:var(--gold)}.master-word em{font-style:normal;font-size:12px;font-weight:600;color:var(--muted)}.master-actions{display:flex;gap:8px}.race-list{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}.race-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:11px;background:var(--panel);border:1px solid var(--line);font-size:12px}.race-row.me{border-color:#35d6b066}.race-row.done{border-color:#f3c96980;background:#f3c96914}.race-row.dead{opacity:.55}.race-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.race-score{color:var(--muted);font-size:11px;white-space:nowrap}.room-error{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:18px 14px;margin:8px 0;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line)}.room-error .big{font-size:38px}.room-error h3{margin:0;font-size:14px}.room-error .btn{width:100%}.skeleton{display:flex;flex-direction:column;gap:10px;padding:14px}.skeleton-line{height:14px;border-radius:8px;background:linear-gradient(90deg,#ffffff0d,#ffffff1f,#ffffff0d);background-size:200% 100%;animation:shimmer 1.4s infinite linear}@keyframes shimmer{to{background-position:-200% 0}}
