:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f4f4f6;background:#0b1020;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:12px;background:#c8a4ff;color:#150e22;font-weight:750;padding:14px 20px;transition:filter .2s}button:hover:not(:disabled){filter:brightness(1.12)}button:focus-visible,input:focus-visible{outline:3px solid #fff;outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}.secondary{background:#2b2944;color:#fff}.quiet{background:transparent;color:#d8cfef;border:1px solid #554d76}.shell{max-width:1080px;margin:auto;padding:28px 24px 48px}.header,.brand,.row-title,.room-info,.actions{display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{justify-content:flex-start}.brand-mark{display:grid;place-items:center;font-size:23px;font-weight:900;background:#b68bfa;color:#0c1221;border-radius:13px;width:48px;height:48px}.brand h1{font-size:23px;margin:0;letter-spacing:-.04em}.brand p{font-size:12px;margin:3px 0 0;color:#9ca6c0}.chip{font-size:12px;color:#c3cbe0;background:#222a42;padding:10px 14px;border:1px solid #374261;border-radius:99px}.hero{padding:72px 0 35px}.eyebrow{letter-spacing:.14em;color:#bba1ea;font-size:11px;font-weight:850}.hero h2{max-width:700px;font-size:clamp(38px,5.3vw,68px);line-height:1.03;letter-spacing:-.055em;margin:17px 0}.hero em{font-style:normal;color:#bca0fa}.hero p{max-width:600px;color:#aab6cb;line-height:1.7}.panels{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel{background:#161c30;border:1px solid #2a344f;border-radius:20px;padding:30px;box-shadow:0 12px 28px #0508152f}.panel h3{margin:5px 0 18px;font-size:24px;letter-spacing:-.025em}.panel label{display:block;font-size:13px;color:#c1c9da;margin:0 0 9px}.panel input{width:100%;height:49px;background:#0f1528;border:1px solid #43506e;color:#fff;border-radius:10px;padding:0 13px;margin-bottom:17px}.panel input::placeholder{color:#7887a5}.entry button{width:100%}.room-info{margin-bottom:22px}.room-info h3{margin:12px 0}.room-info code{background:#0f1528;color:#c9b2ff;font-size:20px;padding:5px 10px;border-radius:8px}.helper{font-size:12px;color:#99a5bc;line-height:1.5}.muted{color:#a5b0c4;line-height:1.6}.roster{list-style:none;padding:0;margin:14px 0 22px}.roster li{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #2d3650}.avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#403353;color:#f2deff;font-size:18px;font-weight:800}.player-name{display:grid;gap:4px;flex:1}.player-name strong{font-size:14px}.player-name span,.player-state span{font-size:11px;color:#9ca7c1}.player-state{display:grid;justify-items:end;gap:5px}.player-state strong{font-size:13px;color:#c3a7ff}.stack{display:grid;gap:12px}.stack .helper{margin:2px 0}.game-area{min-height:400px;display:flex;flex-direction:column;align-items:flex-start}.game-area h3{font-size:30px;margin-top:16px}.move-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.event{width:100%;padding:17px;background:#0e1527;border:1px solid #313958;border-radius:12px;margin-top:auto}.event span,.revision{font-size:11px;color:#a7b4cd;text-transform:uppercase;letter-spacing:.12em}.event p{font-size:15px;margin:10px 0 0}.revision{margin-top:14px}.illustration{font-size:50px;color:#af90ee;letter-spacing:.25em;margin:auto}.winner{font-size:23px;color:#d8bcff;font-weight:800}.alert{padding:16px;background:#412332;border:1px solid #ab5777;color:#ffdee9;border-radius:12px;margin-top:20px}footer{font-size:12px;color:#818da7;padding:36px 0;text-align:center}@media(max-width:760px){.shell{padding:18px}.header{align-items:flex-start}.hero{padding:48px 0 25px}.panels{grid-template-columns:1fr}.panel{padding:23px}.room-info{display:block}.actions{margin-top:22px;justify-content:flex-start}.chip{font-size:10px}.game-area{min-height:300px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}textarea{font:inherit}textarea:focus-visible{outline:3px solid #fff;outline-offset:3px}.panel textarea{width:100%;height:92px;background:#0f1528;border:1px solid #43506e;color:#e1d5ff;border-radius:10px;padding:12px;margin-bottom:14px;resize:vertical;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.signal-panel{margin-bottom:22px;display:flex;flex-direction:column;gap:12px}.signal-panel .row-title h3{margin:4px 0}.signal-panel .row-title{flex-wrap:wrap}.signal-panel label{margin-top:10px}.signal-panel button{align-self:flex-start}.signal-panel .actions{justify-content:flex-start;flex-wrap:wrap}.board{margin-top:22px}.rules-summary{font-size:12px;color:#d6c9e8;border:1px solid #3d355b;background:#1c2138;border-radius:10px;padding:12px 14px;margin-top:12px}.rival-select{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}.rival-select label{margin:0!important;font-weight:700}.rival-select select{background:#0f1528;border:1px solid #43506e;border-radius:10px;color:#fff;font:inherit;padding:9px 13px;min-width:150px}.rival-select select:focus-visible{outline:3px solid #fff;outline-offset:3px}.move-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px}.move-buttons button{text-align:left;line-height:1.45;font-size:13px}.roster .player-state{max-width:200px;text-align:right}@media(max-width:760px){.move-buttons{grid-template-columns:1fr}}
