.uno-art { display:flex; align-items:center; justify-content:center; gap:8px; }
.uno-art i { width:44px; height:64px; display:grid; place-items:center; background:#d92e43; color:white; border:2px solid white; border-radius:6px; font-style:normal; font-size:23px; }
.uno-art i + i { background:#24282d; transform:rotate(10deg); }
.call-stage[data-view="game"].has-uno-game .game-lobby-stage { padding:66px 12px 90px !important; background:#141b20; }
.call-stage[data-view="game"].has-uno-game .native-game-board { width:100%; height:100%; min-width:0; display:flex; padding:0 !important; }
.call-stage[data-view="game"].has-uno-game .game-view > [data-game-stage-title], .call-stage[data-view="game"].has-uno-game .game-view > [data-game-stage-summary] { display:none !important; }
.call-stage[data-view="game"].has-uno-game.show-controls .call-controls { top:auto !important; bottom:12px !important; left:50% !important; right:auto !important; transform:translateX(-50%) !important; }
.call-stage[data-view="game"].has-uno-game.show-controls .call-controls button { color:#fff; background:#171d24; }
.call-stage[data-view="game"].has-uno-game.show-controls .call-controls button.end-call { background:#ff3b30; }
.call-stage[data-view="game"].has-uno-game.show-controls .call-controls button[data-control-icon="mic"]::before { content:'Mute'; }
.call-stage[data-view="game"].has-uno-game.show-controls .call-controls button[data-control-icon="cam"]::before { content:'Cam'; }
.call-stage[data-view="game"].has-uno-game.show-controls .call-controls button[data-control-icon="more"]::before { content:'More'; }
.call-stage[data-view="game"].has-uno-game.show-controls .call-controls button.end-call::before { content:'Leave'; }
.uno-table { display:flex; flex-direction:column; justify-content:center; gap:10px; width:100%; max-width:1040px; height:100%; min-width:0; min-height:0; margin:auto; color:#fff; text-align:left; letter-spacing:0; }
.uno-table[data-uno-theme="midnight"] { --uno-rail:#55565c; --uno-surface:#26272bee; --uno-stitch:#aaa3b066; --uno-ink:#f0ecf2; }
.uno-table[data-uno-theme="daylight"] { --uno-rail:#718e89; --uno-surface:#c6e7dfee; --uno-stitch:#486c6270; --uno-ink:#214b43; }
.uno-table[hidden] { display:none; }
.uno-table p, .uno-table h3 { margin:0; }
.uno-table h3 { font-size:17px; line-height:1.25; }
.uno-table p { font-size:11px; line-height:1.4; color:#c1ccd5; }
.uno-table-scene { flex:1; max-height:620px; min-height:0; min-width:0; position:relative; }
.uno-felt { position:absolute; inset:18% 5% 0; border:6px solid var(--uno-rail,#3f5e53); border-radius:45%; background:linear-gradient(var(--uno-surface,#205c4baa), var(--uno-surface,#205c4baa)), url('/assets/games/uno-felt.png') center / cover; }
.uno-felt::after { content:''; position:absolute; inset:7px; border:1px solid var(--uno-stitch,#79a09170); border-radius:inherit; }
.uno-table .uno-center { position:absolute; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; }
.uno-table-brand { font-size:11px; font-weight:800; color:var(--uno-ink,#b8d5c9); opacity:.65; }
.uno-piles { display:flex; align-items:center; gap:14px; }
.uno-piles > .uno-card { rotate:5deg; }
.uno-table .uno-reactions { display:flex; gap:12px; padding:0 8px; flex-shrink:0; }
.uno-table .uno-reactions button { flex:1; min-height:44px; padding:8px 10px; background:#fff; color:#161b20; border-radius:8px; font-size:13px; font-weight:800; }
.uno-table .uno-reactions [data-uno-action="catch"] { background:#f1c945; }
.uno-table .uno-hand-card.is-pending { opacity:.55; border-color:#f1c945; }
.uno-turn-info { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; padding:0 8px; min-width:0; }
.uno-turn-copy { min-width:0; display:flex; flex-direction:column; gap:3px; }
.uno-turn-copy h3, .uno-turn-copy p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.uno-table .uno-commands { display:flex; flex-wrap:wrap; gap:8px; flex-shrink:1; max-width:100%; }
.uno-table button { position:static !important; inset:auto !important; transform:none !important; width:auto; height:auto; min-height:44px; border:0; border-radius:6px !important; padding:10px 14px; background:#fff; color:#171b20; font-size:13px; line-height:1.25; font-weight:750; }
.uno-table button:disabled { opacity:.45; cursor:default; }
.uno-table button:focus-visible { outline:3px solid #f1c945; outline-offset:3px; }
.uno-table .uno-card { display:flex; flex-direction:column; justify-content:space-between; width:74px; height:112px; flex-shrink:0; padding:5px; border:3px solid #f7f7f1; border-radius:6px; color:white; box-shadow:0 3px 6px #0005; }
.uno-table .uno-card strong { position:relative; flex:1; display:grid; place-items:center; font-size:31px; color:var(--card-ink); isolation:isolate; }
.uno-table .uno-card strong::before { content:''; position:absolute; inset:3px 0; border-radius:80%; background:#faf9ee; rotate:26deg; z-index:-1; }
.uno-table .uno-card small { font-size:10px; font-weight:800; }
.uno-table .uno-card small:last-child { text-align:right; font-size:9px; }
.uno-table .uno-red { --card-ink:#d92e43; background:#d92e43; color:#fff; }
.uno-table .uno-blue { --card-ink:#2464d8; background:#2464d8; color:#fff; }
.uno-table .uno-green { --card-ink:#16834c; background:#16834c; color:#fff; }
.uno-table .uno-yellow { --card-ink:#554508; background:#f1c945; color:#22252a; }
.uno-table .uno-wild { --card-ink:#24282d; background:#24282d; color:#fff; }
.uno-table .uno-wild small:last-child { color:transparent; height:5px; background:linear-gradient(to right, #d92e43 25%, #2464d8 25% 50%, #16834c 50% 75%, #f1c945 75%); border-radius:2px; }
.uno-table .uno-deck { width:64px; height:92px; min-height:0; display:grid; place-items:center; background:#242c32; border:3px solid #f4f5ef; color:white; padding:0; opacity:1; box-shadow:0 3px 0 #adb7b2, 0 6px 0 #354a40, 0 8px 9px #0005; }
.uno-deck i { display:grid; place-items:center; border:2px solid #dfbc69; border-radius:50%; width:30px; height:43px; rotate:18deg; font-size:24px; font-weight:900; font-style:normal; }
.uno-piles .uno-card { width:64px; height:92px; }
.uno-hand-area { min-width:0; flex-shrink:0; display:grid; grid-template-columns:128px minmax(0, 1fr); align-items:center; column-gap:8px; }
.uno-hand-area > .uno-turn-info { grid-row:1; grid-column:2; }
.uno-hand-body { min-width:0; display:contents; }
.uno-hand-stack { grid-row:2; grid-column:1 / -1; min-width:0; }
.uno-table .uno-hand-order { display:flex; width:max-content; margin:4px auto 0; border-radius:6px; background:#303a40; }
.uno-table .uno-hand-order button { min-height:44px; padding:8px 10px; background:transparent; color:#fff; font-size:12px; }
.uno-table .uno-hand-order button[aria-pressed="true"] { background:#e5ece8; color:#17231e; }
.uno-self { position:relative; display:flex; align-items:center; justify-content:center; height:86px; width:128px; grid-row:1; grid-column:1; }
.uno-self-media { width:128px; height:86px; flex-shrink:0; }
.uno-self p { display:none; }
.uno-table .uno-hand { display:flex; overflow-x:auto; gap:6px; padding:14px 10px 10px; min-height:140px; align-items:center; }
.uno-hand-card:first-child { margin-left:auto; }
.uno-hand-card:last-child { margin-right:auto; }
.uno-table .uno-hand-card { flex:0 0 auto; padding:0; border:2px solid transparent; background:transparent; border-radius:8px; transition:translate .15s; }
.uno-table .uno-hand-card.is-group-start { margin-left:10px; }
.uno-table .uno-hand-card:disabled { opacity:1; }
.uno-table .uno-hand-card.is-playable { border-color:#f4ebc0; }
.uno-table .uno-hand-card.is-playable:hover, .uno-table .uno-hand-card.is-playable:focus-visible { translate:0 -10px; z-index:1; }
.uno-table .uno-error { color:#ff9ea9; }
.uno-table .uno-error:empty { display:none; }
.uno-color-scrim { margin:0; width:100%; height:100%; max-width:none; max-height:none; border:0; color:inherit; position:fixed; inset:0; z-index:300; display:grid; place-items:center; background:#000b; padding:20px; }
.uno-color-scrim::backdrop { background:transparent; }
.uno-color-dialog { display:flex; flex-direction:column; gap:20px; width:min(100%, 340px); padding:20px; background:#24282d; border-radius:8px; }
.uno-color-dialog .uno-commands { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.uno-color-dialog .uno-commands button { min-height:48px; text-transform:capitalize; }
.uno-seat { position:absolute; display:flex; flex-direction:column; align-items:center; gap:3px; }
.uno-seat-camera { width:100%; flex:1; min-height:0; display:flex; flex-direction:column; border:2px solid #64726d; border-radius:8px; overflow:hidden; background:#303a40; }
.uno-seat.is-turn .uno-seat-camera { border-color:#f1c945; }
.uno-seat-media { width:100%; flex:1; min-height:0; }
.uno-seat b { padding:3px 5px; background:#11181d; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-size:11px; line-height:14px; }
.uno-seat-footer { display:flex; height:20px; align-items:center; gap:6px; flex-shrink:0; }
.uno-seat small { font-size:11px; }
.uno-declared { color:#f1c945; font-weight:900; }
.uno-concealed { display:flex; align-items:center; padding-left:5px; }
.uno-concealed i { width:13px; height:18px; margin-left:-5px; border:1px solid #ebdfb5; background:#303943; border-radius:2px; }
.call-stage[data-view="game"] .video-grid article.game-view.has-uno-game .game-call-overlay { display:block !important; inset:0 !important; z-index:40; opacity:1 !important; visibility:visible !important; pointer-events:none !important; }
.call-stage[data-view="game"] .video-grid article.game-view.has-uno-game .game-call-overlay .game-seat-tile { position:fixed !important; right:auto !important; bottom:auto !important; transform:none !important; min-height:0 !important; opacity:1 !important; visibility:visible !important; display:flex !important; flex-direction:column; align-items:center; justify-content:center; padding:0; border:0; border-radius:4px; background:#303a40; overflow:hidden; }
.call-stage[data-view="game"] .video-grid article.game-view.has-uno-game .game-seat-tile > span, .call-stage[data-view="game"] .video-grid article.game-view.has-uno-game .game-seat-tile .game-seat-badge { width:44px !important; height:44px !important; position:relative !important; inset:auto !important; transform:none !important; display:grid; place-items:center; }
.call-stage[data-view="game"] .video-grid article.game-view.has-uno-game .game-seat-tile b, .call-stage[data-view="game"] .video-grid article.game-view.has-uno-game .game-seat-tile em { display:none !important; }
.call-stage[data-view="game"] .video-grid article.game-view.has-uno-game .game-seat-tile video { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; border-radius:4px; }
.call-stage[data-view="game"] .video-grid article.game-view.has-uno-game .game-seat-tile.has-profile-photo { background:var(--profile-photo) center / cover; }
.call-stage[data-view="game"] .video-grid article.game-view.has-uno-game .game-seat-tile::before { display:none; }
.call-stage[data-view="game"] .video-grid article.game-view.has-uno-game .game-seat-tile.is-self::after { content:none; display:none; }
.uno-draw-flight { position:fixed; display:grid; place-items:center; box-sizing:border-box; pointer-events:none; z-index:60; border:3px solid #f4f5ef; border-radius:6px; background:#242c32; box-shadow:0 3px 6px #0005; color:#fff; font-size:24px; font-weight:900; }
.uno-table[data-compact="true"] .uno-center .uno-card, .uno-table[data-compact="true"] .uno-deck { width:46px; height:68px; }
.uno-table[data-compact="true"] .uno-center .uno-card strong { font-size:21px; }
.uno-table[data-compact="true"] .uno-table-brand { display:none; }
.uno-table[data-large="true"] .uno-center .uno-card, .uno-table[data-large="true"] .uno-deck { width:78px; height:116px; }
@media (min-width:700px) and (min-height:650px) {
  .uno-hand-area { grid-template-columns:minmax(144px, 176px) minmax(0, 1fr) 200px; grid-template-rows:minmax(150px, auto); align-items:end; column-gap:16px; }
  .uno-hand-area > .uno-turn-info { grid-row:1; grid-column:1; align-self:stretch; flex-direction:column; align-items:flex-start; justify-content:center; padding:0 0 16px; }
  .uno-table .uno-commands { max-width:160px; }
  .uno-hand-stack { grid-row:1; grid-column:2; }
  .uno-hand-body .uno-hand { min-height:150px; padding-bottom:18px; }
  .uno-self { grid-row:1; grid-column:3; align-self:end; width:200px; height:134px; margin-bottom:18px; }
  .uno-self-media { width:200px; height:134px; }
}
@media (orientation:landscape) and (max-height:600px) {
  .call-stage[data-view="game"].has-uno-game .game-lobby-stage { padding:56px 84px 10px 18px !important; }
  .call-stage[data-view="game"].has-uno-game.show-controls .call-controls { left:auto !important; right:8px !important; top:50% !important; bottom:auto !important; transform:translateY(-50%) !important; width:60px !important; height:auto !important; display:flex !important; flex-direction:column !important; padding:6px; gap:6px; border-radius:8px; }
  .call-stage[data-view="game"].has-uno-game.show-controls .call-controls button { position:relative !important; inset:auto !important; flex:0 0 44px !important; width:46px !important; min-width:44px; height:44px; padding:0; }
  .uno-table { gap:4px; }
  .uno-hand-area { display:flex; align-items:center; gap:12px; }
  .uno-turn-info { width:150px; flex-shrink:0; flex-direction:column; align-items:flex-start; }
  .uno-hand-body { flex:1; display:flex; align-items:center; gap:8px; }
  .uno-table .uno-hand { min-height:92px; padding-block:10px; }
  .uno-hand .uno-card { width:46px; height:68px; }
  .uno-hand .uno-card strong { font-size:21px; }
  .uno-hand-stack { flex:1; min-width:0; }
  .uno-self { height:86px; width:128px; flex-shrink:0; }
  .uno-table .uno-error { position:absolute; bottom:0; }
}
@media (orientation:portrait) and (max-height:700px) {
  .uno-table { gap:4px; }
  .uno-hand-area { grid-template-columns:96px minmax(0,1fr); }
  .uno-self, .uno-self-media { width:96px; height:72px; }
  .uno-table .uno-hand { min-height:92px; padding-block:10px; }
  .uno-hand .uno-card { width:46px; height:68px; }
  .uno-hand .uno-card strong { font-size:21px; }
}
@media (prefers-reduced-motion:reduce) { .uno-table .uno-hand-card { transition:none; } }

.uno-table .uno-center p { color:var(--uno-ink,#c1ccd5); }

.uno-results { width:min(720px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid var(--appearance-line,#40525b); border-radius:24px; background:var(--appearance-shell-bg,#0e1517); color:var(--appearance-text,#f4f8f9); overflow:hidden; }
.uno-results[open] { display:flex; flex-direction:column; }
.uno-results::backdrop { background:#0009; }
.uno-results .uno-results-body { overflow:auto; min-height:0; padding:20px; }
.uno-results h2,.uno-results h3,.uno-results strong { color:inherit; overflow-wrap:anywhere; }
.uno-results h2 { font-size:30px; margin:12px 0; }
.uno-results p { font-size:17px; line-height:1.5; color:inherit; }
.uno-results section { padding:12px 0; border-bottom:1px solid var(--appearance-line,#40525b); }
.uno-results section strong { font-size:19px; }
.uno-results-bar { height:10px; background:#70809040; border-radius:6px; overflow:hidden; }
.uno-results-bar i { display:block; height:100%; background:var(--appearance-text,#66d6cb); }
.uno-results footer { flex-shrink:0; padding:14px; border-top:1px solid var(--appearance-line,#40525b); }
.uno-results footer div { display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }
.uno-results button { flex:1; width:100%; min-height:48px; padding:12px; border-radius:14px; background:var(--appearance-shell-bg,#0e1517); color:inherit; border:1px solid var(--appearance-line,#40525b); font-size:17px; font-weight:700; }
.uno-results button[data-result="rematch"] { background:var(--appearance-text,#66d6cb); color:var(--appearance-shell-bg,#082322); }
.uno-results button:disabled { opacity:.6; }

:is(.uno-feedback,.uno-game-options) { width:min(380px,calc(100vw - 28px)); max-height:calc(100dvh - 28px); overflow:auto; border:1px solid #66897f; border-radius:16px; padding:20px; background:#24282d; color:#fff; font:inherit; }
:is(.uno-feedback,.uno-game-options)::backdrop { background:#000b; }
:is(.uno-feedback,.uno-game-options) h2 { margin:0 0 12px; font-size:20px; }
:is(.uno-feedback,.uno-game-options) p { line-height:1.5; }
.uno-feedback-actions { display:flex; flex-wrap:wrap; gap:8px; }
:is(.uno-feedback,.uno-game-options) button { flex:1; min-height:44px; padding:10px 14px; border:0; border-radius:8px; background:#e5ece8; color:#17231e; font:inherit; font-weight:700; }
:is(.uno-feedback,.uno-game-options) button:focus-visible { outline:3px solid #bce7ce; outline-offset:3px; }

.uno-rapid-clock{position:absolute;bottom:100%;left:0;right:0;display:flex;flex-direction:column;align-items:center;pointer-events:none;color:#fff;z-index:2}
.uno-rapid-clock strong{font-size:28px;font-weight:900;font-variant-numeric:tabular-nums}
.uno-rapid-clock small{font-size:11px;font-weight:700}
.uno-rapid-clock.is-zero{top:0;bottom:0;justify-content:center;background:#0a192ddd;border-radius:16px}
.uno-rapid-clock.is-zero strong{font-size:92px;line-height:1.05}
.uno-rapid-vote{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;text-align:center}
.uno-rapid-vote b,.uno-rapid-vote span{width:100%}
.uno-rapid-vote button{min-height:44px}
