:root{font:13px/1.45 system-ui,sans-serif;color:#000;background:#fff}*{box-sizing:border-box}body{margin:0}button,select,textarea{font:inherit;color:inherit;border:1px solid #000;border-radius:3px;background:#fff}button,select{padding:4px 7px}button,summary{cursor:pointer}button:hover{background:#1b7a3a;color:#fff}button:disabled,button:disabled:hover{background:#fff;color:#000;border-style:dashed;opacity:1;cursor:default}a{color:#1b7a3a}button:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid #1b7a3a;outline-offset:2px}.toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:8px 12px;background:#fff;border-bottom:3px solid #1b7a3a}.toolbar strong{color:#1b7a3a;font-size:14px;white-space:nowrap;margin-right:7px}.toolbar label{display:flex;align-items:center;gap:3px}.languages{margin-left:auto;white-space:nowrap}.languages button{border:0;background:none;padding:3px}.languages [aria-pressed=true]{font-weight:750;text-decoration:underline}.help{position:relative}.help p{position:absolute;right:0;top:20px;width:290px;background:#fff;z-index:5;border:1px solid #000;padding:12px;box-shadow:0 3px 12px #0002}.layout{display:grid;grid-template-columns:minmax(340px,1.15fr) minmax(370px,1fr);gap:18px;max-width:1440px;padding:16px 18px 60px;margin:auto;align-items:start}.board-area{min-width:0}#board{width:100%;max-height:calc(100vh - 140px);display:block;touch-action:manipulation}.score{display:flex;justify-content:space-between;padding:6px 25px;border-bottom:1px solid #000}.score span{font-size:16px}aside{min-width:0;background:#fff;border:1px solid #000;padding:10px;border-radius:3px}h2{font-size:12px;margin:10px 0 6px;text-transform:uppercase;letter-spacing:.03em}h2:first-child{margin-top:0}.table-wrap{max-height:360px;overflow:auto;padding:2px}table{border-collapse:collapse;width:100%;font:12px/1.3 ui-monospace,monospace;white-space:nowrap}th{text-align:left;background:#1b7a3a;color:#fff;position:sticky;top:0;z-index:1}th,td{padding:5px;border-bottom:1px solid #000}td:last-child{max-width:170px;overflow:hidden;text-overflow:ellipsis}tr.best{outline:3px solid #1b7a3a;outline-offset:-2px}td button{font:inherit;padding:2px 4px}td small{display:block;font:10px system-ui;color:#1b7a3a;font-weight:700}.bound{color:#1b7a3a}.estimate{color:#000}.exact{font-weight:700}#legend,details{font-size:12px;color:#000}#position-value{font:16px ui-monospace,monospace}#record{display:flex;gap:4px;flex-wrap:wrap;max-height:105px;overflow:auto;margin-bottom:10px}#record button{font:12px ui-monospace,monospace}#record [aria-current=true]{background:#1b7a3a;color:#fff;border-color:#000}textarea{display:block;width:100%;resize:vertical;padding:7px;margin:4px 0 6px;font-family:ui-monospace,monospace}details{margin-top:9px}.toolbar details{margin:0}.statusbar{position:fixed;bottom:0;left:0;right:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:7px 14px;background:#fff;border-top:2px solid #000;font:12px ui-monospace,monospace}svg [role=button]{cursor:pointer}@media(max-width:800px){.layout{grid-template-columns:1fr;padding:10px 8px 85px;gap:10px}#board{max-height:none}.toolbar{gap:5px}.toolbar label>span{font-size:11px}.table-wrap{max-height:300px}}

.ai-note{margin:0 0 10px;padding:8px 10px;border-left:4px solid #1b7a3a;background:#fff;font-size:12px;line-height:1.5;color:#000}

/* Independent placement and responsive controls. */
:root{font-size:14px}body{overflow-x:clip;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
#board{aspect-ratio:1;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.actions{display:flex;gap:8px;margin:8px 0}.actions button{min-height:44px;flex:1}
.settings-content{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0}.settings-content label{display:flex;align-items:center;gap:4px}
#settings summary,#move-details summary,#record-details summary{font-weight:650}
summary{min-height:44px;padding:10px 0}details,#legend,.ai-note,h2,table,#record button,td small,.statusbar{font-size:14px}
.help p{position:static;width:auto;max-width:48em;margin:0;box-shadow:none}.help{flex-basis:100%}
td:last-child{white-space:normal;overflow-wrap:anywhere;min-width:130px;max-width:240px;overflow:visible;text-overflow:clip}
.best-summary{overflow-wrap:anywhere}.eval-label{font-size:14px}.statusbar{padding-bottom:max(7px,env(safe-area-inset-bottom))}
@media(min-width:761px) and (min-height:501px), (min-width:961px){.layout{grid-template-columns:minmax(340px,1.15fr) minmax(370px,1fr);padding-top:16px}.toolbar .actions{margin:0}.toolbar #settings{display:contents}.toolbar #settings>summary{display:none}.toolbar .settings-content{display:flex;gap:7px;padding:0;align-items:center}.toolbar .help{flex-basis:auto}.toolbar .help summary{padding:0;min-height:0}.toolbar .help p{position:absolute;top:25px;right:0;width:290px}.toolbar .settings-content label{font-size:14px}}
@media(max-width:760px), (max-width:960px) and (max-height:500px){
 .toolbar{padding:4px 8px;padding-top:max(4px,env(safe-area-inset-top));flex-wrap:nowrap}.toolbar strong{font-size:15px;margin:0}.languages button{min-width:44px;min-height:44px;font-size:14px}.languages{margin-left:auto}
 .layout{display:flex;flex-direction:column;gap:10px;padding:4px 8px 12px}.board-area,aside{width:100%;min-width:0}#board{width:100%;height:auto;max-height:none;container-type:inline-size}
 .score{padding:4px 8px;align-items:center}.score span{font-size:16px}.actions{margin:2px 0 6px;gap:6px}
 #settings{margin:0;background:#fff;padding:0 10px;border:1px solid #000}.settings-content{align-items:stretch;flex-direction:column}.settings-content label{justify-content:space-between}button,select{min-height:44px}select{max-width:100%;min-width:0}.toolbar label>span{font-size:14px}
 h2{font-size:14px}.table-wrap{max-height:320px;max-width:100%;overflow:auto}table{font-size:14px}td button{min-height:44px}td small{font-size:14px}td:last-child{min-width:150px}
 .statusbar{position:static;font-size:14px;padding:8px;padding-bottom:max(8px,env(safe-area-inset-bottom));overflow-wrap:anywhere}.statusbar span{min-width:0;max-width:100%}
 .eval-label{font-size:13px}.eval-label:not(.best){display:none}#record{max-height:180px}textarea{font-size:16px}
}
@media(max-width:370px){.eval-label{display:none}}
@media(max-width:960px) and (max-height:500px) and (orientation:landscape){#board{max-width:calc(100svh - 105px);margin:auto}.eval-label{display:none}}

#board.small-cells .eval-label{display:none}

[hidden]{display:none!important}
.analysis-toggle{min-height:44px;min-width:44px;display:flex;align-items:center;gap:4px;cursor:pointer}
.actions .analysis-quick{display:none}
@media(max-width:760px), (max-width:960px) and (max-height:500px){.actions{flex-wrap:wrap}.actions .analysis-quick{display:flex;padding:0 6px}}

#review-panel{width:100%;min-width:0;background:#fff;border:1px solid #000;padding:0 10px 10px}
#review-panel>summary{font-weight:700}#review-panel .table-wrap{margin-top:8px;max-height:420px}
#review-panel table{font-size:12px}#review-panel td{white-space:normal;min-width:90px;max-width:180px}
#review-panel td:first-child{min-width:116px}#review-panel button{min-height:44px}
#review-rows tr{cursor:pointer}#review-rows .human-move td:first-child button{font-weight:800;border-left:4px solid #000}
#review-rows [aria-selected=true]{outline:3px solid #1b7a3a;outline-offset:-2px}
.loss-zero{background:#e5f1e8}.loss-yellow{background:#fff1c4}.loss-red{background:#f9d7d7}
#review-rows .estimated{background-image:repeating-linear-gradient(135deg,#ffffffa8 0 5px,transparent 5px 9px);color:#000}
#review-summary,#review-progress{overflow-wrap:anywhere}
@media(max-width:760px), (max-width:960px) and (max-height:500px){#review-panel{margin-top:8px}#review-panel table{font-size:14px}}
#review-panel .kind-badge{display:inline-block;margin-left:4px;padding:1px 4px;border:1px solid #000;border-radius:3px;font:11px system-ui;background:#fff;color:inherit}

/* Header controls sit on the green header; native controls follow the palette. */
th button{background:transparent;color:#fff;border-color:#fff}th button:hover{background:#000;color:#fff}
input{accent-color:#1b7a3a}
#ai-time{width:5.5em}
@media(max-width:760px), (max-width:960px) and (max-height:500px){#ai-time{font-size:16px;min-height:44px}}
