@font-face{font-family:Pinar;src:url('/static/fonts/Pinar-Medium.woff2') format('woff2');font-weight:400 600;font-display:swap}
@font-face{font-family:Pinar;src:url('/static/fonts/Pinar-Bold.woff2') format('woff2');font-weight:700 900;font-display:swap}

:root{--bg:#090b0f;--surface:#101217;--surface-2:#191c22;--surface-3:#22262d;--ink:#f8ead7;--muted:#99959a;--line:#2b2e34;--accent:#ff5e59;--accent-soft:#362021;--blue:#62aef2;--lime:#d9ef48;--yellow:#f1c94e;--nav-h:74px;--radius:22px}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Pinar,Tahoma,sans-serif;font-weight:500;min-width:280px}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit}
a{color:inherit;text-decoration:none}
.hidden{display:none!important}
.app-shell{width:100%;max-width:430px;margin:0 auto;background:var(--surface);min-height:100dvh;position:relative;padding:0 18px calc(var(--nav-h) + env(safe-area-inset-bottom) + 34px);overflow:hidden}
.app-shell{padding-top:env(safe-area-inset-top)}
.mobile-header{height:74px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;direction:ltr}
.brand-word{font:900 22px/1 Arial,sans-serif;letter-spacing:-.7px;color:var(--ink)}
.brand-copy{font-size:9px;line-height:1.45;color:#b8b1aa;border-left:1px solid var(--line);padding-left:11px;text-align:left;direction:rtl}
.icon-button{width:44px;height:44px;border:0;border-radius:14px;background:var(--surface-2);display:grid;place-items:center;font-size:21px;cursor:pointer}
.icon-button:active{transform:scale(.94)}

.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:8px 8px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:#11141a;border-top:1px solid var(--line)}
.nav-item{border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#77777f;font-size:9px;cursor:pointer;min-width:0}
.nav-item i{font-size:23px}.nav-item.active,.nav-item:active{color:var(--accent)}

.home-intro{padding:32px 2px 24px;position:relative}
.live-chip{position:absolute;left:0;top:31px;font-size:10px;padding:8px 11px;border-radius:99px;background:var(--surface-2);color:#ccc3b8;display:flex;gap:7px;align-items:center}
.live-chip i{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.overline{font-size:10px;color:#77757a;margin:0 0 19px}
.home-intro h1{font-size:38px;line-height:1.22;letter-spacing:-1.6px;margin:0;font-weight:800}
.home-intro h1 em{color:var(--accent);font-style:normal}
.mood-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -18px;padding:0 18px 18px;scroll-snap-type:x proximity}
.mood-tabs::-webkit-scrollbar{display:none}
.mood-tab{flex:0 0 auto;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:99px;background:transparent;color:#a9a4a4;display:flex;align-items:center;gap:7px;font-size:10px;cursor:pointer;scroll-snap-align:start}
.mood-tab i{font-size:17px}.mood-tab.active{background:var(--accent);border-color:var(--accent);color:#101217}

.featured-ticket{background:var(--accent);color:#111318;border-radius:20px;padding:19px;margin-bottom:31px}
.ticket-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:700;border-bottom:1px solid #1a1b1e;padding-bottom:12px}
.ticket-top i{font-size:18px}.ticket-main{display:grid;grid-template-columns:72px 1fr;gap:15px;align-items:center;padding:19px 0 15px}
.ticket-number{font:900 65px/1 Arial,sans-serif;letter-spacing:-5px}.ticket-main h2{font-size:24px;margin:0 0 8px;line-height:1.25}.ticket-main p{font-size:10px;line-height:1.75;margin:0;color:#312020}
.ticket-meta{display:flex;gap:16px;font-size:9px;padding:0 0 17px}.ticket-meta span{display:flex;align-items:center;gap:5px}.ticket-meta i{font-size:15px}
.ticket-cta{min-height:52px;border-radius:14px;background:var(--blue);display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:12px;font-weight:800}
.ticket-cta i{font-size:20px}

.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.section-title span{font-size:9px;color:#77757b}.section-title h2{font-size:20px;margin:4px 0 0}.section-title>b{font-size:9px;color:var(--blue);font-weight:600}
.game-list{border-top:1px solid var(--line)}
.game-row{min-height:78px;display:grid;grid-template-columns:34px 44px 1fr 22px;gap:10px;align-items:center;border-bottom:1px solid var(--line);position:relative}
.game-row:active{background:var(--surface-2)}
.game-index{font:700 12px Arial;color:#686870;direction:ltr}
.game-row-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--surface-2);font-size:21px}
.tone-coral{color:var(--accent)}.tone-blue{color:var(--blue)}.tone-lime{color:var(--lime)}.tone-yellow{color:var(--yellow)}
.game-row-copy{min-width:0}.game-row-copy b{display:block;font-size:13px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-row-copy small{display:block;color:#7d7a80;font-size:8px}.row-arrow{font-size:16px;color:#686870}
.privacy-note{display:flex;gap:12px;align-items:flex-start;margin:28px 0 10px;padding:16px;border-radius:17px;background:var(--surface-2)}
.privacy-note>i{font-size:24px;color:var(--blue)}.privacy-note b{font-size:11px}.privacy-note p{font-size:8px;line-height:1.7;color:#858289;margin:4px 0 0}

.game-backbar{height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:10px;color:#858189}
.game-backbar a{display:flex;align-items:center;gap:7px}.game-backbar a i{font-size:17px}.game-backbar>span{direction:ltr}
.game-info{padding:20px 0}
.game-cover{height:176px;border-radius:24px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;position:relative;overflow:hidden}
.game-cover>i{font-size:72px}.game-cover>span{font:700 8px Arial;letter-spacing:2px;color:#aba8ad}.game-cover-brand{position:absolute;top:12px;left:12px;width:38px;height:38px;border-radius:11px;box-shadow:0 5px 16px #0007}
.game-cover.tone-coral{background:#321d20}.game-cover.tone-blue{background:#182737}.game-cover.tone-lime{background:#252b19}.game-cover.tone-yellow{background:#302919}
.game-heading{padding:24px 2px 19px}.info-badge{font-size:9px;color:var(--accent)}.game-heading h1{font-size:34px;letter-spacing:-1px;margin:8px 0}.game-heading p{font-size:11px;line-height:1.9;color:#aaa4a2;margin:0}
.info-stats{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:14px}
.info-stats>div{padding:15px;display:grid;grid-template-columns:22px 1fr;column-gap:8px;align-items:center}.info-stats>div+div{border-right:1px solid var(--line)}.info-stats i{font-size:19px;color:var(--blue);grid-row:1/3}.info-stats span{font-size:8px;color:#77757b}.info-stats b{font-size:10px;margin-top:3px}
.how-card{padding:18px;border-radius:18px;background:var(--surface-2)}.how-title{display:flex;align-items:center;gap:9px;margin-bottom:10px}.how-title i{font-size:20px;color:var(--accent)}.how-title h2{font-size:15px;margin:0}.rule-line{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}.rule-line b{width:24px;height:24px;border-radius:8px;background:var(--surface-3);display:grid;place-items:center;font:700 9px Arial;color:var(--blue)}.rule-line p{font-size:9px;line-height:1.8;color:#aaa5a7;margin:1px 0 0}
.mode-note{display:flex;gap:11px;padding:15px;margin-top:13px;border:1px solid #2d4357;border-radius:16px;background:#17212b}.mode-note>i{font-size:23px;color:var(--blue)}.mode-note b{font-size:10px}.mode-note p{font-size:8px;line-height:1.7;color:#8a9bab;margin:3px 0 0}
.primary-button,.secondary-button{width:100%;min-height:52px;border:0;border-radius:15px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:800;cursor:pointer}
.primary-button{background:var(--accent);color:#111318}.primary-button:disabled{opacity:.38}.secondary-button{width:auto;padding:0 17px;background:var(--blue);color:#111318}.secondary-button.full{width:100%;background:var(--surface-3);color:var(--ink);border:1px solid var(--line);margin-top:9px}.start-game-button{margin-top:14px;justify-content:space-between;padding:0 18px}
.play-view{padding:20px 0}.setup-panel{background:var(--surface-2);border-radius:22px;padding:18px}.play-title{display:flex;align-items:center;gap:12px;margin-bottom:19px}.play-title>i{width:44px;height:44px;border-radius:14px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:23px}.play-title span{font-size:8px;color:#7d7980}.play-title h2{font-size:19px;margin:3px 0 0}.play-title.compact{margin-bottom:10px}
.field-label{display:block;font-size:9px;color:#928e93;margin:13px 0}.field-label input,.field-label select,.inline-field input{width:100%;min-height:50px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);padding:0 14px;outline:none;margin-top:7px}.field-label input:focus,.field-label select:focus,.inline-field input:focus{border-color:var(--accent)}
.inline-field{display:grid;grid-template-columns:1fr auto;gap:8px}.inline-field input{margin:0}.or-line{display:flex;align-items:center;gap:9px;color:#6e6c72;font-size:8px;margin:17px 0}.or-line:before,.or-line:after{content:'';height:1px;flex:1;background:var(--line)}
.room-code-card{text-align:center;padding:20px;border-radius:20px;background:var(--accent);color:#111318;margin-bottom:12px}.room-code-card>span,.room-code-card>small{display:block;font-size:8px}.room-code-card button{border:0;background:transparent;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:8px}.room-code-card button b{font:900 32px Arial;letter-spacing:6px}.room-code-card button i{font-size:21px}.room-players{padding:16px;border-radius:20px;background:var(--surface-2)}.player-list{display:grid;gap:7px;margin:8px 0 15px}.player-chip{min-height:48px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;font-size:10px}.player-chip i{width:30px;height:30px;border-radius:10px;background:#282c34;display:grid;place-items:center;font-style:normal}.player-chip.host:after{content:'سازنده';font-size:7px;color:var(--accent);margin-right:auto}.game-table{margin-top:12px;padding:15px;border-radius:20px;background:var(--surface-2);min-height:300px}.waiting{text-align:center;padding:58px 10px}.waiting>i{font-size:42px;color:var(--blue);display:block;animation:spin 1.2s linear infinite}.waiting h2{font-size:16px}.waiting p{font-size:9px;color:var(--muted)}
.action-card{min-height:300px;margin:15px 0;padding:25px;border-radius:22px;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.action-card>i{font-size:31px;color:var(--blue);margin-bottom:20px}.action-card h2{font-size:24px;line-height:1.6;margin:0}.light-card{background:var(--ink);color:#17181b}.light-card>span{font-size:9px;color:#7b6f66}.timer,.party-timer{font:900 46px Arial;margin:18px 0;color:var(--accent)}
.bat-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px;border-radius:16px;background:var(--surface)}.bat-toolbar>div:first-child{display:flex;align-items:center;gap:7px;font-size:8px;color:var(--muted)}.bat-toolbar b{font-size:25px;color:var(--yellow)}.hearts{display:flex;direction:ltr}.hearts button{width:35px;height:35px;border:0;background:transparent;color:var(--accent);font-size:24px}.hearts button.lost{color:#34363c}.starter-row{display:flex;justify-content:space-between;padding:15px 3px;font-size:9px}.starter-row b{font-size:12px}.bat-rules{display:grid;gap:7px;margin-bottom:12px}.bat-rule{min-height:54px;border-radius:14px;background:var(--surface);display:flex;align-items:center;gap:12px;padding:10px 13px}.bat-rule b{font:900 22px Arial;color:var(--yellow)}.bat-rule span{font-size:10px}.bat-rule.is-new{outline:1px solid var(--yellow)}.empty-state{text-align:center;padding:40px 20px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);font-size:9px}.play-hint{font-size:8px;color:var(--muted);line-height:1.8;text-align:center}
.editable-list{display:grid;gap:7px;margin:14px 0}.editable-item{min-height:47px;padding:0 12px;border-radius:13px;background:var(--surface);display:flex;align-items:center;gap:9px}.editable-item i{color:var(--blue)}.editable-item span{font-size:10px}.editable-item button{margin-right:auto;border:0;background:none;color:var(--accent);font-size:18px}.role-summary{font-size:9px;line-height:1.8;color:#aaa5a7;margin:12px 0}.pass-device{text-align:center;padding:30px 5px}.pass-device>i{font-size:50px;color:var(--blue)}.pass-device span{display:block;font-size:9px;color:var(--muted);margin-top:15px}.pass-device h2{font-size:30px;margin:5px}.pass-device p{font-size:8px;color:var(--muted)}.role-reveal{min-height:220px;border-radius:20px;background:var(--accent);color:#111318;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:13px 0;padding:20px}.role-reveal span{font-size:8px}.role-reveal h2{font-size:32px;margin:9px}.role-reveal p{font-size:9px;line-height:1.7}.god-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.god-head span{font-size:8px;color:var(--muted)}.god-head h2{font-size:25px;margin:4px 0}.phase-button{min-height:44px;border:0;border-radius:13px;background:var(--blue);color:#111318;padding:0 12px;font-size:9px;font-weight:800}.god-player-list{display:grid;gap:7px}.god-player{min-height:55px;padding:0 12px;border-radius:14px;background:var(--surface);display:grid;grid-template-columns:1fr auto;align-items:center}.god-player b{font-size:10px}.god-player small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.god-player.dead{opacity:.38;text-decoration:line-through}
.table-hud{display:flex;justify-content:space-between;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--line)}.stat{display:flex;align-items:center;gap:5px;font-size:8px;color:var(--muted)}.stat b{font:800 16px Arial;color:var(--lime)}.table-message{text-align:center;font-size:8px;color:var(--muted);line-height:1.7}.mind-pile{height:180px;display:grid;place-items:center}.mind-last{width:110px;height:150px;border-radius:17px;background:var(--lime);color:#111318;display:grid;place-items:center;font:900 46px Arial}.mind-last.empty{background:var(--surface);color:#484a52;border:1px dashed #484a52}.hand{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.play-card{width:62px;height:88px;border:0;border-radius:12px;background:var(--ink);color:#111318;font:900 20px Arial}.turn-badge{font-size:8px;color:var(--blue)}.spy-private{display:grid;place-items:center;text-align:center;min-height:250px}.role-card{padding:25px;width:100%;border-radius:20px;background:#241e32}.role-card.spy-role{background:#361e22}.role-card b{display:block;font-size:26px;margin:11px}.role-card p{font-size:9px;color:#b7b0bc}.panel-kicker{font-size:8px;color:var(--muted)}

.sheet-backdrop{position:fixed;z-index:40;inset:0;background:#050609b8;opacity:0;pointer-events:none;transition:.2s}.sheet-backdrop.show{opacity:1;pointer-events:auto}.bottom-sheet{position:fixed;z-index:41;bottom:0;left:50%;width:100%;max-width:430px;max-height:82dvh;overflow:auto;transform:translate(-50%,105%);transition:.28s ease;background:#1a1d23;border-radius:26px 26px 0 0;padding:10px 18px calc(24px + env(safe-area-inset-bottom))}.bottom-sheet.open{transform:translate(-50%,0)}.sheet-handle{width:40px;height:4px;border-radius:4px;background:#3a3d44;margin:0 auto 18px}.sheet-head{display:flex;justify-content:space-between;align-items:center}.sheet-head span{font-size:8px;color:var(--muted)}.sheet-head h2{font-size:20px;margin:4px 0 12px}.history-list{display:grid}.history-item{min-height:62px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.history-item>i{width:39px;height:39px;border-radius:12px;background:var(--surface-3);display:grid;place-items:center;color:var(--blue);font-size:20px}.history-item b{display:block;font-size:10px}.history-item small{font-size:8px;color:var(--muted)}.history-empty{text-align:center;color:var(--muted);font-size:9px;padding:45px 10px}.text-button{border:0;background:none;color:var(--blue);font-size:9px;padding:14px;width:100%;cursor:pointer}.danger-text{color:var(--accent)}.accent-picker{display:flex;gap:10px;margin-top:10px}.accent-picker button{width:42px;height:42px;border-radius:50%;border:4px solid #1a1d23;outline:1px solid var(--line)}.accent-picker button[data-accent=coral]{background:#ff5e59}.accent-picker button[data-accent=blue]{background:#62aef2}.accent-picker button[data-accent=lime]{background:#d9ef48}.accent-picker button.active{outline:2px solid var(--ink)}.toggle-row{min-height:62px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.toggle-row span b{display:block;font-size:10px}.toggle-row span small{font-size:8px;color:var(--muted)}.toggle-row input{position:absolute;opacity:0}.toggle-row>i{width:42px;height:24px;border-radius:99px;background:#33363d;position:relative}.toggle-row>i:after{content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:#aaa;top:3px;right:3px;transition:.2s}.toggle-row input:checked+i{background:var(--accent)}.toggle-row input:checked+i:after{right:21px;background:#111318}.toast{position:fixed;z-index:60;left:50%;bottom:calc(var(--nav-h) + 18px);width:calc(100% - 34px);max-width:396px;transform:translate(-50%,130px);padding:13px 15px;border-radius:14px;background:var(--ink);color:#111318;text-align:center;font-size:9px;box-shadow:0 12px 35px #0008;transition:.25s}.toast.show{transform:translate(-50%,0)}
.install-brand{direction:rtl}
@keyframes spin{to{transform:rotate(360deg)}}
body.large-text{font-size:112%}body.reduce-motion *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:350px){.app-shell{padding-inline:13px}.home-intro h1{font-size:33px}.ticket-main{grid-template-columns:58px 1fr}.ticket-number{font-size:54px}.game-row{grid-template-columns:28px 40px 1fr 18px;gap:7px}.mood-tabs{margin-inline:-13px;padding-inline:13px}.info-stats{grid-template-columns:1fr}.info-stats>div+div{border-right:0;border-top:1px solid var(--line)}}
@media(display-mode:standalone){.app-shell{padding-top:max(env(safe-area-inset-top),14px)}.mobile-header{height:68px}}

/* Team tournaments */
.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.team-name-list{display:grid;grid-template-columns:1fr 1fr;gap:0 9px}.team-score-strip{display:flex;gap:6px;overflow-x:auto;margin-bottom:10px}.team-score-strip>div{flex:1;min-width:75px;padding:9px;border-radius:12px;background:var(--surface);display:flex;justify-content:space-between;font-size:8px}.team-score-strip>div.active{background:var(--blue);color:#111318}.team-score-strip b{font:800 14px Arial}.team-word-card{min-height:270px;margin:8px 0}.team-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.team-actions .text-button{grid-column:1/-1}.leaderboard{display:grid;gap:8px}.leader-row{min-height:66px;border-radius:16px;background:var(--surface);display:grid;grid-template-columns:34px 1fr auto;align-items:center;padding:10px}.leader-row>b{width:28px;height:28px;border-radius:9px;background:var(--surface-3);display:grid;place-items:center;font:800 11px Arial}.leader-row strong{font-size:11px}.leader-row small{display:block;color:var(--muted);font-size:7px;margin-top:4px}.leader-row em{font:900 21px Arial;color:var(--blue);font-style:normal}.leader-row.winner{outline:1px solid var(--lime)}

/* Mafia scenarios */
.scenario-info{padding:13px;border-radius:15px;background:var(--surface);border-right:3px solid var(--accent)}.scenario-info b{font-size:11px}.scenario-info p,.scenario-info small{display:block;font-size:8px;line-height:1.75;color:var(--muted);margin:5px 0}.night-order{padding:13px;margin-bottom:12px;border-radius:15px;background:#121d2a}.night-order>b{display:block;font-size:10px;color:var(--blue);margin-bottom:8px}.night-order span{display:flex;align-items:center;gap:8px;font-size:9px;padding:6px 0}.night-order span i{width:22px;height:22px;border-radius:7px;background:var(--blue);color:#111318;display:grid;place-items:center;font:800 9px Arial}

/* Card rooms */
.card-room-hud,.private-hand-title,.team-tricks{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-room-hud{padding-bottom:10px;border-bottom:1px solid var(--line);font-size:8px}.card-room-hud b{font-size:10px;color:var(--lime)}.card-players-row{display:flex;gap:6px;overflow-x:auto;padding:10px 0}.card-player{flex:0 0 94px;min-height:54px;border-radius:13px;background:var(--surface);padding:7px;display:grid;grid-template-columns:24px 1fr;align-items:center}.card-player>i{font-size:20px;color:var(--muted);grid-row:1/3}.card-player span{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-player b{font-size:7px;color:var(--muted)}.card-player.active{outline:1px solid var(--lime)}.community-cards,.table-cards,.trick-cards,.discard-card{min-height:130px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.empty-card-slot{font-size:8px;color:var(--muted);border:1px dashed var(--line);border-radius:14px;padding:34px 20px}.private-hand-title{font-size:8px;color:var(--muted);margin:12px 0 8px}.playing-hand{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}.playing-card{position:relative;flex:0 0 62px;width:62px;height:92px;border:0;border-radius:11px;background:#f8ead7;color:#17181b;padding:8px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;scroll-snap-align:start;box-shadow:0 4px 0 #0005}.playing-card>i{font-size:22px}.playing-card>b{font:900 15px Arial;margin:5px 0}.playing-card>small{font-size:6px}.playing-card.suit-H,.playing-card.suit-D,.playing-card.suit-R{color:#db3b3b}.playing-card.suit-B{color:#297fcd}.playing-card.suit-G{color:#258558}.playing-card.suit-Y{color:#9b7900}.playing-card.suit-W{background:#25272e;color:var(--ink)}.playing-card.selected{outline:3px solid var(--lime);transform:translateY(-5px)}.suit-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 0}.suit-picker>span{grid-column:1/-1;font-size:8px;color:var(--muted)}.suit-picker button{min-height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:8px}.suit-picker button.active{background:var(--blue);color:#111318}.team-tricks{padding:10px}.team-tricks span{font-size:8px}.team-tricks b{font:900 18px Arial;color:var(--yellow)}
.showdown-list{display:grid;gap:7px;margin:10px 0}.showdown-list>div{padding:9px;border-radius:13px;background:var(--surface)}.showdown-list>div.winner{outline:1px solid var(--lime)}.showdown-list span{display:block;font-size:9px;margin-bottom:7px}.showdown-list>div>div{display:flex;gap:4px}.showdown-list .playing-card{width:43px;height:62px;flex-basis:43px}.showdown-list .playing-card>i{font-size:15px}.showdown-list .playing-card>b{font-size:10px}.showdown-list .playing-card>small{display:none}

/* Solo games */
.solo-hud{display:flex;justify-content:space-between;padding:10px 12px;border-radius:14px;background:var(--surface);font-size:8px}.solo-hud b{font:800 14px Arial;color:var(--blue);margin-right:4px}.solo-board{margin:14px 0}.solo-board.solved{outline:2px solid var(--lime);border-radius:18px}.sudoku-grid{display:grid;grid-template-columns:repeat(9,1fr);border:2px solid var(--ink);direction:ltr}.sudoku-cell{aspect-ratio:1;border:0;border-left:1px solid #3a3d44;border-bottom:1px solid #3a3d44;background:var(--surface);color:var(--ink);font:700 13px Arial;padding:0}.sudoku-cell:nth-child(3n){border-left:2px solid var(--ink)}.sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid var(--ink)}.sudoku-cell.fixed{background:var(--surface-3);color:var(--blue)}.sudoku-cell.selected{background:#263748}.sudoku-cell.wrong{color:var(--accent);background:#3b2023}.number-pad{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;direction:ltr}.number-pad button,.rubik-controls button{min-height:40px;border:0;border-radius:10px;background:var(--surface);color:var(--ink)}.solo-action-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.slide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;direction:ltr}.slide-grid button{aspect-ratio:1;border:0;border-radius:15px;background:var(--blue);color:#111318;font:900 25px Arial}.slide-grid button.empty{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.rubik-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:7px;border-radius:17px;background:var(--surface)}.rubik-grid i{aspect-ratio:1;border-radius:13px}.cube-r{background:#ff5e59}.cube-b{background:#62aef2}.cube-g{background:#d9ef48}.rubik-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.rubik-controls button{font-size:7px;display:flex;align-items:center;justify-content:center;gap:3px}.word-slots{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.word-slots span{padding:8px 12px;border-radius:10px;background:var(--surface);font-size:10px;letter-spacing:2px}.word-slots span.found{background:var(--lime);color:#111318}.letter-wheel{width:210px;min-height:210px;margin:20px auto 0;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;padding:45px}.letter-wheel i{width:40px;height:40px;border-radius:50%;background:var(--blue);color:#111318;display:grid;place-items:center;font-style:normal;font-size:18px}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.memory-grid button{aspect-ratio:1;border:0;border-radius:14px;background:var(--surface);color:var(--muted);font-size:25px}.memory-grid button.open{background:var(--accent);color:#111318}

.tic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;direction:ltr;padding:8px;border-radius:20px;background:var(--surface)}.tic-grid button{aspect-ratio:1;border:0;border-radius:15px;background:var(--surface-3);color:var(--accent);font:900 35px Arial}.tic-grid button.filled{box-shadow:inset 0 0 0 2px #ffffff12}.number-guess{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.number-guess>i{font-size:56px;color:var(--blue)}.number-guess>b{font-size:22px}.number-guess>div{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.number-guess span{min-width:42px;padding:8px;border-radius:12px;background:var(--surface-3);font:800 16px Arial}.number-guess span.low{color:var(--blue)}.number-guess span.high{color:var(--accent)}.number-guess span.right{color:var(--lime)}.number-guess-form{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end}.number-guess-form label{display:grid;gap:5px;font-size:9px;color:var(--muted)}.number-guess-form input{height:48px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);padding:0 14px;font:800 18px Arial}
@media(max-width:350px){.two-fields,.team-name-list{grid-template-columns:1fr}.playing-card{flex-basis:56px;width:56px;height:84px}.sudoku-cell{font-size:11px}}

/* Brand and recommendation */
.brand{gap:8px}.brand-logo{width:42px;height:42px;border-radius:13px;object-fit:cover}.brand-lockup{display:flex;align-items:center;gap:10px}.home-brand-mark{position:absolute;left:2px;top:78px;width:44px;height:44px;border-radius:13px;opacity:.22}.unc-footer{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;padding:18px 0 8px;border-top:1px solid var(--line);direction:ltr}.unc-footer img{width:44px;height:44px;border-radius:13px}.unc-footer div{direction:rtl}.unc-footer b{display:block;font:900 18px Arial}.unc-footer span{font-size:8px;color:var(--muted)}.unc-footer small{font:700 6px Arial;color:#5f6068;letter-spacing:1px}.recommend-hero{text-align:center;padding:28px 0 18px}.recommend-hero img{width:72px;height:72px;border-radius:21px}.recommend-hero>span{display:block;font:700 7px Arial;letter-spacing:2px;color:var(--blue);margin-top:10px}.recommend-hero h1{font-size:29px;margin:7px 0}.recommend-hero p{font-size:9px;color:var(--muted)}.recommend-form{display:grid;gap:8px}.recommend-step{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;padding:0 12px;border-radius:17px;background:var(--surface-2)}.recommend-step>b{width:27px;height:27px;margin-top:25px;border-radius:9px;background:var(--accent);color:#111318;display:grid;place-items:center;font:800 10px Arial}.recommend-results{padding-top:25px}.recommend-card{display:grid;grid-template-columns:28px 42px 1fr 18px;gap:9px;align-items:center;min-height:116px;padding:12px 0;border-bottom:1px solid var(--line)}.recommend-rank{font:800 11px Arial;color:#62636a}.recommend-card>i:first-of-type{width:42px;height:42px;border-radius:13px;background:var(--surface-2);display:grid;place-items:center;color:var(--accent);font-size:21px}.recommend-card b{font-size:12px}.recommend-card p{font-size:8px;line-height:1.65;color:var(--muted);margin:4px 0}.recommend-card small{display:flex;flex-wrap:wrap;gap:4px}.recommend-card em{font-style:normal;font-size:6px;padding:4px 6px;border-radius:99px;background:#192430;color:var(--blue)}

/* Correct Sudoku box boundaries and scalable slide boards */
.sudoku-cell{border-left:0;border-right:1px solid #3a3d44}.sudoku-cell:nth-child(3n){border-left:0;border-right:2px solid var(--ink)}.sudoku-cell:nth-child(9n){border-right:0}.sudoku-cell:nth-child(n+73){border-bottom:0}.slide-grid{grid-template-columns:repeat(var(--slide-size,3),1fr)}.slide-grid button{font-size:clamp(14px,6vw,25px)}.difficulty-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.difficulty-picker button{min-height:40px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:8px}.difficulty-picker button.active{background:var(--blue);color:#111318}

/* Clearer 2D cube and drag word wheel */
.rubik-shell{padding:14px;border-radius:22px;background:#0c0e12;border:1px solid #34373d;box-shadow:inset 0 0 0 5px #15181e}.rubik-goal{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:8px;color:var(--muted)}.rubik-goal div{display:flex;gap:3px}.rubik-goal i{width:13px;height:13px;border-radius:4px}.rubik-grid{gap:9px;padding:10px;background:#242831;border:4px solid #090b0f;box-shadow:0 8px 0 #050609}.rubik-grid i{border-radius:10px;box-shadow:inset 0 0 0 3px #ffffff20,0 3px 0 #0008;position:relative}.rubik-grid i:after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#ffffff45;top:10px;right:10px}.rubik-control-group{padding:9px;border-radius:14px;background:var(--surface);margin-top:7px}.rubik-control-group>span{display:block;font-size:7px;color:var(--muted);margin-bottom:6px}.rubik-control-group>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.rubik-controls{display:block}.rubik-controls button{min-height:42px}.letter-wheel{position:relative;display:block;padding:0;touch-action:none;overflow:hidden}.letter-wheel canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.letter-node{position:absolute;width:46px;height:46px;margin:-23px;border:0;border-radius:50%;background:var(--blue);color:#111318;display:grid;place-items:center;font-size:18px;z-index:2;touch-action:none}.letter-node.active{background:var(--accent);transform:scale(1.08)}.word-trace{text-align:center;min-height:32px;font-size:17px;color:var(--ink);letter-spacing:3px;margin-top:9px}.word-help{font-size:8px;color:var(--muted);text-align:center;line-height:1.7}

/* Rubik tile coordinates */
.rubik-grid i small{position:absolute;left:7px;bottom:5px;font:700 6px Arial;color:#11131899}.rubik-goal b{color:var(--ink)}

/* Full poker betting */
.poker-chip-setup small{display:block;font-size:7px;color:var(--muted);margin-top:5px}.card-player.folded{opacity:.35;text-decoration:line-through}.poker-pot{text-align:center;padding:13px;margin-top:10px;border-radius:16px;background:#17221b;border:1px solid #334f3b}.poker-pot span,.poker-pot small{display:block;font-size:7px;color:#89a890}.poker-pot b{display:block;font:900 29px Arial;color:var(--lime);margin:3px}.last-action{text-align:center;font-size:8px;color:var(--blue)}.poker-actions{display:grid;gap:8px;margin-top:10px;padding:10px;border-radius:16px;background:var(--surface)}.poker-actions>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.poker-actions button{min-height:43px;border:1px solid var(--line);border-radius:11px;background:var(--surface-3);font-size:9px}.poker-actions button:disabled{opacity:.3}.poker-actions label{display:grid;grid-template-columns:58px 1fr;align-items:center;font-size:8px;color:var(--muted)}.poker-actions input{min-height:42px;border:1px solid var(--line);border-radius:11px;background:#090b0f;color:var(--ink);padding:0 10px}.poker-actions .primary-button{background:var(--accent);border:0}.poker-winner{text-align:center;padding:15px;border-radius:16px;background:#26301b}.poker-winner i{font-size:28px;color:var(--lime)}.poker-winner b,.poker-winner span{display:block}.poker-winner b{font-size:14px}.poker-winner span{font-size:7px;color:var(--muted)}
