.wave4-game{max-width:580px;margin:12px auto;color:#173e42}.wave4-game *{box-sizing:border-box}.wave4-summary{font-size:13px;line-height:1.4;text-align:center;margin:5px 0 10px}.wave4-button,.wave4-game select{font:inherit;min-height:44px;border:1px solid #b9cfc7;border-radius:11px;background:#fff;color:#173e42;padding:7px;cursor:pointer}.wave4-button:focus-visible,.wave4-game select:focus-visible{outline:3px solid #287764;outline-offset:2px}.wave4-button:disabled{opacity:.65;cursor:default}.ferry-banks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ferry-bank{border:1px solid #c5d9cf;border-radius:16px;background:#f3f7f2;padding:10px}.ferry-bank.has-operator{border-color:#26765e;background:#e7f2e8}.ferry-bank h4{font-size:15px;margin:0 0 8px}.ferry-cargo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:44px}.ferry-cargo button{display:flex;justify-content:center;align-items:center;gap:7px;min-width:0}.ferry-cargo small{font-size:12px}.ferry-cargo .is-selected{outline:2px solid #287764;outline-offset:-2px;background:#cce7d4}.ferry-pairs{font-size:12px;line-height:1.4;overflow-wrap:anywhere;margin:8px 0 0}.ferry-load{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0;font-size:12px}.ferry-load button{background:#246d59;color:#fff;padding:8px 16px}.program-grid{display:grid;grid-template-columns:repeat(var(--program-columns),minmax(0,1fr));gap:4px;width:min(100%,320px);margin:auto;direction:ltr}.program-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid #c3d5cb;border-radius:8px;background:#f7faf4;font-size:16px;text-align:center;line-height:1.1}.program-cell.is-wall{background:repeating-linear-gradient(45deg,#335657,#335657 4px,#476968 4px,#476968 8px)}.program-cell.is-route:not(.is-wall){background:#d9edc9;box-shadow:inset 0 0 0 1px #638b57}.program-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-width:380px;margin:auto;direction:ltr}.program-slots label{min-width:0;font-size:11px;color:#5a746b}.program-slots select{display:block;width:100%;max-width:100%;font-size:13px}.logic-clue{display:flex;align-items:center;gap:8px;justify-content:space-between;background:#f1f7ed;border:1px solid #d4e1ca;border-radius:13px;padding:7px;margin-bottom:10px}.logic-clue>div{display:grid;text-align:center;gap:4px;min-width:0}.logic-clue strong{font-size:16px;overflow-wrap:anywhere}.logic-clue small{font-size:11px}.logic-clue button{width:44px;flex:none;font-size:25px;line-height:1}.logic-houses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:450px;margin:auto;direction:ltr}.logic-house{display:grid;gap:5px;border:1px solid #bfd3c8;border-top:4px solid #4f8970;background:#f6faf4;border-radius:12px;padding:7px;min-width:0}.logic-house-number{text-align:center;font-size:12px}.logic-house select{width:100%;min-width:0;min-height:44px;padding:5px;font-size:14px}.logic-all-clues{margin-top:12px;font-size:13px;line-height:1.7}.wave4-note{font-size:12px;line-height:1.4;text-align:center;color:#587269;margin:10px 0 0}.lesson:has(.wave4-game){width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}.wave4-steps{font-size:14px;line-height:1.6}
@media(max-width:640px){.wave4-game{margin:5px auto}.ferry-banks{gap:8px}.ferry-bank{padding:7px}.ferry-cargo{gap:5px}.ferry-pairs{font-size:11px;margin-top:6px}.ferry-load{margin:7px 0}.program-grid{width:min(100%,210px);gap:3px}.program-cell{font-size:13px;border-radius:6px}.program-slots{gap:5px}.program-slots select{font-size:12px;padding:4px}.wave4-summary{font-size:11px;margin:4px 0 6px}.logic-clue{padding:4px;gap:4px;margin-bottom:7px}.logic-houses{gap:6px}.logic-house{padding:5px;gap:3px}.logic-house select{min-height:44px}.wave4-note{font-size:11px;line-height:1.3;margin-top:6px}}
@media(forced-colors:active){.program-cell.is-wall{background:CanvasText}.ferry-bank.has-operator{border:3px solid Highlight}.ferry-cargo .is-selected{outline:3px solid Highlight}.program-cell.is-route{outline:1px dashed Highlight}}
.ferry-cargo{grid-template-columns:repeat(3,minmax(0,1fr));margin:9px 0}.ferry-rules-dialog{width:min(460px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto}.ferry-rules-dialog>button{float:inline-end}.ferry-pairs-full{font-size:17px;line-height:1.8;direction:ltr}.ferry-load button[data-wave4-control=pairs]{background:#eff5e8;color:#173e42;flex:none;padding:7px;min-width:44px}
.wave4-game{width:100%}
.wave4-board{width:100%}.program-cell{position:relative;min-width:0;min-height:0;overflow:hidden}.program-cell.is-goal{border:2px solid #b78224}.program-star-badge{position:absolute;top:1px;inset-inline-end:1px;font-size:9px;line-height:1;color:#8a5a05}
#board.wave4-board,.wave4-board{display:block;max-width:none}
.wave4-board{display:block!important}
@media(max-width:640px){.wave4-game .program-grid{width:min(100%,170px)}.wave4-game .program-cell{font-size:12px;line-height:1}.wave4-game .program-slots label{display:grid;gap:2px;margin:0;padding:0;line-height:1.15}.wave4-game .program-slots select{margin:0}.wave4-game .wave4-summary{line-height:1.3}}
@media(max-width:640px){.ferry-bank .ferry-pairs{display:none}.ferry-bank h4{margin:0;font-size:13px;line-height:1.2}.ferry-bank{padding:6px}.ferry-cargo{margin:6px 0;gap:5px}.ferry-cargo button{padding:5px;gap:5px}.ferry-cargo small{font-size:10px}.ferry-load{gap:5px}.ferry-load>span{max-width:110px;line-height:1.3}.ferry-load button[data-wave4-control=cross]{padding:7px 12px}.wave4-note{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0;padding:0;white-space:nowrap}}
