:root{--ink:#17212b;--muted:#64707c;--paper:#f6f3eb;--card:#fffdf8;--accent:#e36f45;--blue:#3d6f8e;--line:#d8d4ca;--tile:#f0d49b}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink)}.wrap{width:min(1180px,94vw);margin:auto}header{background:#18232d;color:white;border-bottom:4px solid var(--accent)}.nav{height:64px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:1.45rem;font-weight:850;letter-spacing:-.04em;color:white;text-decoration:none}.nav nav{display:flex;gap:18px}.nav nav a{color:#dfe8ee;text-decoration:none}main{padding:36px 0 60px}footer{padding:30px 0;color:var(--muted);font-size:.85rem}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding:30px 0 46px}.hero h1{font-size:clamp(2.4rem,6vw,5.4rem);line-height:.92;letter-spacing:-.06em;margin:.2em 0}.hero p{font-size:1.12rem;color:var(--muted);max-width:680px}.eyebrow{font-weight:800;font-size:.76rem;letter-spacing:.16em;color:var(--accent)}.button{display:inline-block;background:var(--accent);color:white;border:0;border-radius:8px;padding:11px 16px;font-weight:750;text-decoration:none;cursor:pointer;margin:5px 4px 5px 0}.button.ghost{background:#e8e3d8;color:var(--ink)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 8px 25px #00000008;margin-bottom:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mini-board{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;transform:rotate(2deg)}.mini-board span{aspect-ratio:1;background:#e7e0d3;border-radius:6px;display:grid;place-items:center;font-weight:850;font-size:clamp(.8rem,3vw,1.5rem)}.mini-board .bonus{background:#bcd5df}.rowlink,.statrow{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #ece7dc;text-decoration:none;color:inherit}.rowlink span,.statrow small{color:var(--muted)}.form label,.narrow label{display:grid;gap:6px;font-weight:700;margin-bottom:14px}input,select{width:100%;padding:10px;border:1px solid #c9c4ba;border-radius:8px;background:white;font:inherit}.checks{display:flex;gap:12px;flex-wrap:wrap}.checks label{display:flex;align-items:center;gap:7px;background:#eee9df;padding:8px 10px;border-radius:8px}.checks input{width:auto}.playerline{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;margin-bottom:8px}.hint{font-size:.85rem;color:var(--muted)}.flash{padding:12px 16px;border-radius:9px;margin-bottom:16px}.flash.ok{background:#dff2df}.flash.err{background:#f6dede}.gamehead{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:18px}.scores{display:flex;gap:8px;flex-wrap:wrap}.score{background:#e8e4db;padding:8px 11px;border-radius:8px;display:grid;min-width:100px}.score.active{outline:3px solid var(--accent)}.score small{font-size:.6rem;color:var(--muted)}.score strong{font-size:1.4rem}.gamegrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.board{display:grid;grid-template-columns:repeat(var(--size),minmax(18px,1fr));gap:2px;width:min(78vh,100%);aspect-ratio:1}.sq{padding:0;border:1px solid #cec8ba;background:#e9e4d9;aspect-ratio:1;display:grid;place-items:center;overflow:hidden}.sq small{font-size:clamp(.3rem,.7vw,.55rem);color:#65717a}.sq.dl{background:#b9dce9}.sq.tl{background:#6fb0cf}.sq.dw,.sq.start{background:#efb8a5}.sq.tw{background:#e67963}.tile{width:88%;height:88%;display:grid;place-items:center;background:var(--tile);border:1px solid #c8a96e;border-radius:4px;font-weight:900;font-size:clamp(.55rem,1.5vw,1.1rem);box-shadow:0 2px 2px #0002}.tile.pending{outline:3px solid var(--accent)}.rack{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.racktile{background:var(--tile);border:1px solid #c8a96e;border-radius:6px;min-width:38px;height:44px;font-weight:900}.racktile.chosen{outline:3px solid var(--accent)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.metric{background:#18232d;color:white;padding:16px;border-radius:11px}.metric span{display:block;color:#b9c7d0;font-size:.8rem;text-transform:uppercase}.metric strong{font-size:2rem}.narrow{max-width:500px;margin:auto}.pack{display:flex;justify-content:space-between;gap:20px;align-items:center}code{background:#eee8dd;padding:3px 6px;border-radius:5px}@media(max-width:800px){.hero,.grid2,.gamegrid{grid-template-columns:1fr}.mini-board{max-width:420px}.gamehead{display:block}.scores{margin-top:15px}.playerline{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}.board{width:100%}} 
