:root{--bg:#f6f5f0;--paper:#fcfcf7;--ink:#263b36;--muted:#79827b;--line:#e3e5dc;--accent:#355e4c;--wash:#eaf0df;--table:#f6f5f0;--radius:12px;--control-radius:8px;--primary-bg:var(--accent);--primary-ink:#fff;--primary-border:var(--primary-bg);color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,select,input{font:inherit}button,select{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;min-height:42px;padding:8px 14px}button{cursor:pointer;font-weight:600}button:hover:not(:disabled){border-color:var(--accent);background:var(--wash)}button:disabled{opacity:.5;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent)}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.12)}header{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line);gap:18px}.brand{font:700 34px Georgia,serif;text-decoration:none;letter-spacing:-1px;color:var(--ink)}.brand span{display:block;font:11px system-ui;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.preferences{display:flex;align-items:end;gap:12px}.preferences label{display:grid;gap:3px;font-size:11px;color:var(--muted)}.preferences select{font-size:13px;max-width:170px}main{max-width:1200px;margin:auto;padding:28px 24px 36px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:750;color:var(--accent);margin:0 0 8px}h1{font:normal 36px/1.15 Georgia,serif;margin:0 0 10px}h2{font:normal 23px/1.25 Georgia,serif;margin:0 0 16px}p{margin:8px 0 16px}.muted{color:var(--muted)}.small{font-size:12px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 3px 16px #23372d04}aside{display:grid;gap:18px;align-content:start}.scoreboard{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}.scoreboard>div{display:grid;gap:0}.scoreboard>div:last-child{text-align:end}.scoreboard strong{font:36px Georgia,serif}.scoreboard span{font-size:12px;color:var(--muted)}.scoreboard .target{text-align:center}.target small{color:var(--muted);font-size:11px}.opponent{text-align:center;padding:14px 0}.opponent>span{font-size:11px;color:var(--muted)}.hand{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;padding:12px 0}.hidden-hand{padding:5px 0}.back{width:18px;height:32px;border:1px solid var(--line);border-radius:4px;background:repeating-linear-gradient(45deg,var(--wash),var(--wash) 3px,var(--paper) 3px,var(--paper) 6px)}.table{background:var(--table);border:1px solid var(--line);border-radius:10px;min-height:300px;max-height:580px;overflow:auto;display:flex;align-items:center;padding:20px}#board{margin:auto;min-width:min-content;display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto auto auto;gap:8px;align-items:center;justify-items:center}.empty-table{grid-column:1/4;color:var(--muted);text-align:center;max-width:270px;font-family:Georgia,serif;font-size:23px}.arm{display:flex;gap:4px;align-items:center}.arm.vertical{flex-direction:column}.arm.left{flex-direction:row-reverse}.board-caption{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;margin-top:10px}.tile{background:#fffdf5;border:1px solid #a7aca1;border-radius:6px;box-shadow:0 2px 3px #23372d18;display:inline-flex;padding:4px;align-items:center;gap:0;min-height:0;color:#27352e;flex-shrink:0}.tile.vertical{flex-direction:column}.half{width:30px;height:30px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:3px;gap:2px}.half+.half{border-inline-start:1px solid #b9bdb2}.tile.vertical>.half+.half{border-inline-start:0;border-top:1px solid #b9bdb2}.dot{border-radius:50%;background:currentColor}.tile.playable{border:2px solid var(--accent)}.tile.selected{outline:3px solid var(--accent);outline-offset:3px;background:var(--wash)}.tile:disabled{opacity:.7}.hand .tile{padding:5px}.hand .half{width:35px;height:35px}.hand-title{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;gap:10px}.hand-title strong{font-size:13px}.hand-title button{font-size:12px}#status{background:var(--wash);border-radius:8px;padding:12px;font-size:13px;margin-top:16px}.choices{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.choices:empty{display:none}.choices button{font-size:12px}.round-actions{text-align:center}.stat{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:9px 0;font-size:13px}.badge{display:inline-block;border:1px solid var(--line);background:var(--wash);padding:6px 10px;border-radius:20px;margin:8px 4px 0 0;font-size:11px}ul{padding-inline-start:18px;font-size:12px;color:var(--muted)}li{margin-bottom:9px}footer{text-align:center;color:var(--muted);font-size:11px;padding:15px 24px 28px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:25px;width:min(460px,calc(100% - 32px));max-height:85vh;overflow:auto}dialog::backdrop{background:#14271e66}.dialog-heading{display:flex;justify-content:space-between;gap:12px}.dialog-heading button{font-size:24px;padding:0 12px}.setting{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0}.setting select{max-width:190px}.large{font-size:18px}.large button,.large select{font-size:17px}.large .small,.large ul,.large #status{font-size:15px}[hidden]{display:none!important}@media(max-width:850px){.layout{grid-template-columns:1fr}aside{grid-template-columns:1fr 1fr}.intro{align-items:start}h1{font-size:30px}}@media(max-width:540px){header{padding:15px 14px;gap:8px;flex-wrap:wrap}.brand{font-size:30px}.preferences{gap:6px}.preferences select{max-width:116px;padding:6px}.preferences label{font-size:10px}main{padding:20px 12px}.intro{gap:10px;margin-bottom:18px}.intro .muted{font-size:12px}.intro>.primary{font-size:12px;white-space:nowrap}.card{padding:15px}.table{min-height:270px;padding:12px}.half{width:26px;height:26px}.hand .half{width:31px;height:31px}.hand{gap:7px}.layout{gap:16px}aside{grid-template-columns:1fr}.board-caption{font-size:10px}h1{font-size:28px}.eyebrow{font-size:9px}.scoreboard strong{font-size:30px}}
