:root{color:#17352d;font-synthesis:none;text-rendering:optimizelegibility;background:#f4efd9;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:#17352d;cursor:pointer;background:#fffdf2;border:1px solid #9a9065;border-radius:.65rem;min-height:2.65rem;padding:.6rem .85rem;font-weight:700}button:hover:not(:disabled){border-color:#345e50;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45}.primary{color:#fff;background:#245346;border-color:#245346}.danger{color:#fff;background:#793b34;border-color:#793b34;width:100%}.eyebrow{color:#3e6d5d;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif}h1{margin:.35rem 0 .8rem;font-size:clamp(2.1rem,5vw,4rem);line-height:.98}.lede{color:#53675f;line-height:1.6}.setup-shell{place-items:center;min-height:100vh;padding:1rem;display:grid}.setup-card{background:#fffdf2;border:1px solid #c4b983;border-radius:1.5rem;width:min(50rem,100%);padding:clamp(1.5rem,5vw,3.5rem);box-shadow:0 2rem 5rem #21352c24}.mode-card{text-align:center}.mode-actions,.mode-toggle{flex-wrap:wrap;gap:.7rem;display:flex}.mode-card .mode-actions{justify-content:center}.online-form{gap:1rem;margin-top:1.2rem;display:grid}.waiting-card{text-align:center}.join-code{color:#245346;letter-spacing:.12em;background:#f4efd9;border:2px dashed #3e6d5d;border-radius:.8rem;margin:1.5rem auto;padding:1rem;font:800 clamp(2rem,10vw,4rem) ui-monospace,monospace}.players-setup,.setup-options{grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0;display:grid}fieldset{border:1px solid #d7ceaa;border-radius:.8rem;gap:.8rem;padding:1rem;display:grid}legend{padding:0 .35rem;font-weight:800}label{color:#50635b;gap:.3rem;font-size:.78rem;font-weight:700;display:grid}input,select{background:#fff;border:1px solid #aaa27f;border-radius:.45rem;width:100%;min-height:2.5rem;padding:.5rem}.game-shell{max-width:1500px;min-height:100vh;margin:auto;padding:clamp(1rem,2vw,2rem)}header{justify-content:space-between;align-items:center;gap:1rem;display:flex}header h1{font-size:clamp(2rem,4vw,3.25rem)}.header-actions{color:#607069;align-items:center;gap:.7rem;font-size:.8rem;display:flex}.player-strip{grid-template-columns:1fr 1fr;gap:.75rem;margin:.7rem 0 1rem;display:grid}.play-direction{color:#64736c;text-align:right;margin:-.55rem 0 .8rem;font-size:.74rem}.player{background:#fffdf2a6;border:1px solid #c9c09a;border-radius:.85rem;align-items:center;gap:.7rem;min-height:4rem;padding:.65rem 1rem;display:flex}.player.active{background:#fffef7;border-color:#286050;box-shadow:0 .5rem 1.4rem #1b4b3d21}.player div{display:grid}.player small{color:#6e7a74;text-transform:capitalize}.player b{color:#286050;text-transform:uppercase;margin-left:auto;font-size:.75rem}.color-dot{border:2px solid #fff;border-radius:50%;width:1.1rem;height:1.1rem;box-shadow:0 0 0 1px #786}.play-layout{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:1rem;display:grid}.pond-panel,.turn-panel{background:#fffdf2;border:1px solid #c9c09a;border-radius:1rem;padding:1rem}.pond{aspect-ratio:1;background:#7ac5d3;border:3px solid #27616c;border-radius:.65rem;grid-template-rows:repeat(10,minmax(0,1fr));grid-template-columns:repeat(10,1fr);width:min(100%,100vh - 20rem);margin:auto;display:grid;overflow:hidden}.pond-cell{background:0 0;border:1px solid #ffffff38;border-top:0;border-left:0;border-radius:0;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:grid;position:relative}.pond-cell:hover:not(:disabled){z-index:1;outline:3px solid #fff;transform:none}.pond-cell.selected{z-index:1;outline-offset:-4px;outline:4px solid #f5d43c}.duck{color:#0000;background:var(--duck-color);border:2px solid #17352d73;border-radius:50%;place-items:center;display:grid;position:absolute;inset:14%;box-shadow:inset -.22rem -.25rem .35rem #0003,0 .12rem .2rem #00000038}.pond-cell[data-color=red]{--duck-color:#df4438}.pond-cell[data-color=orange]{--duck-color:#f08a2b}.pond-cell[data-color=yellow]{--duck-color:#f1cf39}.pond-cell[data-color=green]{--duck-color:#4b9a59}.pond-cell[data-color=blue]{--duck-color:#3578c9}.pond-cell[data-color=indigo]{--duck-color:#4b4b9e}.pond-cell[data-color=violet]{--duck-color:#9a5ab7}.pond-cell[data-color=white]{--duck-color:#fff}.pond-cell[data-color=black]{--duck-color:#222}.pond-cell[data-piece-kind=black] .duck{color:#d7bf43;border-radius:.35rem}.pond-cell[data-piece-kind=white][data-assigned-color] .duck{background:repeating-linear-gradient(135deg, #fff 0, #fff 6px, var(--assigned-color) 6px, var(--assigned-color) 12px)}.pond-cell[data-assigned-color=red]{--assigned-color:#df4438}.pond-cell[data-assigned-color=orange]{--assigned-color:#f08a2b}.pond-cell[data-assigned-color=yellow]{--assigned-color:#f1cf39}.pond-cell[data-assigned-color=green]{--assigned-color:#4b9a59}.pond-cell[data-assigned-color=blue]{--assigned-color:#3578c9}.pond-cell[data-assigned-color=indigo]{--assigned-color:#4b4b9e}.pond-cell[data-assigned-color=violet]{--assigned-color:#9a5ab7}.pond-help{color:#596b64;min-height:1.5rem;margin:.8rem 0 0;font-size:.86rem}.turn-panel{gap:.85rem;display:grid}.turn-panel h2{margin:-.5rem 0 0;font-size:2rem}.drawn-piece{text-transform:capitalize;background:#f5f0dc;border:1px solid #cfc6a2;border-radius:.8rem;align-items:center;gap:.75rem;padding:.8rem;display:flex}.drawn-piece>span{aspect-ratio:1;color:#0000;background:currentColor;border:2px solid #58615d;border-radius:50%;place-items:center;width:2.5rem;display:grid}.drawn-piece.black>span{color:#222;border-radius:.35rem}.drawn-piece.white>span{color:#fff}.drawn-piece.red>span{color:#df4438}.drawn-piece.orange>span{color:#f08a2b}.drawn-piece.yellow>span{color:#f1cf39}.drawn-piece.green>span{color:#4b9a59}.drawn-piece.blue>span{color:#3578c9}.drawn-piece.indigo>span{color:#4b4b9e}.drawn-piece.violet>span{color:#9a5ab7}.drawn-piece div{display:grid}.drawn-piece small{color:#66746e}.drawn-piece strong{font-size:.9rem}.action-group{border-top:1px solid #ddd4b1;gap:.5rem;padding-top:.8rem;display:grid}.action-group h3{margin:0;font-size:.9rem}.capture-option{grid-template-columns:auto 1fr;align-items:center;font-size:.72rem;display:grid}.capture-option input{width:1rem;min-height:1rem}.candidate-line{text-align:left;min-height:2rem;padding:.4rem .55rem;font-size:.7rem}.action-buttons{gap:.5rem;display:grid}.message{color:#4b5d56;background:#f3eedb;border-radius:.5rem;min-height:2.6rem;margin:0;padding:.6rem;font-size:.78rem;line-height:1.4}.message.error{color:#793b34}details{border-top:1px solid #ddd4b1;padding-top:.7rem}summary{cursor:pointer;font-size:.8rem;font-weight:800}.diagnostics{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.diagnostics div{justify-content:space-between;display:flex}.diagnostics dt{color:#68766f}.diagnostics dd{margin:0;font-weight:800}.event-list{color:#56665f;max-height:10rem;padding-left:1.5rem;font:.68rem ui-monospace,monospace;overflow:auto}.completion{gap:.6rem;display:grid}.completion h2{margin:0;font-size:2rem}.completion p,.completion ul{margin:0}@media (width<=850px){.play-layout{grid-template-columns:1fr}.turn-panel{grid-row:1}.pond{max-height:calc(100vh - 8rem)}.header-actions span{display:none}}@media (width<=520px){.players-setup,.setup-options{grid-template-columns:1fr}.game-shell{padding:.6rem}header{align-items:flex-start}.player-strip{gap:.35rem}.player{padding:.5rem}.player b{display:none}.pond-panel{padding:.45rem}.duck{border-width:1px}}
