:root{--bg:#0f0f0f;--panel:#1a1a1a;--line:#2a3550;--text:#e8edf5;--dim:#8b96ad;--accent:#1e8fff;--green:#3ecf6f;--red:#e5605e}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);overscroll-behavior:none;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.app{max-width:480px;min-height:100dvh;margin:0 auto;padding:12px 12px 76px}header{justify-content:space-between;align-items:center;padding:8px 2px 12px;font-size:18px;display:flex}h3{color:var(--dim);margin:16px 2px 8px;font-size:15px}button{background:var(--panel);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:10px 14px;font-size:15px}button.primary{background:var(--accent);border-color:var(--accent);color:#1a1405;width:100%;font-weight:700}button.ghost{background:0 0}button:disabled{opacity:.5}.row{background:var(--panel);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 12px;display:flex}.center{text-align:center;color:var(--dim);padding:40px 10px}.dim{color:var(--dim);margin:4px 2px;font-size:14px}nav{width:100%;max-width:480px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#0c111c;gap:8px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{flex:1;padding:8px;font-size:20px}.tab.active{border-color:var(--accent)}.actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.actions button{flex:1}.invite{background:var(--panel);border:1px dashed var(--line);border-radius:10px;flex-direction:column;gap:8px;margin-top:12px;padding:10px 12px;font-size:13px;display:flex}.invite code{word-break:break-all;color:var(--accent)}.banner{border:1px solid var(--red);background:#3a1f22;border-radius:10px;margin-bottom:8px;padding:8px 12px;font-size:14px}.game .trow{color:var(--dim);justify-content:space-between;padding:2px;font-size:13px;display:flex}.table{background:#12351f;border-radius:14px;flex-wrap:wrap;gap:8px;min-height:120px;margin:8px 0;padding:12px;display:flex}.bout{cursor:pointer;position:relative}.card{color:#1a1a1a;background:#f4f1e8;border-radius:8px;justify-content:center;align-items:center;width:52px;height:72px;font-size:15px;font-weight:700;display:flex;box-shadow:0 2px 4px #0006}.card.beat{border:2px solid var(--green);margin-top:-48px;margin-left:14px}.card.big{width:60px;height:84px;font-size:17px}.card.red{color:#c22}.card.sel{outline:3px solid var(--accent);transform:translateY(-6px)}.hand{flex-wrap:wrap;justify-content:center;gap:6px;padding:8px 0;display:flex}.empty{color:#fff6;margin:auto}.card-list .row{margin-bottom:6px}.app{max-width:620px;padding-top:max(16px, env(safe-area-inset-top))}h1{margin:4px 0;font-size:30px}h2{margin:8px 0}h3{margin-top:24px}a{color:var(--accent)}button{touch-action:manipulation}button:disabled{opacity:.45;cursor:default}.panel{background:var(--panel);border:1px solid #292929;border-radius:18px;margin:12px 0;padding:16px}.spread,.identity{justify-content:space-between;align-items:center;gap:12px;display:flex}.identity{justify-content:flex-start;min-width:0}.small{font-size:12px;line-height:1.5}.avatar{color:#fff;background:#213b61;border:2px solid #323b4b;border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;padding:0;font-size:20px;font-weight:700;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-large{width:88px;height:88px;margin:auto;font-size:36px}.avatar-stack{display:flex}.avatar-stack .avatar+.avatar{margin-left:-10px}.name-link{color:var(--text);overflow-wrap:anywhere;background:0 0;border:0;padding:3px;font-size:14px}.profile-hero{text-align:center}.profile-hero .dim{margin-top:10px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0;display:grid}.stats-grid>div{background:var(--panel);border-radius:16px;padding:18px}.stats-grid b{font-size:22px;display:block}.stats-grid small{color:var(--dim);margin-top:5px;display:block}progress{appearance:none;background:#303030;border:0;border-radius:9px;width:100%;height:8px;margin:14px 0;overflow:hidden}progress::-webkit-progress-bar{background:#303030}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.reward.earned{border-color:#316846}.reward .spread{font-size:13px}.positive{color:#67d995}.negative{color:#ff8080}.settings summary{cursor:pointer;padding:2px;font-weight:650}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}label{color:var(--dim);font-size:13px;display:block}input:not([type=checkbox]),select{width:100%;color:var(--text);font:inherit;background:#111;border:1px solid #383838;border-radius:10px;margin-top:7px;padding:11px}.check{align-items:center;gap:10px;margin-top:16px;display:flex}input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}.home-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.home-actions button{padding:16px 10px}.players-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.player-seat{background:var(--panel);text-align:center;border:1px solid #333;border-radius:16px;flex-direction:column;align-items:center;gap:5px;padding:12px 4px;display:flex}.player-seat small{color:var(--dim);font-size:11px}.player-seat.defender{border-color:var(--accent)}.player-seat.finished{opacity:.5}.table{background:radial-gradient(#13342d,#14251f);border-radius:24px;gap:12px;min-height:180px;padding:18px 10px}.table .card{padding:0}.table .beat{font-size:12px}.table .beat.red,.table .beat:not(:empty){font-size:16px}.table .bout{align-items:center;gap:4px;display:flex}.table .card.beat{margin:0}.hand{flex-wrap:wrap;justify-content:center;gap:8px}.card.big.sel{outline:3px solid var(--accent);transform:translateY(-8px)}.card{transition:transform .12s}.challenge-mode{outline:2px dashed #ffb04a}.actions{flex-wrap:wrap}.transfer-options{flex-wrap:wrap;align-items:center;gap:6px;width:100%;display:flex}.result{text-align:center;border-color:var(--accent)}.invite code{overflow-wrap:anywhere;margin:12px 0;font-size:12px;display:block}.modal-backdrop{z-index:100;background:#000b;padding:16px 8px;position:fixed;inset:0;overflow-y:auto}.profile-modal{background:var(--bg);border:1px solid #333;border-radius:22px;max-width:560px;min-height:60vh;margin:0 auto;padding:16px}.banner{overflow-wrap:anywhere}.tabbar{max-width:620px;padding-bottom:max(10px, env(safe-area-inset-bottom))}.tabbar button{color:var(--dim);background:0 0;border:0}.tabbar button.active{color:var(--accent)}@media (prefers-reduced-motion:reduce){.card{transition:none}}
