:root{color-scheme:dark;--surface: #181d22;--surface-raised: #242c33;--surface-hover: #303b44;--text: #edf0ee;--text-muted: #b2bcbf;--border: #56636c;--accent: #a3bac8;--accent-ink: #17232c;--focus: #d4b787;--danger: #d9a3a0;font-family:Inter,system-ui,sans-serif;background:var(--surface);color:var(--text)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{color:var(--text);background:var(--surface-raised);border:1px solid var(--border);border-radius:.5rem;min-height:48px;padding:.7rem 1.1rem;cursor:pointer}button:hover{background:var(--surface-hover)}button.primary{color:var(--accent-ink);background:var(--accent)}button:disabled{opacity:.55;cursor:default}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}a{color:var(--accent)}small,.muted{color:var(--text-muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.shell{max-width:1280px;margin:auto;padding:0 48px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;border-bottom:1px solid #354149}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--text);font-size:18px;white-space:nowrap}.brand-mark{border:1px solid #899da7;padding:9px 6px;font-size:14px;letter-spacing:-1px;border-radius:9px;color:#bfcfd6}nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}nav button{border-color:transparent;background:transparent;padding:8px 12px}nav button.selected{background:var(--surface-raised)}.online-dot{height:7px;width:7px;background:#9aaa95;border-radius:50%}main{padding:42px 0;min-height:70vh}h1,h2,p{margin-top:0}h1{font-size:clamp(30px,3vw,46px);letter-spacing:-1.3px;line-height:1.1;margin-bottom:16px;font-weight:600}h2{font-size:25px;font-weight:550;letter-spacing:-.5px}p{color:var(--text-muted);line-height:1.65}small{line-height:1.5}.eyebrow{display:block;color:#a6b6bf;font-size:11px;font-weight:650;letter-spacing:2px;margin-bottom:16px}.panel{background:var(--surface-raised);border:1px solid #3b4851;border-radius:14px;padding:28px}.welcome{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center;padding:64px 0}.intro h1{font-size:clamp(38px,4.4vw,60px)}.intro p{max-width:440px;font-size:17px}.intro-art{margin:28px 0 18px;overflow:hidden;border-radius:12px;opacity:.85}.intro-art svg{width:100%;display:block}.auth{width:100%;max-width:430px;justify-self:end}.auth h2{margin-bottom:28px}.auth>button{width:100%;margin-top:14px}.auth>p{font-size:13px;margin:22px 0 0}form{display:flex;flex-direction:column;gap:18px}label{display:flex;flex-direction:column;gap:8px;color:#c5cfd3;font-size:13px}input,select{color:var(--text);border:1px solid #65747e;border-radius:6px;padding:12px;min-height:46px;background:#1b242c;width:100%}button.primary{font-weight:650;border-color:transparent}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading p{margin-bottom:0}.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.game-card{border:1px solid #43515a;border-radius:14px;overflow:hidden;background:#222c34;display:flex;flex-direction:column}.game-card>svg{width:100%;height:auto;display:block}.card-content{padding:27px;flex:1;display:flex;flex-direction:column}.card-content h2{font-size:30px;margin-bottom:12px}.card-content p{min-height:52px}.card-content>button{display:flex;justify-content:space-between;width:100%;margin-top:24px}.options{display:flex;align-items:end;gap:18px;margin-top:auto;min-height:70px}.options>label:first-child{flex:1}.check{flex-direction:row;align-items:center;padding-bottom:12px;white-space:nowrap}.check input{width:18px;min-height:18px;accent-color:#a3bac8}.game-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;min-height:70px;align-items:center}.game-facts span{padding:9px 10px;border:1px solid #55636b;border-radius:5px;color:#c6ced0;font-size:12px}.dashboard-bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;margin-top:26px}.dashboard-bottom h2{font-size:19px}.dashboard-bottom p{font-size:14px;margin-bottom:0}.row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid #48555e}.row small{display:block;margin-top:5px}.narrow{max-width:640px;margin:20px auto}.narrow>button,.game-panel button{margin:6px 8px 6px 0}.narrow h2{margin-top:32px;font-size:20px}.invite-panel{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:24px}.invite-panel p{margin-bottom:0}.error{color:#f0c2bc}.banner{margin-top:24px;padding:14px 18px;border:1px solid #986f69;background:#392e2e;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:20px}.banner button{min-height:32px;padding:2px 10px}.pair-code{display:block;font-size:36px;letter-spacing:4px;padding:24px 0}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #354149;padding:25px 0;color:#96a5ae;font-size:12px}.game-view{position:relative;padding:0;height:100dvh;min-height:400px;overflow:hidden}.game-view canvas{display:block;width:100%;height:100%;outline:none}.game-top{position:absolute;left:20px;right:20px;top:14px;display:flex;align-items:center;gap:20px;font-size:13px;text-shadow:0 1px 4px #000}.game-top button{background:#17232cdd}.connection{margin-left:auto}.hud{position:absolute;bottom:25px;left:25px;display:flex;flex-wrap:wrap;gap:12px;max-width:80%}.hud>span,.hud>b,.hud>strong{background:#18222bdd;border:1px solid #768891;padding:12px 16px;border-radius:7px}.hud .countdown{position:fixed;top:35%;left:48%;font-size:60px}.game-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#111b25a8;padding:24px;overflow-y:auto}.game-panel{max-width:650px;width:100%;background:#222d36f5}.game-panel h1{font-size:34px}.player-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}.player-list li{padding:8px 12px;border:1px solid #65747e;border-radius:5px}.controls{font-size:12px;margin-top:18px}.crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#e2e8e7;text-shadow:0 1px 2px #000;font-size:24px;pointer-events:none}.game-notice{position:absolute;bottom:12px;right:20px;max-width:360px;background:#1b2935e8;border-radius:6px;padding:10px 14px;font-size:12px;pointer-events:none}.game-view.hit:after{content:"";position:absolute;inset:8px;border:3px solid #ad8c80;pointer-events:none}@media(max-width:900px){.shell{padding:0 24px}header{flex-wrap:wrap;gap:14px;padding:18px 0}nav small,.online-dot{display:none}.welcome{gap:32px}.options{flex-wrap:wrap;gap:8px}.card-content{padding:20px}.game-grid{gap:18px}}@media(max-width:640px){.shell{padding:0 18px}nav{gap:0}nav button{padding:8px;font-size:12px}.welcome,.game-grid,.dashboard-bottom{grid-template-columns:1fr}.welcome{padding:30px 0;gap:30px}.intro-art{display:none}.auth{max-width:none}.intro h1{font-size:38px}.page-heading,.invite-panel{align-items:flex-start;flex-direction:column}.game-top{gap:8px;font-size:11px;left:10px;right:10px}.game-notice{bottom:4px;right:4px;max-width:220px}footer{flex-direction:column;gap:8px}.hud{bottom:55px;left:12px;font-size:12px}}
