:root{font-family:ui-rounded,'Hiragino Maru Gothic ProN','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;color:#314f42;background:#f6f5eb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 20%,#e1ebce 0,transparent 50%),#f6f5eb}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}button:focus-visible,a:focus-visible{outline:3px solid #bb633c;outline-offset:3px}header{max-width:1170px;margin:auto;padding:24px 35px;display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;color:#315644;font-weight:900;letter-spacing:2px}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:5px}header button,.actions button{background:#e8eadb;border-radius:24px;padding:12px 18px;font-size:12px}main{max-width:1080px;margin:12px auto 40px;display:grid;grid-template-columns:1fr 470px;gap:70px;padding:0 30px}aside{padding-top:25px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#768a70}h1{font-size:40px;line-height:1.5;letter-spacing:1px;margin:16px 0}p{line-height:1.8}.intro{font-size:14px;color:#768170}h2{font-size:16px;margin:0}.team{margin-top:32px}.team h2,.camp h2{display:flex;justify-content:space-between;align-items:center}.team h2 span,.camp h2 span{font-size:10px;color:#82917a;font-weight:400}.member{display:flex;align-items:center;gap:12px;margin-top:10px;padding:8px 12px;background:#ffffff8a;border:1px solid #e5e7d7;border-radius:18px}.member svg{width:50px;height:50px}.member strong{font-size:13px}.member p{margin:2px 0;font-size:11px;color:#758071}.member em{margin-left:auto;font-style:normal;font-size:23px;color:#879878}.camp{margin-top:28px}.landscape{height:94px;background:#e2e8cf;border-radius:18px;position:relative;overflow:hidden;margin-top:12px}.landscape:after{content:'';position:absolute;bottom:-28px;left:-20px;width:120%;height:65px;background:#c7d6ab;border-radius:50%}.sun{position:absolute;width:28px;height:28px;background:#f5d995;border-radius:50%;right:30px;top:13px}.tent{position:absolute;font-size:80px;line-height:1;color:#8d9e74;left:18px;bottom:5px;z-index:1}#friends{position:absolute;left:105px;right:15px;bottom:5px;z-index:2;display:flex;justify-content:space-around}#friends svg{width:48px;height:48px}#friends small{display:block;text-align:center;font-size:10px}.empty{opacity:.25;filter:grayscale(1)}.camp p{font-size:11px;color:#758071;margin:8px 0}.prototype{font-size:9px;letter-spacing:2px;color:#98a18c;margin-top:22px}.game{background:#fffef7;border:1px solid #e2e6d5;padding:23px;border-radius:30px;box-shadow:0 16px 60px #4b674410}nav{display:flex;gap:8px;margin-bottom:20px}nav button{padding:8px 14px;background:#f0f1e6;border-radius:20px;font-size:11px}nav button.active{background:#385b47;color:white}nav button:disabled{opacity:.45;cursor:default}.heading{display:flex;align-items:center;justify-content:space-between}.heading h2{font-size:23px}.heading .eyebrow{margin:0 0 7px}.moves{width:67px;text-align:center;background:#f1ecd8;border-radius:17px;padding:7px}.moves strong{display:block;font-size:26px;line-height:1.2}.moves span{font-size:9px}.goal{display:flex;justify-content:space-between;font-size:11px;background:#edf1e2;padding:11px 13px;border-radius:12px;margin-top:17px}#instruction{font-size:11px;color:#7a8772;margin:10px 0}.board-wrap{position:relative}#board{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;padding:10px;border-radius:20px;background:#d4dfc1;box-shadow:inset 0 2px 5px #5a714425;touch-action:none;user-select:none}.tile{aspect-ratio:1;border-radius:13px;background:#eaf0dc;padding:1px;position:relative;box-shadow:0 3px 0 #b6c69e;transition:filter .15s,transform .15s}.tile svg{display:block;width:100%;height:100%;pointer-events:none}.tile.t0{background:#efd8bf}.tile.t1{background:#f6e7af}.tile.t2{background:#d0e4de}.tile.vine{background:#aec48e;box-shadow:0 3px 0 #8fa873;cursor:default}.tile.dim{filter:brightness(.78) saturate(.7)}.tile.selected{transform:translateY(-3px);box-shadow:0 0 0 3px #fff7cd,0 5px 0 #adbb90;z-index:1}.tile.hit{box-shadow:0 0 0 3px #f7cb6b;z-index:1}.tile.pop{animation:pop .28s forwards}.tile.enter{animation:enter .25s both}.tile:active{transform:scale(.94)}@keyframes pop{to{transform:scale(.4) rotate(10deg);opacity:0}}@keyframes enter{from{transform:translateY(-8px);opacity:.5}to{transform:none;opacity:1}}#message{min-height:44px;text-align:center;font-size:12px;padding:13px 0 4px;font-weight:700}.actions{display:flex;justify-content:space-between;gap:10px}.actions button{background:#f0f0e6}.touch-note{font-size:9px;text-align:center;color:#8c9584;margin:12px 0 0}#saveNotice{font-size:10px;color:#94654b;margin:4px 0}#result{position:absolute;inset:0;background:#fffef3ed;border-radius:20px;text-align:center;padding:30px 18px;display:flex;flex-direction:column;justify-content:center;align-items:center;backdrop-filter:blur(4px)}#result[hidden]{display:none}#result svg{width:83px;height:83px;animation:enter .5s}#result h2{font-size:23px;margin:12px 0 4px}#result p{font-size:12px;margin:4px 0 16px}#result button,dialog button{padding:13px 26px;border-radius:25px;background:#3c644c;color:#fff;font-weight:700}dialog{max-width:400px;width:90%;border:0;border-radius:24px;background:#fffef7;color:#314f42;padding:28px;box-shadow:0 20px 100px #203d4140}dialog::backdrop{background:#263e4766}dialog p{font-size:13px}@media(max-width:800px){header{padding:17px 20px}main{display:flex;flex-direction:column-reverse;max-width:490px;padding:0 12px;gap:20px;margin-top:0}.game{padding:17px;border-radius:24px}aside{padding:0 8px}h1,.intro,aside>.eyebrow{display:none}.team{margin-top:0}.camp{margin-top:18px}.heading h2{font-size:21px}#board{gap:4px;padding:8px}.tile{border-radius:11px}.prototype{margin-top:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.mission{background:#eef1df;border-radius:16px;padding:12px 14px;margin-top:12px}.mission-title{display:flex;align-items:center;justify-content:space-between;font-size:12px}.mission-title span{font-size:11px;color:#78886a}.rescue-trail{height:64px;position:relative;margin-top:4px}.rescue-trail:before{content:'';position:absolute;left:8%;right:8%;height:8px;background:#d5dcc3;top:44px;border-radius:10px}#trailFill{position:absolute;height:8px;background:#8ba866;top:44px;left:0;border-radius:10px;transition:width .7s}#traveler{position:absolute;top:0;width:53px;height:53px;transform:translateX(-50%);transition:left .7s cubic-bezier(.2,.8,.2,1);z-index:1}#traveler svg{width:100%;height:100%}.exit{position:absolute;right:0;top:0;font-size:42px;line-height:1;color:#66844f}.exit small{font-size:9px;display:block;text-align:center}.mission p{font-size:10px;margin:0;color:#6a7b5a}.useful{color:#345f38;background:#e6efd9;border-radius:12px;margin:8px 0}.setup{color:#7e7157;background:#f1ebdf;border-radius:12px;margin:8px 0}.tile.untie{animation:untie .42s forwards}.tile.suggested:after{content:'';position:absolute;inset:3px;border:3px dashed #375f42;border-radius:50%;pointer-events:none}@keyframes untie{35%{transform:rotate(-9deg) scale(1.08);filter:brightness(1.3)}70%{transform:rotate(9deg)}100%{transform:scale(.8);opacity:.4}}.actions button{padding:11px 12px}.goal{display:none}@media(max-width:800px){.mission{padding:9px 12px}.rescue-trail{height:56px}.heading h2{font-size:20px}nav{margin-bottom:12px}#message{font-size:11px}}
.star{position:absolute;right:0;top:-5px;background:#fff1ac;border:2px solid #bf9347;color:#916122;border-radius:50%;font-size:15px;width:24px;height:24px;line-height:20px;box-shadow:0 2px 4px #76542435}.tile.ready{box-shadow:0 0 0 2px #d4a44e,0 3px 0 #b6c69e}.skill-scene{position:absolute;inset:0;pointer-events:none;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fff9dbaa;border-radius:20px;overflow:hidden}.skill-scene[hidden]{display:none}.performers{display:flex;justify-content:center;align-items:center}.performers svg{width:100px;height:100px;filter:drop-shadow(0 8px 2px #385b4720)}.skill-scene strong{background:#385b47;color:#fff;border-radius:20px;padding:10px 15px;font-size:13px}.type0 .performers{animation:dig .9s both}.type1 .performers{animation:fly .9s both}.type2 .performers{animation:hop .9s both}.combo .performers svg:first-child{animation:hop .9s both}.combo .performers svg:nth-child(2){animation:fly .9s both}.combo .performers svg:nth-child(3){animation:dig .9s both}@keyframes dig{0%{transform:translateX(-120px) rotate(-15deg)}45%{transform:translateX(0) rotate(10deg)}100%{transform:translateX(120px) rotate(-10deg)}}@keyframes fly{0%{transform:translateY(-110px) rotate(-15deg)}55%{transform:translateY(10px)}100%{transform:translateY(-40px) rotate(10deg)}}@keyframes hop{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-60px) scale(1.05)}70%{transform:translateY(5px) scale(1.15,.85)}}
#activeHero{display:flex;align-items:center;gap:8px;background:#f3eddc;border-radius:14px;margin-top:12px;padding:5px 10px}#activeHero svg{width:43px;height:43px}#activeHero strong{font-size:12px;display:block}#activeHero small{font-size:10px;display:block;margin-top:4px}#activeHero button{margin-left:auto;background:#fff9e9;border-radius:20px;padding:9px;font-size:11px}#heroPicker{max-width:460px;text-align:center}#heroChoices{display:flex;gap:10px;margin:20px 0}#heroChoices button{flex:1;min-width:0;background:#f0f0e3;border:2px solid transparent;border-radius:17px;padding:10px 4px;color:#314f42}#heroChoices button[aria-pressed=true]{border-color:#66804d;background:#e6edcf}#heroChoices svg{width:75px;max-width:100%;display:block;margin:auto}#heroChoices strong{display:block;font-size:14px}#heroChoices small{display:block;font-size:10px;margin-top:6px}#heroPicker .pickerNote{font-size:10px}#cancelHero{background:transparent;color:#6e7e65;padding:10px}#heroPicker>p{font-size:12px}.tile{transition:transform .22s,filter .15s}
.forecast-key{display:flex;justify-content:center;gap:12px;font-size:10px;color:#738266;margin:0 0 7px}.tile.forecast-clear{outline:3px solid #fffef5;outline-offset:-5px;filter:brightness(1.1);z-index:1}.tile.forecast-hit{outline:4px solid #e9b64c;outline-offset:-4px;z-index:1}.tile.forecast-charge:after{content:'★';position:absolute;inset:0;display:grid;place-items:center;font-size:30px;color:#a97424;text-shadow:0 0 4px white;background:#fff1bca0;border-radius:12px}.tile.forecast-from:before,.tile.forecast-to:before{content:'↔';position:absolute;bottom:0;left:0;right:0;background:#355d48dd;color:white;z-index:2;font-size:14px;border-radius:0 0 10px 10px}.tile.forecast-invalid{outline:3px dashed #aa7060;outline-offset:-3px}.tile.forecast-invalid:after{content:'×';position:absolute;inset:0;background:#f8e5df99;display:grid;place-items:center;font-size:30px;color:#994f3e;border-radius:12px}
#board{grid-template-columns:repeat(var(--cols,6),1fr)}.scorebar{display:flex;align-items:center;gap:10px;margin-top:12px;padding:9px 12px;background:#f7e9bf;border-radius:12px;flex-wrap:wrap}.scorebar strong{font-size:18px;color:#80622b}.scorebar span{font-size:11px}.scorebar small{font-size:9px;width:100%;color:#8e794f}.wide-board{gap:3px!important;padding:6px!important}.wide-board .tile{border-radius:9px}.wide-board .star{width:18px;height:18px;font-size:11px;line-height:14px}.wide-board .tile.forecast-charge:after{font-size:23px}@media(max-width:800px){main{padding:0 5px}.game{padding:12px 8px}.wide-board .tile{min-height:0}.forecast-key{gap:8px}.scorebar{margin-top:7px;padding:7px 10px}}

.tile.t6{background:#f3d5df}.tile.t7{background:#e5daf3}.tile.empty-tile{opacity:0}#chainCue{min-height:28px;text-align:center;font-weight:700;font-size:13px;color:#816329;padding:5px}.replaying #board,.replaying #levels,.replaying #activeHero button,.replaying #restart,.replaying #suggest{pointer-events:none}.replaying #result{display:none}

.power-icon{display:grid;place-items:center;width:100%;height:100%;font-size:42px;line-height:1}.rainbow{color:#fff;text-shadow:2px 0 #cc689b,-2px 0 #6aaee1,0 2px #83b36b,0 -2px #d5ab3c;background:conic-gradient(#f0a7c7,#b4a3e1,#90d0e0,#a8d486,#f2d46f,#f0a7c7);border-radius:50%}.firework{color:#ad6534;background:#f6d48d;border-radius:50%}.tile.ready:has(.rainbow){background:#f6eef7}

.tile.forecast-charge:after{content:attr(data-power)}

[hidden]{display:none!important}.adventure-map{max-width:880px;margin:15px auto 60px;padding:20px}.map-heading{text-align:center;margin-bottom:30px}.map-heading h1{font-size:36px;margin:12px 0}.map-heading h1:focus{outline:none}.map-heading>p:not(.eyebrow){font-size:14px;color:#75816b}.map-heading>span{display:inline-block;background:#dce7cb;padding:10px 22px;border-radius:24px;font-size:13px}.stage-path{position:relative;display:grid;gap:26px;padding:8px 20px}.stage-path:before{content:'';position:absolute;left:48px;top:50px;bottom:90px;border-left:5px dashed #b5c699}.stage-card{position:relative;display:flex;align-items:center;gap:24px;border:2px solid #e0e7d1;border-radius:25px;padding:24px 28px 24px 65px;margin-left:8px;background:#fffef5;box-shadow:0 9px 25px #5065410b}.stage-card:nth-child(2){margin-left:45px}.stage-card.recommended{border-color:#98ac73;background:#fbffe9}.stage-marker{position:absolute;left:-22px;top:50%;transform:translateY(-50%);width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#688855;color:white;border:5px solid #edf2de;font-weight:bold;font-size:20px}.stage-art{width:125px;flex-shrink:0;text-align:center}.stage-art svg{width:100px;display:block;margin:auto}.stage-art span{font-size:10px;color:#7c896e}.stage-detail{flex:1}.stage-detail h2{margin:4px 0 10px;font-size:22px}.stage-detail>p:not(.eyebrow){font-size:12px;color:#718064;margin:8px 0}.stage-detail button{margin-top:8px;background:#42664e;color:white;border-radius:14px;padding:13px 25px}.stage-card.locked{background:#e9edde}.locked .stage-art{opacity:.5}.locked .stage-marker{background:#a1ab95}.stage-detail button:disabled{background:#d7decb;color:#78856b;cursor:default}.map-footer{text-align:center;font-size:12px;color:#7c896e;margin-top:24px}.map-footer button{background:#fff9eb;color:#47644e;border:1px solid #cbd5bd;border-radius:15px;padding:13px 24px}.departure-stage{background:#e9efd9;padding:12px;border-radius:12px;font-weight:bold}#levels{display:flex;align-items:center;justify-content:space-between}#stagePosition{font-size:11px;color:#7b866c}#backToMap{background:#e9efdc;border-radius:18px;padding:10px 15px;color:#45664f}
@media(max-width:600px){.adventure-map{padding:12px 14px;margin-top:0}.map-heading h1{font-size:28px}.map-heading>p:not(.eyebrow){font-size:12px}.stage-path{padding:5px 4px 5px 16px;gap:20px}.stage-path:before{left:23px}.stage-card,.stage-card:nth-child(2){margin-left:8px;padding:18px 12px 18px 32px;gap:10px}.stage-art{width:68px}.stage-art svg{width:65px}.stage-art span{font-size:9px}.stage-detail h2{font-size:17px}.stage-detail .eyebrow{font-size:9px}.stage-detail button{padding:12px 10px;width:100%;font-size:12px}.stage-marker{left:-19px;width:38px;height:38px;font-size:15px}.stage-detail>p:not(.eyebrow){font-size:10px}}

#result .result-actions{display:flex;flex-direction:column;gap:18px;width:min(100%,290px);margin:20px auto 0;padding:0 8px}#result .result-actions button{display:block;width:100%;min-height:52px;margin:0;padding:14px 16px;flex-shrink:0}.actions{gap:12px;flex-wrap:wrap}.actions button{min-height:44px}@media(max-width:600px){.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}#result{overflow-y:auto;padding:20px 12px}#result h2{margin:12px 0}#result .result-actions{gap:18px;margin-top:18px}}

.tile.forecast-from{outline:3px solid #355d48;outline-offset:-3px}.tile.forecast-to{box-shadow:inset 0 0 0 4px #e9b64c}.tile.forecast-from:before{content:"ここから";font-size:9px}.tile.forecast-to:before{content:"ここへ";font-size:9px}

.tile.drag-held{z-index:5;transition:none;filter:drop-shadow(0 5px 4px #304d4566) brightness(1.08);outline:3px solid #fff8d5;outline-offset:-3px}.tile.drag-peer{z-index:3;transition:none;opacity:.85}.tile.drag-destination{outline:3px solid #92ac62;outline-offset:-3px}#board{isolation:isolate;touch-action:none}.tile{transition:transform .18s ease-out,filter .15s} @media(prefers-reduced-motion:reduce){.tile{transition-duration:.01s}}

.tile.chain-vine{background:#c9b9d8;box-shadow:0 3px 0 #9b83b3}.tile.chain-blocked{outline:3px dashed #765599;outline-offset:-3px}

#result{overflow-y:auto;justify-content:flex-start}.ranking-result{width:100%;font-size:11px;text-align:left}.ranking-result ol{padding-left:0;list-style:none;margin:7px 0 14px}.ranking-result li{padding:3px}.my-rank{background:#e2ecd1;font-weight:bold}.ranking-result small{display:block;margin-bottom:12px}

#countdown{text-align:center;width:240px}#countdownText{font-size:80px}#countdown::backdrop{background:#f6f5eb}#accountDialog input{display:block;box-sizing:border-box;width:100%;padding:12px;margin:8px 0 12px;font:inherit;border:1px solid #aaa;border-radius:8px}#accountDialog form{margin:20px 0}#accountDialog button{margin:5px 0}#recoveryCode{font-family:monospace;font-size:12px}#accountButton{padding:12px 22px;border-radius:20px;background:#42664e;color:white}#startError{color:#98482d}
.data-notice{border-top:1px solid #dce5d8;margin-top:20px;padding-top:16px}.data-notice h3{font-size:14px}.data-notice p,#deleteConfirm p{font-size:11px;line-height:1.7}#deleteData{background:#f2e3de!important;color:#8b3f31!important}#deleteConfirm{border:1px solid #d9a99d;border-radius:12px;padding:12px;margin:10px 0}#confirmDelete{background:#9b4335!important}
#accountDialog{max-height:90vh;overflow-y:auto}

.free-card{display:flex;align-items:center;gap:24px;padding:24px;margin:16px 0 28px;border:1px solid #cbd9be;border-radius:22px;background:#f3f4e6}.free-card h2{margin:4px 0 8px}.free-card p{font-size:13px}.free-card small{font-size:11px;color:#64745f}.free-card button{flex-shrink:0;min-height:48px;background:#42664e;color:white;border-radius:16px;padding:14px 18px}#freeSettings select{display:block;width:100%;font:inherit;padding:12px;border:1px solid #cbd9be;border-radius:12px;background:#fffdf6;margin-top:8px}#freeSettings[hidden],.mission[hidden],.forecast-key[hidden]{display:none}@media(max-width:600px){.free-card{display:block;padding:18px}.free-card button{width:100%;margin-top:16px}}

#moveTime{padding:8px 4px;color:#42624c;font-size:12px;font-weight:700}#moveTime[hidden]{display:none}.move-time-track{height:6px;background:#dce5cf;border-radius:10px;margin-top:6px;overflow:hidden}#moveTimeFill{height:100%;width:100%;background:#83a95e;border-radius:10px}.tile.path-held{z-index:8;box-shadow:0 7px 15px #294c4855;transition:none!important;outline:3px solid #fff8cb}.tile.path-trail{box-shadow:inset 0 0 0 2px #7eaa6688}

.map-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.map-controls button{min-height:44px;padding:11px 18px;border-radius:20px;background:#42664e;color:#fff}.map-controls #rankingButton{background:#e1eacb;color:#315644}.stage-chapter{z-index:1;margin:12px 0 0 8px;padding:12px 18px;background:#e6efd8;border-radius:16px;font-size:15px}.stage-path:before{z-index:0}#rankingDialog,#feedbackDialog{max-height:85vh;overflow-y:auto}#rankingDialog form,#feedbackDialog form{display:grid;gap:12px;margin:16px 0}#rankingDialog label,#feedbackDialog label{display:block;font-size:12px;font-weight:700}#rankingDialog input,#rankingDialog select,#feedbackDialog select,#feedbackDialog textarea{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #aab99a;border-radius:10px;background:#fff;font:inherit;color:#314f42}#rankingList{max-height:36vh;overflow:auto}#feedbackLater{margin-left:8px;background:#e8eadb;color:#314f42}#enemyStatus{display:inline-block;margin-top:6px;padding:6px 12px;border-radius:15px;background:#e6dcef;color:#5d3f71;font-weight:700;font-size:11px}.enemy-hit{animation:enemyHit .4s ease-out}@keyframes enemyHit{50%{transform:scale(1.12);background:#f4d0d6}}@media(max-width:600px){.stage-chapter{margin-left:0}.map-controls button{flex:1}}

#activeHero[data-mood="proud"]>svg{animation:hero-proud .45s ease-out}#activeHero[data-mood="wow"]>svg{animation:hero-wow .4s ease-out}#activeHero[data-mood="happy"]>svg{animation:hero-proud .5s ease-out}.skill-flash{outline:3px solid #ffe28d;filter:brightness(1.25)}.rescue-done{background:#e6f0c8;box-shadow:0 0 22px #d8d899}.rescue-done #traveler{animation:hero-proud .5s ease-out}@keyframes hero-proud{50%{transform:translateY(-7px) rotate(-7deg)}}@keyframes hero-wow{50%{transform:scale(1.15) rotate(6deg)}}@media(prefers-reduced-motion:reduce){#activeHero>svg,.rescue-done #traveler{animation:none!important}}

.quick-guide{display:grid;gap:4px;margin:8px 0 12px;padding:11px 13px;background:#f0f4e7;border:1px solid #d6e3c9;border-radius:13px;font-size:11px;line-height:1.45;color:#43634b}.quick-guide strong{font-size:12px}.ranking-result small{font-size:10px;color:#657b66}

#board,#board .tile{touch-action:none;-webkit-user-select:none;user-select:none}#board{overscroll-behavior:contain}

/* Focus the game on the viewport after the player presses Start. */
body.game-session{overflow:hidden}
body.game-session>header,body.game-session #adventurePlay aside{display:none}
body.game-session #adventurePlay{position:fixed;z-index:20;inset:0;display:flex;justify-content:center;width:100vw;max-width:none;height:100dvh;margin:0;padding:max(4px,env(safe-area-inset-top)) 4px max(4px,env(safe-area-inset-bottom));overflow:hidden;background:#f6f5eb}
body.game-session #adventurePlay .game{display:flex;flex-direction:column;width:min(100%,490px);height:100%;min-height:0;margin:0;padding:7px 8px;border:0;border-radius:0;overflow:hidden;box-shadow:none}
body.game-session #levels{flex:none;margin:0 0 4px}
body.game-session #levels button{min-height:32px;padding:5px 10px}
body.game-session .heading{flex:none}
body.game-session .heading h2{font-size:17px;line-height:1.2}
body.game-session .heading .eyebrow{margin-bottom:2px}
body.game-session .moves{padding:3px;width:52px}
body.game-session .moves strong{font-size:18px}
body.game-session .scorebar{flex:none;margin:4px 0;padding:4px 8px;gap:8px}
body.game-session .scorebar small,body.game-session #biggest,body.game-session #activeHero,body.game-session #instruction,body.game-session .quick-guide,body.game-session .touch-note{display:none}
body.game-session .mission{flex:none;margin:3px 0;padding:5px 9px}
body.game-session .rescue-trail{display:none}
body.game-session .mission p{font-size:10px}
body.game-session .board-wrap{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}
body.game-session #moveTime{flex:none;padding:3px 2px;font-size:10px}
body.game-session .move-time-track{margin-top:3px;height:4px}
body.game-session #chainCue{flex:none;min-height:22px;padding:2px;font-size:11px}
body.game-session #board{flex:none;height:calc(100% - 51px);max-height:calc((100vw - 16px)*4/3);width:auto;max-width:min(100%,490px);aspect-ratio:3/4;grid-template-rows:repeat(8,minmax(0,1fr));gap:3px;margin:0 auto;padding:5px}
body.game-session #message{flex:none;min-height:26px;padding:3px 0;font-size:10px}
body.game-session .actions{display:grid;flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
body.game-session .actions button{min-height:39px;padding:4px 2px;font-size:10px;line-height:1.2}
body.game-session #saveNotice{flex:none;margin:0}
body.game-session #result{overflow-y:auto}
body.game-session .heading .eyebrow,body.game-session .scorebar,body.game-session #chainCue{display:none}
body.game-session #chainCue.chain-cue-live{display:block;position:absolute;z-index:5;top:0;left:50%;transform:translateX(-50%);min-height:0;margin:0;padding:5px 12px;border:1px solid #d2b570;border-radius:16px;background:#fff6d7e8;box-shadow:0 3px 12px #60532b38;color:#65491a;font-size:12px;white-space:nowrap;pointer-events:none}
body.game-session #board{width:min(100%,480px,max(160px,calc((100dvh - 225px)*.75)));height:auto;max-height:none;grid-template-columns:repeat(var(--cols,6),minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr))}
body.game-session #board .tile{min-width:0;min-height:0;aspect-ratio:auto}
body.game-session .moves{height:36px;padding:2px}
body.game-session .moves strong{font-size:15px;line-height:1.1}
body.game-session .moves span{font-size:8px}
body.game-session .mission{margin:2px 0;padding:4px 7px}
body.game-session .mission p{display:none}
body.game-session #enemyStatus{margin-top:2px;padding:3px 8px;font-size:10px;line-height:1.2}
body.game-session .mission:not([hidden]) ~ .board-wrap #board{width:min(100%,480px,max(160px,calc((100dvh - 255px)*.75)))}
body.game-session .tile.moko-blocked{filter:saturate(.7);box-shadow:inset 0 0 0 3px #7e568b,0 3px 0 #8fa873}
body.game-session .tile.moko-blocked:after{content:'モ';position:absolute;inset:7%;display:grid;place-items:center;border-radius:50%;background:#d5ade2e8;color:#593265;font-size:clamp(18px,7vw,32px);font-weight:900;pointer-events:none;box-shadow:0 2px 6px #46304a60}
