:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:#d9e6cf;background:#071011}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(26px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 6%,#203836,#101e1f 50%,#071011)}
.game-shell{max-width:1080px;margin:auto}
.titlebar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}
.kicker,.eyebrow{font-family:"Courier New",monospace;color:#8dab9a;font-size:11px;font-weight:700;letter-spacing:.18em}
h1{font-family:"Courier New",monospace;font-size:clamp(25px,4vw,38px);margin:4px 0 6px;letter-spacing:.025em;line-height:1}
h2{font-size:clamp(18px,2.2vw,25px);margin:8px 0 12px}
p{line-height:1.65}
.prototype-badge{display:inline-block;padding:4px 8px;background:#e2c36b;color:#101e1f;font-size:11px;font-weight:800}
.toolbar{display:flex;gap:8px;flex-wrap:wrap}
button,select{font:inherit;color:#d9e6cf;border:1px solid #78998a;border-radius:4px;background:#172c2b;padding:9px 13px;cursor:pointer}
button:hover:not(:disabled),button:focus-visible,select:focus-visible{background:#34544a;outline:2px solid #e2c36b;outline-offset:2px}
button:disabled{cursor:not-allowed;opacity:.47}
a{color:#e2c36b}
.intro{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:25px 27px;margin-bottom:18px;border:1px solid #34544a;background:#142827}
.intro h2{font-size:clamp(23px,3.4vw,33px);margin:7px 0}
.intro p{max-width:650px;margin:0;color:#b7cec1;font-size:14px}
.intro a{white-space:nowrap;font-size:13px}
.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px}
.play-column,.sidebar{min-width:0}
.game-card{border:6px solid #304846;box-shadow:0 12px 32px #0007;background:#10201f}
.game-top,.reserves{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-family:"Courier New",monospace;font-size:12px;color:#a8c98b}
.game-top strong{color:#e2c36b;font-size:15px}
.reserves{border-top:1px solid #304846;padding-block:7px;font-size:11px}
.reserves .active-hand{color:#101e1f;background:#e2c36b;box-shadow:0 0 0 4px #e2c36b66}
.reserves .donor-hand{color:#101e1f;background:#ff9b8f;box-shadow:0 0 0 4px #ff9b8f66}
.reserves .recipient-hand{color:#101e1f;background:#8bd7d2;box-shadow:0 0 0 4px #8bd7d266}
.reserves :is(.active-hand,.donor-hand,.recipient-hand) b,.reserves :is(.active-hand,.donor-hand,.recipient-hand) small{color:#101e1f}
.reserves small{font-family:inherit;color:#78998a}
.reserves b{color:#e2c36b;font-size:16px}
.board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(3px,.9vw,8px);padding:clamp(11px,2.2vw,24px);background:linear-gradient(145deg,#92ad79,#bfd398 43%,#8ea976);border-block:7px solid #4b6d57;box-shadow:inset 0 0 0 2px #779568,inset 0 10px 20px #38533577}
.pit{position:relative;display:grid;place-items:center;aspect-ratio:1.05;border-radius:45%;background:radial-gradient(circle at 48% 52%,#42573f 0,#577150 48%,#748e61 72%,#42604a 100%);border:2px solid #658059;color:#f3ebc6;font-family:"Courier New",monospace;font-size:clamp(15px,2.6vw,25px);font-weight:800;box-shadow:inset 0 4px 10px #253729aa,0 2px 2px #40583a99;padding:0}
.pit .count{display:grid;place-items:center;min-width:1.6em;aspect-ratio:1;border-radius:50%;background:#eee2b7;color:#364433;box-shadow:0 2px 2px #14251988;font-size:.72em;text-shadow:none}
.pit.empty .count{background:transparent;color:#344737;box-shadow:none}
.pit small{position:absolute;bottom:0;right:3%;font-size:9px;color:#e9f4dd;text-shadow:0 1px 2px #203827}
.pit.house{border-color:#c19a4c}
.pit.legal{border:3px solid #f6d36e;box-shadow:0 0 0 3px #f6d36e66,inset 0 4px 10px #253729aa;cursor:pointer}
.pit.legal:hover,.pit.selected{background:#d1b36b;transform:translateY(-2px)}
.pit.active-step{z-index:1;outline:4px solid #ffdb70;outline-offset:2px;box-shadow:0 0 0 8px #213f3f99,inset 0 4px 10px #253729aa}
.pit:disabled{cursor:default}
.pit:focus-visible{outline:3px solid #fff;outline-offset:3px}
.selection{padding:10px 14px 16px;min-height:108px}
.selection p{margin:0 0 9px;color:#e2c36b;font-size:13px;min-height:1.6em}
.move-choices{display:flex;flex-wrap:wrap;gap:7px}
.move-choices button{border-color:#e2c36b;font-size:13px}
.panel{padding:18px;margin-bottom:15px;border:1px solid #34544a;background:#142827}
.panel h2{margin:6px 0 18px}
.panel label{display:block;margin:12px 0 5px;color:#a8c98b;font-size:12px}
.panel select{width:100%}
.primary{width:100%;margin-top:18px;border-color:#e2c36b;background:#e2c36b;color:#101e1f;font-weight:800}
.primary:hover{color:#fff}
.hint{margin:12px 0 0;color:#a5bbaf;font-size:12px}
.steal-panel>p{font-size:13px;color:#b7cec1}
#steal-count{font-family:"Courier New",monospace;color:#e2c36b;font-weight:700}
.steal-panel .steal-result{border-left:3px solid #e2c36b;padding-left:10px;color:#e2c36b}
.rules-panel{margin:24px 0;padding:24px;border-top:1px solid #557365;background:#112321}
.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rules-grid b{color:#e2c36b;font-family:"Courier New",monospace}
.rules-grid p,.footnote{font-size:13px;color:#b7cec1}
footer{padding:12px 0;color:#78998a;font-family:"Courier New",monospace;font-size:11px;text-align:center}
@media(max-width:830px){.game-layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.panel{margin:0}}
@media(max-width:620px){.titlebar,.intro{align-items:flex-start;flex-direction:column}.intro{padding:18px;gap:12px}.toolbar{width:100%}.toolbar button{flex:1}.sidebar,.rules-grid{display:block}.panel{margin-bottom:12px}.board{gap:3px;padding:10px}.pit{border-width:1px}.pit.legal{border-width:2px}.pit small{font-size:7px}.game-top,.reserves{padding-inline:8px;font-size:10px}.selection{min-height:130px}}
