*{box-sizing:border-box}body{margin:0;background:#102e3c;color:#233238;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;font-size:16px}header{max-width:1320px;margin:auto;color:#fff5dc;padding:24px 28px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}header small{font-size:13px;letter-spacing:.14em;color:#ddbd74}h1{font-family:serif;font-size:32px;margin:6px 0}h1 span{font-family:sans-serif;font-size:14px;display:inline-block;margin-left:16px;color:#ead29d}button,select{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:12px 18px;background:#efe5cb;color:#3a3627;font-weight:650}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #d88723;outline-offset:4px}main{max-width:1320px;margin:auto;padding:0 24px 24px;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.board{position:relative;border:1px solid #93b9b4;border-radius:20px;background:#bbd7d4;overflow:hidden}.map-top{position:absolute;left:22px;right:22px;top:18px;display:flex;justify-content:space-between;gap:10px;font-size:14px;font-weight:650;color:#264f52}svg{display:block;width:100%;height:auto;min-height:360px}svg text{font-family:inherit}.legend{text-align:center;padding:0 12px 16px;font-size:13px;color:#315b5c}aside{display:flex;flex-direction:column;gap:14px}.stats{display:flex;justify-content:space-between;background:#fcf5e6;padding:18px 20px;border-radius:16px;font-size:14px}.stats strong{display:block;font-size:26px;margin-top:6px}.action{background:#fcf5e6;border-radius:16px;text-align:center;padding:12px 20px}.dice{font-size:66px;line-height:1.2;color:#a4402d;min-height:80px}.primary{background:#a7422d;color:white;width:100%;box-shadow:0 4px 0 #7e3021;padding:15px 20px}.primary:hover{background:#bf5239}.action p{font-size:14px;line-height:1.6;color:#6c695a;margin:12px 0 0}.basket{background:#fcf5e6;border-radius:16px;padding:20px;flex:1}h2{font-size:17px;margin:0 0 12px}.basket h2 span{float:right;color:#986624}.ingredient{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #e7deca;color:#8c8678;font-size:14px}.ingredient.have{color:#235b3e;font-weight:650}.ingredient em{font-style:normal;font-size:12px}.quiet{background:transparent;color:#d4ddd9;font-size:14px;padding:6px}.conversation{background:#fcf5e6;border-radius:16px;display:flex;align-items:center;gap:18px;padding:16px 22px;min-width:0}.faces{display:flex;flex:0 0 180px;align-items:center}.faces img{width:95px;height:125px;object-fit:contain}.faces img+img{margin-left:-10px;width:95px;height:100px;border-radius:12px}.speaker{font-size:12px;font-weight:bold;color:#a7422d;margin:0 0 3px}.speaker.otomo{color:#2e756d;margin-top:10px}.conversation p:not(.speaker){font-size:15px;line-height:1.7;margin:0}.journal{background:#1b3c48;color:#e8efeb;padding:18px;border-radius:16px}.journal h2{color:#dabe7f;font-size:14px}.journal p{font-size:13px;line-height:1.6;margin:7px 0}footer{text-align:center;font-size:12px;color:#a6b8bb;padding:0 20px 20px}dialog{background:#fff9ed;border:1px solid #d1b97e;border-radius:22px;padding:26px;width:min(530px,94vw);max-height:90vh;color:#293a38}dialog::backdrop{background:#09232dcc;backdrop-filter:blur(4px)}dialog h2{font-size:25px;font-family:serif}dialog p{line-height:1.8}dialog .portrait{float:right;width:125px;height:140px;object-fit:contain;margin:0 0 12px 12px}dialog .shoprow{border-top:1px solid #ded6bf;padding:14px 0;display:flex;gap:12px;align-items:center;justify-content:space-between}dialog .shoprow small{display:block;font-size:13px;color:#796d52;margin-top:5px}dialog .close{width:100%;margin-top:18px;background:#254e4d;color:white}.notice{background:#eee4c9;padding:12px;border-radius:10px;font-size:14px}.win{text-align:center;font-size:64px}.pot{font-size:50px;text-align:center}.map-node{filter:drop-shadow(0 2px 2px #274c492a)}@media(max-width:950px){main{grid-template-columns:minmax(0,1fr) 265px;padding:0 14px 18px;gap:12px}.faces{flex-basis:100px}.faces img{width:65px}.faces img+img{width:55px}.conversation{padding:14px;gap:10px}h1{font-size:26px}}@media(max-width:700px){header{padding:16px}h1{font-size:25px}h1 span{display:block;margin:5px 0 0}main{grid-template-columns:1fr}.board{order:0}aside{order:1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.stats{grid-column:1/-1;padding:12px 18px}.stats strong{display:inline;margin-left:12px;font-size:23px}.basket{padding:14px}.basket h2{font-size:15px}.ingredient{font-size:13px;padding:7px 0}.quiet{grid-column:1/-1}.conversation{order:2}.journal{order:3}.map-top{font-size:12px;left:14px;right:14px}svg{min-height:0}.legend{font-size:12px}.faces{flex-basis:100px}dialog{padding:20px}.action{padding:20px 12px}}@media(prefers-reduced-motion:no-preference){#pawn{transition:transform .5s ease}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #7e3021}}
.header-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.header-controls button{font-size:14px;padding:10px 13px}.volume-label{display:flex;gap:6px;align-items:center;font-size:13px;color:#efdfbb}.volume-label input{width:75px;accent-color:#dbb766}#bgm-toggle[aria-pressed="true"]{background:#dabb72;color:#253e3a}@media(max-width:950px){header{align-items:flex-start}.header-controls{max-width:230px}.volume-label{order:3}}@media(max-width:480px){header{flex-wrap:wrap}.header-controls{max-width:none;justify-content:flex-start}.volume-label{order:0}}

.shrine-stage{position:relative;background-size:cover;background-position:center;height:340px;border-radius:18px 18px 0 0;overflow:hidden;background-color:#617e71}.shrine-label{position:absolute;top:15px;left:20px;background:#152e35d9;color:#fff4d2;padding:10px 18px;border-radius:10px}.shrine-label span{font-size:13px}.shrine-label h2{margin:4px 0;font-size:28px}.shrine-cast{position:absolute;bottom:0;right:12px;display:flex;align-items:flex-end}.shrine-cast figure{margin:0;text-align:center}.shrine-cast img{height:205px;width:180px;object-fit:contain;filter:drop-shadow(0 4px 5px #0005)}.shrine-cast figure+figure img{height:160px;width:140px;border-radius:14px}.shrine-cast figcaption{background:#fff4d6e8;color:#29443c;border-radius:7px;padding:4px 12px;margin:0 18px 10px;font-weight:bold;font-size:14px}.shrine-dialog{padding:0;width:min(760px,96vw)}.shop-content{padding:22px}.shop-stock{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.shop-stock .shoprow{align-items:flex-start;font-size:15px}.shop-stock .shoprow button{padding:9px 14px}.trade-row{background:#efe0b8;border-radius:10px;padding:15px!important}.route-option{display:block;width:100%;margin:12px 0;text-align:left;background:#ede3c9;line-height:1.7}.route-option small{display:block;font-size:14px;color:#536451;margin-top:5px}.event-otomo{width:105px;height:105px;object-fit:contain;border-radius:18px;float:right;margin:0 0 14px 10px}.inn-otomo{width:85px;height:85px;object-fit:contain;float:right;border-radius:12px}.item-button{font-size:13px;padding:10px;width:100%;margin-top:12px;background:#e2e9d5}@media(max-width:550px){.shrine-stage{height:300px}.shop-stock{grid-template-columns:1fr}.shrine-cast img{width:140px;height:170px}.shrine-cast figure+figure img{width:115px;height:130px}}

#account-form label{display:block;margin:16px 0;font-size:15px}#account-form input{display:block;width:100%;font:inherit;padding:12px;border:1px solid #bbb9a2;border-radius:8px;margin-top:7px}#account-error{color:#a13a2b;min-height:20px;font-size:14px}#account-dialog .account-switch{color:#3d625e;width:100%;padding:14px}

.rat-panel{background:#eadedc;border-radius:14px;padding:12px;display:flex;align-items:center;gap:9px}.rat-panel img{width:66px;height:76px;object-fit:contain}.rat-panel h2{font-size:14px;line-height:1.6;margin:0}.rat-panel h2 span{white-space:nowrap;color:#713746}.rat-panel p{font-size:13px;line-height:1.6;margin:4px 0 0}@media(max-width:700px){.rat-panel{grid-column:1/-1;grid-row:2}.basket{grid-column:2;grid-row:3}.action{grid-row:3}.rat-panel img{height:60px;width:55px}}

.shopkeeper{margin:12px auto 20px;text-align:center;max-width:300px}.shopkeeper-portrait{width:100%;aspect-ratio:1;background-image:url('assets/characters/himawari/kingyo-cast.png');background-size:400% 300%;border:4px solid #e3c579;border-radius:24px;box-shadow:0 8px 24px #523d2022}.shopkeeper.yui .shopkeeper-portrait{background-position:100% 100%}.shopkeeper.yuki .shopkeeper-portrait{background-position:100% 50%;border-color:#a6c9de}.shopkeeper figcaption{font-weight:bold;padding:10px;font-size:18px}

.merchant-dialog{width:min(900px,94vw);max-width:94vw;padding:0;overflow:auto;background:#fff8e9}.merchant-scene{min-height:340px;background-size:cover;background-position:center;position:relative;padding:24px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.dango-scene{background-image:url('assets/shops/dango.png')}.tools-scene{background-image:url('assets/shops/tools.png')}.merchant-heading{align-self:flex-start;background:#fff8e9ed;padding:12px 20px;border-radius:12px;border-bottom:3px solid #c7983d;color:#3b4635}.merchant-heading h2{margin:5px 0;font-size:28px}.merchant-scene .shopkeeper{margin:0;width:200px;flex-shrink:0}.merchant-scene figcaption{background:#fff8e9ed;border-radius:12px;color:#354b3e}.merchant-menu{padding:22px 30px}.merchant-speech{font-size:18px;line-height:1.8}.merchant-menu .route-option{margin:8px 0}.merchant-menu .notice{background:#f2e8cc;padding:12px;border-radius:10px}@media(max-width:600px){.merchant-scene{min-height:285px;padding:14px;gap:8px}.merchant-heading{padding:10px}.merchant-heading h2{font-size:21px}.merchant-scene .shopkeeper{width:140px}.merchant-menu{padding:18px}.merchant-speech{font-size:16px}}

.shopkeeper.yui .shopkeeper-portrait{background-image:url('assets/characters/himawari/kingyo-sun-cast.png');background-position:66.666667% 0%}

.shopkeeper.yui .shopkeeper-portrait{background-image:url('assets/characters/himawari/yui-dango.png');background-size:cover;background-position:center}

.merchant-scene{min-height:430px;background-position:center;align-items:flex-end}.merchant-scene .shopkeeper{width:165px}.merchant-heading{max-width:65%;padding:9px 14px}.merchant-heading h2{font-size:24px}@media(max-width:600px){.merchant-scene{min-height:330px}.merchant-scene .shopkeeper{width:120px}.merchant-heading h2{font-size:19px}}

.shopkeeper.yuki .shopkeeper-portrait{background-image:url('assets/characters/himawari/yuki-charm.png');background-size:cover;background-position:center}

.home-shrine{text-align:center;background:linear-gradient(#fff6d5,#f3d799);padding:20px;border-radius:18px}.home-cast{display:flex;justify-content:center;gap:12px}.home-cast img{width:32%;max-height:230px;object-fit:contain}.ending-dialog{width:min(1100px,96vw);max-width:96vw;padding:18px;background:#162b31;color:#fff4d7}.ending-dialog video{display:block;width:100%;max-height:75vh}.ending-controls{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.ending-dialog::backdrop{background:#000c}

.inn-scenery{width:100%;border-radius:18px;margin-bottom:14px}.home-shrine{background:linear-gradient(#fff5,#fffD),url(assets/shrines/ebisu.png) center/cover;padding:30px;border-radius:20px}

/* Expanded map: preserve readable node sizes with horizontal scrolling. */
#map{min-width:1100px;width:100%;height:auto} .map-wrap,.map-panel{overflow:auto}

.board{overflow:auto;min-width:0}

/* Keep shrine scenery visible; purchasing lives below the illustration. */
.shrine-dialog{width:min(1100px,96vw);max-width:96vw;padding:0;overflow:auto}
.shrine-stage{position:relative;aspect-ratio:16/9;min-height:0;background-size:cover;background-position:center}
.shrine-cast{position:absolute;right:3%;bottom:8px;left:auto;display:flex;align-items:flex-end;gap:10px}
.shrine-cast figure{margin:0;width:120px}.shrine-cast img{width:100%;height:165px;object-fit:contain}.shrine-cast figcaption{font-size:13px;background:#fff9e9e6;border-radius:8px;padding:4px;text-align:center}
.shrine-label{position:absolute;top:15px;left:15px;max-width:65%;padding:10px 16px;background:#fff9e9dd;border-radius:12px}.shrine-label h2{font-size:23px;margin:3px 0}.shop-content{padding:20px 28px}
@media(max-width:600px){.shrine-cast figure{width:68px}.shrine-cast img{height:92px}.shrine-label{top:8px;left:8px;padding:6px 10px}.shrine-label h2{font-size:17px}.shrine-label span{font-size:11px}.shop-content{padding:16px}}

.board{align-self:start}.map-viewport{overflow:auto;max-height:75vh;padding-top:40px}.map-top{z-index:1;background:#bbd7d4;padding:8px;border-radius:8px}

.scene-pair{position:absolute;right:5%;bottom:6%;width:39%;filter:drop-shadow(0 9px 5px #251b2460)}.scene-pair img{display:block;width:100%;height:auto;border-radius:0;background:transparent}.scene-pair:before{content:"";position:absolute;bottom:0;left:12%;width:78%;height:7%;background:#30271e55;filter:blur(7px);border-radius:50%;z-index:-1}.home-cast img{width:60%;max-height:280px}

.official-pair{position:absolute;right:4%;bottom:5%;width:40%;display:flex;align-items:flex-end;gap:6px}.official-pair img{background:transparent;border:0;border-radius:0;object-fit:contain;height:auto}.official-pair .official-god{width:66%;mix-blend-mode:normal}.official-pair .official-otomo{width:32%}

.official-pair.inn-pair{right:15%;bottom:20%;width:34%}

/* Whole-board layout: no page or map scrolling. */
html,body{height:100%;overflow:hidden}body{display:grid;grid-template-rows:58px minmax(0,1fr) 18px;font-size:13px;background:#173e46}header{width:100%;max-width:none;padding:6px 12px;align-items:center;gap:8px}header small{font-size:9px}h1{font-size:22px;margin:2px 0;white-space:nowrap}h1 span{font-size:10px;margin-left:6px;display:inline}.header-controls{max-width:none;gap:4px;flex-wrap:nowrap}.header-controls button{font-size:11px;padding:7px 8px}.volume-label{display:none}main{width:100%;max-width:none;min-height:0;padding:0 8px 6px;grid-template-columns:minmax(0,1fr) 270px;grid-template-rows:minmax(0,1fr) 76px;gap:7px}.board{align-self:stretch;min-height:0;overflow:hidden;display:grid;grid-template-rows:32px minmax(0,1fr) 23px;border-radius:15px}.map-top{position:static;padding:5px 8px;font-size:10px;border-radius:0;align-items:center}.map-viewport{overflow:hidden;max-height:none;min-height:0;padding:0;display:flex;align-items:center}#map{width:100%;height:100%;min-width:0;min-height:0;max-height:100%;object-fit:contain}.legend{padding:3px;font-size:9px;white-space:nowrap}aside{grid-column:2;grid-row:1/3;min-height:0;display:flex;gap:5px;overflow:hidden}.stats{padding:6px 10px;border-radius:10px;font-size:11px}.stats strong{display:inline;margin:0 0 0 8px;font-size:19px}.action{padding:5px 8px;display:grid;grid-template-columns:40px 1fr;gap:4px;border-radius:10px}.dice{font-size:32px;min-height:0;line-height:1}.primary{font-size:13px;padding:7px;box-shadow:none}.action p{grid-column:1/-1;font-size:10px;line-height:1.2;margin:2px}.item-button{font-size:10px;padding:5px;margin:0;grid-column:1/-1}.rat-panel{padding:4px 7px;gap:5px;border-radius:10px}.rat-panel img{width:36px;height:42px}.rat-panel h2{font-size:10px;line-height:1.2}.rat-panel p{font-size:10px;line-height:1.25;margin:2px 0}.basket{flex:0;padding:7px 9px;border-radius:10px}.basket h2{font-size:12px;margin:0 0 4px}#ingredients{display:grid;grid-template-columns:1fr 1fr;gap:0 7px}.ingredient{gap:2px;font-size:10px;padding:4px 0;white-space:nowrap}.ingredient em{font-size:8px}#travel-items{font-size:10px;margin:1px 6px;color:#fff4d6}#shrine-goals{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.basket p{font-size:9px;line-height:1.3;margin:4px 0 0}.quiet{font-size:10px;padding:2px}.conversation{grid-column:1;grid-row:2;padding:5px 8px;gap:5px;border-radius:10px;overflow:hidden}.faces{flex:0 0 65px}.faces img{width:40px;height:64px}.faces img+img{width:35px;height:48px;margin-left:-8px}.conversation .speaker{font-size:9px;margin:0}.conversation .speaker.otomo{margin-top:3px}.conversation p:not(.speaker){font-size:10px;line-height:1.4}.journal{display:none}footer{font-size:8px;white-space:nowrap;overflow:hidden;padding:1px 5px}footer br{display:none}
@media(max-width:650px){body{grid-template-rows:52px minmax(0,1fr) 16px}main{grid-template-columns:minmax(0,1fr) 220px;gap:4px;padding:0 4px 4px}.header-controls button{font-size:9px;padding:5px}h1{font-size:17px}h1 span,header small{display:none}.ingredient{font-size:9px}.map-top{font-size:9px}.legend{font-size:7px}.basket{padding:5px}.conversation p:not(.speaker){font-size:9px}}
@media(max-height:700px){main{grid-template-rows:minmax(0,1fr) 60px}aside{gap:3px}.ingredient{padding:2px 0}.basket{padding:5px 7px}.rat-panel img{height:32px}.action{gap:2px}.stats{padding:4px 8px}}

/* Inventory opens as its own screen; the entire board stays visible. */
main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 102px;gap:6px}.board{grid-column:1;grid-row:1}.conversation{display:none}aside{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr 1.3fr 1fr;grid-template-rows:42px 54px;gap:4px;overflow:visible}.stats{grid-column:1;grid-row:1}.action{grid-column:2;grid-row:1/3;grid-template-columns:32px 1fr;padding:4px 8px}.rat-panel{grid-column:3;grid-row:1/3}.rat-panel img{width:45px;height:54px}#inventory-open{grid-column:1;grid-row:2;font-size:12px;padding:5px;background:#f6d88d}#restart{display:none}#inventory-dialog{width:min(680px,95vw);padding:18px;max-height:96vh}#inventory-dialog .basket{padding:8px}#inventory-dialog #ingredients{grid-template-columns:1fr 1fr}#inventory-dialog .ingredient{font-size:13px;padding:7px 0}#inventory-dialog #travel-items{color:#30483b;font-size:12px}#inventory-dialog .close{margin-top:8px;padding:9px}#inventory-dialog h2{font-size:18px;margin-bottom:8px}#inventory-dialog #shrine-goals{grid-template-columns:repeat(3,1fr)}#inventory-dialog #shrine-goals .ingredient{font-size:10px}#inventory-dialog .basket p{font-size:11px}.map-top{font-size:11px}.legend{font-size:11px}
@media(max-width:650px){main{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 108px}.stats{font-size:9px}.stats strong{font-size:14px}.rat-panel img{width:28px}.rat-panel p{font-size:9px}#inventory-open{font-size:10px}.legend{font-size:9px}}
@media(max-height:700px){#inventory-dialog .ingredient{font-size:11px;padding:4px 0}#inventory-dialog{padding:10px}}

main{height:100%;margin:0 auto;align-self:stretch;overflow:hidden}.board{background:#fff7df}.stats{flex-wrap:nowrap}.stats strong{white-space:nowrap;margin-left:3px}.map-top{background:#f6e9c9;color:#314a45}.legend{background:#f6e9c9;color:#314a45}#map{background:#fff7df}.map-node{filter:none}

main{grid-template-rows:minmax(0,1fr) 120px}aside{grid-template-rows:42px 72px}.action{grid-template-rows:32px 16px 24px 24px}.action .item-button{padding:3px}.stats{font-size:10px}.stats strong{font-size:18px}

/* Restore the compact left map and right control column. */
main{grid-template-columns:minmax(0,1fr) 265px;grid-template-rows:minmax(0,1fr) 76px}.board{grid-column:1;grid-row:1}aside{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;gap:10px;overflow:hidden}.stats{padding:12px;font-size:12px}.stats strong{font-size:23px;display:block;margin:5px 0 0}.action{display:grid;grid-template-columns:1fr;grid-template-rows:auto;padding:12px;gap:8px}.dice{font-size:50px}.primary{padding:12px;font-size:15px}.action p{font-size:12px}.action .item-button{padding:9px;font-size:12px}.rat-panel{padding:10px}.rat-panel img{width:48px;height:60px}.rat-panel h2,.rat-panel p{font-size:12px}#inventory-open{padding:15px;font-size:14px}.conversation{display:flex;grid-column:1;grid-row:2}.map-top{font-size:10px}.legend{font-size:9px}
@media(max-width:650px){main{grid-template-columns:minmax(0,1fr) 205px}.stats{padding:8px}.action{padding:8px}.primary{font-size:12px}.rat-panel p{font-size:10px}#inventory-open{font-size:12px}}
@media(max-height:700px){aside{gap:5px}.stats{padding:6px}.dice{font-size:32px}.action{gap:4px;padding:7px}.action .item-button{padding:5px}.primary{padding:8px}.rat-panel{padding:6px}#inventory-open{padding:8px}}

/* Keep all twenty ingredients visible beside the compact map. */
aside{gap:5px}.stats{padding:6px 10px;font-size:11px}.stats strong{display:inline;font-size:19px;margin:0 0 0 5px}.action{grid-template-columns:38px 1fr;gap:4px;padding:6px 8px}.dice{font-size:32px}.primary{font-size:13px;padding:8px}.action p{font-size:10px;line-height:1.2;margin:2px;grid-column:1/-1}.action .item-button{font-size:10px;padding:5px;grid-column:1/-1}.rat-panel{padding:4px 7px}.rat-panel img{width:35px;height:40px}.rat-panel h2,.rat-panel p{font-size:10px;line-height:1.25}.basket{padding:6px 8px;flex:0}.basket h2{font-size:12px;margin-bottom:4px}#ingredients{display:grid;grid-template-columns:1fr 1fr;gap:0 6px}.ingredient{font-size:10px;padding:4px 0;gap:2px}#travel-items{font-size:10px;margin:0 5px}#shrine-goals{display:grid;grid-template-columns:1fr 1fr;gap:0 6px}.basket p{font-size:9px;line-height:1.3;margin:4px 0 0}.board,#map{background:#fff9e9}
@media(max-height:700px){aside{gap:3px}.ingredient{padding:2px 0}.basket{padding:4px 7px}.action{gap:2px}.stats{padding:4px 8px}.rat-panel img{height:30px}}

.board,#map,.map-viewport{background:#bbd7d4}.map-top,.legend{background:#bbd7d4;color:#264f52}

.legend{display:flex;align-items:center;justify-content:center;gap:5px;padding:0 3px}.legend button{font-size:10px;padding:3px 6px;border-radius:6px;line-height:1.2;background:#fff8e3;color:#344c48}.legend button[aria-pressed="true"]{background:#ffdd7a}.map-node.stop-highlight>circle{r:30;fill:#ffe177;stroke:#c75938;stroke-width:6}.map-node.stop-highlight{filter:drop-shadow(0 0 7px #fff9a5)}

.board{grid-template-rows:32px 30px minmax(0,1fr) 23px}.map-views{display:flex;gap:3px;justify-content:center;align-items:center;background:#c7dfd9;padding:2px}.map-views button{font-size:10px;padding:5px;border-radius:6px;background:#fff8e7;white-space:nowrap}.map-views button[aria-pressed="true"]{background:#315e69;color:#fff}.map-views #find-mouse{background:#663652;color:#fff}.map-views #find-player{background:#a4402d;color:#fff}

.map-views{flex-wrap:wrap}.board{grid-template-rows:32px 54px minmax(0,1fr) 23px}

/* Shops: the exit and every purchase stay in the viewport. */
.merchant-dialog{height:min(740px,94dvh);max-height:94dvh;overflow:hidden;box-sizing:border-box}
.merchant-dialog #modal{height:100%;display:grid;grid-template-rows:minmax(130px,1fr) auto;position:relative;min-height:0}
.merchant-dialog .merchant-scene{min-height:0;padding:16px;overflow:hidden}
.merchant-dialog .merchant-heading{padding:8px 12px;max-width:62%}
.merchant-dialog .merchant-heading h2{font-size:22px;margin:3px 0}
.merchant-dialog .merchant-scene .shopkeeper{width:clamp(95px,18vh,145px)}
.merchant-dialog .merchant-menu{padding:12px 20px;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}
.merchant-dialog .merchant-menu p{grid-column:1/-1;margin:0;line-height:1.45;font-size:13px}
.merchant-dialog .merchant-speech{font-size:15px}
.merchant-dialog .merchant-menu .notice{padding:8px 10px}
.merchant-dialog .merchant-menu .route-option{margin:0;padding:11px 10px;font-size:14px;line-height:1.35}
.merchant-dialog .merchant-menu .route-option:last-of-type{grid-column:1/-1;background:#385e50;color:white;text-align:center;font-weight:800;border:2px solid #d5b565}
.merchant-dialog .merchant-menu p[aria-live]{min-height:19px;color:#46604a}
@media(max-height:650px){.merchant-dialog .merchant-menu{padding:8px 14px;gap:5px}.merchant-dialog .merchant-menu .notice{font-size:12px;padding:5px 8px}.merchant-dialog .merchant-menu .route-option{padding:8px}.merchant-dialog .merchant-heading h2{font-size:18px}.merchant-dialog .merchant-scene .shopkeeper{width:95px}.merchant-dialog .merchant-scene figcaption{font-size:13px;padding:3px}}
/* Every shrine shares one viewport-sized scene and a fully visible menu. */
.shrine-dialog{height:min(760px,94dvh);max-height:94dvh;overflow:hidden}
.shrine-dialog #modal{height:100%;min-height:0;display:grid;grid-template-rows:minmax(120px,1fr) auto}
.shrine-dialog .shrine-stage{width:100%;height:100%;min-height:0;aspect-ratio:auto;border-radius:18px 18px 0 0}
.shrine-dialog .shrine-label{color:#304d46;top:12px;left:12px;padding:8px 12px}
.shrine-dialog .shrine-label h2{font-size:22px;margin:2px 0}
.shrine-dialog .scene-pair{width:min(36%,250px);max-height:88%;right:5%;bottom:5%}
.shrine-dialog .scene-pair img{max-height:30dvh;object-fit:contain;object-position:bottom}
.shrine-dialog .official-pair{max-height:88%}
.shrine-dialog .official-pair img{max-height:28dvh}
.shrine-dialog .shop-content{padding:10px 18px;display:flex;flex-direction:column;gap:7px;min-height:0}
.shrine-dialog .shop-content p{margin:0;font-size:13px;line-height:1.4}
.shrine-dialog .shop-content h2{margin:0;font-size:21px}
.shrine-dialog .shop-content .notice{padding:7px 10px}
.shrine-dialog .shop-stock{grid-template-columns:1fr 1fr;gap:0 14px}
.shrine-dialog .shoprow{padding:7px 0;gap:8px;align-items:center;font-size:13px;min-width:0}
.shrine-dialog .shoprow small{font-size:11px;line-height:1.35;margin-top:3px}
.shrine-dialog .shoprow button{padding:9px 13px;flex-shrink:0;font-size:13px;min-height:36px}
.shrine-dialog .trade-row{padding:8px 10px!important}
.shrine-dialog .shop-content .close{margin:0;padding:11px;min-height:40px;background:#385e50;border:2px solid #d5b565}
@media(max-height:650px){.shrine-dialog .shop-content{padding:7px 12px;gap:4px}.shrine-dialog .shop-content p{font-size:12px}.shrine-dialog .shop-content .notice{padding:5px 8px}.shrine-dialog .shoprow{padding:4px 0}.shrine-dialog .shop-content .close{padding:7px}.shrine-dialog .shrine-label h2{font-size:18px}}
@media(max-width:480px){.shrine-dialog .shop-content{padding:8px 10px}.shrine-dialog .shop-stock{gap:0 8px}.shrine-dialog .shoprow{font-size:12px;gap:4px}.shrine-dialog .shoprow button{padding:8px}.shrine-dialog .shoprow small{font-size:10px}}

.lucky-bag-result h2{font-size:24px}.lucky-bag-result p{font-size:14px;line-height:1.5}.lucky-bag-items{display:grid;gap:10px;margin:16px 0}.lucky-bag-item{display:flex;align-items:center;gap:12px;background:#f3e6bf;border:1px solid #d9bf78;border-radius:14px;padding:15px}.lucky-bag-item .food-icon{font-size:32px}.lucky-bag-item>div{flex:1}.lucky-bag-item strong{font-size:18px}.lucky-bag-item small{display:block;font-size:12px;margin-top:5px}.lucky-bag-item>b{font-size:20px;white-space:nowrap}.lucky-bag-result .close{margin-top:6px}@media(max-height:600px){.lucky-bag-items{margin:8px 0;gap:6px}.lucky-bag-item{padding:9px}.lucky-bag-result p{margin:8px 0}}

.inn-sleep h2{font-size:23px}.inn-sleep p{font-size:13px;line-height:1.5;margin:9px 0}.sleep-scene{height:145px;position:relative;overflow:hidden;background:#f0e4c7;border-radius:14px}.sleeping-ebisu{position:absolute;left:14%;bottom:5px}.sleeping-ebisu img{height:120px;border-radius:40%;transform:rotate(-12deg)}.sleeping-ebisu span{position:absolute;top:8px;right:-28px;font-size:25px;color:#6e7591}.running-mouse{position:absolute;right:8%;bottom:8px;height:100px}.sleep-results{background:#fff0d5;border-radius:10px;padding:4px 12px}.inn-sleep .close{margin-top:8px}@media(prefers-reduced-motion:no-preference){.sleeping-ebisu{animation:inn-breathe 2s ease-in-out infinite}.running-mouse{animation:inn-mouse-run 1.8s ease-in-out 2}@keyframes inn-breathe{50%{transform:translateY(-4px)}}@keyframes inn-mouse-run{0%{transform:translateX(-100px)}50%{transform:translateX(-40px) translateY(-8px)}100%{transform:translateX(20px)}}}

#find-goal{background:#ffe088;color:#7d321f;font-weight:800}#find-goal[hidden]{display:none}.goal-ready .map-node.stop-highlight{filter:none}.goal-ready .map-node.stop-highlight>circle{r:8;fill:#fbf7e5;stroke:#bba67c;stroke-width:2}#goal-beacon{filter:drop-shadow(0 0 7px #fff6a3)}@media(prefers-reduced-motion:no-preference){.goal-halo{animation:goal-glow 1.6s ease-in-out infinite}@keyframes goal-glow{50%{stroke-width:16;stroke:#fff4a5}}}

#food-complete-dialog{padding:0;width:min(850px,94vw);height:min(700px,92dvh);max-height:92dvh;overflow:hidden;background:#fff5da}#food-complete-dialog[open]{display:grid;grid-template-rows:minmax(150px,1fr) auto}.complete-picture{position:relative;background:linear-gradient(#35270618,#39230630),url('assets/shrines/ebisu.png') center/cover;min-height:0}.complete-title{position:absolute;top:18px;left:5%;right:5%;text-align:center;color:#6b361c;background:#fff8e6ee;border:2px solid #ddaf4c;border-radius:18px;padding:10px}.complete-title h2{font-size:clamp(23px,4vw,38px);margin:3px 0;color:#9e4627}.complete-title p{margin:3px;font-size:14px;line-height:1.45}.complete-picture>img{position:absolute;bottom:0;right:20%;height:48%;width:60%;object-fit:contain}.complete-message{padding:15px 22px;text-align:center}.complete-message h2{font-size:23px;margin:0 0 7px}.complete-message p{font-size:14px;line-height:1.5;margin:5px 0}.complete-message .close{margin-top:8px;padding:11px}@media(max-height:620px){.complete-title{top:8px;padding:5px}.complete-title p{font-size:12px}.complete-title h2{font-size:24px}.complete-message{padding:10px}.complete-message h2{font-size:19px}.complete-picture>img{height:40%}}

.ranking-screen h2{font-size:22px}.ranking-screen p{margin:8px 0;line-height:1.45;font-size:13px}.ranking-table{width:100%;border-collapse:collapse;font-size:14px}.ranking-table th,.ranking-table td{padding:9px 7px;border-bottom:1px solid #e4d8b8;text-align:left}.ranking-table td:nth-child(2){overflow-wrap:anywhere;max-width:230px}.your-record{background:#fae7a8;font-weight:bold}.ranking-pages{display:flex;justify-content:space-between;align-items:center;margin-top:9px}.ranking-pages button{padding:6px 12px}.ranking-screen .close{margin-top:7px}.ranking-screen .route-option{margin:8px 0 0;padding:9px;text-align:center}.ranking-scope{color:#6f715e}@media(max-height:650px){.ranking-table th,.ranking-table td{padding:5px}.ranking-screen .close{padding:9px}.ranking-screen p{margin:5px 0}}

.fork-dialog{position:fixed;inset:auto 10px 22px auto;margin:0;width:min(285px,42vw);max-height:88dvh;padding:14px;border:2px solid #d7b467;border-radius:14px;box-shadow:0 5px 22px #173e4650}.fork-dialog::backdrop{background:transparent;backdrop-filter:none}.fork-dialog h2{font-size:20px;margin:6px 0}.fork-dialog p{font-size:12px;line-height:1.5;margin:7px 0}.fork-dialog .route-option{color:white;padding:10px;margin:9px 0;font-size:13px;line-height:1.5}.fork-dialog .route-option small{color:white;font-size:11px}.fork-dialog [data-item="main"]{background:#287bd3}.fork-dialog [data-item="cross"]{background:#a93474}#fork-routes{pointer-events:none}
