:root{--cream:#fbf3ea;--paper:#fffaf6;--burg:#812b39;--burg-dark:#68222f;--rose:#b88378;--rose-soft:#d8b2aa;--ink:#402b31;--muted:#826d73;--line:#eadbd6;--ok:#37634b;--danger:#9d3d4d;--shadow:0 10px 30px rgba(76,35,45,.07)}
*{box-sizing:border-box}html{background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#fffaf6 0,#fbf3ea 100%)}button,input,select{font:inherit}button{cursor:pointer}.shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:24px 0 48px}.topbar{display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}.brand{display:flex;align-items:center;gap:14px}.brand-logo{width:112px;height:70px;object-fit:contain}.eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:800;color:var(--rose);text-transform:uppercase}.title{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:var(--burg);margin:2px 0 0;font-size:1.55rem}.subtle{color:var(--muted);font-size:.9rem}.panel{background:rgba(255,250,246,.92);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.grid{display:grid;gap:14px}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.section{margin-top:18px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.space{justify-content:space-between}.btn{min-height:44px;border-radius:11px;border:1px solid var(--line);background:white;color:var(--ink);padding:9px 14px}.btn:hover{border-color:var(--rose-soft)}.btn.primary{background:var(--burg);color:white;border-color:var(--burg)}.btn.primary:hover{background:var(--burg-dark)}.btn.rose{border-color:var(--rose);color:var(--burg);background:#fff}.btn.danger{border-color:#e4bdc4;color:var(--danger)}.btn:disabled{opacity:.45;cursor:not-allowed}.field{display:grid;gap:6px;font-size:.78rem;color:var(--muted);font-weight:650}.field input,.field select{min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 10px;color:var(--ink);min-width:0}.round-card,.team-card,.score-card{border:1px solid var(--line);border-radius:15px;background:#fff;padding:14px}.round-card.active,.team-card.active{border-color:var(--burg);background:var(--cream)}.round-card button{width:100%;text-align:left;border:0;background:transparent;color:inherit;padding:0;cursor:pointer}.round-name{display:block;font-family:Georgia,"Times New Roman",serif;color:var(--burg);font-size:1.2rem;margin:5px 0}.timer{font-variant-numeric:tabular-nums;font-family:Georgia,"Times New Roman",serif;color:var(--burg);font-size:clamp(3rem,8vw,5rem);line-height:1}.turn{font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;margin:4px 0 8px}.pointbox{background:var(--cream);border-radius:14px;padding:14px}.pointnum{min-width:50px;text-align:center;font-size:1.7rem;color:var(--burg);font-weight:750}.score-card{text-align:center}.score-name{font-weight:750}.score-total{font-family:Georgia,"Times New Roman",serif;color:var(--burg);font-size:2.5rem;line-height:1.1;margin:5px 0}.score-detail{font-size:.78rem;color:var(--muted)}.buzz-panel{background:var(--cream);border-radius:15px;padding:16px}.buzz-winner{font-family:Georgia,"Times New Roman",serif;color:var(--burg);font-size:1.8rem;margin:5px 0}.buzz-grid button{min-height:98px}.sound-icon{font-size:1.65rem}.public-shell{width:min(1040px,calc(100% - 32px));margin:0 auto;padding:24px 0 50px}.public-hero{text-align:center;padding:18px 0 24px}.public-logo{width:min(360px,76vw);height:160px;object-fit:contain}.public-round{font-size:.76rem;letter-spacing:.18em;color:var(--rose);font-weight:800;text-transform:uppercase}.public-game{font-family:Georgia,"Times New Roman",serif;color:var(--burg);font-size:clamp(2rem,6vw,3.8rem);margin:5px 0}.public-turn{font-size:clamp(1.15rem,3vw,1.6rem);color:var(--muted)}.public-timer{font-family:Georgia,"Times New Roman",serif;color:var(--burg);font-size:clamp(4.2rem,14vw,8rem);font-variant-numeric:tabular-nums;line-height:1;margin:14px 0}.public-scores{margin-top:16px}.public-buzz{text-align:center;margin-top:16px}.public-buzz .buzz-winner{font-size:clamp(2rem,7vw,4rem)}.team-shell{width:min(560px,calc(100% - 28px));margin:0 auto;padding:20px 0 40px}.team-logo{display:block;width:210px;height:105px;object-fit:contain;margin:0 auto 6px}.join-card{margin-top:12px}.buzz-button{width:100%;min-height:170px;border:2px solid var(--burg);border-radius:24px;background:var(--burg);color:white;font-size:1.65rem;font-weight:850;box-shadow:var(--shadow)}.buzz-button:disabled{background:#dcc9c5;border-color:#dcc9c5}.status{padding:10px 12px;border-radius:10px;background:#fff;border:1px solid var(--line);font-size:.88rem;color:var(--muted)}.setup-banner{margin-bottom:14px;padding:11px 13px;background:#fff1db;border:1px solid #ead3aa;border-radius:11px;color:#72512d;font-size:.87rem}.setup-banner code{font-weight:700}.hidden{display:none!important}.toast{position:sticky;bottom:16px;margin-top:16px;background:var(--ink);color:white;padding:11px 14px;border-radius:11px;box-shadow:var(--shadow);z-index:5}.landing{width:min(760px,calc(100% - 32px));margin:0 auto;padding:42px 0;text-align:center}.landing-logo{width:min(390px,85vw);height:190px;object-fit:contain}.landing-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.landing-links a{text-decoration:none}.landing .panel{text-align:left;margin-top:24px}
@media(max-width:760px){.shell{width:min(100% - 20px,1180px);padding-top:14px}.topbar{align-items:flex-start}.brand-logo{width:90px;height:58px}.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-links{grid-template-columns:1fr}.public-scores{grid-template-columns:repeat(2,minmax(0,1fr))}.row.mobile-stack{align-items:stretch}.row.mobile-stack>*{flex:1}.public-logo{height:130px}}
@media(max-width:460px){.g3,.g4,.g2{grid-template-columns:1fr}.topbar{flex-direction:column}.team-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.timer{font-size:3.8rem}.public-timer{font-size:5rem}}
