:root{--bg:#07061a;--fg:#e8e6ff;--muted:#9a97c4;--card:#100d2cd1;--line:#a096ff38;--accent:#ffb347;--err:#ff6b6b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);-webkit-user-select:none;user-select:none;touch-action:none;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}canvas#game{display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui button,#ui select,#ui input,#ui .card{pointer-events:auto}[hidden]{display:none!important}button,select,input{font:inherit;color:var(--fg);border:1px solid var(--line);background:#28226099;border-radius:8px;padding:8px 14px}button{cursor:pointer;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#463c96b3;border-color:#c8beff80}button:disabled{opacity:.35;cursor:default}button.primary{color:#ffd9a3;background:#ffb34733;border-color:#ffb34799}button.primary:hover:not(:disabled){background:#ffb34759}button.on{border-color:var(--accent);color:#ffd9a3;background:#ffb3472e}button.big{padding:12px 18px;font-size:1.1rem}button.off{opacity:.45;text-decoration:line-through}input{-webkit-user-select:text;user-select:text}.screen{pointer-events:auto;background:radial-gradient(#07061a59,#07061abf);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.card{background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:16px;flex-direction:column;gap:12px;width:min(440px,100%);max-height:calc(100vh - 32px);padding:24px;display:flex;overflow-y:auto;box-shadow:0 20px 60px #00000080}.card h2{letter-spacing:.02em;margin:0 0 4px;font-weight:600}.logo{text-align:center;letter-spacing:.45em;color:#fff3e0;text-shadow:0 0 18px #ffb347b3,0 0 40px #3fe0d059;margin:0;padding-left:.45em;font-size:clamp(2.6rem,9vw,4rem);font-weight:200}.sub{text-align:center;color:var(--muted);letter-spacing:.08em;margin:-6px 0 8px;font-size:.9rem}.col{flex-direction:column;gap:10px;display:flex}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.row>input{flex:1;min-width:0}label{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;display:flex}label input{flex:1;max-width:220px}.note{color:var(--muted);min-height:1em;margin:0;font-size:.85rem}.note.err{color:var(--err)}.or{text-align:center;color:var(--muted);font-size:.85rem}.code-in{text-transform:uppercase;letter-spacing:.3em;text-align:center}.code{letter-spacing:.4em;text-align:center;color:#fff3e0;text-shadow:0 0 14px #ffb34799;-webkit-user-select:text;user-select:text;padding-left:.4em;font-size:2.6rem;font-weight:300}.players{flex-direction:column;gap:4px;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.grid button{text-align:left;align-items:center;gap:10px;display:flex}.grid b{color:var(--accent);width:1.2em}.how{color:#d6d3f5;flex-direction:column;gap:8px;margin:0;padding-left:18px;font-size:.92rem;line-height:1.4;display:flex}.back{align-self:flex-start}.hud{position:absolute;inset:0}.hud-top-right{gap:6px;display:flex;position:absolute;top:8px;right:8px}.hud-top-right button{min-width:38px;padding:6px 10px}.hud-bottom{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.fractions{gap:4px;display:flex}.fractions button{padding:6px 10px}.panel{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.panel button{align-items:center;gap:6px;padding:6px 10px;display:flex}.panel small{color:var(--muted)}.panel .tag{color:var(--muted);padding:6px;font-size:.85rem}.ring{pointer-events:none;position:absolute;inset:0}.ring>*{position:absolute;transform:translate(-50%,-50%)}.ring button{white-space:nowrap;background:#100d2ce0;border-radius:10px;flex-direction:column;align-items:center;gap:1px;padding:4px 9px;font-size:.8rem;line-height:1.15;animation:.12s ease-out ring-in;display:flex}.ring button.on{background:#3c2814e6}.ring .ic{font-size:1.1rem}.ring small{color:var(--muted);font-size:.72rem}.ring .tag{color:var(--muted);white-space:nowrap;border:1px solid var(--line);background:#100d2cbf;border-radius:8px;padding:3px 8px;font-size:.8rem}@keyframes ring-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}}@media (pointer:coarse){.ring button{min-width:52px;padding:7px 12px}}kbd{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:1px 5px;font:600 .7rem system-ui,sans-serif}.legend{color:var(--muted);opacity:.8;padding:6px;font-size:.8rem}.toast{background:var(--card);border:1px solid var(--line);text-align:center;pointer-events:none;border-radius:10px;width:max-content;max-width:calc(100% - 32px);padding:10px 16px;font-size:.92rem;position:absolute;top:44px;left:50%;transform:translate(-50%)}@media (width<=640px){.legend{display:none}.hud-bottom{justify-content:center}}.screen.over{background:radial-gradient(#07061a0d,#07061a73)}.card.over{gap:14px;width:min(620px,100%);animation:.55s cubic-bezier(.2,1.25,.4,1) both card-in}.card.over.victory{box-shadow:0 20px 60px #00000080,0 0 80px #ffdca014}.card.over.defeat{background:#0e0b1ee0}.over-title{text-align:center;letter-spacing:.18em;color:var(--c);white-space:nowrap;text-overflow:ellipsis;margin:0;padding-left:.18em;font-size:clamp(2.2rem,8vw,3.4rem);font-weight:250;overflow:hidden}.over-title span{animation:.6s cubic-bezier(.2,1.3,.4,1) both letter-in,2.8s ease-in-out infinite title-glow;animation-delay:calc(.1s + var(--i) * 45ms), calc(.9s + var(--i) * 60ms);text-shadow:0 0 18px var(--c);display:inline-block}.victory .over-title span{text-shadow:0 0 18px var(--c), 0 0 42px var(--c)}.over-sub{text-align:center;color:var(--muted);letter-spacing:.06em;margin:-6px 0 2px;font-size:.9rem;animation:.5s .4s both fade-in}.stats{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.stats th,.stats td{text-align:right;padding:6px}.stats thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;vertical-align:bottom;font-size:.72rem;font-weight:500;line-height:1.2}.stats tbody th{text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:11em;font-weight:600;overflow:hidden}.stats tbody tr{border-top:1px solid var(--line);animation:.45s both row-in;animation-delay:calc(.35s + var(--r) * 80ms)}.stats tbody tr.win{background:linear-gradient(90deg,#ffffff12,#ffffff05)}.stats tbody tr.me th{text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px}.stats .star{color:var(--accent)}.chip{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:8px;display:inline-block}.chart-wrap{animation:.5s .3s both fade-in;position:relative}.chart-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.72rem}.chart{touch-action:none;width:100%;height:120px;display:block}.chart-tip{border:1px solid var(--line);pointer-events:none;font-variant-numeric:tabular-nums;background:#080618f0;border-radius:8px;min-width:120px;padding:6px 10px;font-size:.8rem;line-height:1.5;position:absolute;top:18px}.chart-tip .tip-t{color:var(--muted)}.chart-tip b{float:right;margin-left:12px;font-weight:600}.over-actions{justify-content:flex-end}.over-actions #o-quit{margin-right:auto}@keyframes card-in{0%{opacity:0;transform:translateY(18px)scale(.94)}to{opacity:1;transform:none}}@keyframes letter-in{0%{opacity:0;filter:blur(6px);transform:translateY(.4em)scale(1.4)}to{opacity:1;filter:none;transform:none}}@keyframes title-glow{0%,to{opacity:1}50%{opacity:.78}}@keyframes row-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (width<=640px){.stats .opt{display:none}.stats{font-size:.82rem}}@media (prefers-reduced-motion:reduce){.card.over,.over-title span,.over-sub,.stats tbody tr,.chart-wrap{animation:none}}
