﻿:root{color-scheme:dark;--bg:#0b1816;--panel:#132621;--line:#2b4238;--ink:#f4f0e6;--muted:#a6b6ac;--gold:#edc57c;--mint:#a6d3b5;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 0,#1d3c30 0,transparent 45%),var(--bg);color:var(--ink);font-size:16px;line-height:1.6}button,input,select{font:inherit}button{border:1px solid var(--line);border-radius:8px;padding:.65rem 1rem;background:#21382e;color:var(--ink);cursor:pointer;transition:background .2s,transform .2s}button:hover:enabled{background:#36513e;transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.primary{background:var(--gold);border-color:var(--gold);color:#1c251d;font-weight:700}.primary:hover:enabled{background:#f7d89e}.danger{color:#ffc0b9}input,select{background:#0d1d18;border:1px solid #425449;color:var(--ink);border-radius:7px;padding:.65rem .75rem;max-width:100%}input[type=checkbox]{width:auto;accent-color:var(--gold)}input[type=range]{padding:0;accent-color:var(--gold)}label{display:block;color:#dce3d9;font-size:.88rem;margin-top:.7rem}header,main,footer{max-width:1440px;margin:auto;padding:24px 5%}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:1rem}.brand{text-decoration:none;color:var(--ink);font-size:2rem;font-weight:800;letter-spacing:-1.5px;line-height:1.2}.brand span{color:var(--gold)}.brand small{display:block;font-size:.58rem;letter-spacing:2px;margin-top:.5rem;color:var(--muted)}nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}h1,h2,h3,p{margin:0 0 1rem}h1{line-height:1.08;font-weight:650;letter-spacing:-1.8px}h2{font-size:1.45rem;letter-spacing:-.4px}h3{font-size:1.25rem}small,.muted{color:var(--muted);font-size:.8rem}small{display:block}.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:4rem;padding:3rem 0 4rem;align-items:center}.hero h1{font-size:clamp(2.8rem,5.5vw,5rem)}em{color:var(--gold);font-family:Georgia,serif;font-weight:400}.hero p{color:var(--muted)}.eyebrow{color:var(--gold)!important;font-size:.7rem;font-weight:750;letter-spacing:2.5px}.join-card,.panel{background:linear-gradient(125deg,#1b3328,#14261f);padding:1.5rem;border:1px solid var(--line);border-radius:14px}.join-card input,.join-card button{width:100%;margin-bottom:.8rem}.pill{border:1px solid #46634b;background:#233b2b;border-radius:20px;padding:.35rem .8rem;font-size:.75rem;color:#c7dfc8}.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1.5rem 0}.section-head h1,.section-head h2{margin:.5rem 0}.section-head>span{color:var(--muted);font-size:.8rem}.game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.game-card{display:flex;flex-direction:column;overflow:hidden;text-align:left;padding:0;border-radius:13px;background:#182b22}.game-card img{display:block;width:100%;aspect-ratio:1.4;object-fit:cover}.game-card .card-body{padding:1rem;width:100%}.game-card h3{margin:0 0 .35rem}.game-card p{margin:0;font-size:.78rem;color:var(--muted)}.game-card .tag{font-size:.65rem;text-transform:uppercase;letter-spacing:1.1px;color:var(--gold)}.room-list{display:grid;gap:.65rem}.room-row,.message-row,.report-row{padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.players{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.player{padding:.5rem .8rem;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.player.active{border-color:var(--gold);color:var(--gold)}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.1rem}.play-main{min-width:0}.turn{padding:.8rem 1rem;border:1px solid var(--line);border-radius:12px 12px 0 0;background:#24392b;color:var(--gold);min-height:52px}#stage{height:550px;position:relative;background:#101d19;border:1px solid var(--line);touch-action:manipulation}#stage canvas{display:block;width:100%;height:100%}#scorecard{padding:.6rem;background:var(--panel);overflow:auto;font-size:.85rem}.controls{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap;padding:1rem;background:var(--panel);border-radius:0 0 12px 12px}.controls label{display:flex;flex-direction:column;margin:0;gap:.4rem}.controls p{margin:0}.controls input{max-width:160px}.chat{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem;max-height:830px}.chat h2{font-size:1.1rem}.live-dot{display:inline-block;width:7px;height:7px;background:#91cda4;border-radius:50%;margin-left:8px}#messages{min-height:220px;flex:1;overflow:auto;padding:.3rem 0}.message{margin:.6rem 0;padding:.6rem .7rem;border-radius:8px;background:#22372c;overflow-wrap:anywhere}.message strong{color:var(--gold);font-size:.8rem}.message p{margin:.15rem 0;font-size:.9rem}.message button{font-size:.65rem;padding:.2rem .4rem;margin-right:.3rem}.message time{font-size:.6rem;color:var(--muted);margin-left:.5rem}#quickChat{display:flex;gap:.3rem;flex-wrap:wrap;margin:.6rem 0}#quickChat button{padding:.3rem .45rem;font-size:.7rem}#chatForm{display:flex;gap:.4rem;margin:.5rem 0}#chatInput{width:0;flex:1;min-width:0}details{margin:1rem 0;color:var(--muted)}details p{padding:.5rem 0}summary{cursor:pointer}#boardButtons{display:grid;gap:3px;max-width:500px;margin:1rem auto}#boardButtons button{padding:.3rem;min-height:42px;font-size:.8rem}.actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.panel{margin:1rem 0}.admin-messages{display:grid;gap:.6rem}.message-row>div{min-width:0;overflow-wrap:anywhere}.report-row{margin:.5rem 0}table{border-collapse:collapse;white-space:nowrap;width:100%}td,th{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--line)}footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:3rem;color:var(--muted);font-size:.75rem}footer strong{color:var(--gold);font-size:1rem}dialog{background:#172a21;border:1px solid #536147;border-radius:18px;color:var(--ink);padding:2rem;width:450px;max-width:94vw;max-height:94dvh;overflow:auto;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#04100bcc;backdrop-filter:blur(8px)}dialog h2{font-size:1.8rem}dialog input:not([type=checkbox]),dialog select{width:100%}dialog button{width:100%;margin-top:.8rem}dialog small{margin:1rem 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:92%;padding:1rem 1.5rem;background:#edc57c;color:#1a251c;z-index:20;border-radius:10px;box-shadow:0 5px 30px #0008}dialog .form-error{color:#ffc0b9;white-space:pre-wrap;font-size:.9rem;margin-top:1rem}[hidden]{display:none!important}@media(max-width:1050px){.game-grid{grid-template-columns:repeat(2,1fr)}.play-layout{grid-template-columns:1fr}.chat{max-height:500px}.hero{gap:2rem}#stage{height:520px}}@media(max-width:620px){header,main,footer{padding:18px 5%}header{align-items:flex-start}.brand{font-size:1.65rem}.brand small{font-size:.45rem}nav{justify-content:flex-end;font-size:.7rem;max-width:190px}nav button{padding:.35rem .5rem;font-size:.7rem}.hero{grid-template-columns:1fr;padding:2rem 0;gap:1.5rem}.hero h1{font-size:3.2rem}.join-card{padding:1rem}.game-grid{gap:.7rem}.game-card .card-body{padding:.75rem}.game-card h3{font-size:1.05rem}.section-head{align-items:flex-start}.section-head>span{max-width:140px;text-align:right}#stage{height:380px}.controls{padding:.7rem}.controls input{max-width:125px}.section-head h1{font-size:2rem}#identity{width:100%;text-align:right}.room-row{padding:.7rem}dialog{padding:1.4rem}.player{font-size:.8rem}}