*{box-sizing:border-box}.maze-page{max-width:1320px;margin:20px auto;padding:0 16px;font-family:'Zen Maru Gothic',sans-serif;color:#123f68}.maze-page>h1{text-align:center;font-size:clamp(22px,3vw,34px);margin:12px}.maze-page>p{text-align:center}.expedition{container-type:size;position:relative;aspect-ratio:16/9;overflow:hidden;border:4px solid #fff;border-radius:26px;background:#087fc2 url('./assets/polar.webp') center/cover;box-shadow:0 8px 28px #15466b33;color:#123f68}.expedition [hidden]{display:none!important}.expedition button{font:900 1.7cqw/1.3 'Zen Maru Gothic',sans-serif;cursor:pointer;border:2px solid #b7dff4;border-radius:1.3cqw;color:#174b78;background:#fff;padding:.6cqw 1cqw;min-width:0;box-shadow:0 .25cqw 0 #87bad5;touch-action:manipulation}.expedition button:hover{background:#edfaff}.expedition button:active{box-shadow:none;transform:translateY(2px)}.expedition button:focus-visible{outline:4px solid #f57c00;outline-offset:3px}.expedition button:disabled{cursor:default;opacity:.43}.expedition button.primary{background:#f58218;color:#fff;border-color:#ffc074;box-shadow:0 .3cqw 0 #bc5712}.base{height:100%;display:flex;flex-direction:column;padding:1cqw 2cqw;gap:1cqw}.game-tools{display:flex;align-items:center;justify-content:space-between;gap:1cqw;flex:0 0 8%;min-height:0}.game-tools strong{font-size:1.85cqw;color:#fff;text-shadow:0 2px 3px #084f85}.game-tools>div{display:flex;gap:.55cqw}.game-tools button{font-size:1.2cqw;padding:.55cqw .75cqw;border-radius:1cqw}.cover{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2cqw}.cover-art{height:100%;position:relative}.cover-art img{position:absolute;object-fit:contain}.cover-tile{width:86%;height:60%;left:7%;bottom:4%;transform:perspective(600px) rotateX(35deg)}.cover-penguin{width:75%;height:86%;left:8%;bottom:12%}.cover-flag{width:29%;height:38%;right:1%;bottom:10%}.cover-copy{border:3px solid #fff;background:#fffffff2;border-radius:3cqw;padding:2.6cqw;text-align:center;box-shadow:0 .5cqw 0 #65acd8}.eyebrow{font-size:1.4cqw;font-weight:900;color:#246993;margin:0}.cover-copy h2{font-size:3.6cqw;line-height:1.35;color:#09649e;margin:.6cqw 0 1.5cqw}.cover-copy p{font-weight:700;font-size:1.65cqw;margin:.9cqw 0}.cover-copy .small{font-size:1.2cqw}.levels{display:flex;gap:.7cqw;margin:1.4cqw 0}.levels button{flex:1;font-size:1.35cqw}.levels button[aria-pressed=true]{background:#d5f1ff;border-color:#167fbc;box-shadow:0 .25cqw 0 #167fbc}.cover-copy #start{width:100%;font-size:2cqw}.game{flex:1;min-height:0;display:flex;flex-direction:column;gap:1cqw}.playfield{flex:1;min-height:0;display:grid;grid-template-columns:58% 1fr;gap:2cqw}.board-wrap{display:flex;flex-direction:column;align-items:center;min-height:0;gap:.4cqw}.board-heading{width:100%;display:flex;justify-content:space-around;gap:1cqw;font-weight:900;color:#fff;font-size:1.5cqw;text-shadow:0 2px 3px #04578d}.board{position:relative;height:calc(100% - 2.5cqw);aspect-ratio:1;max-width:100%;flex:none}.cells{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);height:100%;width:100%}.cell{position:relative;background:url('./assets/tile.webp') center/100% 100%}.cell.visited:after{content:'';position:absolute;inset:32%;border-radius:50%;background:#f29921aa;border:2px solid white}.cell img{position:absolute;inset:5%;width:90%;height:90%;object-fit:contain;z-index:1}.cell.goal img{inset:10% 0 0 35%;width:60%;height:75%}.cell.goal:before{content:'ゴール';position:absolute;left:4%;bottom:3%;font-size:1.05cqw;font-weight:900;background:#fff7e2;color:#a54600;border-radius:3px;z-index:3}.runner{position:absolute;width:20%;height:20%;left:0;top:0;z-index:5;pointer-events:none}.runner img{position:absolute;width:72%;height:83%;object-fit:contain;left:14%;bottom:2%;filter:drop-shadow(0 1px 0 #356b7f55)}.direction{position:absolute;inset:0;display:block;color:#e16d00;font-size:1.5cqw;line-height:1;text-align:center;z-index:6;transform-origin:50% 50%;text-shadow:1px 1px 0 #fff,-1px -1px 0 #fff;pointer-events:none}.controls{min-height:0;display:flex;flex-direction:column;gap:.65cqw;background:#fffffff2;border:3px solid #fff;border-radius:2cqw;padding:1.2cqw 1.6cqw;box-shadow:0 .45cqw 0 #73b5d6}.controls h2{font-size:1.8cqw;text-align:center;margin:0 0 .55cqw}.command-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.7cqw;margin-bottom:.8cqw}.command-buttons button{font-size:1.4cqw;padding:.65cqw .2cqw;display:flex;flex-direction:column;align-items:center;gap:.2cqw;background:#e9f8ff}.command-buttons b{font-size:2.4cqw;line-height:1}.command-buttons .forward{grid-column:1/-1;flex-direction:row;justify-content:center;gap:1cqw}.action-row{display:flex;gap:.65cqw;margin-bottom:.7cqw}.action-row button{flex:1;font-size:1.4cqw}.status{font-size:1.35cqw;line-height:1.45;font-weight:900;min-height:3.9cqw;margin:0;background:#e8f6fc;border-radius:1cqw;padding:.55cqw .7cqw}.trip-count{margin-top:auto;font-size:1.25cqw;text-align:center;font-weight:900}.controls #nextLevel{font-size:1.35cqw}.tape-wrap{flex:0 0 auto;background:#fffffff7;border:3px solid #fff;border-radius:1.7cqw;padding:.6cqw 1cqw 1cqw}.tape-title{display:flex;justify-content:space-between;font-size:1.25cqw;margin-bottom:.45cqw}.tape{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(18,1fr);gap:.3cqw}.tape li{position:relative;height:4.1cqw;border:2px dashed #b4d6e8;border-radius:.6cqw;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#184e77;background:#f1f8fc}.tape small{font-size:.85cqw;line-height:1}.tape b{font-size:2.1cqw;line-height:1.15}.tape li.filled{border-style:solid;background:#d8f3ff}.tape li.done{background:#d9f6d4;border-color:#72b866}.tape li.current{border-color:#e87409;background:#fff1bd;outline:2px solid #e87409}.tape li.failed{background:#ffe8df;border-color:#d9603a}.trophy{height:8cqw;width:10cqw;object-fit:contain;display:block;margin:auto}#result{text-align:center}#result h2{font-size:3.4cqw;color:#d86209;margin:0}#result p{font-size:1.6cqw;font-weight:900;margin:.5cqw}#result button{width:100%;margin:.4cqw 0;font-size:1.4cqw}.dialog{position:absolute;inset:0;background:#063457aa;z-index:20;display:grid;place-items:center;padding:2cqw}.dialog-card{width:min(68cqw,94%);max-height:100%;overflow:auto;background:#fffaf0;border:4px solid #fff;border-radius:2cqw;padding:2cqw;font-size:1.7cqw;overscroll-behavior:contain}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:1cqw}.dialog-head h2{font-size:2.4cqw;margin:0}.dialog-card p{line-height:1.65;margin:.8cqw 0}.dialog-card button{margin:.5cqw}.pause-penguin{display:block;object-fit:contain;height:14cqw;margin:auto}#pausePanel{text-align:center}#settingsPanel{display:grid;gap:1cqw}#settingsPanel label{margin-top:1cqw}#volume{width:100%;accent-color:#df720f}.parent-note{max-width:900px;margin:24px auto;line-height:1.8}.expedition:fullscreen{width:100vw;height:100dvh;aspect-ratio:auto;border:0;border-radius:0;background-color:#087fc2}@media(max-width:600px) and (orientation:portrait){.maze-page{padding:0 6px}.expedition{height:760px;aspect-ratio:auto;border-radius:18px;container-type:size}.base{padding:10px;gap:10px}.game-tools{flex:0 0 66px;flex-direction:column;justify-content:center;gap:7px}.game-tools strong{font-size:16px}.game-tools>div{width:100%;gap:4px}.game-tools button{font-size:11px;flex:1;padding:7px 1px;border-radius:8px}.cover{grid-template-columns:1fr;grid-template-rows:38% 1fr;gap:6px}.cover-copy{padding:15px;border-radius:22px}.cover-copy h2{font-size:31px;margin:5px}.cover-copy p{font-size:16px;margin:8px}.cover-copy .eyebrow,.cover-copy .small{font-size:12px}.levels{gap:6px;margin:12px 0}.levels button{font-size:13px}.cover-copy #start{font-size:20px}.expedition button{font-size:14px;border-radius:10px;padding:8px 5px;box-shadow:0 3px 0 #87bad5}.game{gap:9px}.playfield{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:8px}.board-heading{font-size:13px;line-height:20px}.board-wrap{gap:1px}.board{height:calc(100% - 22px)}.cell.goal:before{font-size:10px}.direction{font-size:15px}.controls{padding:8px 10px;gap:4px;border-radius:16px;display:grid;grid-template-columns:1fr 1fr}.controls #editPanel,.controls #result,.controls .status{grid-column:1/-1}.controls h2{font-size:15px;margin-bottom:4px}.command-buttons{grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:6px}.command-buttons .forward{grid-column:auto;flex-direction:column;gap:1px}.command-buttons button{font-size:11px;padding:4px 1px;gap:1px}.command-buttons b{font-size:24px}.action-row{display:inline-flex;width:calc(50% - 3px);gap:4px;margin:0}.action-row button{font-size:11px;padding:7px 1px}.status{min-height:34px;font-size:12px;padding:4px 6px;border-radius:7px}.trip-count{font-size:10px;margin:auto 0}.controls #nextLevel{font-size:11px;padding:6px 3px}.tape-wrap{padding:5px 8px 8px;border-radius:13px}.tape-title{font-size:11px;margin-bottom:3px}.tape{grid-template-columns:repeat(9,1fr);gap:3px}.tape li{height:32px;border-radius:5px}.tape small{font-size:8px}.tape b{font-size:17px}.trophy{height:44px;width:60px;float:left;margin:5px}#result h2{font-size:26px}#result p{font-size:12px;margin:2px}#result button{width:auto;font-size:12px;padding:7px;margin:4px}.dialog{padding:10px}.dialog-card{width:100%;padding:15px;border-radius:20px;font-size:15px}.dialog-head h2{font-size:22px}.dialog-card p{margin:12px 0}.dialog-card button{margin:5px}.pause-penguin{height:170px}#settingsPanel{gap:12px}.expedition:fullscreen{height:100dvh}}@media(orientation:landscape) and (max-height:500px){.expedition:fullscreen .game-tools button{font-size:1.4cqw}.expedition:fullscreen .tape li{height:3.7cqw}.expedition:fullscreen .controls{gap:.3cqw;padding:.7cqw 1.4cqw}.expedition:fullscreen .status{min-height:3.4cqw}.expedition:fullscreen .trophy{height:6cqw}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.board-heading strong,.board-heading span{background:#075689d9;border:1px solid #ffffff88;border-radius:999px;padding:0 .65cqw;text-shadow:none}

.board-wrap{min-width:0;container-type:size}.board{width:min(100cqw,calc(100cqh - 32px));height:auto;max-width:100%;aspect-ratio:1}.board-heading{font-size:clamp(13px,2.5cqw,22px);line-height:26px;white-space:nowrap}.cell.goal:before{font-size:clamp(10px,1.8cqw,14px)}.direction{font-size:clamp(14px,3cqw,22px)}.controls{min-width:0}@media(max-width:600px) and (orientation:portrait){.playfield{grid-template-columns:minmax(0,1fr)}.expedition .game-tools button{font-size:11px;padding:7px 1px;white-space:nowrap}.board{width:min(100cqw,calc(100cqh - 24px));height:auto}.board-heading{font-size:13px;line-height:20px}.tape li{height:32px}.expedition .tape li{border-style:solid}.expedition .tape small{font-size:9px}.cover-art{max-height:290px}}

@media(orientation:landscape) and (max-height:500px){.controls{gap:.3cqw;padding:.65cqw 1.3cqw}.controls h2{font-size:1.6cqw;margin-bottom:.4cqw}.command-buttons{gap:.4cqw;margin-bottom:.45cqw}.command-buttons button{padding:.4cqw .2cqw}.command-buttons b{font-size:2cqw}.action-row{margin-bottom:.4cqw}.action-row button{padding:.4cqw .5cqw}.status{min-height:3.2cqw;font-size:1.2cqw;padding:.35cqw .5cqw}.trip-count{font-size:1.1cqw}.controls #nextLevel{padding:.4cqw .5cqw;font-size:1.2cqw}#result{position:relative}#result .trophy{position:absolute;left:0;top:0;width:6cqw;height:6cqw}#result h2{font-size:2.8cqw;margin-left:6cqw}#result p{font-size:1.2cqw;margin:.15cqw 0 .4cqw 6cqw}#result button{font-size:1.2cqw;padding:.4cqw .5cqw;margin:.25cqw 0}.tape li{height:3.7cqw}.game-tools button{font-size:1.2cqw}}

@media(max-width:600px) and (orientation:portrait){.playfield{grid-template-rows:minmax(0,1fr) 220px}.controls{height:220px}}

@media(min-width:601px) and (min-height:501px){.expedition:fullscreen #result .trophy{height:5.5cqw}}
