
:root{font-family:Tahoma,Arial,sans-serif;color:#172240;background:#f4f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:12px;background:#693bb6;color:white;padding:15px 20px;font-weight:700;font-size:1rem;transition:background .2s,transform .2s}button:hover:not(:disabled){background:#532696;transform:translateY(-1px)}button:disabled{opacity:.55;cursor:default}button:focus-visible,input:focus-visible{outline:3px solid #1399c5;outline-offset:3px}header{display:flex;align-items:center;justify-content:space-between;padding:24px 5vw;border-bottom:1px solid #dfe4ed;background:white}.identity{display:flex;align-items:center;gap:12px}.identity strong{font-size:1.05rem}.identity small{display:block;font-size:.875rem;color:#675080;margin-top:6px}.brandmark{width:48px;height:48px;display:grid;place-items:center;background:#172240;color:#7bd8f1;border-radius:14px}.date{font-size:.875rem;color:#667186}.layout{max-width:1190px;margin:42px auto;padding:0 24px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.game{background:white;border:1px solid #e1e5ee;border-top:5px solid #693bb6;border-radius:20px;padding:32px 36px;box-shadow:0 15px 50px #15234106}.eyebrow{font-size:.875rem;letter-spacing:1px;color:#695583;font-weight:700}.eyebrow span{color:#32a4c9}.title{display:flex;align-items:center;justify-content:space-between;gap:20px}h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.4;margin:16px 0;color:#172240}.seal{padding:16px;background:#f2edfa;border-radius:16px;color:#693bb6}h2{font-size:1.45rem;line-height:1.6;margin:10px 0}p{font-size:1rem;line-height:1.9}.intro{color:#5a6379;margin-top:0}.intro strong{color:#273357;display:block}.brief{display:flex;gap:10px;margin:24px 0}.brief span{padding:10px 16px;background:#edf6fb;color:#1c6683;border-radius:8px;font-size:.875rem}label{display:block;font-weight:700;margin:20px 0 8px;font-size:1rem}input{display:block;width:100%;border:1px solid #cbd2df;border-radius:12px;padding:16px;background:white;color:#172240;margin-top:10px;font-size:1rem}input[inputmode=numeric]{text-align:center;font-size:1.5rem;letter-spacing:6px;direction:ltr}.privacy,.muted{color:#758095;font-size:.875rem}.submit{width:100%;margin-top:20px}.secondary{color:#693bb6;background:#f0ebf8;border:1px solid #ddd1ef}.secondary:hover:not(:disabled){background:#e7ddf5}.practice{width:100%;margin-top:10px}footer{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #e8ebf2;margin-top:32px;padding-top:20px;color:#7a8191;font-size:.875rem}.text-button{display:inline-flex;align-items:center;gap:8px;padding:6px;background:transparent;color:#695583;font-size:.875rem}.text-button:hover:not(:disabled){background:#f2edfa}.player{display:flex;justify-content:space-between;align-items:center;padding:12px 0;color:#67718a;font-size:.875rem}.badge{display:inline-block;font-size:.875rem;background:#e9f6fc;color:#136180;padding:7px 12px;border-radius:30px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0 28px}.steps>div{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.875rem;text-align:center;color:#868da0}.steps b{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;background:#e9ecf2;color:#858a99}.steps .current{color:#693bb6;font-weight:700}.steps .current b{background:#693bb6;color:white}.steps .done b{background:#d8f2f2;color:#157b7e}.task{animation:arrive .35s ease}.task-top{display:flex;justify-content:space-between;color:#28a3c9;align-items:center;font-size:.875rem}.choices{display:grid;gap:10px;margin:20px 0}.choice{width:100%;background:white;color:#38435f;border:1px solid #d9dfeb;text-align:right;line-height:1.7;display:flex;gap:12px;align-items:center;padding:15px}.choice:hover:not(:disabled){background:#f6f2fc}.choice.selected{background:#f1eafa;border-color:#784ab9;color:#60369c;opacity:1}.clue{padding:12px 16px;background:#eef7fb;border-right:3px solid #38a8ca;font-size:.875rem;line-height:1.8;color:#38647a}.clue b{font-size:1.15rem}.reference{padding:25px;background:#172240;border-radius:12px;color:#8bdef5;font-size:2rem;text-align:center;letter-spacing:5px;margin:20px 0}.order{border-radius:50%;display:grid;place-items:center;width:30px;min-width:30px;height:30px;background:#ede8f6;color:#6c409d}.code-slots{text-align:center;font-size:2.6rem;direction:ltr;color:#693bb6;padding:20px}.code-slots span{font-size:1rem;color:#a3aab8}.error{background:#fff0ef;color:#a33436;padding:14px;margin-top:16px;border-radius:10px;line-height:1.8}.notice{color:#207778;font-size:.875rem}.success{text-align:center;padding:24px 0;color:#693bb6}.success>svg{margin:0 auto 20px}.result{padding:20px;background:#eef7fc;color:#176583;border-radius:16px;font-size:1.8rem;font-weight:700;margin:20px 0}aside{background:#172240;color:#fff;border-radius:20px;padding:28px 22px;position:sticky;top:24px;border-bottom:5px solid #38a8ca}.leader-header{display:flex;align-items:center;gap:10px}.leader-header svg{color:#91d8ee}.leader-header h2{margin:0;font-size:1.3rem}.live{margin-right:auto;font-size:.875rem;border:1px solid #465573;border-radius:20px;padding:4px 8px;color:#a1d8ed}aside .muted{color:#afb8cf;line-height:1.7}.winners{display:grid;gap:12px;margin:26px 0}.winner{display:flex;gap:14px;align-items:center;background:#222e4b;padding:18px 14px;border-radius:12px}.winner>b{font-size:1.5rem;color:#9ca9c6;min-width:25px}.winner div{min-width:0;flex:1}.winner small{font-size:.875rem;color:#9daac7;display:block;margin-bottom:6px}.winner strong{font-size:.95rem;color:#afbad0;line-height:1.7;overflow-wrap:anywhere}.winner.filled{background:#334263;border:1px solid #5b759a}.winner.filled strong{color:#fff}.winner.filled>b{color:#87dafa}.leader-note{display:flex;gap:10px;align-items:start;border-top:1px solid #364361;padding-top:16px;color:#a8b8d1}.leader-note svg{flex-shrink:0;margin-top:6px}.leader-note p{margin:0;font-size:.875rem;line-height:1.8}.admin-controls{display:grid;gap:10px}.qr{display:flex;align-items:center;gap:22px;margin:30px 0;background:#f2f6fb;padding:20px;border-radius:16px}.qr img{width:160px;height:160px;border-radius:8px}.qr h2{font-size:1.2rem}.qr p{font-size:.875rem}@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.layout{grid-template-columns:1fr;max-width:700px}aside{position:static}.date{display:none}}@media(max-width:520px){header{padding:18px}.identity small{font-size:.8rem;line-height:1.8}.layout{padding:0 14px;margin:22px auto;gap:18px}.game{padding:24px 20px}.brief span{padding:10px;font-size:.875rem}.steps span{font-size:.8rem}footer{flex-direction:column;align-items:start}.qr{flex-direction:column}.player{gap:10px}.seal{padding:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.lobby-count{display:flex;align-items:center;gap:18px;background:#eef6fc;padding:24px;border-radius:16px;margin:24px 0}.lobby-count strong{font-size:3rem;color:#693bb6}.lobby-count span{font-size:1.15rem}.start-banner{background:#693bb6;color:white;padding:24px;border-radius:14px;font-size:1.6rem;font-weight:700;text-align:center;margin:20px 0}.waiting{text-align:center;padding:30px 0}.waiting>svg{margin:0 auto;color:#693bb6}.registered{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.registered span{background:#f0edf6;border-radius:20px;padding:8px 12px;font-size:.9rem}.control-link{display:inline-block;color:#693bb6;padding:18px 0;text-decoration:underline}.privacy a{color:#693bb6;text-decoration:underline}
