:root{--ink: #13221e;--paper: #f4efe5;--cream: #fffaf1;--red: #e65b43;--red-deep: #c8442d;--green: #23745f;--gold: #e9b84c;--line: #b9b0a1;--muted: #68716d;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0;border:0 solid}html{background:var(--paper);line-height:1.5;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}h1,h2,h3{font-size:inherit;font-weight:inherit}b,strong{font-weight:bolder}small{font-size:80%}ol,ul{list-style:none}svg{display:block}button,input{font:inherit;letter-spacing:inherit;color:inherit;background-color:transparent;border-radius:0}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.55;cursor:default}::placeholder{opacity:1;color:color-mix(in oklab,currentcolor 50%,transparent)}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.shell{background:radial-gradient(circle at 50% -20%,#fff 0,transparent 44%),var(--paper);flex-direction:column;align-items:center;min-height:100vh;min-height:100dvh;padding:26px 18px;display:flex;position:relative;overflow:clip}.shell:before{content:"";pointer-events:none;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");position:fixed;top:0;right:0;bottom:0;left:0}.orb{border:1px solid #e65b432e;border-radius:50%;position:absolute}.orb:before,.orb:after{content:"";border:inherit;border-radius:inherit;position:absolute;top:18%;right:18%;bottom:18%;left:18%}.orb:after{top:36%;right:36%;bottom:36%;left:36%}.orb.a{width:270px;height:270px;top:-85px;right:-160px}.orb.b{border-color:#23745f2e;width:220px;height:220px;bottom:3%;left:-140px}.brand{z-index:1;align-items:center;gap:15px;width:min(100%,760px);margin-bottom:18px;display:flex;position:relative}.brand>div:last-child{border-left:1px solid var(--line);padding-left:14px}.brand p{color:var(--green);letter-spacing:.22em;margin:0;font-size:9px;font-weight:900}.brand h1{margin:1px 0 0;font-family:Georgia,serif;font-size:29px;line-height:1}.one{align-items:center;gap:7px;display:flex}.one span{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-family:Georgia,serif;font-size:22px;font-weight:900;display:grid;transform:rotate(-8deg)}.one b{letter-spacing:.14em;font-size:11px}.card{z-index:1;border:1.5px solid var(--ink);background:#fffaf1eb;border-radius:27px;width:min(100%,760px);padding:clamp(24px,5vw,42px);position:relative;box-shadow:8px 9px #13221e21}.home{max-width:580px}.kicker{color:var(--red);letter-spacing:.18em;margin:0 0 14px;font-size:10px;font-weight:900}.home h2,.waiting h2{letter-spacing:-.045em;margin:0;font-family:Georgia,serif;font-size:clamp(38px,8vw,57px);line-height:.98}.home h2 em{color:var(--red);font-weight:400}.intro{color:#55615d;margin:20px 0;line-height:1.55}.home label,.modes legend{letter-spacing:.14em;margin:0 0 7px;font-size:9px;font-weight:900;display:block}.wide,.join input{border:1.5px solid var(--ink);background:#fff;border-radius:12px;outline:none;width:100%;padding:13px 14px}.wide{margin-bottom:14px;font-weight:800}.wide:focus,.join input:focus,.answer input:focus{box-shadow:0 0 0 3px #e9b84c4d}.primary{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:13px;width:100%;padding:14px 18px;font-weight:900;box-shadow:0 4px #164d40}.divider{color:#777;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:23px 0 13px;font-size:10px;font-weight:800;display:flex}.divider:before,.divider:after{content:"";background:#d3cabd;flex:1;height:1px}.join{gap:10px;display:flex}.join input{letter-spacing:.15em;text-transform:uppercase;flex:1;min-width:0;font-weight:900}.join button,.top button{border:1.5px solid var(--ink);background:var(--gold);box-shadow:0 3px 0 var(--ink);cursor:pointer;border-radius:11px;padding:0 22px;font-weight:900}.notice{color:#7d3326;text-align:center;background:#f8ded7;border-radius:10px;padding:10px;margin-top:14px;font-size:13px;font-weight:800}.game{padding:25px clamp(17px,4vw,34px)}.top{border-bottom:1px dashed var(--line);grid-template-columns:1fr auto 1fr;align-items:center;padding-bottom:16px;display:grid}.top>div{align-items:baseline;gap:8px;display:flex}.top small{letter-spacing:.15em;font-size:9px;font-weight:900}.top strong{color:var(--green);letter-spacing:.12em;font-family:Georgia,serif;font-size:25px}.top>span{letter-spacing:.1em;background:#eee5d5;border-radius:20px;padding:6px 10px;font-size:9px;font-weight:900}.top button{box-shadow:none;background:#e7dfd3;justify-self:end;min-height:40px;padding:9px 12px;font-size:11px}.players{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:16px 0;display:grid}.players>div{background:#fff;border:1px solid #d0c7b9;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:9px 12px;display:flex}.players>div.me{border:2px solid var(--gold)}.players b{font-size:12px;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.players strong{font-family:Georgia,serif;font-size:24px}.players i{font-size:10px;font-style:normal;font-weight:900}.waiting{text-align:center;padding:38px 10px}.waiting h2{font-size:clamp(29px,6vw,44px)}.waiting p{color:var(--muted)}.pulse,.ready,.trophy{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 20px;font-family:Georgia,serif;font-size:34px;display:grid}.pulse{animation:1.5s infinite pulse}@keyframes pulse{50%{opacity:.5}}.letter-row{justify-content:center;align-items:center;gap:18px;margin:7px 0 17px;display:flex}.letter-row>div:first-child{align-items:center;gap:10px;display:flex}.letter-row small{letter-spacing:.13em;font-size:9px;font-weight:900}.letter-row small em{display:block;font-style:normal;color:var(--muted)}.letter-row strong{background:var(--red);color:#fff;border-radius:14px;place-items:center;width:56px;height:56px;font-family:Georgia,serif;font-size:38px;display:grid;box-shadow:0 4px #a83c2c}.timer{border:1px solid var(--ink);font-variant-numeric:tabular-nums;background:#fff;border-radius:12px;padding:10px 13px;font-weight:900}.timer.danger{color:#a22d1d;background:#f7d7cf}.timer.free{font-size:12px;letter-spacing:.06em;white-space:nowrap}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.answer{background:#fff;border:1px solid #ccc2b4;border-radius:12px;grid-template-columns:118px 1fr;align-items:center;display:grid;overflow:hidden}.answer span{align-items:center;gap:8px;padding:0 10px;font-size:11px;font-weight:900;display:flex}.answer span i{flex:none;width:24px;height:24px;color:var(--green);background:#efe7da;border-radius:7px;place-items:center;font-style:normal;display:grid}.answer input{border:0;border-left:1px solid #ded6c9;outline:none;min-width:0;padding:12px;font-weight:800}.answer.off{border-color:var(--red)}.answer .warn{grid-column:1 / -1;background:#f8ded7;color:#7d3326;padding:5px 10px;font-size:11px;font-weight:800}.stop{border:1.5px solid var(--ink);background:var(--red-deep);color:#fff;letter-spacing:.1em;cursor:pointer;border-radius:14px;width:min(100%,300px);margin:18px auto 0;padding:15px;font-size:18px;font-weight:1000;display:block;box-shadow:0 4px #9f3325}.in-round .stop{position:sticky;bottom:max(12px,env(safe-area-inset-bottom));z-index:2}.review-title{justify-content:space-between;align-items:center;gap:12px;margin:20px 0 12px;display:flex}.review-title p{margin:0;font-family:Georgia,serif;font-size:22px;font-weight:700}.review-title strong{font-size:22px;white-space:nowrap;font-variant-numeric:tabular-nums}.results{border:1px solid var(--ink);border-radius:14px;margin-bottom:18px;overflow:hidden}.results>div{grid-template-columns:110px 1fr 1fr;display:grid}.results>div+div{border-top:1px solid #d5ccbf}.results b,.results span{padding:9px 10px;font-size:12px;overflow-wrap:anywhere}.results b{background:#eee5d8}.results span+span{border-left:1px solid #d5ccbf}.results .same{background:#fae5df}.results .head span{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;padding-block:7px}.results .head b{padding-block:7px}.results small{color:#a83c2c;margin-top:3px;font-size:9px;font-weight:900;display:block}.results small.ok{color:var(--green);font-size:11px}.results span.letter,.results span.rejected{background:#fdf0ec}.results.scored>div:not(.head){animation:row-in .35s both;animation-delay:calc(var(--i) * 45ms)}@keyframes row-in{0%{opacity:0;transform:translateY(4px)}}.contest-btn{display:block;margin-top:6px;border:1px solid var(--ink);border-radius:9px;background:var(--gold);min-height:36px;padding:5px 10px;font-size:11px;font-weight:900;white-space:nowrap}.results small.contest-state{color:var(--muted)}.results small.contest-state.accepted{color:var(--green)}.validation-box{border:1.5px solid var(--ink);background:#fff;border-radius:15px;margin:16px 0 20px;padding:16px}.validation-box h3{margin:0;font-family:Georgia,serif;font-size:20px}.validation-box>p{color:var(--muted);margin:6px 0 13px;font-size:12px}.validation-box>div{border-top:1px dashed #d5ccbf;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.validation-box>div span{flex-direction:column;font-size:12px;display:flex;overflow-wrap:anywhere}.validation-box>div span b{text-transform:uppercase;font-size:9px}.validation-box>div button{flex:none;border:1px solid var(--ink);cursor:pointer;border-radius:9px;min-width:92px;min-height:40px;padding:7px 9px;font-size:11px;font-weight:900}.validation-box .accept{color:#175744;background:#d9eee6}.validation-box .reject{color:#8c2f21;background:#f8ded7}.validation-box>.primary{margin-top:12px}.validation-box.contest{border-color:var(--red);box-shadow:0 0 0 3px #e65b432e}.validation-box .secondary{width:100%;margin-top:10px;min-height:44px;border:1.5px solid var(--ink);border-radius:13px;background:#e7dfd3;font-weight:900}.next{margin-top:14px}.hint{text-align:center;color:var(--muted)}.final .trophy{background:var(--gold);color:var(--ink)}.final>p{letter-spacing:.18em;font-size:10px;font-weight:900}.final-score{margin:18px 0;font-family:Georgia,serif;font-size:45px}.leave{color:#6e756f;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin:20px auto 0;min-height:44px;padding:0 12px;font-size:11px;text-decoration:underline;display:block}.leave.armed{color:#a22d1d;font-weight:900}footer{z-index:1;color:#747b77;letter-spacing:.08em;margin-top:23px;font-size:10px;position:relative}.resume{width:100%;margin:0 0 18px;padding:13px 14px;border:1.5px dashed var(--green);border-radius:12px;background:#e3f0ea;color:var(--green);font-weight:900}.modes{margin:0 0 16px}.modes-row{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1.5px solid var(--ink);border-radius:12px;background:#fff}.modes-row label{display:grid;place-items:center;min-height:44px;margin:0;padding:6px 8px;border-radius:9px;letter-spacing:.02em;text-align:center;font-size:13px;font-weight:900;cursor:pointer}.modes-row label.on{background:var(--ink);color:#fff}.modes-row label:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:1px}.modes-row input{position:absolute;opacity:0;pointer-events:none}.modes>p{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.45}.waiting.draw{padding:16px 0 6px;display:grid;gap:16px;justify-items:center}.waiting.draw .modes{width:100%;max-width:420px;margin:0;text-align:left}.waiting.draw .primary,.waiting.draw .stop{width:min(100%,320px);margin:0}.mode-line{font-size:13px;max-width:420px;text-wrap:balance}.mode-line b{color:var(--ink)}.ready-list{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.ready-list li{padding:7px 14px;border:1px solid #d0c7b9;border-radius:20px;background:#fff;font-size:12px;font-weight:900;color:var(--muted)}.ready-list li.ok{border-color:var(--green);background:#d9eee6;color:#175744}.rule-line{font-size:12px;max-width:380px;text-wrap:balance}.roulette{position:relative;overflow:clip;width:min(72vw,280px);aspect-ratio:1;filter:drop-shadow(6px 7px 0 #13221e21)}.wheel{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.wheel svg,.wheel-fixed{display:block;width:100%;height:100%;overflow:visible}.wheel-fixed{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.rim{fill:var(--cream);stroke:var(--ink);stroke-width:2.5}.pocket path{stroke:var(--ink);stroke-width:.6}.pocket.even path{fill:#fff}.pocket.odd path{fill:#eee5d5}.pocket.used path{fill:#e3dccf}.pocket text{font:700 13px Georgia,serif;fill:var(--ink)}.pocket.used text{opacity:.25}.pointer{fill:var(--red);stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round}.hub{fill:var(--cream);stroke:var(--ink);stroke-width:2.5}.hub-letter{position:absolute;top:31.5%;right:31.5%;bottom:31.5%;left:31.5%;display:grid;place-items:center;border-radius:50%;color:var(--line);font:700 clamp(34px,10vw,46px) / 1 Georgia,serif}.hub-letter.landed{color:#fff;background:var(--red);box-shadow:inset 0 -4px #a83c2c;animation:land .45s cubic-bezier(.16,1,.3,1)}@keyframes land{0%{transform:scale(.6)}}.stop-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#f4efe5d9;animation:fade .2s both}.stop-card{width:min(100%,360px);text-align:center;padding:30px 22px;border:1.5px solid var(--ink);border-radius:21px;background:var(--cream);box-shadow:5px 6px #13221e1f}.stop-card .pulse{font-size:15px;letter-spacing:.08em;font-family:Arial,sans-serif;font-weight:900}.stop-card h2{font:700 26px/1.1 Georgia,serif;letter-spacing:-.03em}.stop-card p{color:var(--muted);margin-top:8px;font-size:13px}@keyframes fade{0%{opacity:0}}@media(max-width:620px){.shell{padding:18px 12px}.one b{display:none}.card{border-radius:21px;box-shadow:5px 6px #13221e1f}.top{grid-template-columns:1fr 1fr}.top>span{display:none}.grid{grid-template-columns:1fr}.answer{grid-template-columns:110px 1fr}.results>div{grid-template-columns:85px 1fr 1fr}.results b,.results span{padding:8px 6px;font-size:10px}.review-title p{font-size:19px}}@media(min-width:621px){.letter-row small em{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
