/* Light affects the painted world, leaving labels and controls fully readable. */
body{--sea-light:1;--sea-saturation:1;--harbor-light:1;--sky-tint:transparent}
body[data-day-phase="dawn"]{--sea-light:.9;--sea-saturation:.85;--harbor-light:.96;--sky-tint:#e6ae8733}
body[data-day-phase="dusk"]{--sea-light:.76;--sea-saturation:.83;--harbor-light:.82;--sky-tint:#c3756b38}
body[data-day-phase="night"]{--sea-light:.57;--sea-saturation:.75;--harbor-light:.66;--sky-tint:#132e6559}
.world-map-paint{filter:brightness(var(--sea-light)) saturate(var(--sea-saturation));transition:filter 1.6s ease}
.world-map-paint::after{content:"";position:absolute;inset:0;z-index:2;background:var(--sky-tint);pointer-events:none;transition:background 1.6s ease}
.port-panorama{filter:brightness(var(--harbor-light));transition:filter 1.6s ease}
body[data-day-phase="night"] .world-map-canvas .world-port>span,body[data-day-phase="dusk"] .world-map-canvas .world-port>span{background:#f1dba7;box-shadow:0 0 3px 1px #ffe7ab,0 0 11px 3px #efc68566}
.sea-time .daylight{font-size:11px;letter-spacing:.03em;color:#c4d0d4;white-space:nowrap}
.sea-time small{white-space:nowrap}
.time-hold{display:flex;align-items:center;gap:6px;justify-content:flex-end;min-height:17px;color:#ffd1b0;font-size:10px;white-space:nowrap}
.time-hold:empty{display:none}
.time-hold::before{content:"Ⅱ";font-weight:700}
.dialog-reading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-4px 0 14px;padding:8px 32px 8px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.5}
.dialog-reading strong{color:var(--rust);white-space:nowrap}
.sound-settings{margin:18px 0;padding:16px;background:var(--paper-shade);border:1px solid var(--line);border-radius:var(--radius)}
.sound-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.sound-heading h3{margin:0;font-size:16px}
.sound-channels{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.sound-channel label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 4px;font-size:12px}
.sound-channel output{font-family:var(--data);min-width:36px;text-align:right;font-variant-numeric:tabular-nums}
.sound-channel input[type="range"]{display:block;width:100%;margin:0;min-height:26px;accent-color:var(--navy-light);cursor:pointer}
.sound-options{display:flex;gap:14px 22px;flex-wrap:wrap;margin-top:12px;font-size:12px}
.sound-options label{display:flex;align-items:center;gap:7px;min-height:32px;cursor:pointer}
.sound-options input{accent-color:var(--navy-light);width:16px;height:16px}
.audio-toggle{font-size:18px;line-height:1}
.audio-toggle[aria-pressed="true"]{color:var(--rust);background:var(--paper-shade)}
.quick-handbook{display:grid;gap:12px;margin:18px 0}
.quick-handbook p{margin:0;font-size:13px;line-height:1.8}
.quick-handbook b{color:var(--navy-light)}
@media(max-width:1000px){.top-actions{gap:8px}.sea-time .daylight{font-size:10px}.top-actions .audio-toggle{display:none}}
@media(max-width:760px){.sound-channels{gap:12px 18px}.sound-settings{padding:12px}.dialog-reading{align-items:flex-start}.dialog-reading span{text-align:right}.top-actions .audio-toggle{display:none}.sea-time .daylight{display:none}.time-hold{font-size:9px}}
@media(prefers-reduced-motion:reduce){.world-map-paint,.world-map-paint::after,.port-panorama{transition:none}}
