:root{--ink:#f7f6fc;--muted:#bbb7cd;--line:#39364f;--purple:#b783fc;--cyan:#31eac1;--panel:#232238;--card:#2b2942}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font:16px Arial,Helvetica,sans-serif;background:radial-gradient(ellipse at 8% 0,#44306b66,transparent 55%),radial-gradient(ellipse at 95% 90%,#155e5566,transparent 50%),#141524;background-attachment:fixed}.wrap{max-width:1140px;padding:24px;margin:auto}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:2px;color:var(--ink);text-decoration:none}.mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#31eac1,#bb5ded,#ee361a);color:#181a30}.hubLink{font-size:13px;color:var(--muted);text-decoration:none}.panel{padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 80px #0003}.home{margin:5vh 0}.hero{text-align:center;margin:5px 0 26px}.hero h1{font-size:clamp(38px,6vw,62px);margin:8px 0}.logo{width:76px;height:76px;border-radius:20px}.hero p{color:var(--muted);margin:10px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{background:var(--card);padding:24px;border:1px solid var(--line);border-radius:18px}.card h2{font-size:23px;margin:0 0 12px}p{line-height:1.5;color:var(--muted)}h1{margin:8px 0 18px;line-height:1.1;font-size:36px}h2{font-size:23px}.eyebrow{font-size:11px;letter-spacing:1.5px;color:var(--purple);font-weight:800;text-transform:uppercase}.small{font-size:13px;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.btn{min-height:44px;border:1px solid #514b6b;background:#36314e;color:var(--ink);border-radius:11px;padding:12px 16px;font:700 12px Arial;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.primary{background:var(--purple);color:#171829;border-color:var(--purple)}.btn.green{background:var(--cyan);color:#14251e;border-color:var(--cyan)}.btn.danger{color:#ffb7b7;border-color:#a56171;background:#62334455}.btn:disabled{opacity:.4;cursor:default}.btn:hover:not(:disabled){filter:brightness(1.1)}.row{display:flex;align-items:center;justify-content:space-between;gap:18px}.field{margin:15px 0}label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}input,select,textarea{width:100%;padding:12px;font:inherit;color:var(--ink);border:1px solid #514b6b;border-radius:10px;background:#1c1c30}select option{background:#232238}input[type=checkbox]{width:auto;margin-right:8px}textarea{min-height:170px;resize:vertical}.check{display:flex;align-items:center;gap:4px;margin:10px 0;font-weight:400}.code{font-size:54px;font-weight:900;letter-spacing:7px;margin:10px 0}.qr{display:block;margin:18px auto;background:white;border-radius:12px;max-width:100%;height:auto}.playerRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.playerRow:last-child{border-bottom:0}.online{font-size:10px;color:var(--cyan);margin-top:4px}.offline{color:#cdb184}.name{font-weight:700}.notice{padding:15px;border:1px solid #786294;background:#4e3a6866;border-radius:12px;margin:16px 0;color:#e5d6fb}.secret{text-align:center;padding:28px;border:1px solid #594e72;border-radius:20px;background:linear-gradient(125deg,#51437555,#29675533);margin:20px 0}.secret.imposter{background:linear-gradient(125deg,#883a5655,#51437555)}.secret .word{font-size:clamp(30px,5vw,46px);font-weight:800;overflow-wrap:anywhere;margin:12px 0}.timer{font-size:34px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--cyan)}.order{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.order span{padding:10px 12px;background:#191a2d;border:1px solid var(--line);border-radius:10px;font-size:14px}.order .current{background:#b783fc;color:#171829;border-color:#b783fc;font-weight:700}.votes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.votes .btn{min-height:60px;font-size:17px}.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.winner{text-align:center;border:1px solid #7e6f98;border-radius:16px;padding:22px;background:#413651}.winner strong{display:block;font-size:24px;margin:12px 0}.winner .place{color:#dec79a;font-size:12px;font-weight:800}.instruction{color:var(--muted);line-height:1.6;margin:14px 0}.wordTable{width:100%;border-collapse:collapse;margin-top:12px}.wordTable td{padding:6px 4px}.wordTable td:first-child{width:30px;color:var(--muted);font-size:12px}.wordTable td:last-child{width:44px}.wordTable button{padding:8px}.wordTable input{padding:9px}details{margin:14px 0}summary{cursor:pointer;color:var(--purple);font-weight:700;padding:6px 0}#connection{background:#544326;color:#ffedbe;padding:12px;border-radius:10px;margin-bottom:14px}#toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:#eee7fc;color:#171829;max-width:90%;padding:14px 20px;border-radius:12px;z-index:100}footer{font-size:11px;color:var(--muted);text-align:right;padding:22px 6px 64px}.skip{position:absolute;left:-10000px}.skip:focus{left:20px;top:10px;background:white;color:#171829;padding:12px;z-index:200}.error{color:#ffabab}.rules{line-height:1.8;color:var(--muted);padding-left:22px}[hidden]{display:none!important}.readingToggle{position:fixed;right:16px;bottom:16px;z-index:40;background:#2b2942;color:#fff;border:1px solid #6b6084;border-radius:10px;padding:10px 14px;font:700 11px Arial;min-height:44px}.displayOptions{background:#2b2942!important;color:#fff!important}.displayOptions p{color:var(--muted)}.readingMode .wrap{max-width:1450px}.readingMode .panel{font-size:22px}.readingMode .name,.readingMode .order span{font-size:24px}.readingMode .word{font-size:60px}.readingMode .timer{font-size:50px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}@media(max-width:650px){.wrap{padding:16px 12px}.panel{padding:20px}.grid{grid-template-columns:1fr}.home{margin:2vh 0}.hero{margin-bottom:20px}.card{padding:20px}.row{align-items:flex-start}.code{font-size:44px}.votes{grid-template-columns:1fr}.podium{gap:8px}.winner{padding:15px 7px}.winner strong{font-size:18px}input,select,textarea{font-size:16px}.btn{min-height:46px}.secret{padding:22px}.timer{font-size:28px}h1{font-size:30px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
