:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#efe8d4;font-synthesis:none;background:#102f3a;font-family:Yu Gothic,Hiragino Kaku Gothic ProN,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 5% 0,#204851 0,#0000 58%),#102f3a;min-height:100vh;margin:0}button,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation;background:#203f48;border:1px solid #526369;border-radius:7px;min-height:44px}button:hover:enabled{background:#2c5159;border-color:#d9c796}button:active:enabled{transform:translateY(1px)}button:disabled{cursor:default;opacity:.4}button:focus-visible,summary:focus-visible,.board:focus-visible{outline-offset:3px;outline:3px solid #f6d894}[hidden]{display:none!important}.shell{width:min(1010px,100% - 64px,100svh + 30px);margin:0 auto}.masthead{justify-content:space-between;align-items:center;padding:27px 0 23px;display:flex}.eyebrow{color:#a0b6b6;letter-spacing:.2em;margin:0 0 9px;font-size:10px}.eyebrow span{color:#6a8d92;padding:0 9px}h1{letter-spacing:.12em;margin:0;font:500 clamp(27px,3.5vw,38px)/1.2 Yu Mincho,Hiragino Mincho ProN,serif}.title-star{color:#e4c985;vertical-align:middle;padding-left:18px;font-size:19px}.intro{color:#becdca;letter-spacing:.1em;margin:0;font:13px/1.85 Yu Mincho,serif}.stage-nav{border-top:1px solid #456069;gap:8px;padding:14px 0;display:flex}.stage-nav button{color:#a8bfbd;background:0 0;border-color:#0000;border-radius:25px;align-items:center;gap:10px;min-height:42px;padding:8px 16px;font-size:12px;display:flex}.stage-nav button[aria-current=step]{color:#23434a;background:#e9ddbe}.stage-nav .stage-num{font:13px Georgia,serif}.play-layout{grid-template-columns:minmax(0,1fr) 295px;align-items:start;gap:25px;display:grid}.sea-panel{background:#0b2732;border:1px solid #42636a;border-radius:12px;min-width:0;overflow:hidden;box-shadow:0 14px 35px #061b2333}.sea-caption{color:#c7d5cc;letter-spacing:.04em;justify-content:space-between;align-items:center;padding:15px 20px 3px;font-size:12px;display:flex}.chart-mark{color:#92afb3;font:10px Georgia,serif}.board{aspect-ratio:1;width:100%;position:relative;outline-offset:-4px!important}canvas{width:100%;height:100%;display:block}.cells{grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(7,1fr);display:grid;position:absolute;inset:5%}.cell{border:none;border-radius:10px;min-width:0;min-height:0;padding:0;position:relative;opacity:1!important;background:0 0!important}.cell:disabled{cursor:default}.cell.lighthouse{cursor:pointer}.cell.lighthouse:hover:enabled,.cell.next:hover:enabled{outline-offset:-5px;outline:2px solid #f5d89188}.cell:focus-visible{outline-offset:-4px}.legend{color:#a2b9b6;justify-content:space-between;gap:8px;padding:3px 18px 17px;font-size:10px;display:flex}.legend span{align-items:center;gap:7px;display:flex}.light-dot{background:#f4dda2;border-radius:50%;width:5px;height:5px;display:inline-block}.logbook{padding:17px 0 0}.chapter{letter-spacing:.08em;color:#c9bf9c;justify-content:space-between;font-size:10px;display:flex}h2{letter-spacing:.02em;margin:17px 0 9px;font:500 20px/1.6 Yu Mincho,serif}.stage-note{color:#b5c8c4;margin:0 0 19px;font-size:12px;line-height:1.9}.lamp-list{gap:8px;display:grid}.lamp-row{background:#173943;border:1px solid #3c5960;border-radius:8px;grid-template-columns:1fr 46px 46px;align-items:center;gap:6px;padding:7px 9px 7px 13px;display:grid}.lamp-row.selected{border-color:#a99460}.lamp-name{color:#e4d4ac;font-size:12px}.lamp-name b{place-items:center;margin-right:12px;font:18px Georgia,serif;display:inline-grid}.lamp-direction{color:#afc3c1;font-size:11px}.lamp-row button{background:0 0;border-color:#4e6970;font-size:23px}.connection{color:#a8bcbb;padding:17px 0 0;font-size:12px;line-height:1.6}.connection span{padding-right:8px}.connection.connected{color:#f1d799}.feedback{color:#c1cfca;min-height:43px;margin:8px 0 10px;font-size:11px;line-height:1.8}.actions{gap:9px;display:grid}.actions button{width:100%;min-height:46px;font-size:12px}button.primary{color:#203d43;letter-spacing:.05em;background:#ead5a1;border-color:#ead5a1;justify-content:center;align-items:center;gap:35px;width:100%;min-height:50px;font-weight:600;display:flex}button.primary:hover:enabled{background:#f9e6b7;border-color:#f9e6b7}button.quiet{color:#a7bebc;text-underline-offset:4px;background:0 0;border-color:#0000;font-size:11px;text-decoration:underline}.control-note{color:#b9ccc5;margin:5px 0 14px;font-size:12px;line-height:1.8}.dpad{grid-template-rows:repeat(3,48px);grid-template-columns:repeat(3,54px);justify-content:center;gap:5px;display:grid}.dpad button{font-size:22px}.dpad [data-move="0"]{grid-column:2}.dpad [data-move="3"]{grid-area:2/1}.dpad span{text-align:center;color:#d2b97c;grid-area:2/2;align-self:center;font-size:23px}.dpad [data-move="1"]{grid-area:2/3}.dpad [data-move="2"]{grid-area:3/2}.result{text-align:center;border-top:1px solid #6a745f;margin-bottom:12px;padding-top:18px}.result-seal{color:#e4c883;font-size:35px;display:inline-block}.result h3{margin:8px 0;font:23px/1.6 Yu Mincho,serif}.result p{color:#c1cebf;margin:8px 0 20px;font-size:12px;line-height:1.8}.help{color:#b5c9c6;border-top:1px solid #3c5a61;margin-top:24px;font-size:12px}.help summary{cursor:pointer;width:-moz-fit-content;width:fit-content;min-height:48px;padding:18px 0}.help-body{max-width:850px;padding:0 0 6px;line-height:1.9}.help-body p{margin:0 0 12px}footer{color:#89a5a8;letter-spacing:.15em;border-top:1px solid #304e56;justify-content:space-between;padding:18px 0 25px;font:9px Georgia,serif;display:flex}footer span{letter-spacing:.06em;font:10px Yu Mincho,serif}@media (min-width:1000px){.sea-panel{max-width:660px}.shell{max-width:1010px}}@media (max-width:760px){.shell{width:min(520px,100% - 28px)}.masthead{padding:22px 0 17px}.intro{font-size:11px}.stage-nav{justify-content:space-between;gap:1px;padding:10px 0}.stage-nav button{gap:5px;min-height:44px;padding:8px 7px;font-size:10px}.stage-nav .stage-num{font-size:12px}.play-layout{grid-template-columns:1fr;gap:14px}.sea-caption{padding:13px 15px 1px;font-size:11px}.legend{padding:1px 12px 13px;font-size:9px}.logbook{padding:4px 3px 0}h2{margin:10px 0 5px;font-size:19px}.stage-note{margin-bottom:12px}.lamp-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.lamp-row{grid-template-columns:1fr 44px 44px;gap:3px;padding:5px 4px 5px 7px}.lamp-name b{margin-right:5px;font-size:16px}.lamp-direction{font-size:10px;display:block}.lamp-row button{min-height:44px}.connection{padding-top:12px}.feedback{min-height:20px;margin:7px 0 11px}#sail-controls{justify-content:space-between;align-items:center;gap:14px;display:flex}.control-note{font-size:11px}.dpad{grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,47px);gap:4px}.help{margin-top:17px}}@media (max-width:350px){.intro{display:none}.stage-nav button{gap:4px;padding:7px 5px;font-size:9px}.legend{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
