.admin-root{--admin-sidebar-w: 15.5rem;--admin-accent-soft: rgba(61, 154, 106, .14);--admin-warn: #d9a94b;--admin-warn-soft: rgba(217, 169, 75, .16);--admin-danger-soft: rgba(196, 92, 92, .16);--admin-radius: 14px;--admin-shadow: 0 1px 2px rgba(0, 0, 0, .22), 0 10px 28px rgba(0, 0, 0, .22);min-height:100dvh;display:flex;background:var(--bg);color:var(--text)}.admin-sidebar{width:var(--admin-sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100dvh}.admin-brand{display:flex;align-items:center;gap:.6rem;padding:1.15rem 1.25rem;border-bottom:1px solid var(--border)}.admin-brand-badge{width:2.1rem;height:2.1rem;border-radius:9px;background:linear-gradient(145deg,var(--accent),var(--accent-dim));display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}.admin-brand-text{display:flex;flex-direction:column;min-width:0}.admin-brand-title{font-weight:700;font-size:.95rem;line-height:1.2}.admin-brand-sub{font-size:.72rem;color:var(--muted)}.admin-nav{flex:1;overflow-y:auto;padding:.75rem .65rem;display:flex;flex-direction:column;gap:.15rem}.admin-nav-group-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:.9rem .6rem .35rem}.admin-nav-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .6rem;border-radius:9px;border:none;background:none;color:var(--muted);font-size:.86rem;font-weight:500;text-align:left;cursor:pointer;width:100%}.admin-nav-item:hover{background:#ffffff0a;color:var(--text)}.admin-nav-item.active{background:var(--admin-accent-soft);color:var(--text);font-weight:650}.admin-nav-icon{font-size:1rem;width:1.2rem;text-align:center;flex-shrink:0}.admin-nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-nav-badge{flex-shrink:0;min-width:1.2rem;height:1.2rem;padding:0 .35rem;border-radius:999px;background:var(--admin-warn);color:#1a1405;font-size:.68rem;font-weight:750;display:flex;align-items:center;justify-content:center}.admin-nav-badge.urgent{background:var(--danger, #e5484d);color:#fff;animation:admin-badge-pulse 1.6s ease-in-out infinite}@keyframes admin-badge-pulse{50%{box-shadow:0 0 0 4px #e5484d40}}.admin-sidebar-footer{padding:.85rem 1rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.75rem;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:5}.admin-topbar-title{font-size:1.15rem;font-weight:700;margin:0}.admin-topbar-sub{font-size:.82rem;color:var(--muted);margin:.15rem 0 0}.admin-content{padding:1.75rem;max-width:78rem;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem}.admin-kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--admin-radius);padding:1.1rem 1.2rem;box-shadow:var(--admin-shadow);display:flex;flex-direction:column;gap:.35rem}.admin-kpi-label{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:.4rem}.admin-kpi-value{font-size:1.7rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.admin-kpi-delta{font-size:.76rem;font-weight:600;display:inline-flex;align-items:center;gap:.25rem}.admin-kpi-delta.up{color:var(--accent)}.admin-kpi-delta.flat{color:var(--muted)}.admin-kpi-card.live{border-color:var(--accent-dim)}.admin-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:.4rem;box-shadow:0 0 #3d9a6a8c;animation:admin-live-pulse 2s infinite}@keyframes admin-live-pulse{0%{box-shadow:0 0 #3d9a6a8c}70%{box-shadow:0 0 0 6px #3d9a6a00}to{box-shadow:0 0 #3d9a6a00}}.admin-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);overflow:hidden}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.admin-section-title{font-size:.95rem;font-weight:650;margin:0}.admin-section-title-sub{font-size:.78rem;color:var(--muted);margin:.15rem 0 0}.admin-section-body{padding:1.1rem 1.25rem}.admin-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;align-items:start}.admin-chart-bars{display:flex;align-items:flex-end;gap:.35rem;height:96px;padding:0 .1rem}.admin-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0}.admin-chart-bar-track{width:100%;height:72px;display:flex;align-items:flex-end}.admin-chart-bar{width:100%;border-radius:4px 4px 2px 2px;background:var(--accent-dim);min-height:3px;transition:background .15s}.admin-chart-col:hover .admin-chart-bar{background:var(--accent)}.admin-chart-day{font-size:.65rem;color:var(--muted);white-space:nowrap}.admin-feed-list{display:flex;flex-direction:column}.admin-feed-item{padding:.85rem 1.25rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.35rem}.admin-feed-item:last-child{border-bottom:none}.admin-feed-item-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.admin-feed-user{font-weight:650;font-size:.88rem}.admin-feed-time{font-size:.74rem;color:var(--muted);white-space:nowrap}.admin-feed-text{font-size:.86rem;color:var(--text);line-height:1.45;white-space:pre-wrap}.admin-empty{padding:2rem 1.25rem;text-align:center;color:var(--muted);font-size:.88rem}.admin-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:650;white-space:nowrap}.admin-badge.warn{background:var(--admin-warn-soft);color:var(--admin-warn)}.admin-badge.ok{background:var(--admin-accent-soft);color:var(--accent)}.admin-badge.danger{background:var(--admin-danger-soft);color:var(--danger)}.admin-badge.neutral{background:#ffffff0f;color:var(--muted)}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table thead th{text-align:left;padding:.55rem .6rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);font-weight:600}.admin-table tbody td{padding:.6rem;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#ffffff06}.admin-table .num{text-align:right;font-variant-numeric:tabular-nums}.admin-table .muted{color:var(--muted);font-size:.78rem}.admin-feed-images{display:flex;gap:.4rem;flex-wrap:wrap}.admin-feed-thumb{width:56px;height:56px;border-radius:8px;object-fit:cover;border:1px solid var(--border);cursor:zoom-in}.admin-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.admin-health-item{display:flex;flex-direction:column;gap:.4rem}.admin-health-item-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem}.admin-health-bar-track{width:100%;height:8px;border-radius:4px;background:#ffffff14;overflow:hidden}.admin-health-bar{height:100%;border-radius:4px;background:var(--accent);transition:width .3s ease}.admin-health-bar.warn{background:#e0a800}.admin-health-bar.danger{background:var(--danger)}.admin-health-grid-rings{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}.admin-health-ring-item{display:flex;align-items:center;gap:.8rem;min-width:220px}.admin-health-ring{flex-shrink:0}.admin-health-ring-pct{fill:var(--text);font-size:15px;font-weight:700}.admin-health-ring-label{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem}.admin-health-ring-label strong{font-size:.85rem}.admin-live-list-row{transition:background .15s ease}.admin-live-list-row:hover{background:#ffffff0a}.admin-live-room-code{font-family:monospace;font-size:.85rem;padding:.15rem .5rem;border-radius:6px;background:#ffffff0f;letter-spacing:.03em}.admin-live-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;color:var(--muted);text-align:center}.admin-live-empty-icon{font-size:2.2rem;opacity:.6}.admin-live-topbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.admin-live-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:999px;background:#ffffff0f;border:1px solid var(--border);font-size:.8rem;color:var(--muted)}.admin-live-chip strong{color:var(--text);font-weight:650}.admin-live-trump-chip{background:var(--admin-accent-soft, rgba(255, 200, 80, .14));border-color:var(--accent-dim);color:var(--text)}.admin-live-trump-chip .admin-live-suit-red{color:#e0555f}.admin-live-trump-chip .admin-live-suit-black{color:var(--text)}.admin-live-felt{background:radial-gradient(ellipse at center,#3d9a6a29,#ffffff05);border:1px solid var(--border);border-radius:14px;padding:1rem;min-height:4.5rem;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.2rem}.admin-live-felt-empty{color:var(--muted);font-size:.85rem}.admin-live-felt-card{margin:0 -.35rem}.admin-live-seats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem}.admin-live-seat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.9rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .2s ease,box-shadow .2s ease}.admin-live-seat--turn{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim),0 0 18px -4px var(--accent)}.admin-live-seat-head{display:flex;align-items:center;gap:.6rem}.admin-live-avatar{width:2.2rem;height:2.2rem;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--accent-dim));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.admin-live-seat-name{font-weight:650;font-size:.92rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.admin-live-turn-badge{font-size:.68rem;font-weight:700;color:var(--accent);background:var(--admin-accent-soft, rgba(61, 154, 106, .14));border-radius:999px;padding:.1rem .5rem;text-transform:uppercase;letter-spacing:.03em}.admin-live-seat-stats{display:flex;gap:.9rem;font-size:.78rem;color:var(--muted)}.admin-live-seat-stats strong{color:var(--text)}.admin-live-hand{display:flex;flex-wrap:wrap;padding-left:.35rem}.admin-live-hand-card{margin-left:-.6rem;transition:transform .15s ease}.admin-live-hand-card:first-child{margin-left:0}.admin-live-hand-card:hover{transform:translateY(-4px);z-index:1}.admin-live-penalties{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem}.admin-live-penalty{display:flex;flex-direction:column;gap:.3rem}.admin-live-penalty-head{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted)}.admin-live-penalty-head strong{color:var(--text)}.admin-live-penalty-track{height:6px;border-radius:3px;background:#ffffff14;overflow:hidden}.admin-live-penalty-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease}.admin-live-penalty-bar.warn{background:#e0a800}.admin-live-penalty-bar.danger{background:var(--danger)}.admin-btn-sm{min-height:auto;padding:.4rem .85rem;font-size:.8rem}.btn-danger{background:var(--admin-danger-soft);color:var(--danger);border:1px solid rgba(196,92,92,.45)}.btn-danger:disabled,.btn-ghost:disabled{opacity:.55;cursor:not-allowed}.admin-chips{display:flex;flex-wrap:wrap;gap:.4rem}.admin-chip{padding:.3rem .75rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:.8rem;font-weight:600}.admin-chip.active{background:var(--admin-accent-soft);border-color:var(--accent);color:var(--accent)}.admin-input,.admin-select,.admin-textarea{padding:.5rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;font-size:.86rem}.admin-textarea{width:100%;min-height:4.5rem;resize:vertical}.admin-mod-box{display:flex;flex-direction:column;gap:.55rem;padding:.75rem;border:1px solid var(--border);border-radius:10px;background:#ffffff05}.admin-mod-status{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.82rem}.admin-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem 1.2rem}.admin-settings-grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:var(--muted)}.admin-settings-grid .admin-check{flex-direction:row;align-items:center;gap:.5rem;color:var(--text)}.admin-log{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;line-height:1.5;max-height:60vh;overflow:auto}.admin-log-row{display:grid;grid-template-columns:4.5rem 8rem 1fr;gap:.6rem;padding:.25rem 0;border-bottom:1px solid rgba(255,255,255,.04)}.admin-log-row .ev{color:var(--accent);font-weight:600}.admin-scroll-x{overflow-x:auto}.admin-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:.25rem}.admin-tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:.6rem .9rem;color:var(--muted, #8a93a3);font:inherit;font-size:.92rem;font-weight:600;cursor:pointer}.admin-tab:hover{color:var(--text)}.admin-tab.active{color:var(--text);border-bottom-color:var(--accent)}.admin-live-status{background:#3d9a6a1f;border:1px solid rgba(61,154,106,.45);border-radius:12px;padding:.8rem 1rem;font-size:1.05rem;line-height:1.45}.admin-live-name{font-weight:700}.admin-live-steps{display:flex;flex-direction:column;gap:.6rem}.admin-live-step{border:1px solid var(--border);border-left:4px solid var(--border);border-radius:10px;padding:.55rem .8rem;background:#ffffff05}.admin-live-step--pass{opacity:.6}.admin-live-step--target{background:#ffb74d14;box-shadow:0 0 0 1px #ffb74d80}.admin-live-step-head{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.4rem;font-size:.92rem}.admin-live-step-num{width:1.4rem;height:1.4rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ffffff14;font-size:.75rem;font-weight:700}.admin-live-step-kind{color:var(--muted)}.admin-live-step-target{color:#ffb74d;font-weight:600;font-size:.85rem}.admin-live-step-cards{display:flex;flex-wrap:wrap;padding-left:.4rem}.admin-live-team{font-size:.7rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;margin-left:.4rem;text-transform:uppercase;letter-spacing:.03em}.admin-live-team--A{background:#4fc3f72e;color:#4fc3f7}.admin-live-team--B{background:#ff8a652e;color:#ff8a65}.admin-live-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin:.25rem 0}.admin-live-badge{font-size:.72rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;background:#ffffff14}.admin-live-badge--turn{background:#3d9a6a40;color:#6fdc9f}.admin-live-badge--lead{background:#4fc3f72e;color:#4fc3f7}.admin-live-badge--hold{background:#ffb74d2e;color:#ffb74d}.admin-live-badge--pass{background:#ffffff0f;color:var(--muted)}.admin-tbl{background:radial-gradient(ellipse at 50% 45%,#2f6b3e,#24532f 55%,#1a3d23);border-radius:22px;padding:1.1rem 1.1rem 0;border:1px solid rgba(0,0,0,.35);box-shadow:inset 0 0 60px #00000059;color:#fff;overflow:hidden}.admin-tbl-top{display:flex;justify-content:space-around;gap:1rem;flex-wrap:wrap}.admin-tbl-seat{display:flex;flex-direction:column;align-items:center;gap:.55rem;min-width:0}.admin-tbl-seat-id{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem}.admin-tbl-seat--bottom .admin-tbl-seat-id{flex-direction:row;text-align:left;gap:.9rem}.admin-tbl-avatar{position:relative;width:3.4rem;height:3.4rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e53935,#b71c1c);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.15rem;color:#fff}.admin-tbl-crown{position:absolute;top:-.85rem;right:-.35rem;font-size:1.1rem}.admin-tbl-name{display:flex;align-items:center;gap:.35rem;font-size:1.05rem;font-weight:600;justify-content:center}.admin-tbl-seat--bottom .admin-tbl-name{justify-content:flex-start;font-size:1.2rem}.admin-tbl-dot{width:.6rem;height:.6rem;border-radius:50%}.admin-tbl-role{font-size:.8rem;font-weight:700}.admin-tbl-role--A{color:#4fc3f7}.admin-tbl-role--B{color:#ff8a65}.admin-tbl-stats{font-size:.78rem;color:#ffffffb3}.admin-tbl-seat .admin-live-badges{justify-content:center}.admin-tbl-seat--bottom .admin-live-badges{justify-content:flex-start}.admin-tbl-hand{display:flex;justify-content:center;flex-wrap:nowrap}.admin-tbl-hand--tight .admin-tbl-hand-card+.admin-tbl-hand-card{margin-left:-1.1rem}.admin-tbl-seat--bottom .admin-tbl-hand{gap:.3rem;flex-wrap:wrap}.admin-tbl-seat.is-turn .admin-tbl-hand{filter:drop-shadow(0 0 8px rgba(74,222,128,.45))}.admin-tbl-center{position:relative;min-height:15rem;display:flex;align-items:center;justify-content:center;margin:1rem 0}.admin-tbl-stock{position:absolute;left:.2rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem}.admin-tbl-trump{width:3.2rem;height:3.2rem;border-radius:50%;background:#f5ecd4;border:3px solid #c9a227;display:flex;align-items:center;justify-content:center;font-size:1.7rem;box-shadow:0 0 14px #c9a2278c}.admin-tbl-deck{position:relative;width:3.6rem;height:3.4rem}.admin-tbl-deck-trump{position:absolute;left:.9rem;top:0;transform:rotate(90deg)}.admin-tbl-deck-back{position:absolute;left:0;top:.2rem}.admin-tbl-stock-count{font-size:.78rem;color:#fffc}.admin-tbl-pile{display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:0 5rem}.admin-tbl-pile-row{display:flex;align-items:flex-end;gap:2rem}.admin-tbl-pass{display:flex;flex-direction:column;align-items:center;gap:.3rem;opacity:.7;font-size:.78rem}.admin-tbl-pass-cards{display:flex}.admin-tbl-bigturn{font-size:2.1rem;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.4)}.admin-tbl-log{background:#00000047;border-radius:999px;padding:.4rem 1rem;font-size:.92rem;text-align:center}.admin-tbl-log-arrow,.admin-tbl-log-n{color:#ffffff8c}.admin-tbl-log-now{color:#fffc}.admin-tbl-bottom{margin:0 -1.1rem;padding:1rem 1.1rem 1.1rem;background:#0a100cb8;border-top:1px solid rgba(255,255,255,.08)}.admin-tbl-seat--bottom{flex-direction:column-reverse;align-items:stretch}.admin-tbl-seat--bottom .admin-tbl-hand{justify-content:center}@media(max-width:700px){.admin-tbl-stock{position:static;transform:none;flex-direction:row;margin-bottom:.6rem}.admin-tbl-center{flex-direction:column}.admin-tbl-pile{padding:0}}.admin-halls{display:flex;flex-direction:column;gap:.75rem}.admin-hall{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;padding:.85rem 1rem;background:var(--surface);display:flex;flex-direction:column;gap:.55rem}.admin-hall--off{opacity:.6}.admin-hall-head{display:flex;align-items:center;gap:.75rem}.admin-hall-icon{font-size:1.7rem;width:2.4rem;text-align:center}.admin-hall-name{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-weight:700;font-size:1.02rem}.admin-hall-live{color:var(--muted);font-size:.85rem;white-space:nowrap}.admin-hall-live b{color:var(--text)}.admin-hall-stakes{display:flex;flex-wrap:wrap;gap:.3rem}.admin-hall-stake{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .55rem;border-radius:999px;background:#f5c5421f;color:#f5c542;font-weight:700;font-size:.82rem}.admin-hall-stake--edit button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:.95rem;line-height:1;padding:0 0 0 .15rem}.admin-hall-meta{display:flex;flex-wrap:wrap;gap:.35rem 1.2rem;color:var(--muted);font-size:.85rem}.admin-hall-flags{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}.admin-hall-flags label{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;color:var(--text);text-transform:none;letter-spacing:0}.admin-hall-rule{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.35rem 0}.admin-hall-rule select,.admin-hall-rule input{width:auto}.admin-hall-rule label{display:inline-flex;align-items:center;gap:.3rem;text-transform:none;letter-spacing:0}.admin-hall-flags input[type=checkbox],.admin-hall-rule input[type=checkbox]{width:auto;margin:0}.admin-hall-row{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end}.admin-root{--bg: #0e1116;--surface: #151a21;--surface-2: #1b212a;--surface-3: #222a35;--border: #252d38;--border-strong: #323c4a;--text: #e6eaf0;--muted: #8a94a3;--accent: #3fb97c;--accent-dim: #2f9563;--danger: #e5534b;--link: #6cb6ff;--admin-accent-soft: rgba(63, 185, 124, .12);--admin-warn: #d9a441;--admin-warn-soft: rgba(217, 164, 65, .13);--admin-danger-soft: rgba(229, 83, 75, .13);--admin-radius: 10px;--admin-shadow: none;--admin-sidebar-w: 14.5rem;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text)}.admin-root *{scrollbar-width:thin;scrollbar-color:#2c3542 transparent}.admin-root a{color:var(--link)}.admin-root .admin-sidebar{background:#11151b;border-right:1px solid var(--border);z-index:30;transition:width .18s ease}.admin-root .admin-brand{padding:.85rem .9rem;gap:.55rem}.admin-root .admin-brand-badge{width:1.9rem;height:1.9rem;border-radius:8px;background:var(--accent);color:#08140e;font-size:1rem;font-weight:700}.admin-root .admin-brand-title{font-size:.9rem;font-weight:650}.admin-root .admin-brand-sub{font-size:.7rem;color:var(--muted)}.admin-collapse{margin-left:auto;width:1.7rem;height:1.7rem;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:.8rem;display:inline-flex;align-items:center;justify-content:center}.admin-collapse:hover{color:var(--text);border-color:var(--border-strong)}.admin-root .admin-nav{padding:.4rem .5rem .8rem;gap:1px}.admin-root .admin-nav-group-label{font-size:.68rem;font-weight:600;text-transform:none;letter-spacing:0;color:#6b7584;padding:.85rem .6rem .3rem}.admin-root .admin-nav-item{padding:.42rem .6rem;border-radius:7px;color:#aab3bf;font-size:.85rem;font-weight:500;gap:.55rem}.admin-root .admin-nav-item:hover{background:var(--surface-2);color:var(--text)}.admin-root .admin-nav-item.active{background:var(--surface-3);color:#fff;font-weight:600;box-shadow:inset 2px 0 0 var(--accent)}.admin-root .admin-nav-icon{width:1.2rem;font-size:.9rem;background:none}.admin-root .admin-nav-badge{background:var(--admin-warn);color:#1a1305;font-weight:700;animation:none}.admin-root .admin-nav-badge.urgent{background:var(--danger);color:#fff}.admin-root .admin-sidebar-footer{padding:.7rem .8rem;border-top:1px solid var(--border)}.admin-me{display:flex;align-items:center;gap:.5rem;min-width:0}.admin-me-avatar{width:1.7rem;height:1.7rem;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:650;font-size:.75rem;color:var(--text);background:var(--surface-3);border:1px solid var(--border-strong)}.admin-me-text{display:flex;flex-direction:column;min-width:0;line-height:1.2}.admin-me-name{font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-me-role{font-size:.7rem;color:var(--muted)}@media(min-width:961px){.admin-root.nav-collapsed{--admin-sidebar-w: 3.6rem}.admin-root.nav-collapsed .admin-brand-text,.admin-root.nav-collapsed .admin-nav-label,.admin-root.nav-collapsed .admin-nav-group-label,.admin-root.nav-collapsed .admin-me-text,.admin-root.nav-collapsed .admin-sidebar-footer .btn{display:none}.admin-root.nav-collapsed .admin-brand{flex-direction:column;gap:.5rem}.admin-root.nav-collapsed .admin-collapse{margin-left:0}.admin-root.nav-collapsed .admin-nav-item{justify-content:center;position:relative}.admin-root.nav-collapsed .admin-nav-badge{position:absolute;top:1px;right:3px;min-width:1rem;height:1rem;font-size:.6rem}.admin-root.nav-collapsed .admin-nav-group-label+.admin-nav-item,.admin-root.nav-collapsed .admin-nav>div+div{border-top:1px solid var(--border);margin-top:.3rem;padding-top:.3rem}.admin-root.nav-collapsed .admin-sidebar-footer{justify-content:center}}.admin-root .admin-topbar{padding:.6rem 1.25rem;background:var(--bg);border-bottom:1px solid var(--border);z-index:20;min-height:3.4rem}.admin-root .admin-topbar-title{font-size:1.05rem;font-weight:650}.admin-root .admin-topbar-sub{font-size:.76rem;margin-top:.05rem}.admin-topbar-left{display:flex;align-items:center;gap:.7rem;min-width:0}.admin-topbar-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.admin-burger{display:none;width:2.1rem;height:2.1rem;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:1rem;align-items:center;justify-content:center}.admin-search{position:relative}.admin-search input{width:16rem;height:2.1rem;padding:0 2rem 0 2.1rem!important;border-radius:8px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' fill='none' stroke='%238a94a3' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='6.5' cy='6.5' r='4.8'/%3E%3Cpath d='m10.2 10.2 3.3 3.3'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:.7rem 50%!important}.admin-search-key{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);font-size:.68rem;color:var(--muted);border:1px solid var(--border-strong);border-radius:4px;padding:0 .3rem;line-height:1.2rem;pointer-events:none}.admin-online-chip{display:inline-flex;align-items:center;gap:.4rem;height:2.1rem;padding:0 .7rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.8rem;white-space:nowrap}.admin-online-chip strong{color:var(--text);font-weight:650;font-variant-numeric:tabular-nums}.admin-root .admin-live-dot{width:6px;height:6px;margin-right:.1rem;animation:none;box-shadow:none}.admin-root .admin-content{padding:1.25rem;max-width:90rem;gap:1rem}.admin-attn{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem}.admin-attn-item{display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem;border-radius:var(--admin-radius);background:var(--surface);border:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;font:inherit}.admin-attn-item:hover{border-color:var(--border-strong);background:var(--surface-2)}.admin-attn-item .n{min-width:2.1rem;height:2.1rem;border-radius:7px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums;background:var(--surface-3)}.admin-attn-item.warn .n{background:var(--admin-warn-soft);color:#f0c46a}.admin-attn-item.danger .n{background:var(--admin-danger-soft);color:#ff8f88}.admin-attn-item.ok .n{background:var(--admin-accent-soft);color:#79d9a8}.admin-attn-item .t{display:flex;flex-direction:column;min-width:0;line-height:1.25}.admin-attn-item .t b{font-size:.84rem;font-weight:600}.admin-attn-item .t span{font-size:.74rem;color:var(--muted)}.admin-attn-item .go{margin-left:auto;color:var(--muted)}.admin-root .admin-section,.admin-root .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--admin-radius);box-shadow:none}.admin-root .card{padding:1rem 1.1rem}.admin-root .admin-section-head{padding:.7rem 1rem;border-bottom:1px solid var(--border)}.admin-root .admin-section-title,.admin-root .card .title{font-size:.9rem!important;font-weight:650}.admin-root .admin-section-title-sub{font-size:.74rem}.admin-root .admin-section-body{padding:.85rem 1rem}.admin-root .stack{gap:.65rem}.admin-root .admin-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem}.admin-root .admin-kpi-card{padding:.7rem .9rem;gap:.15rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--admin-radius);box-shadow:none}.admin-root .admin-kpi-card.live{border-color:var(--border);box-shadow:inset 2px 0 0 var(--accent)}.admin-root .admin-kpi-label{font-size:.74rem;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0}.admin-root .admin-kpi-value{font-size:1.35rem;font-weight:700;letter-spacing:-.01em;line-height:1.2}.admin-root .admin-kpi-delta{font-size:.72rem;font-weight:500}.admin-root .btn{min-height:2.1rem;padding:.35rem .85rem;border-radius:8px;font-size:.84rem;font-weight:600;transition:background .12s ease,border-color .12s ease,color .12s ease}.admin-root .btn-primary{background:var(--accent);color:#06120c;box-shadow:none}.admin-root .btn-primary:hover:not(:disabled){background:#4bc98a}.admin-root .btn-primary:disabled{opacity:.45}.admin-root .btn-ghost{background:var(--surface-2);color:#c6ced8;border:1px solid var(--border-strong)}.admin-root .btn-ghost:hover:not(:disabled){background:var(--surface-3);color:#fff}.admin-root .btn-danger{background:transparent;color:#ff8f88;border:1px solid rgba(229,83,75,.45)}.admin-root .btn-danger:hover:not(:disabled){background:var(--admin-danger-soft);color:#fff}.admin-root .admin-btn-sm{min-height:1.75rem;padding:.2rem .65rem;font-size:.78rem}.admin-root .admin-chip{padding:.22rem .65rem;border-radius:6px;border:1px solid var(--border-strong);background:transparent;color:#aab3bf;font-size:.78rem;font-weight:500}.admin-root .admin-chip:hover{color:#fff;background:var(--surface-2)}.admin-root .admin-chip.active{background:var(--surface-3);border-color:var(--accent);color:#fff}.admin-root input:not([type=checkbox]):not([type=radio]):not([type=file]),.admin-root select,.admin-root textarea{background:var(--bg);border:1px solid var(--border-strong);border-radius:7px;color:var(--text);font:inherit;font-size:.85rem;padding:.42rem .65rem}.admin-root input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,.admin-root select:focus,.admin-root textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3fb97c2e}.admin-root input::placeholder,.admin-root textarea::placeholder{color:#687282}.admin-root input[type=checkbox],.admin-root input[type=radio]{accent-color:var(--accent)}.admin-root .field label{font-size:.76rem;color:var(--muted)}.admin-root table{border-collapse:separate!important;border-spacing:0;font-size:.83rem!important}.admin-root table thead th{position:sticky;top:0;z-index:1;font-size:.72rem!important;font-weight:600;text-transform:none!important;letter-spacing:0!important;color:var(--muted);background:var(--surface-2)!important;border-bottom:1px solid var(--border)!important;padding:.45rem .6rem!important;white-space:nowrap}.admin-root table tbody td{border-bottom:1px solid var(--border)!important;padding:.42rem .6rem!important}.admin-root table tbody tr:hover{background:var(--surface-2)}.admin-root table tbody tr:last-child td{border-bottom:none!important}.admin-root tr.admin-row-click{cursor:pointer}.admin-root .admin-badge{border-radius:5px;padding:.1rem .42rem;font-size:.7rem;font-weight:600}.admin-root .admin-badge.ok{background:var(--admin-accent-soft);color:#79d9a8}.admin-root .admin-badge.warn{background:var(--admin-warn-soft);color:#f0c46a}.admin-root .admin-badge.danger{background:var(--admin-danger-soft);color:#ff8f88}.admin-root .admin-badge.neutral{background:var(--surface-3);color:#aab3bf}.admin-root .admin-chart-bar{background:var(--accent);border-radius:3px 3px 0 0}.admin-root .admin-chart-bar-track{background:var(--surface-2);border-radius:3px}.admin-root .admin-feed-item{padding:.7rem 1rem}.admin-root .admin-feed-item:hover{background:var(--surface-2)}.admin-root .admin-live-room-code,.admin-root code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8em;padding:.05rem .35rem;border-radius:4px;background:var(--surface-3);color:var(--text)}.admin-root .admin-mod-box{background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.admin-root .error{color:#ff8f88}.admin-login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem}.admin-login-card{width:100%;max-width:22rem;padding:1.6rem 1.4rem 1.3rem;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.admin-login-logo{width:2.6rem;height:2.6rem;margin:0 auto .8rem;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:#08140e;background:var(--accent)}.admin-login-title{text-align:center;font-size:1.1rem;font-weight:700;margin:0 0 .2rem}.admin-login-sub{text-align:center;color:var(--muted);font-size:.82rem;margin:0 0 1.1rem}.admin-scrim{display:none}@media(max-width:960px){.admin-root .admin-sidebar{width:min(82vw,16rem);position:fixed;left:0;top:0;bottom:0;height:100dvh;transform:translate(-102%);transition:transform .22s ease}.admin-root.nav-open .admin-sidebar{transform:none}.admin-root.nav-open .admin-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#0000008c}.admin-burger{display:inline-flex}.admin-collapse{display:none}.admin-root .admin-topbar{padding:.55rem .8rem}.admin-root .admin-topbar-sub,.admin-search-key{display:none}.admin-search input{width:9rem}.admin-root .admin-content{padding:.8rem}.admin-root .admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.admin-online-chip span,.admin-search{display:none}}.admin-root .admin-shop-row{display:flex;align-items:center;gap:.8rem;cursor:pointer}.admin-root .admin-shop-thumb{width:3.2rem;height:3.2rem;object-fit:contain;border-radius:8px;background:var(--admin-surface-2, rgba(127,127,127,.12));flex:none}.admin-root .admin-shop-thumb.t-back,.admin-root .admin-shop-thumb.t-deck{width:2.4rem;height:3.3rem}.admin-root .admin-shop-thumb.empty{display:flex;align-items:center;justify-content:center;font-size:1.3rem;text-align:center}.admin-root .admin-shop-thumb.empty:not(:empty){font-size:.62rem}.admin-root .admin-shop-thumb.t-emoji.empty,.admin-root .admin-shop-thumb.t-phrases.empty{font-size:1.4rem}.admin-root .admin-shop-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.admin-root .admin-shop-name{font-weight:600}.admin-root .admin-shop-badges{display:flex;flex-wrap:wrap;gap:.3rem}.admin-root .admin-shop-nums{text-align:right;font-size:.82rem}.admin-root .admin-shop-caret{opacity:.5}.admin-root .admin-shop-editor{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--admin-border, rgba(127,127,127,.25));display:flex;flex-direction:column;gap:.8rem}.admin-root .admin-shop-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.6rem 1rem}.admin-root .admin-shop-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem}.admin-root .admin-shop-form label.wide{grid-column:1 / -1}.admin-root .admin-shop-form label.check{flex-direction:row;align-items:center;gap:.4rem;font-size:.88rem}.admin-root .admin-shop-checks{display:flex;flex-direction:column;justify-content:flex-end;gap:.3rem}.admin-root .admin-shop-files{display:flex;flex-direction:column;gap:.6rem}.admin-root .admin-shop-files h4{margin:0}.admin-root .admin-shop-preview{width:4.5rem;height:4.5rem;object-fit:contain;border-radius:8px}.admin-root .admin-shop-card{width:5rem;height:6.9rem;object-fit:contain}.admin-root .admin-frame-demo{position:relative;width:6rem;height:6rem}.admin-root .admin-frame-demo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.admin-root .admin-frame-demo .photo{position:absolute;left:15%;top:15%;width:70%;height:70%;border-radius:50%;background:#8aa;display:flex;align-items:center;justify-content:center;font-size:1.8rem}.admin-root .admin-deck-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.3rem;max-width:36rem}.admin-root .admin-deck-cell{aspect-ratio:.728;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#7f7f7f1a;font-size:.7rem}.admin-root .admin-deck-cell img{width:100%;height:100%;object-fit:contain}.admin-root .admin-deck-cell.missing{border:1px dashed #d9534f;color:#d9534f}.admin-root .admin-entry-grid{display:flex;flex-wrap:wrap;gap:.4rem}.admin-root .admin-entry{position:relative;width:3.4rem;height:3.4rem;border-radius:50%;background:#7f7f7f1f;display:flex;align-items:center;justify-content:center}.admin-root .admin-entry img{width:90%;height:90%;object-fit:contain}.admin-root .admin-entry .char{font-size:1.7rem}.admin-root .admin-entry-del{position:absolute;top:-4px;right:-4px;width:1.2rem;height:1.2rem;border-radius:50%;border:none;background:#d9534f;color:#fff;cursor:pointer;line-height:1;padding:0}.admin-root .btn.danger{color:#d9534f}.admin-period-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--admin-radius)}.admin-period-chips{flex-shrink:0}.admin-chart-wrap{width:100%;overflow:hidden}.admin-chart-svg{width:100%;height:auto;display:block}.admin-chart-val{font-size:10px;font-weight:650;font-variant-numeric:tabular-nums}.admin-chart-axis{font-size:9px}.admin-chart-subtitle{margin:0 0 .55rem;font-size:.82rem;font-weight:600;color:var(--muted)}.admin-hbar-list{display:flex;flex-direction:column;gap:.45rem}.admin-hbar-row{display:grid;grid-template-columns:minmax(5.5rem,9rem) 1fr auto;align-items:center;gap:.55rem}.admin-hbar-label{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-hbar-track{height:12px;border-radius:6px;background:#ffffff0f;overflow:hidden}.admin-hbar-fill{height:100%;border-radius:6px;min-width:2px}.admin-hbar-val{font-size:.82rem;font-variant-numeric:tabular-nums;min-width:3.2rem;text-align:right}.admin-hbar-val.tone-ok{color:#79d9a8}.admin-hbar-val.tone-danger{color:#ff8f88}.admin-hbar-val.tone-warn{color:#d9a441}.admin-hbar-val.tone-muted{color:var(--muted)}.admin-donut{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.admin-donut-svg{flex-shrink:0}.admin-donut-total{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}.admin-donut-sub{font-size:.68rem}.admin-donut-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:10rem}.admin-donut-legend li{display:grid;grid-template-columns:.7rem 1fr auto;align-items:center;gap:.45rem;font-size:.8rem}.admin-donut-swatch{width:.7rem;height:.7rem;border-radius:2px}.admin-donut-name{color:var(--muted)}.admin-donut-legend strong{font-variant-numeric:tabular-nums;font-weight:650}.admin-retention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.admin-retention-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem}.admin-retention-item strong{font-size:.85rem}.admin-retention-pct{font-size:1rem;font-weight:750;font-variant-numeric:tabular-nums}.admin-mini-stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border)}.admin-mini-stats>div{display:flex;flex-direction:column;gap:.15rem}.admin-mini-stats strong{font-size:1.05rem;font-variant-numeric:tabular-nums}@media(max-width:720px){.admin-retention-grid{grid-template-columns:1fr}.admin-hbar-row{grid-template-columns:minmax(4.5rem,7rem) 1fr auto}.admin-donut{flex-direction:column;align-items:stretch}}.match-table-page{width:100%;max-width:min(56rem,calc(100vw - 1.25rem));margin:0 auto;box-sizing:border-box;padding:.75rem max(.75rem,env(safe-area-inset-left)) calc(.75rem + env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-right))}.match-table-page__topbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.match-table-page__topbar h1{font-size:1rem;font-weight:600;margin:0;color:var(--muted)}.match-table-page__topbar--ingame{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.match-hud-home{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:999px;background:#0000000f;border:1px solid var(--border);color:var(--text);text-decoration:none;font-size:1.05rem;line-height:1}.match-hud-home:active{opacity:.88}.match-hud-coins{font-size:.78rem}.match-table-page--playing .match-play-shell{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.match-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.match-turn-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.35rem .55rem 0;padding:.35rem .55rem;border-radius:10px;background:#00000047;border:1px solid rgba(255,255,255,.1);font-size:.78rem;color:#ffffffeb}.match-turn-bar__who strong{font-weight:700}.match-turn-bar__timer{font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.03em;color:#b4ebc8f2}.match-turn-bar__timer--warn{color:#ffb4a8;animation:matchTurnPulse 1s ease-in-out infinite}@keyframes matchTurnPulse{50%{opacity:.65}}@media(prefers-reduced-motion:reduce){.match-turn-bar__timer--warn{animation:none}}.match-table-felt{position:relative;border-radius:16px;width:100%;min-height:min(58vh,28rem);display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse 120% 80% at 50% 40%,#2f4a70,#243a5c 45%,#1a2d4a);box-shadow:inset 0 1px #ffffff14,inset 0 -2px 8px #00000059,0 8px 24px #00000073;border:1px solid rgba(255,255,255,.06)}.match-table-felt:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(-12deg,transparent,transparent 3px,rgba(0,0,0,.03) 3px,rgba(0,0,0,.03) 6px);pointer-events:none;border-radius:16px}.match-fiftyone-banner{position:relative;z-index:2;margin:.4rem .5rem 0;padding:.45rem .6rem;border-radius:10px;font-size:.78rem;line-height:1.4;text-align:center;background:#c88c2838;border:1px solid rgba(255,200,100,.35);color:#fff8ebf2}.match-fiftyone-banner strong{font-weight:700}.match-fiftyone-lay-actions{position:relative;z-index:2;display:flex;justify-content:center;margin:.35rem .5rem .25rem}.match-fiftyone-lay-actions .btn{font-size:.85rem}.match-arena{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.match-opponents{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.75rem 1.25rem;padding:.65rem .5rem .35rem}.match-opponent{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:4.5rem}.match-avatar-with-ring{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.match-avatar-with-ring .match-turn-avatar-ring{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;width:auto;height:auto;pointer-events:none;z-index:1}.match-avatar-with-ring .match-opponent__avatar,.match-avatar-with-ring .match-dock__avatar{position:relative;z-index:2}.match-turn-avatar-ring{color:#3ecf6a;filter:drop-shadow(0 0 4px rgba(62,207,106,.45))}.match-turn-avatar-ring--warn{color:#f59e0b;filter:drop-shadow(0 0 4px rgba(245,158,11,.5))}@media(prefers-reduced-motion:reduce){.match-turn-avatar-ring{display:none}}.match-opponent__avatar{position:relative;width:44px;height:44px;border-radius:50%;background:linear-gradient(145deg,#3a4a5c,#2a3542);border:2px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--text);text-transform:uppercase}.match-opponent__name{font-size:.78rem;font-weight:600;color:#ffffffeb;max-width:6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.match-opponent__badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;color:#ffffffbf;background:#00000040;padding:.15rem .45rem;border-radius:999px}.match-board{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:stretch;padding:.35rem .65rem;min-height:9rem}.match-board__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"stock trick bit";align-items:center;gap:clamp(.35rem,1.5vw,.85rem)}.match-board__row:has(.match-board__coins){grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"stock trick bit coins"}.match-board__row:not(:has(.match-board__coins)){grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"stock trick bit"}.match-board__stock-strip{display:contents}.match-stock{grid-area:stock}.match-board__coins{grid-area:coins;align-self:center;margin-top:0;font-size:.75rem}@media(min-width:720px){.match-board__trick{min-width:min(22rem,100%)}}@media(max-width:560px){.match-table-page{max-width:100%;padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right))}.match-turn-bar{flex-wrap:wrap;row-gap:.25rem;margin-left:.35rem;margin-right:.35rem;font-size:.72rem}.match-board{padding-left:.4rem;padding-right:.4rem}.match-board__row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;grid-template-areas:"stock trick bit";column-gap:.35rem;row-gap:.45rem}.match-board__row:has(.match-board__coins){grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"stock coins coins" "trick trick bit"}.match-board__row:not(:has(.match-board__coins)){grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"stock trick bit"}.match-stock{justify-self:start;min-width:0}.match-board__coins{justify-self:end;align-self:end;margin-top:0}.match-board__trick{width:100%;max-width:100%;box-sizing:border-box;padding:0 .15rem}.match-stock__trump-hint{max-width:10rem;text-align:center;text-wrap:balance;font-size:.55rem;line-height:1.25;letter-spacing:.02em}.match-battle-pile__hint{max-width:100%;box-sizing:border-box;padding:0 .2rem;font-size:.64rem;line-height:1.32}.match-board__cards .playing-card--md{transform:scale(.9)}.match-board__score-pill{font-size:.62rem;max-width:100%;padding:0 .2rem;text-wrap:balance}}.match-stock{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.match-stock__deck{position:relative;width:2.5rem;height:3.4rem}.match-stock__deck-card{position:absolute;left:0;top:0;width:2.5rem;height:3.4rem;border-radius:6px;background:linear-gradient(145deg,#2a5a8a,#1a3a5c);border:1px solid rgba(255,255,255,.15);box-shadow:2px 2px #00000040}.match-stock__deck-card:nth-child(2){transform:translate(2px,-2px);opacity:.95}.match-stock__deck-card:nth-child(3){transform:translate(4px,-4px);opacity:.85}.match-stock__deck--dealing .match-stock__deck-card{animation:matchDeckDealPulse .55s ease-in-out infinite alternate}.match-stock__deck--dealing .match-stock__deck-card:nth-child(2){animation-delay:.08s}.match-stock__deck--dealing .match-stock__deck-card:nth-child(3){animation-delay:.16s}@keyframes matchDeckDealPulse{0%{box-shadow:2px 2px #00000040}to{box-shadow:2px 3px 6px #00000059;filter:brightness(1.08)}}.match-stock__count{position:absolute;top:-.35rem;right:-.35rem;font-size:.65rem;font-weight:700;background:#0000008c;color:#fff;padding:.1rem .35rem;border-radius:6px;z-index:2}.match-stock__trump{display:flex;flex-direction:column;align-items:center;gap:.15rem}.match-stock__trump-hint{font-size:.6rem;color:#ffffffb8;text-transform:uppercase;letter-spacing:.04em}.match-stock__trump-countdown{font-size:.62rem;color:#fff9;text-align:center}.match-board__trick{grid-area:trick;flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0}.match-bit-pile{grid-area:bit;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;padding-top:.25rem}.match-bit-pile__label{color:#7aa8cc;font-size:.56rem;font-weight:700;margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.04em}.match-bit-pile__stack{position:relative;width:3.25rem;height:6.75rem;overflow:visible}.match-card-back{width:2.5rem;height:3.4rem;border-radius:6px;overflow:hidden;box-shadow:2px 2px #00000047}.match-card-back--stock{width:2.5rem;height:3.4rem}.match-card-back--pile{position:absolute;width:2.1rem;height:2.95rem;opacity:.88}.match-card-back__border{width:100%;height:100%;border-radius:6px;border:2px solid #f5e6c8;background:#1a4d8c;padding:3px;box-sizing:border-box}.match-card-back__inner{width:100%;height:100%;border-radius:4px;border:1px solid rgba(255,255,255,.25);background:#163d72;display:flex;align-items:center;justify-content:center;position:relative}.match-card-back__diamond{width:1.1rem;height:1.1rem;background:#ffdca059;transform:rotate(45deg);border-radius:2px}.match-card-back__diamond--sm{position:absolute;width:.62rem;height:.62rem;background:#fff3}.match-card-back--fly{position:absolute;right:.5rem;top:1.25rem;width:2.15rem;height:2.95rem;z-index:50;animation:matchBitFly .55s cubic-bezier(.22,1,.36,1) forwards;--fly-dx: 0px;--fly-dy: 0px;--fly-rot: 0deg}@keyframes matchBitFly{0%{opacity:.95;transform:translate(-5.5rem,-1.75rem) rotate(-8deg)}to{opacity:.78;transform:translate(var(--fly-dx),var(--fly-dy)) rotate(var(--fly-rot))}}.match-battle-stacks{width:100%;display:flex;flex-direction:column;align-items:center;gap:.1rem}.match-battle-stack{position:relative}.match-battle-chain{position:relative;margin:0 auto}.match-battle-chain__layer{position:absolute;top:0;right:0;bottom:0;left:0}.match-battle-chain__card{position:absolute;filter:drop-shadow(0 2px 7px rgba(0,0,0,.34))}.match-picked-hint{margin:0;color:#fde68a;font-size:.85rem;font-weight:700;text-align:center}.match-empty-table{margin:0;color:#b8d4f0;font-size:1rem;font-weight:600;text-align:center}.match-party-end{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#000000a6}.match-party-end__card{width:min(22rem,100%);background:#1a2d4a;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:1.25rem;color:#fff}.match-party-end__title{margin:0 0 .5rem;font-size:1.25rem;font-weight:800;text-align:center}.match-party-end__msg{margin:0;color:#fde68a;text-align:center;line-height:1.45}.match-party-end__sub{margin:.35rem 0;color:#ffffff8c;font-size:.82rem;text-align:center}.match-party-end__scores{margin:.5rem 0;padding:0;list-style:none;font-size:.9rem}.match-party-end__payout{margin:.5rem 0 0;padding:.5rem 0 0;list-style:none;font-size:.95rem;font-weight:700;border-top:1px solid rgba(255,255,255,.12)}.match-party-end__payout--win{color:#7cffa0}.match-party-end__payout--loss{color:#ff8a8a}.match-party-end__actions{display:flex;gap:.5rem;justify-content:center;margin-top:.75rem}.match-party-end__hint{margin:.5rem 0 0;font-size:.72rem;color:#ffffff80;text-align:center}.match-battle-pile{width:100%;display:flex;flex-direction:column;align-items:center;gap:.65rem;box-sizing:border-box}.match-battle-pile__layer{width:100%;max-width:min(22rem,100%);display:flex;flex-direction:column;align-items:stretch;gap:.35rem;box-sizing:border-box}.match-battle-pile__layer--ladder{align-items:center;padding:.15rem 0}.match-battle-pile__layer--battle-rows{gap:.15rem}.match-board__cards--ladder-pile{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:0;padding:2.1rem .35rem .45rem;max-width:100%;box-sizing:border-box}.match-board__cards--ladder-bury{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:0;padding:.15rem .35rem .05rem;max-width:100%;box-sizing:border-box}.match-board__cards--ladder-battle{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:0;padding:.4rem .35rem .35rem;max-width:100%;box-sizing:border-box}.match-board__cards--ladder-battle--many{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:.55rem}.match-board__cards--ladder-battle--many .match-ladder-slot{margin-left:-.72rem;min-height:3.35rem}.match-board__cards--ladder-battle--many .match-ladder-slot:first-child{margin-left:0}.match-board__cards--ladder-battle--many .match-ladder-slot__beat{transform:translate(.32rem,-.92rem)}.match-ladder-slot{position:relative;flex-shrink:0;line-height:0}.match-board__cards--ladder-pile .match-ladder-slot{margin-left:0;margin-top:-2.05rem}.match-board__cards--ladder-pile .match-ladder-slot:first-child{margin-top:0}.match-board__cards--ladder-bury .match-ladder-slot,.match-board__cards--ladder-battle .match-ladder-slot{margin-top:0;margin-left:-1rem}.match-board__cards--ladder-battle .match-ladder-slot{min-height:3.65rem}.match-board__cards--ladder-bury .match-ladder-slot:first-child,.match-board__cards--ladder-battle .match-ladder-slot:first-child{margin-left:0}.match-board__cards--ladder-bury .match-ladder-slot{margin-left:-.68rem}.match-ladder-slot--bury{opacity:.88}.match-ladder-slot--tappable{cursor:pointer}.match-ladder-slot--need-beat>.playing-card{box-shadow:0 0 0 2px #78d2fff2,0 4px 14px #00000059}.match-ladder-slot--drop-target>.playing-card{box-shadow:0 0 0 3px var(--accent, #3ecf6a),0 0 18px #3ecf6a80;animation:match-ladder-beat-pulse 1.1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.match-ladder-slot--drop-target>.playing-card{animation:none}}@keyframes match-ladder-beat-pulse{0%,to{box-shadow:0 0 0 3px var(--accent, #3ecf6a),0 0 12px #3ecf6a59}50%{box-shadow:0 0 0 3px #64e68c,0 0 22px #3ecf6a8c}}.match-ladder-slot:focus-visible{outline:2px solid var(--accent, #3ecf6a);outline-offset:3px;border-radius:10px}.match-board__cards--ladder-battle .match-ladder-slot__beat{position:absolute;left:.28rem;bottom:.08rem;transform:translate(.4rem,-1.05rem);z-index:4;pointer-events:none;filter:drop-shadow(0 2px 7px rgba(0,0,0,.34))}.match-battle-drag-ghost{position:fixed;z-index:9999;left:0;top:0;pointer-events:none;transform:translate(-50%,-50%) scale(.96);opacity:.93;filter:drop-shadow(0 5px 14px rgba(0,0,0,.4))}.match-hand--defense-pick .match-hand__inner{touch-action:none}.match-board__cards--stacked{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:.32rem;padding:.35rem .5rem;max-width:100%;box-sizing:border-box}.match-board__cards--stacked>.playing-card{position:relative;flex-shrink:0;margin:0}.match-board__cards--stacked-sm{gap:.22rem;padding:.28rem .4rem}.match-battle-pile__hint{margin:0;max-width:16rem;font-size:.72rem;line-height:1.35;color:#ffffffc7;text-align:center}.match-battle-pile__meta{margin:0;font-size:.65rem;color:#ffffff80;letter-spacing:.02em}.match-board__label--strong{color:#ffffffe0;font-weight:650}.match-board__label{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:#ffffff8c;text-align:center}.match-board__cards{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;max-width:100%}.match-board__score-pill{font-size:.7rem;color:#ffffffa6;text-align:center;margin-top:.15rem}.playing-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:0;cursor:pointer;border-radius:7px;background:linear-gradient(180deg,#fdfdfd,#e8eaee);box-shadow:0 2px 4px #00000059,inset 0 1px #ffffffe6;display:inline-block;position:relative;vertical-align:bottom;transition:transform .12s ease,box-shadow .12s ease;flex-shrink:0}.playing-card:disabled{cursor:default;opacity:.9}.playing-card:not(:disabled):active{transform:translateY(1px)}.playing-card--selected{transform:translateY(-6px);box-shadow:0 0 0 2px var(--accent),0 8px 16px #00000059}.playing-card__corner{position:absolute;display:flex;flex-direction:column;align-items:flex-start;line-height:1;color:#1a1a1a;pointer-events:none}.playing-card__corner--red{color:#c41e3a}.playing-card__corner--tl{top:.14rem;left:.14rem}.playing-card__corner--br{bottom:.14rem;right:.14rem;align-items:flex-end;transform:rotate(180deg)}.playing-card__rank{font-size:.75rem;font-weight:700;line-height:1}.playing-card__suit{font-size:.95rem;line-height:1}.playing-card--sm{min-width:2.15rem;height:2.95rem}.playing-card--sm .playing-card__rank{font-size:.62rem}.playing-card--sm .playing-card__suit{font-size:.72rem}.playing-card--sm .playing-card__corner--tl{top:.08rem;left:.08rem}.playing-card--sm .playing-card__corner--br{bottom:.08rem;right:.08rem}.playing-card--md{min-width:2.65rem;height:3.65rem}.playing-card--md .playing-card__rank{font-size:.8rem}.playing-card--md .playing-card__suit{font-size:1.05rem}.playing-card--lg{min-width:3rem;height:4.15rem}.playing-card--lg .playing-card__rank{font-size:.9rem}.playing-card--lg .playing-card__suit{font-size:1.15rem}@keyframes matchDealCardIn{0%{opacity:0;transform:translate3d(0,-8.25rem,0) scale(.86) rotate(-7deg)}55%{opacity:1}to{opacity:1;transform:translateZ(0) scale(1) rotate(0)}}.playing-card--deal-in{animation:matchDealCardIn .48s cubic-bezier(.22,1,.36,1) both}.match-hand--dealing{pointer-events:none}@media(prefers-reduced-motion:reduce){.match-card-back--fly{animation:none;opacity:.88;transform:none}}@media(prefers-reduced-motion:reduce){.playing-card--deal-in{animation:none;opacity:1;transform:none}.match-stock__deck--dealing .match-stock__deck-card{animation:none;filter:none}}.match-hand{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-end;padding:.65rem .35rem .75rem;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scroll-snap-type:x proximity}.match-hand__inner{display:flex;justify-content:center;align-items:flex-end;flex-wrap:nowrap;gap:.5rem;padding:.35rem .75rem;min-height:4.85rem;max-width:100%}.match-hand .playing-card--lg{flex-shrink:0;scroll-snap-align:center}.match-dock{position:relative;z-index:2;display:flex;flex-direction:column;margin:0 .5rem .5rem;padding:.65rem .75rem;border-radius:14px;background:#f5f7faf7;color:#1a2530;box-shadow:0 -4px 20px #0003}.match-dock__top-line{display:flex;flex-direction:row;align-items:center;gap:.65rem}.match-dock__avatar{position:relative;width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#5a8a6a,#3d9a6a);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.match-dock__name{font-size:.85rem;font-weight:650;margin:0;color:#1a2530;flex:1;min-width:0}.match-dock__actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}.match-dock .btn{min-height:40px;font-size:.85rem}.match-dock .btn-primary{background:#2d8f5a;color:#fff}.match-dock .btn-ghost{border-color:#c5cdd6;color:#3a4a5a}@media(min-width:640px){.match-table-page__topbar h1{font-size:1.1rem}.match-table-felt{min-height:min(65vh,32rem);border-radius:18px}.match-opponents{gap:1rem 2rem;padding:.85rem .75rem .45rem}.match-opponent__avatar{width:50px;height:50px;font-size:.9rem}.match-opponent__name{max-width:8rem;font-size:.82rem}.match-board{padding:.5rem 1rem;min-height:10rem}.match-hand__inner{gap:.55rem;padding:.45rem 1rem}.match-dock{margin:0 clamp(.65rem,4vw,2rem) .65rem;padding:.75rem 1rem}}@media(min-width:960px){.match-table-page{padding:1rem max(1rem,env(safe-area-inset-left)) calc(1rem + env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-right))}.match-table-felt{min-height:min(70vh,38rem)}.match-board__label{font-size:.72rem}.match-board__score-pill{font-size:.75rem}}@media(max-width:640px){.match-table-page--playing{min-height:100vh;min-height:100dvh;max-width:100%;padding:.4rem max(.45rem,env(safe-area-inset-left)) calc(.3rem + env(safe-area-inset-bottom,0px)) max(.45rem,env(safe-area-inset-right))}.match-table-page--playing .match-board__coins{display:none}.match-table-page--playing .match-table-felt{flex:1 1 auto;min-height:0;border-radius:14px}.match-turn-bar{margin-left:.35rem;margin-right:.35rem;padding:.3rem .45rem;font-size:.7rem}.match-arena{position:relative;flex:1 1 auto;min-height:12.5rem}.match-opponents.match-opponents--around-table{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block;padding:0;margin:0;pointer-events:none}.match-opponents.match-opponents--around-table .match-opponent{position:absolute;pointer-events:auto;min-width:0}.match-opponents.match-opponents--around-table .match-opponent:nth-child(1){top:.15rem;left:50%;transform:translate(-50%)}.match-opponents.match-opponents--around-table .match-opponent:nth-child(2){left:.1rem;top:38%;transform:translateY(-50%)}.match-opponents.match-opponents--around-table .match-opponent:nth-child(3){right:.1rem;top:38%;transform:translateY(-50%)}.match-opponents.match-opponents--around-table .match-opponent:nth-child(4){bottom:.2rem;left:50%;top:auto;transform:translate(-50%)}.match-opponent--turn{outline:none;padding:0}.match-opponent--turn .match-opponent__avatar{box-shadow:0 0 0 3px #3ecf6af2}.match-opponents.match-opponents--around-table .match-opponent__avatar{border-radius:11px}.match-board{position:relative;z-index:2;flex:1 1 auto;justify-content:center;min-height:8rem}.match-table-page--playing .match-board__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);grid-template-areas:"stock trick bit";align-items:center;justify-items:stretch;column-gap:.35rem;row-gap:0;flex:1 1 auto;min-height:0;width:100%}.match-table-page--playing .match-stock{grid-area:stock;justify-self:start;align-self:center;padding-left:max(.1rem,env(safe-area-inset-left))}.match-table-page--playing .match-board__trick{grid-area:trick;align-self:center;justify-self:stretch}.match-hand{z-index:3;margin-bottom:-.45rem;padding-bottom:.5rem}.match-hand__inner{gap:0;padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}.match-hand__inner .playing-card--lg:not(:first-child){margin-left:-1.1rem}.match-hand__inner .playing-card--lg{z-index:0}.match-hand__inner .playing-card--lg:nth-child(n+1){position:relative}.match-hand__inner .playing-card--lg:nth-child(1){z-index:5}.match-hand__inner .playing-card--lg:nth-child(2){z-index:4}.match-hand__inner .playing-card--lg:nth-child(3){z-index:3}.match-hand__inner .playing-card--lg:nth-child(4){z-index:2}.match-hand__inner .playing-card--lg:nth-child(5){z-index:1}.match-hand__inner .playing-card--lg:nth-child(n+6){z-index:0}.match-dock{display:grid;grid-template-columns:1fr auto;grid-template-areas:"top actions";align-items:center;column-gap:.45rem;row-gap:.45rem;margin:0;margin-top:-.35rem;padding:.65rem .55rem calc(.65rem + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0;box-shadow:0 -10px 28px #00000038}.match-dock__top-line{grid-area:top;flex-direction:row;align-items:center;justify-content:flex-start;gap:.5rem;min-width:0}.match-dock__avatar{width:50px;height:50px;border-radius:12px}.match-dock__avatar--my-turn{box-shadow:0 0 0 3px #e04555}.match-dock__name{flex:none;max-width:7rem;font-size:.78rem;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-dock__actions{grid-area:actions;display:flex;flex-direction:column;flex-wrap:nowrap;gap:.35rem;margin-top:0;align-self:stretch;justify-self:stretch;min-width:0}.match-dock__actions .btn{min-height:38px;font-size:.8rem;padding-left:.5rem;padding-right:.5rem}}.layout--legal{max-width:42rem}.legal-doc h1{font-size:1.5rem;font-weight:650;margin:0 0 .5rem}.legal-doc h2{font-size:1.05rem;font-weight:600;margin:1.25rem 0 .5rem}.legal-doc p,.legal-doc li{color:var(--text);font-size:.92rem;line-height:1.55}.legal-doc p{margin:0 0 .75rem}.legal-doc ul{margin:0 0 .75rem;padding-left:1.25rem}.legal-doc .legal-meta{color:var(--muted);font-size:.85rem;margin-bottom:1rem}.legal-doc a{word-break:break-word}.legal-back{margin-top:1.25rem}:root{color-scheme:dark;--bg: #0f1419;--surface: #1a222c;--border: #2d3a47;--text: #e8eef4;--muted: #8b9bab;--accent: #3d9a6a;--accent-dim: #2d7a52;--danger: #c45c5c;--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:system-ui,Segoe UI,Roboto,sans-serif;line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);padding-bottom:var(--safe-bottom)}#root{min-height:100dvh}a{color:var(--accent)}button{font:inherit;cursor:pointer}input{font:inherit}.layout{max-width:28rem;margin:0 auto;padding:1rem 1rem calc(1rem + var(--safe-bottom))}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.w-full{width:100%}.stack{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.title{font-size:1.35rem;font-weight:650;margin:0 0 .25rem}.sub{color:var(--muted);font-size:.9rem;margin:0}.field label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.35rem}.field input{width:100%;padding:.65rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1rem;border-radius:10px;border:none;font-weight:600;min-height:44px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-block{width:100%}.error{color:var(--danger);font-size:.9rem;margin:0}.coins-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:999px;background:var(--bg);border:1px solid var(--border);font-variant-numeric:tabular-nums}.ad-slot{min-height:120px;border:1px dashed var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.9rem;text-align:center;padding:.75rem}.ad-slot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.ad-slot-list-header{display:grid;grid-template-columns:1.5rem 1fr 4.5rem 1.25rem;gap:.65rem;align-items:center;padding:0 .85rem .15rem;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.ad-slot-list-header-stats{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;text-align:right}.ad-slot-row{width:100%;display:grid;grid-template-columns:1.5rem 1fr 4.5rem 1.25rem;gap:.65rem;align-items:center;padding:.75rem .85rem;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);text-align:left;min-height:48px}.ad-slot-row:hover{border-color:var(--accent-dim)}.ad-slot-kind{font-size:1rem;width:1.5rem;text-align:center;flex-shrink:0}.ad-slot-title{font-weight:600;font-size:.92rem;min-width:0}.ad-slot-stats{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;font-size:.82rem;color:var(--muted);text-align:right}.ad-slot-chevron{color:var(--muted);font-size:1.25rem;flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000b8;display:flex;align-items:flex-end;justify-content:center;padding:.75rem;padding-bottom:max(.75rem,var(--safe-bottom))}@media(min-width:520px){.modal-overlay{align-items:center}}.modal-panel{width:100%;max-width:26rem;max-height:min(92dvh,640px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem 1.1rem;box-shadow:0 12px 40px #00000073}.ad-modal-media{border-radius:10px;overflow:hidden;background:var(--bg);border:1px solid var(--border)}.ad-modal-img{display:block;width:100%;max-height:220px;object-fit:contain;vertical-align:middle}.ad-modal-video{display:block;width:100%;max-height:240px;background:#000}
