:root{--ui-ink:#edf1e3;--ui-muted:#adbdba;--ui-gold:#d9bd7f;--ui-line:#b8c6b32b;--ui-panel:#12282f;--ui-deep:#091a21}
/* Shared menu shell */
#gameMenu{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:clamp(10px,3vw,38px);background:#04141cc7;backdrop-filter:blur(9px);color:var(--ui-ink);font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif}
#gameMenu[hidden]{display:none}.gm-window{display:grid;grid-template-columns:235px minmax(0,1fr);grid-template-rows:86px minmax(0,1fr) 64px;width:min(1160px,100%);height:min(790px,100%);overflow:hidden;border:1px solid #c4d5c34d;border-radius:18px;background:linear-gradient(125deg,#1c343b,#0c202a 65%);box-shadow:0 24px 100px #0007,inset 0 1px #ffffff11}
.gm-header{grid-column:1/-1;display:flex;align-items:center;gap:20px;padding:18px 25px;border-bottom:1px solid var(--ui-line);background:#071c2580}.gm-brand{display:flex;align-items:center;gap:13px}.gm-sun{font-size:33px;color:var(--ui-gold)}.gm-brand small{font-size:10px;letter-spacing:3px;color:#b3c4ba}.gm-brand h1{font-size:21px;letter-spacing:3px;margin:4px 0;font-family:serif;color:#f0e6c5}.gm-location{margin-left:auto;text-align:right;font-size:12px;color:#d1ddd0}.gm-location small{display:block;font-size:10px;color:#8ea9a5;margin-top:7px}.gm-close{width:37px;height:37px;border:1px solid #c0cba544;border-radius:50%;font-size:25px;background:transparent;color:#dce3d3}
.gm-sidebar{padding:20px 14px;display:flex;flex-direction:column;border-right:1px solid var(--ui-line);background:#071c2444;min-height:0;overflow:auto}.gm-character{display:flex;gap:10px;align-items:center;margin-bottom:20px;padding:0 8px 14px;border-bottom:1px solid var(--ui-line)}.gm-portrait{width:63px;height:84px;flex-shrink:0;background-image:url('assets/walk.png');background-size:465% 400%;background-position:50% 0;background-repeat:no-repeat;filter:drop-shadow(0 3px 4px #0005)}.gm-character small{display:block;font-size:9px;color:#a6bdb1;letter-spacing:1px}.gm-character strong{display:block;font-size:21px;letter-spacing:2px;margin:5px 0}.gm-character span{display:block;font-size:10px;color:#d6bf8d}
.gm-nav{display:grid;gap:5px}.gm-nav button{display:flex;align-items:center;gap:13px;text-align:left;padding:11px 12px;color:#b4c5c4;font-size:13px;background:transparent;border:1px solid transparent;border-radius:8px;min-height:43px;transition:background .12s,color .12s}.gm-nav button>small{margin-left:auto;color:#5c7d81;font-size:9px;font-variant-numeric:tabular-nums}.gm-nav-icon{font-size:19px;width:23px;text-align:center;line-height:1;color:#90aaa3}.gm-nav button:hover{background:#a9c6b010;color:white}.gm-nav button[aria-current=page]{background:linear-gradient(90deg,#d6bf8833,#a6c8bd0b);border-color:#d4bf7a55;color:#f6e5b6;box-shadow:inset 3px 0 #d8b974}.gm-nav button[aria-current=page] .gm-nav-icon{color:#e5cb8e}.gm-wallet{margin-top:auto;padding:22px 12px 2px}.gm-wallet small{display:block;font-size:9px;color:#89aaa7;letter-spacing:2px}.gm-wallet strong{display:block;font-size:23px;font-weight:500;color:#ecd19c;margin-top:5px;font-variant-numeric:tabular-nums}.gm-wallet strong span{font-size:10px;letter-spacing:1px;color:#a2b8af}
.gm-main{min-width:0;min-height:0;display:flex;flex-direction:column}.gm-page-heading{padding:25px 30px 19px;flex-shrink:0;border-bottom:1px solid #b8c6b316}.gm-page-heading small{font-size:9px;letter-spacing:2px;color:#839d9d}.gm-page-heading h2{font-family:serif;letter-spacing:3px;font-size:24px;margin:8px 0 0;color:#f0e7cb;font-weight:500}.gm-content{padding:22px 30px 28px;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#647f78 #102831;display:flex;flex-direction:column;gap:14px}
.gm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gm-card{border:1px solid #a2bca02a;border-radius:10px;background:linear-gradient(130deg,#b9d1c208,#607f8b05);padding:18px;min-width:0}.gm-card>small{font-size:9px;color:#bcb68b;letter-spacing:1px;display:block;margin-bottom:9px}.gm-card h3{font-size:15px;margin:0 0 9px;line-height:1.6;color:#e6ecdc;font-weight:600}.gm-card p{margin:0;font-size:12px;color:#adc3c0;line-height:1.95;white-space:pre-line;overflow-wrap:anywhere}.gm-card .gm-button{margin-top:14px}.gm-feature{border-left:3px solid #cbb578;background:linear-gradient(120deg,#cfba7730,#2b4a4010)}.gm-feature h3{font-size:20px;letter-spacing:1px;color:#f5e5b7}.gm-complete{opacity:.65;border-color:#9acb9355}.gm-locked{border-style:dashed;opacity:.6}.gm-muted{background:#071b2533}.gm-muted h3{font-size:12px;color:#adc3b4}.gm-muted p{font-size:11px}.gm-note h3{font-size:13px;font-weight:400;line-height:2;white-space:pre-line}.gm-note p:empty{display:none}
.gm-status{display:flex;align-items:center;gap:22px;flex-wrap:wrap;border:1px solid #bdcda433;background:#8da39a0b;border-radius:10px;padding:17px 20px}.gm-status small{display:block;font-size:9px;color:#8fb1a9}.gm-status strong{display:block;font-size:27px;font-weight:500;color:#e5f0d9;font-variant-numeric:tabular-nums;margin-top:4px}.gm-status strong span{font-size:12px;color:#8ca49e}.gm-hp{flex:1;min-width:100px;height:7px;border-radius:8px;background:#071b24;overflow:hidden}.gm-hp i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#75a79c,#b7ce8e)}.gm-status p{width:100%;margin:0;font-size:10px;color:#819e98}
.gm-button{padding:9px 14px;font-size:11px;line-height:1.6;border:1px solid #c6cba842;border-radius:6px;background:#8caa9c12;color:#e3e9d7;min-height:36px;transition:background .12s,border-color .12s}.gm-button:hover{border-color:#d9c080;background:#d9c08020}.gm-button:disabled{opacity:.4}.gm-button.primary{background:#ddc58c;color:#183733;border-color:#ead6a6;font-weight:600}.gm-footer{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:12px 22px;border-top:1px solid var(--ui-line);background:#071d27b3}.gm-footer>div:first-child{display:flex;gap:13px;color:#91aaa9;font-size:9px}.gm-footer kbd{font-family:inherit;border:1px solid #a2bab533;padding:3px 5px;border-radius:4px;color:#c8d4c7;font-size:9px}.gm-footer #menuNotice{margin-left:auto;color:#ddc997;font-size:10px;max-width:240px}.gm-footer .gm-button{white-space:nowrap}
.gm-checklist{list-style:none;margin:14px 0 0;padding:0}.gm-checklist li{display:flex;gap:12px;font-size:12px;padding:9px 0;border-top:1px solid #b1c6a917;color:#b9d1c4}.gm-checklist b{margin-left:auto;color:#e2d29f;font-weight:500;font-variant-numeric:tabular-nums}.gm-filters{display:flex;gap:6px;flex-wrap:wrap}.gm-filters button[aria-pressed=true]{color:#ffdfa7;border-color:#c8ac69;background:#c8ac6922}.gm-card .gm-reply{margin-top:12px;padding:9px 12px;border-left:2px solid #b9ba8e55;background:#071c2b44;color:#d9d8b3;font-size:11px}.gm-map{display:block;width:100%;height:auto;border:1px solid #bdcba544;border-radius:10px}
#gameMenu button:focus-visible{outline:2px solid #f2db9e;outline-offset:3px}#game[data-menu=open]>header,#game[data-menu=open]>#quest,#game[data-menu=open]>.touch,#game[data-menu=open]>#controlsToggle{pointer-events:none}
/* One entry point, compact field HUD. */
.topbuttons>button{display:none!important}.topbuttons>#settings,.topbuttons>#places{display:block!important;border-radius:7px;padding:11px 16px;font-size:11px;background:#102c32e8;border-color:#cfcd9955;color:#e8e8d3}.topbuttons>#settings{color:#f0d69b;border-color:#d0b47377}.daystamp{min-width:165px;padding:11px 17px;border-radius:9px;background:#f9f6e6ed}.daystamp strong{font-size:21px}.daystamp small{font-size:9px}.daystamp span{font-size:10px}#quest{border-radius:9px;padding:14px 17px;max-width:250px;top:81px}#quest h2{font-size:13px;margin:6px 0}#quest p{font-size:10px}#vitals{border-radius:9px;top:137px;left:24px;width:174px;padding:11px 14px}#vitals #hpHint{display:none}.vitals-title{font-size:10px}#vitals .shield-meter{margin-top:8px;padding-top:7px}#vitals .shield-meter small{display:none}
#game[data-action-detail=simple] .touch-actions>button:not(#run):not(#jump):not(#interact):not(#fly):not(#bolt):not(#guard):not(#actionDetail):not(#driftButton){display:none!important}#game[data-action-detail=simple] .touch-actions{grid-template-columns:repeat(4,62px);grid-auto-rows:43px;padding:9px;border-radius:11px;gap:5px}#game[data-action-detail=simple] .touch-actions #interact{grid-column:4;grid-row:1 / span 2;border-radius:8px}#actionDetail{color:#ded2a7!important;font-size:10px!important}#controlsToggle{border-radius:6px;font-size:9px;opacity:.85}.keyboard{border-radius:5px;font-size:9px;opacity:.9}#prompt{border-radius:7px;padding:10px 17px;font-size:11px}.touch-actions button{border-radius:7px!important}#pad{border-radius:10px}.touch{bottom:38px}
/* Preserve the original blue dialogue, with clearer hierarchy. */
.overlay>section{border:1px solid #d9e2df8c;border-radius:10px;background:linear-gradient(145deg,#173a66f5,#102641fa);box-shadow:0 16px 60px #04111c88,inset 0 0 0 3px #6681a126;padding:22px 28px}.overlay .speaker{padding-bottom:13px}.overlay .speaker h2{font-size:19px;letter-spacing:1px}.overlay .speaker small{font-size:10px;letter-spacing:1px;color:#aec5df}.overlay #dialogText{font-size:14px;line-height:2.05;color:#f1f1e5}.overlay #options button{font-size:12px;min-height:42px;padding:10px 12px 10px 29px;border-radius:5px}.overlay #options button.command-selected{background:#b2c6df19;border-color:#c6d9e14d}.overlay #options button.command-selected:before{color:#f2dba3}
.adventure-shell{border-color:#aabcae66;border-radius:13px;background:linear-gradient(130deg,#18343a,#0d2530)}.adventure-heading{gap:12px}.adventure-heading>div{margin-right:auto}.adventure-heading h2{font-family:serif;letter-spacing:2px}.adventure-shell #adventureMenu{background:#d7c18c;color:#173b36;border-color:#e5d5ab;font-size:11px;padding:10px 15px}.adventure-shell #adventureExit{background:transparent;color:#aebfb6;border-color:#809e8d44;font-size:10px;padding:10px 12px}.adventure-shell button{border-radius:6px}.adventure-shell #adventureStatus{font-size:12px;color:#d7d1ad;background:#0a2028;border-radius:5px}.adventure-shell #adventureMessage{font-size:12px;color:#b4c7bb}.adventure-shell #adventureActions button{border-color:#b5c4a544;background:#2a4b43;color:#e2e8d2}.adventure-shell #adventureActions button:first-child{background:#d5bc84;color:#193a31}
@media(max-width:800px){#gameMenu{padding:7px}.gm-window{grid-template-columns:165px minmax(0,1fr);grid-template-rows:72px minmax(0,1fr) 58px;border-radius:11px}.gm-header{padding:12px 15px;gap:10px}.gm-brand h1{font-size:18px;letter-spacing:2px}.gm-brand small{font-size:9px}.gm-location{font-size:10px}.gm-location small{font-size:9px}.gm-sun{font-size:25px}.gm-sidebar{padding:12px 8px}.gm-character{padding:0 2px 10px;gap:4px;margin-bottom:10px}.gm-portrait{width:44px;height:61px}.gm-character strong{font-size:17px}.gm-character span{font-size:9px}.gm-character small{font-size:8px}.gm-nav button{font-size:11px;gap:7px;padding:9px;min-height:38px}.gm-nav button>small{display:none}.gm-nav-icon{font-size:17px;width:19px}.gm-wallet{padding:14px 8px 0}.gm-wallet strong{font-size:19px}.gm-page-heading{padding:18px}.gm-page-heading h2{font-size:21px}.gm-content{padding:15px 17px;gap:11px}.gm-grid{grid-template-columns:1fr;gap:10px}.gm-card{padding:14px}.gm-card h3{font-size:14px}.gm-feature h3{font-size:17px}.gm-card p{font-size:11px}.gm-footer{padding:10px 12px;gap:7px}.gm-footer>div:first-child{gap:6px}.gm-footer>div:first-child>span:nth-child(2){display:none}.gm-footer #menuNotice{font-size:9px;max-width:140px}.gm-footer .gm-button{font-size:10px;padding:8px 10px}.adventure-shell #adventureMenu{font-size:10px;padding:8px}.adventure-shell #adventureExit{font-size:9px;padding:8px}}
@media(max-width:520px){.gm-window{grid-template-columns:1fr;grid-template-rows:66px auto minmax(0,1fr) 58px}.gm-header{grid-row:1}.gm-location{font-size:9px}.gm-location small{display:none}.gm-brand h1{font-size:17px}.gm-brand small{letter-spacing:1px}.gm-sidebar{grid-row:2;padding:5px;background:#071d26;border-right:0;border-bottom:1px solid var(--ui-line);overflow:hidden}.gm-character,.gm-wallet{display:none}.gm-nav{display:flex;overflow-x:auto;gap:4px;padding:3px;scrollbar-width:thin}.gm-nav button{white-space:nowrap;min-height:37px;padding:8px 10px;gap:6px;font-size:10px;flex-shrink:0}.gm-nav-icon{font-size:15px;width:15px}.gm-main{grid-row:3}.gm-page-heading{padding:15px 16px 12px}.gm-page-heading small{font-size:8px}.gm-page-heading h2{font-size:20px;margin-top:5px}.gm-content{padding:12px 14px 20px}.gm-footer{grid-row:4;padding:8px 10px}.gm-footer>div:first-child{display:none}.gm-footer #menuNotice{margin-left:0;margin-right:auto;max-width:130px}.gm-footer .gm-button{font-size:9px;padding:8px}.gm-status{padding:14px;gap:13px}.gm-status strong{font-size:23px}.gm-card p{line-height:1.9}.topbuttons{max-width:220px}.topbuttons>#settings,.topbuttons>#places{font-size:9px;padding:9px 10px}.daystamp{min-width:130px;padding:9px 12px}.daystamp strong{font-size:17px}.daystamp small{font-size:8px}#quest{top:80px;max-width:170px;padding:10px 12px}#quest h2{font-size:11px}#quest p{display:none}#quest small{font-size:8px}#vitals{top:114px;left:12px;width:137px;padding:9px 10px}#game[data-action-detail=simple] .touch-actions{grid-template-columns:repeat(4,43px);grid-auto-rows:42px;padding:6px}.touch-actions button{font-size:9px!important}#prompt{font-size:10px;bottom:155px}.keyboard{font-size:8px;max-width:54%!important;left:12px!important;transform:none!important;text-align:left}.overlay>section{padding:17px;max-height:80%}.overlay #dialogText{font-size:13px;line-height:1.95}.overlay .speaker h2{font-size:17px}.adventure-heading h2{font-size:16px}.adventure-heading small{letter-spacing:0;font-size:8px}.adventure-shell #adventureMenu{font-size:9px;padding:7px}.adventure-shell #adventureExit{font-size:8px;padding:7px}}
@media(prefers-reduced-motion:reduce){#gameMenu *{transition:none!important;animation:none!important}}
#game[data-travel="dive"][data-action-detail="simple"] .touch-actions{grid-template-columns:repeat(2,58px);grid-auto-rows:48px}@media(max-width:750px){#game[data-travel="dive"][data-action-detail="simple"] .touch-actions{grid-template-columns:repeat(2,46px);grid-auto-rows:44px}}
.gm-nav-icon{display:grid;place-items:center;flex-shrink:0}.gm-nav-icon svg{display:block}
.duty-status{border-color:#d3b97370;background:linear-gradient(110deg,#b79b3b12,transparent)}.duty-meter{display:flex;gap:5px;margin:16px 0}.duty-meter i{height:9px;flex:1;border:1px solid #b6c6b84d;border-radius:3px;background:#ffffff09}.duty-meter .filled{background:#e4b779;border-color:#e4b779}.duty-status[data-level=warning]{border-color:#e1a867}.duty-status[data-level=danger]{border-color:#ef8b87}.duty-status[data-level=danger] .filled{background:#e78983;border-color:#e78983}#game[data-duty-end=true] .topbuttons,#game[data-duty-end=true] .touch,#game[data-duty-end=true] #controlsToggle{display:none!important}
#dutyCounter{position:absolute;left:20px;bottom:66px;z-index:4;padding:8px 12px;white-space:pre-line;font-size:11px;line-height:1.7;color:#d4e1dc;background:#10272fe8;border:1px solid #b8c6b344;border-radius:8px;pointer-events:none;font-variant-numeric:tabular-nums}#dutyCounter[data-level=warning]{color:#ffe0a0;border-color:#e5b75c}#dutyCounter[data-level=danger]{color:#ffd1ce;border-color:#ec8880}#dutyIncrement{position:absolute;z-index:40;left:50%;top:23%;transform:translateX(-50%);padding:18px 28px;white-space:pre-line;text-align:center;line-height:1.9;background:#351f27f5;color:#ffe4d1;border:1px solid #f4b083;border-radius:12px;box-shadow:0 8px 40px #0006;pointer-events:none;animation:dutyNotice .25s ease-out}#game[data-menu=open] #dutyCounter{visibility:hidden}.request-product{border-color:#dec380!important;background:#325445!important}#shopView .store-row button{margin:5px 5px 0 0}#adventure[data-shop=walk] #shopView:not([hidden]){background:#102f2afa;max-height:51%;border-color:#c9bc8a}#adventureActions button:disabled,#shopView button:disabled{opacity:.4;cursor:default}@keyframes dutyNotice{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}@media(max-width:600px){#dutyCounter{left:12px;bottom:94px;font-size:9px;padding:5px 8px}#dutyIncrement{top:22%;width:75%;font-size:13px}}#game[data-travel=dive] #dutyCounter{opacity:.3}
#dutyCounter{top:247px;bottom:auto;left:24px}@media(max-width:600px){#dutyCounter{top:216px;bottom:auto;left:12px}}
.shop-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;max-width:1050px}.shop-product-grid .store-row{display:flex!important;flex-direction:column;align-items:stretch;min-width:0!important;width:auto!important;margin:0!important;padding:12px!important;position:relative;border-radius:14px!important;background:#244139!important}.shop-product-art{display:block;background-image:url('assets/shop-products-v1.png');background-size:400% 200%;background-repeat:no-repeat;background-color:#f4eddf;border:1px solid #f8efd966;border-radius:10px;aspect-ratio:1.2;width:100%;padding:0;flex-shrink:0}.shop-product-grid button.shop-product-art{margin:0 0 12px!important;transition:transform .12s,box-shadow .12s;cursor:pointer}.shop-product-grid button.shop-product-art:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #0005,0 0 0 2px #e6cd89}.shop-product-grid button.shop-product-art:active:not(:disabled){transform:scale(.97)}.shop-product-grid .store-row>strong{font-size:14px;line-height:1.7;display:block}.shop-product-grid .store-row p{white-space:pre-line;line-height:1.8!important;font-size:11px!important;color:#bbd1c2;margin:7px 0 10px}.shop-product-grid .store-row>button:not(.shop-product-art){font-size:12px;padding:9px 12px}.shop-product-grid button.shop-product-art:disabled{opacity:.72!important}.shop-cart-item .shop-product-art{width:94px;margin-bottom:10px}.shop-cart-item>strong{display:block;font-size:13px}.shop-receipt{display:flex;flex-wrap:wrap;gap:12px;margin-top:15px}.shop-receipt-item{display:grid;grid-template-columns:70px auto;align-items:center;gap:10px;font-size:12px;padding:10px;border:1px solid #c4b87c55;border-radius:10px;background:#ffffff08}.shop-receipt-item .shop-product-art{width:70px}#adventure[data-shop=walk] #shopView:not([hidden]){max-height:calc(100% - 290px);top:145px;padding:20px;background:#102e2afa;box-shadow:0 12px 40px #0009}#shopView>h3{margin:0 0 10px;font-size:22px}#shopView>p{font-size:12px;margin:0 0 16px}@media(max-width:750px){.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.shop-product-grid .store-row{padding:9px!important}.shop-product-grid .store-row>strong{font-size:12px}.shop-product-grid .store-row>button:not(.shop-product-art){font-size:10px;padding:8px}.shop-product-art{aspect-ratio:1.15}#adventure[data-shop=walk] #shopView:not([hidden]){max-height:calc(100% - 270px);padding:12px;left:3%;right:3%}}@media(prefers-reduced-motion:reduce){.shop-product-art{transition:none!important}}
.shop-product-art{background-image:none;overflow:hidden}.shop-product-art svg{width:100%;height:100%;display:block;pointer-events:none}.shop-product-art{position:relative}.shop-product-art svg{position:absolute;inset:0}
.shop-product-art{background-color:#fcf6e4!important}
#adventure[data-fishing=panel] .adventure-shell{position:relative}#adventure[data-fishing=panel] #shopView:not([hidden]){position:absolute;left:6%;right:6%;top:145px;max-height:55%;overflow:auto;z-index:3;padding:24px;background:#112f35fa;border:1px solid #dcc68d;border-radius:14px;box-shadow:0 12px 40px #0009}#adventure[data-fishing=panel] #shopView>p{white-space:pre-line;line-height:1.9}
#game[data-action-detail=simple] .touch-actions>#driftButton:not([hidden]){display:block!important}#driftButton{background:#64482e!important;color:#ffe3ab!important;border-color:#e7ba72!important;touch-action:none}#driftButton[aria-pressed=true]{background:#aa713e!important;box-shadow:0 0 15px #efc47c55}#driveStatus{position:absolute;top:250px;left:24px;z-index:5;pointer-events:none;white-space:pre-line;background:#112c32ed;color:#d8e9de;border:1px solid #b6c9b650;border-radius:9px;padding:10px 14px;font-size:11px;line-height:1.9;max-width:310px;font-variant-numeric:tabular-nums}#driveStatus[data-drifting=yes]{color:#ffe0a2;border-color:#dfaf67;box-shadow:inset 3px 0 #d8a95e}#game[data-menu=open] #driveStatus{visibility:hidden}#driveStatus:not([hidden])~*{--drive-ui:1}@media(max-width:600px){#driveStatus{left:12px;top:245px;font-size:9px;padding:8px 10px;max-width:230px}}
#driveStatus{top:319px}@media(max-width:600px){#driveStatus{top:280px}}
