:root{color:#17211c;font-synthesis:none;background:#eef1e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:32px 0 48px}.app-header{margin-bottom:20px}.app-header h1{letter-spacing:-.05em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,8vw,5.5rem);line-height:.95}.app-header p:last-child{color:#4d5a52;max-width:640px}.eyebrow{color:#8d2f25;letter-spacing:.2em;margin:0 0 10px;font-size:.75rem;font-weight:800}.game-layout{grid-template-columns:minmax(0,560px) minmax(280px,1fr);align-items:start;gap:24px;margin-top:24px;display:grid}.board-column,.side-column{gap:16px;display:grid}.wall-placement-board{gap:16px;min-width:0;display:grid}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.board{aspect-ratio:1;background:#704f37;border-radius:16px;grid-template-rows:repeat(8,minmax(0,1fr) clamp(3px,1.5vw,8px)) minmax(0,1fr);grid-template-columns:repeat(8,minmax(0,1fr) clamp(3px,1.5vw,8px)) minmax(0,1fr);width:min(100%,520px);min-width:0;padding:12px;display:grid;box-shadow:0 18px 40px #2b22192e}.board-cell{background:#d9bc82;border:0;border-radius:4px;place-items:center;min-width:0;padding:0;display:grid}.board-cell--legal:not(:disabled){background:#edcf8f;box-shadow:inset 0 0 0 3px #4f7f62}.pawn{aspect-ratio:1;border:3px solid #ffffffb3;border-radius:50%;width:64%;box-shadow:0 3px 8px #0000004d}.pawn--0{background:#244f3e}.pawn--1{background:#b94d3e}.board-cell--goal-0{background:#c0b17c;box-shadow:inset 0 5px #244f3e}.board-cell--goal-1{background:#d4ab78;box-shadow:inset 0 -5px #b94d3e}.board-cell--legal.board-cell--goal-0:not(:disabled){box-shadow:inset 0 0 0 3px #4f7f62,inset 0 7px #244f3e}.board-cell--last{outline-offset:-5px;outline:3px dashed #ffffffd9}.wall--last{background:#ffd23f;box-shadow:0 0 0 2px #fffc,0 1px 3px #00000059}.wall{z-index:2;background:#f4e4b9;border-radius:3px;box-shadow:0 1px 3px #00000059}.game-status{background:#fff;border:1px solid #c8cec1;border-left-width:6px;border-radius:12px;gap:6px;width:min(100%,520px);padding:12px 14px;display:grid}.game-status--turn{border-left-color:#4f7f62}.game-status--thinking{border-left-color:#b98a3e}.game-status--win{background:#eef6ef;border-left-color:#244f3e}.game-status--lose{background:#fbefec;border-left-color:#b94d3e}.game-status__main{align-items:center;gap:12px;display:flex}.game-status__marker{border-width:2px;flex:none;width:22px}.game-status__headline{margin:0;font-size:1.2rem;font-weight:800}.game-status__hint,.game-status__meta{color:#4d5a52;margin:0;font-size:.85rem}.game-status__restart{color:#fff;background:#244f3e;border:0;border-radius:8px;justify-self:start;min-height:40px;padding:8px 18px;font-weight:700}.game-status--thinking .game-status__marker{animation:1.2s ease-in-out infinite thinking-pulse}@keyframes thinking-pulse{50%{opacity:.35}}.panel{background:#ffffffc7;border:1px solid #d5dacd;border-radius:12px;padding:16px}.controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.controls label{gap:4px;display:grid}.controls select{max-width:100%}.controls button,.controls select,.wall-placement-toolbar button{background:#fff;border:1px solid #aeb8aa;border-radius:8px;min-height:40px;padding:8px 12px}.wall-reserve{background:#ffffffb3;border:1px solid #c8cec1;border-radius:12px;grid-template-columns:minmax(112px,auto) minmax(0,1fr);align-items:center;gap:10px;width:min(100%,520px);min-width:0;margin:0 auto;padding:8px 10px;display:grid}.wall-reserve--opponent{border-top:3px solid #b94d3e}.wall-reserve--player{border-bottom:3px solid #244f3e}.wall-reserve strong{white-space:nowrap}.wall-reserve__piece{touch-action:none;background:#ffffffc7;border:1px solid #aeb8aa;border-radius:10px;min-width:0;min-height:48px;padding:7px}.wall-reserve__piece[aria-pressed=true]{border-color:#244f3e;box-shadow:0 0 0 3px #244f3e38}.wall-rack{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:6px clamp(5px,1.4vw,9px);min-height:30px;display:grid}.wall-rack__piece{aspect-ratio:5;background:linear-gradient(#fff1c7 0 22%,#f4e4b9 23% 68%,#d3bb80 69% 100%);border:1px solid #bca46c;border-radius:3px;width:100%;min-width:0;min-height:8px;display:block;box-shadow:0 2px 3px #00000040}.wall-placement-overlay{display:contents}.wall-anchor{z-index:3;background:0 0;border:0;min-width:24px;min-height:24px;padding:0}.wall-anchor:focus-visible{outline-offset:2px;outline:3px solid #244f3e}.wall--pending{z-index:4;opacity:.9;pointer-events:none;background:#4f7f62;box-shadow:0 0 0 2px #ffffffd9,0 2px 6px #00000059}.wall--draggable{cursor:grab;pointer-events:auto;touch-action:none}.wall--draggable:active{cursor:grabbing}.wall--illegal{background:#c94235;box-shadow:0 0 0 3px #fffc}.wall-placement-toolbar{z-index:5;background:#fffffff5;border:1px solid #c8cec1;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;width:min(100%,520px);padding:10px 12px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 16px #2b22191f}.wall-placement-toolbar [role=status]{flex-basis:100%;margin:0}.wall-placement-toolbar small{color:#4d5a52}.cpu-decision p{margin:6px 0}.cpu-decision>summary{cursor:pointer;font-weight:700}.side-note{color:#4d5a52;margin:0;font-size:.85rem}.cpu-decision ol{max-height:260px;padding-left:24px;overflow:auto}@media (width<=860px){.game-layout{grid-template-columns:1fr}.board,.game-status{margin:0 auto}}@media (width<=420px){.app-shell{width:min(100% - 16px,1180px)}.board{padding:8px}.wall-reserve{grid-template-columns:1fr;gap:6px}.wall-reserve strong{font-size:.9rem}.wall-placement-toolbar button{flex:auto}}@media (prefers-reduced-motion:reduce){.game-status__marker,.wall--pending,.wall-reserve__piece{transition:none;animation:none}}
