:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:#111116;color:#f3f0eb;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#38212555,transparent 55%);min-height:100vh}main{max-width:640px;margin:auto;padding:56px 22px 24px}header{text-align:center;margin-bottom:40px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.3px;color:#b0a29c}h1{font-family:Georgia,serif;font-size:82px;letter-spacing:5px;line-height:1;margin:18px 0}h1 span{color:#ef705e}p{font-size:14px;color:#aaa6ae;line-height:1.7;margin:10px 0 22px}h2{font-size:23px;letter-spacing:-.6px;margin:6px 0 10px}.panel{background:#1b1b22;border:1px solid #333039;border-radius:16px;padding:28px;margin-bottom:18px}label{display:block;font-size:12px;font-weight:600;margin:22px 0 8px}input{display:block;width:100%;background:#121217;border:1px solid #403a43;border-radius:8px;padding:14px;color:#fff;font:inherit;margin-top:8px}input:focus{outline:2px solid #ef705e;outline-offset:2px}#code{text-transform:uppercase;letter-spacing:3px}.muted{color:#a29ba6;font-weight:400}.actions{display:flex;gap:12px;margin-top:24px}button{background:#f07865;border:1px solid transparent;color:#1b1010;border-radius:8px;padding:14px 18px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s}button:hover{background:#ff9785}button span{margin-left:12px}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:transparent;border-color:#4d454e;color:#e7dfe5}.secondary:hover{background:#302932}.small{padding:11px 14px;font-size:12px}.actions button{flex:1}.room-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}#room-code{font-size:28px;letter-spacing:4px;margin:6px 0}.role-card{text-align:center;border-color:#6e453d;padding:34px 22px;background:linear-gradient(135deg,#322121,#1b1b22)}.role-card h2{font-family:Georgia,serif;font-size:32px;margin:18px 0 10px}.role-card p{max-width:400px;margin:0 auto 20px}.role-card p:last-child{margin-bottom:0}.badge{border:1px solid #4d454e;padding:5px 10px;border-radius:20px;font-size:11px;color:#c9bec6}ul{list-style:none;margin:0;padding:0}li{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid #333039;font-size:14px}li span{color:#c3a69b;font-size:11px}.role-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.role-counts label{margin-top:8px}#deal{width:100%}#reset{width:100%;margin-top:10px}#error{background:#442629;border:1px solid #aa5b5b;border-radius:8px;color:#ffd4d4;padding:12px 16px}footer{text-align:center;font-size:11px;color:#8c858e;line-height:1.8;margin:32px 0 8px}.text-button{display:block;margin:22px auto;background:transparent;color:#aba1ad;font-size:12px;font-weight:400}.text-button:hover{background:#27232b}[hidden]{display:none!important}button:focus-visible{outline:2px solid #fff;outline-offset:3px}@media(max-width:450px){main{padding-top:35px}.panel{padding:22px}.actions{flex-direction:column}h1{font-size:70px}.room-heading{gap:10px}.role-counts{gap:10px}}
.invite-panel{text-align:center}.invite-panel img{display:block;width:100%;max-width:280px;height:auto;margin:0 auto;border-radius:10px}.invite-panel p:last-child{margin-bottom:0}#local-invite-warning{color:#f3b58e;font-size:12px;margin-top:18px}
select{display:block;width:100%;background:#121217;border:1px solid #403a43;border-radius:8px;padding:14px;color:#fff;font:inherit;margin-top:8px}select:focus{outline:2px solid #ef705e;outline-offset:2px}#action-form button{width:100%;margin-top:16px}#private-info{padding:14px;background:#30232c;border-radius:8px;color:#f3c9be}.game-rules{margin-top:22px;color:#aaa6ae;font-size:12px}.game-rules summary{cursor:pointer}#game-log{padding:0;list-style:none}#game-log li{display:block;font-size:13px;color:#c7bec8;line-height:1.7}h3{font-size:14px;margin-top:24px}
