@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700;800;900&display=swap";:root{color:#f4f3ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;background:#090910;font-family:Inter,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,select{font:inherit}button{cursor:pointer}:root{--bg:#090910;--panel:#11111c;--panel2:#151522;--border:#29283c;--muted:#89889f;--purple:#a78bfa;--pink:#fa76d8;--green:#60f0ba}body{background:radial-gradient(ellipse at 50% -15%, #7040d23b, transparent 55%), var(--bg)}button{border:0}.app-shell{max-width:680px;margin:0 auto;padding:22px 20px 16px}.topbar,.brand,.room-row,.section-heading,.tabs,.setting-row,footer{justify-content:space-between;align-items:center;display:flex}.topbar{padding:5px 0 25px}.brand{color:#f5f2ff;letter-spacing:1.5px;gap:10px;font-size:13px;font-weight:800;text-decoration:none}.brand b{color:var(--purple)}.brand-mark,.footer-logo{color:#100b1c;background:linear-gradient(135deg,#a78bfa,#e879f9);border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.online-pill{color:var(--green);letter-spacing:1px;border:1px solid #29493f;border-radius:99px;padding:8px 10px;font:10px DM Mono,monospace}.online-pill i{background:var(--green);width:6px;height:6px;box-shadow:0 0 9px var(--green);border-radius:50%;margin-right:6px;display:inline-block}.hero{padding:28px 0 25px}.eyebrow,.muted-label{color:var(--muted);letter-spacing:1.8px;font:10px DM Mono,monospace}.eyebrow span{color:var(--pink);margin-right:7px}h1{letter-spacing:-2.7px;margin:17px 0 12px;font-size:clamp(36px,8vw,56px);font-weight:900;line-height:1.05}h1 span,.role-panel h2 span{color:var(--purple)}.hero>p,.panel-desc{color:var(--muted);margin:0 0 24px;font-size:13px;line-height:1.7}.room-row{border:1px solid var(--border);background:#141321cc;border-radius:14px;max-width:100%;padding:14px 16px}.room-row>div{gap:6px;display:grid}.room-code{letter-spacing:2px;font:16px DM Mono,monospace}.icon-button{color:#d8caff;background:#28223c;border:1px solid #40345f;border-radius:9px;padding:10px 13px;font-size:11px;font-weight:700}.tabs{background:#11111a;border:1px solid #252437;border-radius:12px;gap:4px;margin:4px 0 28px;padding:4px}.tabs button{color:#88879c;background:0 0;border-radius:8px;flex:1;padding:12px 4px;font-size:11px;font-weight:700}.tabs button.active{color:#d7c4ff;background:#29223d;box-shadow:inset 0 0 0 1px #40335e}.section-heading{margin-bottom:18px}h2{letter-spacing:-.7px;margin:7px 0 0;font-size:22px}.count{color:#a6a2bb;margin-left:6px;font:12px DM Mono,monospace}.status-badge{color:#f5ce7b;background:#2c2518;border:1px solid #4b3c21;border-radius:99px;padding:7px 10px;font-size:10px}.player-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.player-card{text-align:center;background:linear-gradient(150deg,#171624,#11111b);border:1px solid #29283c;border-radius:15px;min-width:0;padding:20px 8px 17px;position:relative;overflow:hidden}.player-card:first-child{background:linear-gradient(150deg,#211a35,#13121e);border-color:#64508b}.player-avatar{background:#29233c;border:1px solid #46345d;border-radius:19px;place-items:center;width:57px;height:57px;margin:0 auto 13px;font-size:29px;display:grid;position:relative}.player-avatar i{border:2px solid #171624;border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:-2px}.player-avatar i.online{background:var(--green)}.player-avatar i.offline{background:#666579}.player-name{overflow-wrap:anywhere;font-size:12px;font-weight:800}.player-tag{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:10px}.host-badge,.player-number{letter-spacing:.8px;border-radius:5px;margin-top:12px;padding:5px 7px;font:9px DM Mono,monospace;display:inline-block}.host-badge{color:#e1c7ff;background:#38254c}.player-number{color:#77758c;background:#22212f}.empty-card{background:#11111b80;border-style:dashed}.empty-avatar{color:#77738f;border:1px dashed #4a465f;border-radius:19px;place-items:center;width:57px;height:57px;margin:0 auto 13px;font-size:25px;display:grid}.game-info{background:#151322;border:1px solid #332747;border-radius:12px;align-items:flex-start;gap:12px;margin:20px 0;padding:15px;display:flex}.info-icon{color:var(--pink);font-size:20px}.game-info strong{font-size:12px}.game-info p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.6}.primary-button,.secondary-button{letter-spacing:1px;border-radius:11px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:49px;font-size:11px;font-weight:800;display:flex}.primary-button{color:#160e24;background:linear-gradient(100deg,#c4a7ff,#e5a0ff);box-shadow:0 6px 25px #a879ef20}.primary-button span{font-size:17px}.secondary-button{color:#cbc5de;background:#161520;border:1px solid #302e42;margin-top:10px}.footnote{text-align:center;color:#69677e;letter-spacing:1px;margin:18px 0 24px;font:9px DM Mono,monospace}.settings-panel,.role-panel{background:#11111b;border:1px solid #29283c;border-radius:15px;padding:22px 17px}.settings-panel h2,.role-panel h2{margin:9px 0}.panel-desc{margin:0 0 18px}.setting-row{border-top:1px solid #282638;gap:10px;padding:17px 0}.setting-row strong{font-size:12px}.setting-row p{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.5}.setting-row select{color:#e0d5ff;background:#211c31;border:1px solid #45355f;border-radius:8px;max-width:100px;padding:9px 6px;font-size:11px}.role-panel{text-align:center}.role-symbol{color:#d9c6ff;background:#28203b;border:1px solid #54406f;border-radius:25px;place-items:center;width:76px;height:76px;margin:4px auto 22px;font-size:36px;display:grid;box-shadow:0 0 40px #a78bfa12}.role-panel h2{font-size:25px}.role-panel>p:not(.footnote){color:var(--muted);font-size:12px;line-height:1.7}.secret-card{background:radial-gradient(at top,#322443,#191523);border:1px solid #4a3b67;border-radius:14px;gap:13px;margin:24px 0 16px;padding:22px 12px;display:grid}.secret-card span,.secret-card small{color:#a6a0ba;letter-spacing:1px;font:10px DM Mono,monospace}.secret-card strong{letter-spacing:5px;color:#dfc9ff;font-size:27px}footer{color:#6f6d82;letter-spacing:.7px;border-top:1px solid #252436;margin-top:15px;padding-top:17px;font:9px DM Mono,monospace}.footer-logo{border-radius:7px;width:25px;height:25px;font-size:12px}@media (width>=560px){.player-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell{padding-top:28px}}@media (width<=380px){.app-shell{padding-left:13px;padding-right:13px}h1{letter-spacing:-1.8px}.player-card{padding-left:4px;padding-right:4px}}.auth-status{color:#c4b5fd;overflow-wrap:anywhere;background:#8b5cf614;border:1px solid #a78bfa4d;border-radius:10px;margin:10px 0 16px;padding:9px 12px;font-size:12px;line-height:1.5}
