:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#11101a;--bg-strong:#070711;--panel:#ffffff14;--panel-strong:#ffffff21;--border:#ffffff29;--border-strong:#fbbf24b3;--text:#f8f1dc;--muted:#c5bfae;--gold:#f6c453;--gold-dark:#8c5a11;--blue:#7dd3fc;--red:#fca5a5;--green:#86efac;--shadow:0 22px 80px #00000061}*{box-sizing:border-box}html{background:var(--bg-strong);min-height:100%}.app-body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 0 0,#f6c45338,#0000 34rem),radial-gradient(circle at 100% 100%,#7dd3fc24,#0000 30rem),linear-gradient(135deg,#181220 0%,#0c1020 52%,#170f16 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer;border:0}button:disabled,fieldset:disabled button{cursor:not-allowed;filter:grayscale(.4);opacity:.52}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #7dd3fcf2}.app-shell{width:min(1120px,100%);margin:0 auto;padding:24px}.home-screen,.lobby-screen,.result-screen{align-content:center;gap:18px;min-height:100vh;display:grid}.hero-panel,.panel{border:1px solid var(--border);background:linear-gradient(145deg, var(--panel-strong), var(--panel));box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:28px}.hero-panel{padding:clamp(28px,5vw,56px)}h1,h2,p{margin-top:0}h1{letter-spacing:-.08em;max-width:12ch;margin-bottom:28px;font-size:clamp(2.6rem,10vw,5.8rem);line-height:.9}.home-actions{gap:16px;display:grid}.form-panel{gap:18px;padding:20px;display:grid}.field{color:var(--muted);gap:8px;font-size:.92rem;font-weight:700;display:grid}.input{border:1px solid var(--border);width:100%;color:var(--text);background:#00000047;border-radius:16px;padding:14px 16px}.primary-button,.secondary-button{color:#17110a;border-radius:999px;min-height:46px;padding:12px 18px;font-weight:850;transition:transform .15s,box-shadow .15s,opacity .15s}.primary-button{background:linear-gradient(135deg, #fee68a, var(--gold));box-shadow:0 10px 28px #f6c45347}.secondary-button{color:var(--text);border:1px solid var(--border);background:#ffffff1f}.primary-button:not(:disabled):hover,.secondary-button:not(:disabled):hover,.card-tile:not(:disabled):hover{transform:translateY(-2px)}.status-banner{min-height:1.5rem;color:var(--blue);background:#0e74902e;border:1px solid #7dd3fc4d;border-radius:16px;margin:0;padding:12px 14px}.status-banner:empty{visibility:hidden}.status-banner--error{color:var(--red);background:#7f1d1d47;border-color:#fca5a566}.connection-guard{min-height:100vh}.connection-fieldset{border:0;min-width:0;margin:0;padding:0}.connection-guard--locked .connection-fieldset{opacity:.72}.lobby-panel{gap:18px;padding:clamp(22px,4vw,36px);display:grid}.room-code{max-width:none;color:var(--gold);letter-spacing:.12em;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.room-code-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.player-list,.ranking-list,.reason-list,.final-card-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.player-row,.ranking-row,.opponent-row,.final-card-list li{background:#0000002e;border:1px solid #ffffff1a;border-radius:16px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.state-pill{color:var(--muted);background:#ffffff14;border-radius:999px;padding:4px 10px}.state-pill--ready{color:#0f2c16;background:var(--green)}.connection-dot{color:var(--muted)}.connection-dot--online{color:var(--green)}.button-row,.action-bar{flex-wrap:wrap;gap:12px;display:flex}.action-bar{margin-bottom:16px;padding:16px}.game-grid{gap:16px;display:grid}.hand-panel,.opponents-panel,.score-panel{padding:16px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:12px;display:grid}.card-tile{border:1px solid var(--border);min-height:188px;color:var(--text);text-align:left;background:linear-gradient(155deg,#ffffff29,#ffffff0a),linear-gradient(135deg,#8c5a1173,#1e293b8c);border-radius:18px;padding:0;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 30px #00000038}.card-tile__visual{display:block;position:absolute;inset:0}.card-tile__art,.card-tile__fallback{width:100%;height:100%;display:block}.card-tile__art{object-fit:cover;filter:saturate(1.05)contrast(1.04)}.card-tile__fallback{background:radial-gradient(circle at 30% 18%,#f6c45352,#0000 34%),linear-gradient(145deg,#7c3aed47,#0f172ae0)}.card-tile__content{z-index:1;background:linear-gradient(#0000,#020617c7 42%,#020617f0);align-self:end;gap:4px;padding:54px 12px 12px;display:grid;position:relative}.card-tile__name{letter-spacing:-.01em;font-weight:800}.card-tile__meta{color:var(--muted);text-transform:uppercase;font-size:.78rem}.card-tile__choice,.card-tile__choice-summary{width:fit-content;color:var(--gold);background:#f6c45329;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.card-tile--selected{border-color:var(--border-strong);box-shadow:0 0 0 2px #f6c4533d,0 18px 38px #00000047}.opponents-panel{gap:10px;display:grid}.opponent-row{grid-template-columns:1fr auto;margin:0}.score-panel{gap:14px;display:grid}.card-detail-panel{align-self:start;gap:14px;padding:18px;display:grid}.card-detail-panel h2,.card-detail-panel h3,.card-detail-panel h4{margin-bottom:0}.card-detail-panel__empty{color:var(--muted);margin:0}.card-detail-panel__metrics{grid-template-columns:max-content 1fr;gap:8px 14px;margin:0;display:grid}.card-detail-panel__metrics dt{color:var(--muted);font-weight:800}.card-detail-panel__metrics dd{margin:0}.card-detail-panel__score{gap:12px;display:grid}.score-total{color:var(--gold);margin:0;font-size:clamp(3rem,10vw,5rem);line-height:1}.score-metrics{grid-template-columns:1fr auto;gap:8px 16px;margin:0;display:grid}.score-metrics dt{color:var(--muted)}.score-metrics dd{margin:0;font-weight:800}.choice-warning{border-left:3px solid var(--gold);color:var(--gold);background:#f6c45314;margin:0;padding:8px 10px}.choice-dialog{border:1px solid var(--border);width:min(560px,100vw - 32px);color:var(--text);background:#111827;border-radius:20px;padding:20px;box-shadow:0 24px 80px #00000080}.choice-dialog::backdrop{background:#020617b8}.choice-option,.choice-field,.choice-dialog__actions{gap:8px;display:grid}.choice-dialog__actions{grid-template-columns:1fr 1fr;margin-top:16px}.reason-list li{border-left:3px solid var(--gold);color:var(--muted);padding-left:10px}.ranking-list{counter-reset:ranking}.ranking-row{grid-template-columns:auto 1fr auto auto}.ranking-row:before{counter-increment:ranking;content:counter(ranking);color:#17110a;background:var(--gold);border-radius:999px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.final-hands{gap:16px;margin:18px 0;display:grid}.final-hand{padding:18px}.final-hand h2{margin-bottom:12px;font-size:1.1rem}.final-card-list li{grid-template-columns:auto 1fr}code{color:var(--gold);background:#00000042;border-radius:8px;padding:3px 7px}@media (min-width:760px){.home-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.game-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.hand-panel{grid-row:span 2}}
