:root{--paper:#f4f0df;--ink:#151510;--red:#f24a32;--yellow:#f5c842;--mono:"DM Mono",monospace;--display:"Gasoek One",Impact,sans-serif}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f4f0df;color:#151510;font-family:var(--mono)}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button{border:2px solid #151510;border-radius:11px;padding:12px 17px;background:#f4f0df;color:#151510;font-weight:750;box-shadow:2px 3px 0 #151510;transition:transform .15s,box-shadow .15s}button:hover{transform:translateY(-1px);box-shadow:3px 4px 0 #151510}button:active{transform:translateY(1px);box-shadow:1px 1px 0 #151510}button:disabled{opacity:.5;cursor:wait;transform:none}button.primary{background:#f5c842}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b55537;outline-offset:4px}input,select{display:block;width:100%;padding:11px 12px;border:1px solid #8f9887;border-radius:7px;background:#fffdf5;color:#151510;margin-top:7px;min-height:44px}label{font-size:13px;font-weight:700;display:block;margin:16px 0}p{line-height:1.55}h1,h2,h3,p{margin-top:0}h2{font-size:27px;letter-spacing:-1px}h3{font-size:18px;letter-spacing:-.3px}[hidden]{display:none!important}.site-header{display:flex;justify-content:space-between;align-items:center;padding:24px 4vw;border-bottom:1px solid #d6d3c3;gap:20px}.brand{font-size:29px;line-height:1;font-weight:950;text-decoration:none;letter-spacing:-1.5px}.brand span{display:block;font-size:9px;letter-spacing:.4px;margin-top:7px;font-weight:500}.site-header nav{display:flex;gap:24px;font-size:13px;font-weight:700}.site-header nav a{text-decoration:none}main{max-width:1520px;padding:0 4vw;margin:auto}.intro{padding:54px 0 30px;position:relative}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;margin-bottom:14px;color:#52614c}h1{font-size:clamp(62px,8vw,108px);letter-spacing:-7px;line-height:.9;margin-bottom:27px;font-weight:950}h1 span{color:#f24a32}.tagline{font-size:clamp(26px,3.4vw,42px);letter-spacing:-1.5px;font-weight:800;line-height:1.1;position:absolute;left:57%;top:70px;transform:rotate(-3deg)}.lede{max-width:600px;font-size:17px;line-height:1.5;color:#53604d}.badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.badges span{font-size:11px;font-weight:700;padding:7px 11px;border:1px solid #9fa78c;border-radius:30px}.setup-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin:15px 0 28px}.card{background:#f4f0df;border:2px solid #151510;border-radius:18px;padding:28px;box-shadow:4px 5px 0 #151510}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkbox{display:flex;align-items:center;gap:10px;line-height:1.4;font-weight:600}.checkbox input{width:18px;min-height:18px;height:18px;margin:0;accent-color:#63813b;flex:none}.side-stack{display:grid;gap:20px}.side-stack .card{padding:24px}.practice-card{background:#f5c842;padding:25px;border-radius:18px}.practice-card h2{font-size:22px}.practice-card p{font-size:14px}.practice-card button{width:100%;text-align:left}.practice-card button span{float:right}.rules{border-top:1px solid #aeb39d;border-bottom:1px solid #aeb39d;padding:20px 0;margin:35px 0}.rules summary{font-size:17px;font-weight:750}.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-top:25px}.rules p{font-size:14px;color:#59614f}.rules-grid h3{margin-bottom:10px}footer{font-size:12px;text-align:center;line-height:1.6;padding:28px 0;color:#5c6656}#notice{position:sticky;top:8px;z-index:20;padding:12px 18px;border:1px solid #7b895b;border-radius:9px;background:#edf3d5;box-shadow:0 3px 14px #15151018;font-size:13px;margin:14px 0}#notice.error{background:#fce0cc;border-color:#bd653e}.session-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0 12px}.session-heading h2{margin:0}.session-heading .eyebrow{margin-bottom:8px}.session-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}#connection{font-size:11px;color:#597037}#connection.offline{color:#b44923}.clock{font-size:13px;font-weight:700;margin-bottom:14px}.invitation{background:#e9dfc7;border-radius:10px;padding:15px 18px;margin-bottom:20px}.invitation summary{font-size:13px;font-weight:700}.invitation label{max-width:700px}.invitation p{font-size:12px;margin:10px 0 0}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px}.game-layout .card{padding:20px}.lobby{min-height:300px}#arena{position:relative;background:#151510;border-radius:13px;overflow:hidden;min-height:720px}iframe{display:block;width:100%;border:0}#arena-frame{height:calc(100dvh - 160px);min-height:720px}#practice-frame{height:calc(100dvh - 140px);min-height:740px;background:#151510;border-radius:13px}.loading{position:absolute;inset:0;display:grid;place-content:center;color:#dbe8c9;pointer-events:none}#standings-panel{align-self:start}#standings{list-style:none;padding:0;margin:20px 0}#standings li{padding:11px 0;border-top:1px solid #dbddcc;overflow-wrap:anywhere}#standings .me{font-weight:700;color:#496a27}#standings .out{opacity:.65}.player-row{display:flex;justify-content:space-between;gap:10px;font-size:13px}.player-row strong{font-size:12px;white-space:nowrap}.player-info{font-size:10px;line-height:1.5;color:#68705f;margin-top:6px}#scout-control{font-size:11px}.small,#round-result{font-size:11px;color:#657058;line-height:1.6}.winner{font-size:25px;font-weight:800;padding:20px;background:#f5c842;border:2px solid #151510;border-radius:14px;margin-bottom:20px}.winner p{font-size:13px;font-weight:500;margin:8px 0 0}#retry-command{margin-top:15px}@media(min-width:1500px){main{padding:0 35px}}@media(max-width:1050px){.game-layout{grid-template-columns:1fr}#standings-panel{display:block}#standings{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.tagline{left:63%;font-size:29px}.lede{max-width:55%}#arena-frame{min-height:720px}.session-actions button{font-size:12px}}@media(max-width:680px){.site-header{padding:19px 5vw}.site-header nav{gap:14px;font-size:11px}main{padding:0 4vw}.intro{padding-top:34px}h1{font-size:65px;letter-spacing:-4px}.tagline{position:static;transform:none;font-size:27px;margin:0 0 18px}.tagline br{display:none}.lede{max-width:none;font-size:15px}.setup-grid{grid-template-columns:1fr}.card{padding:22px}.fields{grid-template-columns:1fr;gap:0}.fields label{margin-bottom:0}.rules-grid{grid-template-columns:1fr;gap:10px}.session-heading{align-items:flex-start;flex-direction:column}.session-actions{gap:10px}#arena-frame{height:calc(100dvh - 100px);min-height:660px}#arena{min-height:660px}#practice-frame{min-height:680px}#standings{grid-template-columns:1fr 1fr}.brand{font-size:25px}}

/* Shared Lil Guys identity: display type, mono interface, paper/yellow/red/ink. */
 .site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:20;min-height:76px;padding:20px 3vw;background:#f5c842;color:#151510;border-bottom:2px solid #151510;font-family:"DM Mono",monospace}.site-header .wordmark{font:400 clamp(1rem,1.7vw,1.45rem)/1.2 "Gasoek One",Impact,sans-serif;letter-spacing:-.02em;text-decoration:none}.site-header nav{display:flex;align-items:center;gap:25px;font-size:11px;text-transform:uppercase}.site-header nav a{color:inherit;text-decoration:none}.site-header nav a[aria-current=page]{border-bottom:2px solid}.site-header .nav-cta{border:1px solid;padding:11px 15px}.site-header .nav-cta:hover{background:#151510;color:#f4f0df}.site-header .menu-button{display:none;font:500 11px "DM Mono",monospace;min-height:40px;padding:7px 10px;background:transparent;color:#151510;border:1px solid #151510;border-radius:0;box-shadow:none;text-transform:uppercase}.site-header a:focus-visible,.site-header button:focus-visible{outline:3px solid #f24a32;outline-offset:4px}@media(max-width:760px){.site-header{min-height:64px;padding:12px 4vw}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#f4f0df;padding:24px;flex-direction:column;align-items:flex-start;border-bottom:2px solid #151510}.site-header nav.open{display:flex}.site-header nav a{padding-block:8px}.site-header .menu-button{display:block}}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(44px,7.5vw,96px);letter-spacing:-.05em;line-height:1.05}h1 span{color:var(--red)}h2{font-size:25px;line-height:1.15}h3{font-size:17px;line-height:1.3}.intro{padding-top:40px}.tagline{font-family:var(--display);font-weight:400;font-size:clamp(21px,2.8vw,36px);letter-spacing:-.035em;left:65%;top:65px}.lede{font-size:14px;max-width:58%}.eyebrow{color:var(--ink);font-weight:500}.card{border-color:var(--ink);border-radius:0;box-shadow:5px 5px 0 var(--ink)}button{font-family:var(--mono);font-weight:500;font-size:12px;text-transform:uppercase;border-radius:0;box-shadow:3px 3px 0 var(--ink)}button.primary{background:var(--yellow)}button:hover{background:var(--red);color:var(--ink)}input,select{font-family:var(--mono);border-radius:0;font-size:12px}.practice-card{border:2px solid var(--ink);border-radius:0}.practice-card h2{font-size:23px}.practice-card button{background:var(--red)}.badges span{border-color:var(--ink);font-weight:400}.checkbox input{accent-color:var(--red)}.game-links{display:flex;justify-content:space-between;gap:15px;padding-top:20px;font-size:11px;text-transform:uppercase}.game-links a{text-underline-offset:4px}.winner{font:400 24px var(--display);border-radius:0}.winner p{font:400 12px/1.6 var(--mono)}.session-heading h2{font-size:25px}#standings .me{color:#9b301f}.rules p{font-size:12px}.rules-grid h3{font-size:17px}#arena,#practice-frame{border-radius:0;border:2px solid var(--ink)}.invitation{border:1px solid var(--ink);border-radius:0}footer{font-size:10px;text-transform:uppercase;border-top:1px solid var(--ink);margin-top:24px}@media(max-width:760px){h1{font-size:clamp(40px,10.8vw,70px);letter-spacing:-.05em}.tagline{font-size:25px;position:static;transform:none}.lede{max-width:none;font-size:13px}.intro{padding-top:30px}.fields{grid-template-columns:1fr;gap:0}.fields label{margin-bottom:0}.card{padding:21px}.session-heading h2{font-size:22px}}

/* Gasoek already has tight forms; keep room labels and the coLILseum name legible. */
h1,h2,h3,.tagline{letter-spacing:0}.site-header .wordmark{letter-spacing:0}
