:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#f5f3ed;background:#151918;font-synthesis:none;text-rendering:optimizeLegibility;color-scheme:dark}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #d6f777;outline-offset:5px}.shell{max-width:1180px;margin:auto;padding:0 32px 64px}header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #39413b}.brand{font-weight:850;font-size:1.5rem;letter-spacing:-1px;text-decoration:none}nav{display:flex;gap:4px;padding:4px;border:1px solid #50594f;border-radius:99px}nav button{border:0;border-radius:99px;background:transparent;color:#e2e6df;padding:8px 14px}nav button[aria-pressed=true]{background:#d6f777;color:#172016}.hero{padding:100px 0 85px;max-width:850px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:#d6f777}h1{font-size:clamp(2.8rem,7vw,5.8rem);line-height:1.04;letter-spacing:-.055em;margin:25px 0}p{line-height:1.65}.intro{font-size:1.15rem;color:#bac4bb;max-width:610px}.button{display:inline-flex;gap:30px;align-items:center;background:#d6f777;color:#172016;padding:17px 23px;border-radius:9px;font-weight:700;text-decoration:none;margin-top:22px}h2{font-size:1.2rem;margin-bottom:25px}h3{font-size:1.6rem;letter-spacing:-.03em;margin:36px 0 8px}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.modes article{background:#202721;border:1px solid #39443a;border-radius:14px;padding:25px}.mode-number{color:#aabbab;font-size:.85rem}.badge{float:right;border:1px solid #53614e;border-radius:99px;padding:4px 10px;font-size:.72rem;color:#d6f777}.modes p{color:#bac4bb;margin:0}.placeholder{padding-top:65px}.placeholder>section{margin:50px 0}.screen{text-align:center}.screen .intro{margin-inline:auto}@media(max-width:650px){.shell{padding-inline:20px}header{min-height:85px}.brand{font-size:1.15rem}nav button{padding:8px 10px;font-size:.85rem}.hero{padding:65px 0}.modes{grid-template-columns:1fr}h1{letter-spacing:-.04em}}.header-actions{display:flex;align-items:center;gap:12px}.text-button{border:0;background:transparent;color:#d6f777;padding:8px}.auth-card{max-width:680px;padding:85px 0}.auth-card h1{font-size:clamp(2.6rem,6vw,4.8rem)}.auth-button{border:0}.auth-button:disabled{opacity:.5;cursor:not-allowed}.muted{color:#9eaaa0;max-width:600px}.error{color:#ffb4ab}.account-list{display:grid;gap:10px;margin:30px 0 60px;max-width:650px}.account-list article{display:flex;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid #39443a;border-radius:10px;background:#202721}.account-list span{color:#bac4bb}@media(max-width:650px){.header-actions{gap:5px}.text-button{font-size:.82rem}.account-list article{flex-direction:column;gap:4px}}.dashboard{padding-top:65px}.dashboard h1,.party-view h1,.guest-view h1{font-size:clamp(2.7rem,6vw,5rem)}.dashboard-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);gap:22px;align-items:start;margin-top:42px}.panel{background:#202721;border:1px solid #39443a;border-radius:14px;padding:24px}.panel h2{margin-top:0}.form-panel{display:grid;gap:18px;position:sticky;top:20px}.form-panel label,.join-form label{display:grid;gap:8px;font-size:.84rem;font-weight:700;color:#dce5dc}.form-panel input,.form-panel select,.join-form input{width:100%;border:1px solid #4d594e;border-radius:9px;background:#151918;color:#f5f3ed;padding:13px 14px;font:inherit}.form-panel .button,.join-form .button{border:0;justify-content:center;margin-top:2px}.party-list{display:grid;gap:14px}.party-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;padding:20px;border:1px solid #39443a;border-radius:12px;background:#181e1a}.party-card h3{margin:8px 0 4px}.qr{background:#f5f3ed;border-radius:10px;padding:10px;line-height:0;width:max-content}.party-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.party-actions a,.party-actions button{border:0;background:transparent;color:#d6f777;padding:6px 0;text-decoration:underline;text-underline-offset:4px}.party-actions .button{background:#d6f777;color:#172016;text-decoration:none;padding:11px 16px;margin:0}.party-actions .danger,.danger{color:#ffb4ab}.status{display:inline-flex;align-items:center;border:1px solid #526052;border-radius:99px;padding:4px 10px;font-size:.75rem;font-weight:700}.status-active{color:#d6f777}.status-ended{color:#9eaaa0}.party-view,.guest-view{padding-top:65px}.party-hero{display:flex;justify-content:space-between;gap:40px;align-items:flex-start;background:#202721;border:1px solid #39443a;border-radius:16px;padding:28px;margin:30px 0}.join-code{font-size:clamp(3rem,8vw,6rem);font-weight:850;letter-spacing:.08em;line-height:1;margin:20px 0 8px}.participants{margin-top:36px}.participants h2{display:flex;align-items:center;gap:10px}.participants h2 span{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:99px;background:#2b342c;color:#d6f777;font-size:.8rem}.participant-list{display:flex;flex-wrap:wrap;gap:10px}.participant-list span{padding:10px 14px;border:1px solid #465246;border-radius:99px;background:#202721}.party-screen{padding:50px 0}.party-screen h1{font-size:clamp(3rem,8vw,7rem);margin-bottom:40px}.screen-join{display:flex;justify-content:center;align-items:center;gap:48px;margin:40px auto;max-width:850px}.screen-join p{font-size:1.25rem}.participants-screen{margin:60px auto 0;max-width:900px}.participants-screen .participant-list{justify-content:center}.participants-screen .participant-list span{font-size:1.2rem;padding:13px 18px}.join-form{display:grid;gap:18px;max-width:480px;margin-top:34px}.notice,.welcome{font-size:1.15rem;max-width:620px;padding:18px 20px;border:1px solid #465246;border-radius:10px;background:#202721}.small{font-size:.9rem}.party-card .muted strong{color:#f5f3ed;letter-spacing:.08em}.button:disabled,.party-actions button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:800px){.dashboard-grid{grid-template-columns:1fr}.form-panel{position:static}.party-hero,.screen-join{flex-direction:column;align-items:center;text-align:center}.party-hero{align-items:flex-start;text-align:left}.party-card{grid-template-columns:1fr}.party-card>.qr{grid-column:1}.party-actions{grid-column:1}.screen-join{gap:20px}}
