.dev-controls,.dev-actions,.dev-choices{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:1rem 0}.dev-controls label{display:grid;gap:.4rem}.dev-controls select,.dev-field{font:inherit;padding:.65rem;border:1px solid #bfd7df;border-radius:.65rem;background:white;color:#173d50}.dev-body{min-height:16rem;background:#f0f9fc;border:1px solid #c3dce6;border-radius:1rem;padding:1.25rem}.dev-body button,.dev-actions button{font:inherit;min-height:44px;padding:.7rem 1rem;border-radius:.7rem}.dev-body button:focus-visible,.dev-actions button:focus-visible{outline:3px solid #063e73;outline-offset:3px}.dev-grid{display:grid;grid-template-columns:repeat(var(--cols,5),minmax(0,1fr));gap:.4rem;max-width:540px}.dev-grid button{padding:.25rem;min-width:0;aspect-ratio:1;background:white;color:#174158;border:2px solid #aacbd7}.dev-grid button.selected{background:#beeaf0;border-color:#075773}.dev-card{background:white;border:1px solid #bfd7df;border-radius:.8rem;padding:1rem;margin:.75rem 0}.dev-stage{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;min-height:130px}.dev-stage img{height:110px;width:90px;object-fit:contain}.dev-note{font-size:1rem;color:#345464}.dev-status{padding:1rem;background:#e2f3e8;border-radius:.8rem;min-height:3rem}.dev-bins{display:flex;flex-wrap:wrap;gap:1rem}.dev-bins button{min-width:120px;background:white;color:#164557;border:2px solid #2b7b93}.dev-block{display:inline-block;min-width:2rem;padding:.5rem;background:#b9e4f0;border:1px solid #34778f;margin:.15rem;text-align:center}.dev-support{padding:.75rem;border-left:4px solid #277e99}.dev-reports{overflow-wrap:anywhere}.dev-matrix{display:grid;grid-template-columns:repeat(5,44px);gap:4px;max-width:100%;min-width:0;overflow-x:auto}.dev-matrix button{width:44px;height:44px;padding:0}.dev-matrix button.on{background:#176b86;color:white}.dev-rhythm-pad{min-width:80px}.dev-paused .dev-body{opacity:.6;pointer-events:none}.dev-body h3{font-size:1.2rem}.dev-body p{font-size:1rem;line-height:1.65}.dev-controls,.dev-body,.dev-status{color:#193d50}.dev-story-result{white-space:pre-wrap}.dev-muted{color:#55717d}.dev-report-link{display:inline-block;margin:1rem 0;padding:.65rem 1rem;background:#e1f4f7;border-radius:.7rem}.dev-body [hidden]{display:none!important}@media(max-width:600px){.dev-body{padding:.8rem}.dev-bins button{min-width:95px}.dev-controls label{flex:1;min-width:125px}.dev-grid button{font-size:.9rem}.dev-matrix{grid-template-columns:repeat(5,44px)}}@media(prefers-reduced-motion:reduce){.dev-body *{animation:none!important;transition:none!important}}

.dev-water{height:150px;position:relative;border:2px solid #2b708d;border-top:0;background:linear-gradient(to bottom,transparent 40%,#b9e3f3 40%);margin:1rem 0;max-width:420px}.dev-object{position:absolute;left:40%;top:12%;background:white;border:2px solid #2b708d;border-radius:.5rem;padding:.35rem .7rem}.dev-water.floating .dev-object{top:30%}.dev-water.sinking .dev-object{top:72%}.dev-choices .selected{background:#b8e5f0;color:#113e56}

/* Shared blue-to-green palette for every game tab, including Sudoku. */
.site-playground .game-tabs button{background:linear-gradient(115deg,#edf5ff,#edf9f1);border-color:#b9d6dc;color:#173d55;transition:background-position .2s ease,border-color .2s ease,box-shadow .2s ease;background-size:150% 100%;font-size:.875rem}
.site-playground .game-tabs button.active,.site-playground .game-tabs button:hover:not(.active){background:linear-gradient(115deg,#073b78 0%,#0869c5 48%,#08794b 100%);color:#fff;border-color:transparent;box-shadow:0 5px 14px #075b7426;background-size:150% 100%;background-position:50% 0}
.site-playground .game-tabs button.active:hover{background-position:100% 0}
.site-playground .game-tabs button:focus-visible{outline:3px solid #073b78;outline-offset:3px}
.game-tab-icon{display:inline-block;vertical-align:middle;margin-right:.2rem;font-size:1.05em;line-height:1}
@media(prefers-reduced-motion:reduce){.site-playground .game-tabs button{transition:none}}

#kitchen .dev-controls button,#kitchen .dev-actions button{background:linear-gradient(115deg,#073b78,#08794b);color:white;border:1px solid transparent;padding:.7rem 1rem;min-height:44px;border-radius:.7rem;font:inherit}#kitchen .dev-controls button:hover,#kitchen .dev-actions button:hover{background:linear-gradient(115deg,#0869c5,#08794b)}#kitchen .dev-controls label:last-child{min-width:min(210px,100%)}.kitchen-basket{background:#fff8e5;border:1px solid #dcd5b7;border-radius:.75rem;padding:.75rem;margin-bottom:1rem;line-height:1.8}.kitchen-quantities{display:flex;flex-wrap:wrap;gap:.7rem}.kitchen-quantities .dev-card{max-width:260px;min-width:100px}#kitchen .dev-bins button{white-space:pre-line;max-width:270px;line-height:1.6;overflow-wrap:anywhere}#kitchen [hidden]{display:none!important}
.dev-controls button,.dev-actions button,.dev-choices button{border:1px solid #87c4d6;border-radius:12px;background:linear-gradient(115deg,#e1f1ff,#def8ee);color:#164e63;padding:10px 16px;font:inherit;cursor:pointer;min-height:44px}.dev-controls button:hover,.dev-actions button:hover,.dev-choices button:hover{background:linear-gradient(115deg,#cbe8ff,#bff0db)}.dev-controls button:focus-visible,.dev-actions button:focus-visible,.dev-choices button:focus-visible{outline:3px solid #087b93;outline-offset:3px}.dev-story-result{white-space:pre-line;line-height:1.8}.dev-activity-title{font-size:1.2rem;font-weight:700}.dev-controls label{max-width:100%}.dev-controls select{max-width:100%}.dev-body .dev-controls{align-items:flex-start}.dev-body .dev-controls label{flex:1 1 240px}.dev-body .dev-controls select{width:100%;text-overflow:ellipsis}.dev-note{line-height:1.6}
.engineer-steps{padding-left:1.5rem;line-height:1.8}.engineer-scene{border:2px solid #84bfd6;border-radius:16px;background:#d9f2ff;overflow-x:auto;padding:12px}.engineer-banks{display:flex;justify-content:space-between;font-weight:700;gap:30px;margin-bottom:12px}.engineer-bridge{display:grid;grid-template-columns:repeat(var(--pieces),minmax(110px,1fr));min-width:max-content;gap:4px}.engineer-column{text-align:center;border-radius:8px;padding:5px;background:#ecf8ff}.dev-body .engineer-column button{display:block;width:100%;padding:8px 4px;border:2px solid #77aabd;font-size:.875rem;min-height:48px;cursor:pointer;color:#173d50;background:white}.dev-body .engineer-column .engineer-road.ready{background:#395e73;color:white;border-color:#25475b}.engineer-water{height:90px;background:repeating-linear-gradient(0deg,#c6edff 0,#c6edff 22px,#a8dff6 23px,#a8dff6 25px);display:flex;align-items:center;justify-content:center}.engineer-pier{font-size:3rem;color:#4e839b}.engineer-water.supported .engineer-pier{background:#66747a;color:#e1e6e8;width:28px;height:90px;line-height:90px}.engineer-column.needs-work{outline:3px solid #bd6317;outline-offset:-2px}.dev-body .engineer-support[aria-pressed=true]{background:#d2f3e1;border-color:#278369}.engineer-column small{font-size:.875rem;display:block;margin-top:6px}
.program button{border:1px solid #86b7c9;border-radius:8px;background:#e4f6f9;padding:8px;min-width:44px;min-height:44px;color:#173d50;cursor:pointer}.program button.robot-command-active{background:#065a83;color:white;outline:2px solid #08794b}#robotNext[hidden]{display:none}#robotGrid .robot-cell{font-size:clamp(1rem,3vw,2.5rem)}
.sudoku-scroll{max-width:100%;overflow-x:auto;padding-bottom:8px}.sudoku-board{gap:2px!important;padding:6px!important;border-radius:14px}.sudoku-cell{min-height:44px;border-radius:6px!important;font-size:clamp(1rem,3vw,2rem)!important}.sudoku-board[data-theme=countries] .sudoku-cell{font-size:.875rem!important;line-height:1.2;overflow-wrap:anywhere;padding:3px}#sudokuLegend{flex-wrap:wrap}#sudokuLegend button{min-height:44px;min-width:44px}#sudokuRules{line-height:1.6}

/* Word themes need content-sized controls, not emoji-sized squares. */
#sudokuLegend[data-theme="countries"] button{width:auto!important;height:auto;min-height:48px;min-width:76px;max-width:100%;padding:10px 14px!important;font-size:1rem;line-height:1.35;white-space:normal;overflow-wrap:anywhere;flex:0 1 auto}
.sudoku-wrap>aside{min-width:0}.sudoku-board[data-theme="countries"] .sudoku-cell{max-width:100%;white-space:normal;word-break:normal}
