:root{--felt:#0f3d2e;--felt-2:#14503c;--felt-3:#1b6149;--card:#f4efe1;--ink:#f4efe1;--muted:#a9c2b6;--gold:#f2c14e;--red:#e5484d;--suit-red:#d93a3f;--pos:#7ee2a8;--neg:#ff8b8b;--up:#f2994a;--down:#56ccf2;--radius:14px;color:var(--ink);background:var(--felt);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-tap-highlight-color:transparent;font:17px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse at top, var(--felt-2), var(--felt) 70%);min-height:100dvh;margin:0}h1,h2{margin:0 0 .6rem;line-height:1.2}h1{font-size:1.8rem}h2{font-size:1.15rem}.screen{flex-direction:column;gap:14px;max-width:760px;margin:0 auto;padding:16px 16px 48px;display:flex}.panel{border-radius:var(--radius);background:#00000038;padding:16px}.hint{color:var(--muted);margin:.4rem 0 0}.hint.center{text-align:center}.error{color:var(--neg);margin:.4rem 0 0;font-weight:600}button{font:inherit;color:var(--ink);background:var(--felt-3);cursor:pointer;border:1px solid #ffffff1f;border-radius:10px;min-height:44px;padding:.6rem 1rem}button:hover:not(:disabled){filter:brightness(1.15)}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:var(--gold);color:#1d1a10;border-color:#0000;font-weight:700}button.ghost{background:0 0}button.wide{width:100%;padding:.9rem;font-size:1.1rem}button.icon{min-width:44px;padding:.4rem}.button-row{flex-wrap:wrap;gap:10px;display:flex}.button-row>button{flex:1}.toolbar button{font-size:.95rem}.badge{background:var(--gold);color:#1d1a10;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 7px;font-size:.7rem;font-weight:800}.seats{grid-template-columns:minmax(0,1fr);gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.seat{align-items:center;gap:8px;display:flex}.seat.is-starter input{border-color:var(--gold)}.seat-no{text-align:center;width:1.6rem;color:var(--muted);font-weight:700}.seat input{min-width:0;font:inherit;color:var(--ink);background:#00000040;border:2px solid #0000;border-radius:10px;flex:1;padding:.55rem .8rem;font-size:1.1rem}.seat input:focus{border-color:var(--felt-3);outline:none}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:999px;min-height:38px;padding:.35rem .9rem}.starter-pick{justify-content:space-between;align-items:center;gap:12px;display:flex}.big-name{color:var(--gold);margin:0;font-size:2rem;font-weight:800}.round-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.round-bar>div:first-child{white-space:nowrap}.round-label{margin-right:8px;font-size:clamp(1.25rem,6vw,1.6rem);font-weight:800}.round-label small{color:var(--muted);font-size:1rem;font-weight:600}.round-cards-label{color:var(--muted);font-size:.95rem}.round-meta{align-items:center;gap:10px;display:flex}.trump{font-size:1.1rem;display:flex}.dir{color:var(--muted);white-space:nowrap;background:#00000040;border-radius:999px;padding:3px 10px;font-weight:800}.dir.up{color:#1d1a10;background:var(--up)}.dir.down{color:#0b2530;background:var(--down)}small.dir{padding:1px 6px;font-size:.65rem}.suit{background:var(--card);border-radius:6px;place-items:center;width:1.6em;height:1.6em;line-height:1;display:inline-grid}.suit.red{color:var(--suit-red)}.suit.black{color:#111}.board{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.board .tile:nth-child(3){order:4}.board .tile:nth-child(4){order:3}.tile{border-radius:var(--radius);background:#00000040;border:3px solid #0000;flex-direction:column;min-height:150px;padding:10px 12px;transition:border-color .2s;display:flex}.tile.is-active{border-color:var(--gold);background:#f2c14e14}.tile.is-winner{border-color:var(--gold)}.tile-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.tile-name{text-overflow:ellipsis;white-space:nowrap;font-size:1.15rem;font-weight:700;overflow:hidden}.tile-bid{text-align:center;font-variant-numeric:tabular-nums;flex:1;place-items:center;font-size:clamp(3.2rem,14vw,5.5rem);font-weight:900;line-height:1;display:grid}.tile.is-active .tile-bid{color:var(--gold)}.tile-foot{color:var(--muted);justify-content:space-between;align-items:flex-end;gap:6px;font-size:.85rem;display:flex}.tile-took{white-space:nowrap;flex-direction:column;line-height:1.2;display:flex}.tile-total{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:800}.pos{color:var(--pos)}.neg{color:var(--neg)}.bid-pad{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;display:grid}.bid-pad button{min-height:64px;font-size:1.6rem;font-weight:800}.suit-pad{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.suit-pad button{background:#00000040;min-height:80px;padding:0;font-size:2.2rem}.results{gap:10px;margin:0;padding:0;list-style:none;display:grid}.results li{grid-template-columns:1fr auto 3.5rem;align-items:center;gap:10px;display:grid}.results-name{text-overflow:ellipsis;min-width:0;font-size:1.1rem;font-weight:700;overflow:hidden}.results-name small{color:var(--muted);font-size:.8rem;font-weight:500;display:block}.stepper{align-items:center;gap:6px;display:flex}.stepper button{width:48px;padding:0;font-size:1.4rem;font-weight:800}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:2.2rem;font-size:1.6rem;font-weight:800}.delta{text-align:right;font-variant-numeric:tabular-nums;font-weight:800}.results+.hint,.results+.error{text-align:center;margin:12px 0}.finished h2{color:var(--gold);font-size:1.5rem}.standings{margin:0 0 14px;padding-left:1.4rem}.standings li{justify-content:space-between;padding:4px 0;font-size:1.15rem;display:flex}.scoreboard-wrap{border-radius:var(--radius);background:#00000038;overflow-x:auto}.scoreboard{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.scoreboard th,.scoreboard td{text-align:center;border-bottom:1px solid #ffffff12;padding:6px 4px}.scoreboard thead th{background:var(--felt-2);font-size:.95rem;position:sticky;top:0}.scoreboard .round-head{white-space:nowrap;color:var(--muted);justify-content:center;align-items:center;gap:4px;display:flex}.scoreboard .suit{font-size:.75rem}.round-cards{color:var(--ink);min-width:1.3rem;font-weight:800}.scoreboard tr.is-current{background:#f2c14e14}.cell-total{font-size:1.05rem;font-weight:800;display:block}.cell-detail{color:var(--muted);font-size:.75rem;display:block}@media (width>=720px){.board{grid-template-columns:repeat(4,1fr)}.board .tile:nth-child(n){order:0}}.gate{text-align:center;justify-content:center;max-width:420px;min-height:100dvh}.gate-logo{letter-spacing:.3em;color:var(--gold);margin:0;font-size:2.4rem}.gate p{margin:0}.error.center{text-align:center}.topbar{align-items:center;gap:8px;max-width:760px;margin:0 auto;padding:10px 16px 0;display:flex}.topbar-title{color:var(--gold);font-weight:800}.topbar-user{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;overflow:hidden}button.small{min-height:36px;padding:.3rem .7rem;font-size:.85rem}.add-user{flex-wrap:wrap;gap:8px;display:flex}.add-user input,.add-user select{font:inherit;color:var(--ink);background:#00000040;border:2px solid #0000;border-radius:10px;min-height:44px;padding:.55rem .8rem}.add-user input{flex:200px;min-width:0}.user-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.user-list li{align-items:center;gap:8px;min-height:40px;display:flex}.user-email{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.toast{width:min(92vw,480px);color:var(--card);border:1px solid var(--gold);z-index:10;background:#1d1a10;border-radius:12px;padding:12px 16px;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.tabs{background:#00000038;border-radius:12px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.tab{background:0 0;border-color:#0000;font-weight:700}.tab.is-on{background:var(--felt-3)}.badge.muted{color:var(--ink);background:#ffffff26}.game-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.game-card{text-align:left;border-radius:var(--radius);background:#00000038;border:1px solid #0000;gap:6px;width:100%;padding:14px 16px;display:grid}.game-card-head{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;display:flex}.game-card-head>span:first-child{flex:1}.game-card-winner{color:var(--gold);font-size:1.15rem;font-weight:800}.game-card-scores{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:.95rem;display:flex}.game-card-scores b{color:var(--ink);font-variant-numeric:tabular-nums}.player-stats{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.stat-card dl{grid-template-columns:repeat(2,1fr);gap:10px 12px;margin:0;display:grid}.stat-card dt{color:var(--muted);font-size:.8rem}.stat-card dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.4rem;font-weight:800}.stat-card dd small{color:var(--muted);font-size:.85rem;font-weight:600}
