@font-face{font-family:Harbour;src:url('assets/fonts/BarlowSemiCondensed-Regular.ttf');font-weight:400;font-display:swap}
:root{--ink:#15354a;--ui-font:Harbour,'Arial Narrow','Segoe UI',sans-serif}body{font-family:var(--ui-font);font-weight:400;color:var(--ink)}button{font:600 16px var(--ui-font);letter-spacing:0;transition:transform .12s,filter .12s}button:hover{transform:translateY(-1px);filter:brightness(1.025)}button:active{transform:translateY(1px)}button:disabled{opacity:.65;filter:saturate(.3);transform:none}button:focus-visible{outline:2px solid #fff4b8;outline-offset:3px;box-shadow:0 0 0 4px #2f687e}.gold,.green,.blue,.white-button,.flow-page .white-button{border-radius:6px!important;border:1px solid #d1ae67;box-shadow:inset 0 1px 0 #ffffffa8,0 2px 2px #082b3940;min-height:35px;padding:8px 17px;text-shadow:none;font-size:16px;line-height:1.15}.gold{background:linear-gradient(#ffe69c,#f8c04d);color:#193949}.green{background:linear-gradient(#a5ce95,#4e9860);color:white;border-color:#719a69}.blue,.white-button{background:linear-gradient(#fff,#dce7ec);color:#183a50;border-color:#a5bcc9!important}.blue{background:linear-gradient(#edf6fc,#b6d3e3)}.ui-icon{width:24px;height:24px;object-fit:contain;vertical-align:middle;display:inline-block}button .ui-icon,button .flow-art{width:25px;height:24px;object-fit:contain;margin-right:6px;vertical-align:middle}.ui-money{display:inline-flex;align-items:center;gap:5px;font-size:16px;font-weight:600;white-space:nowrap}.ui-money .ui-icon{width:20px;height:20px}.ui-money b{font-weight:600}.xp-reward{font-size:12px;background:#efe8f4;color:#78529d;border:1px solid #d5c9df;border-radius:3px;padding:2px 5px;white-space:nowrap}.link-button{border:0;background:transparent;color:inherit;font-size:14px;min-height:28px;padding:5px;text-decoration:underline;text-underline-offset:3px}.lock-symbol{position:relative;display:inline-block;width:10px;height:9px;background:#345665;border-radius:2px;margin-left:6px}.lock-symbol:before{content:'';position:absolute;width:6px;height:6px;left:2px;top:-5px;border:2px solid #345665;border-bottom:0;border-radius:6px 6px 0 0}.mini-fish{display:inline-flex;margin-left:7px;gap:3px}.mini-fish .fish-art{width:21px;height:15px}.permit-dot{font-style:normal;color:#37785f;margin-left:6px}
dialog.mockup-window{position:relative;inset:auto;margin:auto;width:min(960px,calc(100vw - 32px));max-width:none;max-height:calc(100svh - 28px);padding:0;border:1px solid #b4cbd0;border-radius:7px;background:linear-gradient(120deg,#315969,#203e4d)!important;color:#fff;box-shadow:0 12px 35px #0d2f405c;overflow:auto}.mockup-window .flow-page{padding:0}.window-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 48px 11px 18px;border-bottom:1px solid #789aa866}.window-header h1{font:600 26px Georgia,serif;margin:0;display:flex;align-items:center;gap:8px;text-shadow:0 1px 1px #102c3a}.window-header>.ui-money{font-size:15px;color:#ffe59b}.window-content{padding:14px}.window-footer{padding:11px 14px;border-top:1px solid #8baab14f;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;background:#1e3c4990}.window-footer>#flowBack{margin-right:auto}.mockup-window .close{position:absolute;top:12px;right:12px;width:27px;height:27px;border:1px solid #a7bec6;background:#dfe9edc9;border-radius:50%;padding:0;font-size:21px;line-height:1;color:#274d61;z-index:8;opacity:1}.flow-tabs,.shop-tabs-ref{display:flex;flex-wrap:nowrap;gap:0;border:1px solid #839da9;border-radius:5px;margin:0 0 12px;padding:0;background:linear-gradient(#edf2f4,#cedbe3);overflow:hidden}.flow-tabs button{flex:1;border:0;border-right:1px solid #a1b5c0;border-radius:0;background:transparent;color:#12374e;font-size:15px;font-weight:400;min-height:34px;padding:7px 10px;white-space:nowrap}.flow-tabs button:last-child{border-right:0}.flow-tabs [aria-pressed=true]{background:linear-gradient(#ffe8a7,#f8c760);box-shadow:inset 0 1px 0 #fff9dc}.mockup-window progress{height:10px;border:1px solid #91a6ad;border-radius:10px;accent-color:#4b99b3}.mockup-window progress::-webkit-progress-bar{background:linear-gradient(#c8cccd,#e0e0dc)}.mockup-window progress::-webkit-progress-value{background:linear-gradient(#69bed1,#3b8eab);border-radius:7px}.flow-page .muted,.mockup-window .dialog-sub{color:#d4e3e9;font-size:14px}.setting-row{font-size:17px;border-bottom:1px solid #ffffff22;padding:15px 5px}.mockup-window .campaign-chapter{color:var(--ink);background:#fff;border:1px solid #abbec5;border-radius:5px;padding:24px}.campaign-chapter h2{font:600 32px Georgia,serif;margin:8px 0 22px}.campaign-chapter h3{font:600 16px var(--ui-font);text-transform:none;letter-spacing:0}.campaign-chapter p{font:400 17px/1.45 var(--ui-font)}.campaign-chapter small{font-size:12px;letter-spacing:0}.campaign-chapter .muted{color:#536c76}.campaign-chapter blockquote{background:#eef5f5;border-left:3px solid #8fb2b2;font-size:16px}.view-tools h2{font:600 22px Georgia,serif}.view-settings .window-content{min-height:250px}
dialog.reference-map-window{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100svh;max-height:none;border:0;border-radius:0;padding:0;overflow:auto;background:url('assets/world-map.jpg') center/cover no-repeat;box-shadow:none;color:var(--ink)}.reference-map{position:relative;min-height:100svh;padding:20px}.reference-map-window .close{position:fixed;top:14px;right:14px;z-index:8;border-radius:50%;background:#e5eff1;border:1px solid #7e9eac;width:29px;height:29px;font-size:22px;opacity:1}.map-title{position:absolute;left:24px;top:16px;margin:0;padding:9px 17px;font:600 27px Georgia,serif;color:#fff;text-shadow:0 2px 3px #123c4a;background:#1c4b5ba8;border-radius:5px}.map-progress{position:absolute;top:64px;right:26px;width:220px;padding:16px;border:1px solid #b9c8c9;border-radius:6px;background:#fffffff0;box-shadow:0 3px 5px #123e4d40;font-size:14px;line-height:1.3}.map-progress>small{font-size:12px}.map-progress h2{font:600 24px var(--ui-font);margin:3px 0}.map-progress>span{font-size:12px}.map-progress progress{margin-top:5px;height:9px}.map-progress hr{border:0;border-top:1px solid #c9d5d7;margin:11px 0}.map-progress>div{display:flex;gap:9px;margin:12px 0}.map-progress>div .ui-icon{width:23px;height:25px;margin-top:3px}.map-progress b{display:block;font-weight:600;margin-bottom:4px}.map-progress .link-button{font-size:13px;color:#285d75;padding:0;min-height:24px}.location-node{position:absolute;display:flex;align-items:center;gap:10px;border:1px solid #b3b9af;border-radius:7px;background:linear-gradient(#fffffff5,#eaf1f1f2);box-shadow:0 3px 4px #17444f40;min-width:220px;max-width:290px;padding:8px 14px 8px 8px;text-align:left;color:#15354a}.location-node b{display:block;font-size:17px;font-weight:600}.location-node small{display:flex;align-items:center;font-size:12px;margin-top:5px}.location-thumb{width:50px;height:50px;border:2px solid #e4bc67;border-radius:50%;background-size:auto 100%;background-position:center;flex-shrink:0}.location-0{left:12%;top:29%}.location-1{left:38%;top:47%}.location-2{left:62%;top:68%}.location-locked{background:linear-gradient(#eff1f1eb,#d4dcdfeb);color:#526773}.location-locked .location-thumb,.location-locked .mini-fish{filter:grayscale(.7);opacity:.75}.map-actions{position:absolute;left:24px;bottom:22px;display:flex;flex-wrap:wrap;gap:10px}.map-actions button{display:flex;align-items:center;font-size:16px;padding:9px 15px}.map-home{position:absolute;right:24px;bottom:22px;font-size:14px!important}
.boat-selection{display:grid;grid-template-columns:135px 1fr;gap:10px;min-height:380px}.boat-thumbnails{display:flex;flex-direction:column;gap:10px}.boat-thumbnails button{position:relative;flex:1;border:1px solid #aeb9bc;border-radius:5px;background:linear-gradient(#fff,#e2e8e9);min-height:102px;padding:5px}.boat-thumbnails button[aria-pressed=true]{border:2px solid #e2b65a;box-shadow:inset 0 0 0 2px white}.boat-thumbnails .flow-art{width:100%;height:90px;margin:0;display:block}.boat-thumbnails .boat-locked .flow-art{filter:grayscale(.8);opacity:.6}.boat-locked .lock-symbol{position:absolute;left:47%;bottom:12px;width:13px;height:12px}.boat-detail{background:#fff;border:1px solid #aabcc4;border-radius:5px;color:var(--ink);padding:18px 20px;display:flex;flex-direction:column}.boat-detail>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.boat-detail h2{font:600 26px var(--ui-font);margin:0 0 3px}.boat-detail>header>small{font-size:13px;margin-top:5px}.boat-detail .ui-money{color:#876116;font-size:17px}.boat-showcase{display:grid;grid-template-columns:58% 1fr;gap:10px;align-items:center;flex:1}.boat-showcase>.flow-art{width:100%;height:230px;object-fit:contain}.boat-showcase p{font-size:16px;line-height:1.35;max-width:250px}.boat-showcase dl{margin:15px 0;font-size:15px}.boat-showcase dl>div{display:flex;align-items:center;gap:10px;margin:9px 0}.boat-showcase dt{display:flex;align-items:center;gap:5px;min-width:87px}.boat-showcase dt .flow-art{width:21px;height:22px;object-fit:contain}.boat-showcase dd{margin:0;flex:1}.boat-showcase progress{width:75px;height:9px}.boat-detail>#purchaseBoat{align-self:flex-end;min-width:150px}.status-line{font-size:13px;color:#9d412d;margin:5px 0 0}.shop-rows{display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid #a9bdc5;border-radius:5px;padding:4px;color:var(--ink);max-height:58svh;overflow:auto}.shop-row{display:grid;grid-template-columns:72px minmax(0,1fr) 88px auto;align-items:center;gap:14px;padding:10px 12px;border:1px solid #d4dbdc;background:#fff;border-radius:4px;min-height:86px}.shop-row>.flow-art{width:68px;height:63px;object-fit:contain}.shop-row h2{font:600 18px var(--ui-font);margin:0 0 3px}.shop-row p{font:400 14px/1.2 var(--ui-font);margin:0;max-width:340px}.shop-row small{font-size:12px;color:#526c79}.shop-row .shop-price{display:grid;gap:3px;justify-items:start}.shop-price .ui-money{font-size:15px}.shop-price .ui-icon{width:18px;height:18px}.shop-row>button,.shop-row-actions button{font-size:15px;min-height:33px;padding:7px 14px}.shop-row-actions{display:flex;gap:5px;align-items:center}.shop-row-actions .white-button{font-size:13px;padding:7px 10px}
.view-market .window-content{padding:0}.market-layout{display:grid;grid-template-columns:64% 36%;min-height:365px;background:url('assets/market-background.png') center/cover}.market-ledger{padding:12px 0 0 12px;z-index:1}.market-ledger .flow-tabs{margin:0;border-radius:5px 5px 0 0}.sale-rows{max-height:395px;min-height:282px;background:#fff;color:var(--ink);border:1px solid #9cb3bc;border-top:0;border-radius:0 0 5px 5px;padding:6px 10px;overflow:auto}.sale-row{display:grid;grid-template-columns:58px minmax(0,1fr) 85px 108px;gap:10px;align-items:center;border-bottom:1px solid #dce1e1;min-height:69px;padding:7px 0}.sale-row:last-child{border-bottom:0}.sale-row .fish-art{width:57px;height:45px}.sale-row b{font-size:16px;font-weight:600}.sale-row small{display:block;font-size:12px;color:#526a76;margin-top:2px}.sale-row-value>.ui-money{font-size:15px}.quantity{grid-column:auto;display:flex;gap:8px;align-items:center;justify-content:flex-end;justify-self:auto;font-size:16px}.quantity button{width:28px;min-width:28px;min-height:28px;height:28px;border:1px solid #9bb1bf;border-radius:4px;background:linear-gradient(#edf2f4,#cfdee6);color:#234960;font-size:21px;font-weight:400;padding:0;box-shadow:0 1px 1px #2f4e5e44}.quantity button:last-child{background:linear-gradient(#6d8e9d,#315e74);color:white}.quantity output{min-width:13px;text-align:center}.merchant-panel{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;min-height:330px}.npc-portrait{object-fit:contain;object-position:bottom;width:100%;height:100%;display:block}.merchant-panel>.npc-portrait{position:absolute;width:103%;height:100%;bottom:0;left:0}.merchant-panel blockquote{position:absolute;bottom:28px;left:10px;right:12px;z-index:2;margin:0;padding:14px 17px;border:1px solid #9ab1b9;background:#fff;color:var(--ink);border-radius:8px;font-size:16px;line-height:1.2;box-shadow:0 2px 3px #1a3e4e40}.merchant-panel blockquote:before{content:'';position:absolute;right:25px;top:-12px;border-bottom:13px solid white;border-left:10px solid transparent}.market-sum{padding:13px 18px;display:flex;justify-content:flex-end;align-items:center;gap:20px;font-size:18px;background:#1e3e4bc9}.market-sum b{color:#ffdc77;font-weight:600}.market-sum .green{min-width:155px}.empty-market{min-height:263px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.empty-market .flow-art{width:85px;height:78px}.empty-market p{font-size:16px;line-height:1.4;color:#5f7781}.view-market .window-footer button{font-size:14px;padding:7px 11px}.view-market .window-footer .ui-icon,.view-market .window-footer .flow-art{width:21px;height:21px;margin-right:4px}.contract-refresh{font-size:13px;color:var(--ink);background:#fff;margin:0;padding:9px 10px 2px}.contract-list{display:flex;flex-direction:column;gap:6px;background:#fff;padding:6px 8px 9px;border:1px solid #a2b8c3;border-top:0;color:var(--ink);border-radius:0 0 5px 5px}.contract-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;padding:14px 10px;border:1px solid #ced8dd;background:linear-gradient(#fff,#f9fbfc);border-radius:5px;min-height:91px}.contract-row .fish-art{width:58px;height:48px}.contract-art>.ui-icon{width:48px;height:48px}.contract-goal b{font-size:15px;font-weight:600}.contract-progress{position:relative;margin-top:9px}.contract-progress progress{height:13px}.contract-progress small{position:absolute;top:-1px;left:6px;font-size:11px;color:#183d52;font-weight:600}.contract-reward{display:grid;gap:3px;justify-items:end}.contract-reward .ui-money{font-size:14px}.contract-reward .ui-icon{width:17px;height:17px}.contract-reward button{font-size:12px;min-height:25px;padding:3px 9px}.contract-row .xp-reward{font-size:10px}
.view-hold{width:min(760px,calc(100vw - 32px))!important}.view-hold .window-content{position:relative;padding:14px;background:url('assets/ui/lagoon-menu.jpg') center/cover}.hold-meter{position:absolute;right:15px;top:-50px;display:grid;gap:4px;width:120px;text-align:right;color:#ffe098;font-size:15px}.hold-meter progress{height:7px}.view-hold .window-header>.ui-money{visibility:hidden}.hold-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;border:1px solid #a5b7be;border-radius:6px;background:#fff;padding:9px;max-height:52svh;overflow:auto}.hold-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(#fff,#e9eef0);border:1px solid #b4c5ce;border-radius:5px;min-height:108px;padding:5px;color:var(--ink)}.hold-cell .fish-art{width:100%;height:66px}.hold-cell small{font-size:13px;font-weight:600}.hold-cell>span{font-size:10px;color:#5b7480;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.hold-cell.hold-empty{background:linear-gradient(#d7e0e2,#c1d0d8)}.hold-cell.hold-empty>span{font-size:38px;color:#fff;font-weight:400}.hold-value{font-size:18px;margin-top:12px;text-shadow:0 1px 3px #1d4353}.hold-value b{color:#ffe19a;font-weight:600}.storage-warning{background:linear-gradient(#b95347,#943f38);color:white;border:1px solid #f3b390;padding:10px 15px;font-size:15px;border-radius:7px;box-shadow:0 3px 5px #17384533}.view-hold .storage-warning{margin:0 0 10px}.view-book{width:min(850px,calc(100vw - 32px))!important}.view-book .window-content{background:#fff;color:var(--ink);position:relative;border-radius:0 0 5px 5px;margin:0 10px 10px;padding:10px}.book-count{position:absolute;top:-39px;right:12px;color:#ffe392;font-size:16px}.view-book .window-header>.ui-money{visibility:hidden}.view-book .flow-tabs{margin-bottom:7px}.rarity-tabs{gap:5px;display:flex;flex-wrap:wrap;justify-content:center;margin:5px 0 11px}.rarity-tabs button{min-height:25px;font-size:12px;font-weight:400;padding:3px 8px;border:1px solid #c3d2d9;border-radius:4px;background:#eff4f6}.rarity-tabs button[aria-pressed=true]{background:#ffdc86;box-shadow:none}.view-book .ency-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;max-height:51svh;overflow:auto}.ency-fish{border:1px solid #d3c9ab;border-radius:5px;padding:6px;gap:2px;min-height:148px;background:#fff;box-shadow:none;color:var(--ink)}.ency-fish .fish-art{width:100%;height:78px}.ency-fish b{font:600 15px var(--ui-font)}.ency-fish small,.ency-fish span{font-size:11px}.ency-fish.undiscovered{background:#e9eceb;border-color:#bcc7c9}.ency-fish.undiscovered .fish-art{filter:grayscale(1);opacity:.45}.book-hint{font-size:12px;text-align:center;color:#526c79;margin:9px 0 0}.rarity-Common{color:#46606e}.rarity-Uncommon{color:#2e7b49}.rarity-Rare{color:#2e63a1}.rarity-Epic{color:#8248a8}.rarity-Legendary{color:#92650a}
.view-catch,.view-level{width:min(530px,calc(100vw - 32px))!important}.view-catch .window-header,.view-level .window-header{display:none}.view-catch .window-content{padding:20px;background:linear-gradient(#234d60a1,#173b4bc9),url('assets/ui/lagoon-menu.jpg') center/cover}.view-catch .caught-hero{text-align:center;padding:0;max-width:none}.catch-ribbon{background:url('assets/ui/ribbon-gold.png') center/100% 100% no-repeat;display:flex;align-items:center;justify-content:center;min-height:68px;width:min(340px,95%);margin:0 auto;color:#223c4b;font:600 24px Georgia,serif;text-shadow:0 1px 0 #fff5ca}.caught-hero>.fish-art{width:100%;height:210px;margin:10px 0 0;object-fit:contain;animation:catch-arrive .35s ease-out;filter:drop-shadow(0 7px 5px #102d3c55)}.caught-hero h2{font:600 28px var(--ui-font);margin:3px 0 8px;color:white;text-shadow:0 1px 2px #122c3a}.rarity-label{display:inline-block;background:#edf5ec;border:1px solid #acc4b6;border-radius:4px;padding:3px 10px;font-size:14px}.rarity-label.rarity-Legendary{background:#ffdf8c;border-color:#e6ba58}.rarity-label.rarity-Rare{background:#e4efff}.rarity-label.rarity-Epic{background:#edddfa}.caught-stats{display:flex;align-items:center;justify-content:center;gap:28px;font-size:23px;font-weight:600;margin:17px 0 8px;color:#fff;text-shadow:0 1px 2px #193744}.caught-stats .ui-money{font-size:23px}.caught-stats .ui-icon{width:25px;height:25px}.catch-discovery{font-size:14px;color:#d3e8eb;margin:0 0 16px}.caught-actions{display:flex;gap:9px;justify-content:center}.caught-actions button{font-size:17px;padding:10px 17px;min-height:43px}.caught-hero .link-button{font-size:13px;color:#d4e8ec;margin:8px 0 0}.caught-hero #holdError{font-size:14px;color:#ffdd9a;margin:6px 0}.view-catch .window-footer{padding:7px 14px}.view-catch .window-footer button{min-height:29px;padding:4px 12px;font-size:13px}.view-level .window-content{padding:20px;background:radial-gradient(ellipse at center,#dcb78b88,transparent 60%),linear-gradient(#3c527e,#153b4b)}.level-reward{text-align:center;padding:10px 15px}.level-reward>strong{display:block;font:600 100px Georgia,serif;color:#fff0b3;text-shadow:0 0 22px #ffd67d;margin:10px 0}.level-reward h2{font:600 24px Georgia,serif;margin:8px 0 15px}.level-unlocks{background:#fff;color:var(--ink);border:1px solid #d5c79a;border-radius:5px;padding:10px 14px;text-align:left;margin-bottom:20px}.level-unlocks p{display:flex;align-items:center;gap:10px;font-size:16px;margin:8px 0}.level-reward>.gold{min-width:160px}
.view-story .window-content{background:linear-gradient(#244c5d55,#173b4baa),url('assets/ui/lagoon-menu.jpg') center/cover}.story-layout{display:grid;grid-template-columns:35% 1fr;gap:14px;min-height:355px}.story-character{position:relative;display:flex;align-items:flex-end;min-height:355px}.story-character .npc-portrait{height:355px;max-width:100%;object-position:bottom}.story-detail{padding:0 0 10px}.dialogue-card{position:relative;border:1px solid #b2bfc1;border-radius:6px;background:#fff;color:var(--ink);padding:17px 20px;box-shadow:0 2px 4px #0d344333}.dialogue-card:before{content:'';position:absolute;left:-12px;top:55px;border-right:13px solid white;border-top:12px solid transparent}.dialogue-card>small{font-size:13px}.dialogue-card h2{font:600 23px var(--ui-font);margin:4px 0 12px}.dialogue-card p{font:400 17px/1.4 var(--ui-font);margin:0}.story-detail>h3{font:600 20px var(--ui-font);margin:17px 0 6px}.story-detail>p{font-size:15px;line-height:1.3;margin:0}.story-detail>p .ui-icon{width:20px;height:20px;margin-right:5px}.story-rewards{display:flex;align-items:center;gap:12px}.story-rewards>.flow-art{width:60px;height:48px}.story-detail>#questAction{min-width:150px;margin-top:18px;max-width:100%}.view-trophies .window-content{padding:0}.trophy-room{min-height:350px;padding:45px 70px;background:url('assets/ui/trophy-menu.jpg') center/cover;display:flex;align-items:center}.trophy-plaques{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%}.trophy-plaque{color:#fff7d7;text-align:center;padding:15px 10px;background:#7f522bba;border:2px solid #d0a872;border-radius:45%;text-shadow:0 1px 1px #422a13;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center}.trophy-plaque .fish-art{width:100%;height:80px}.trophy-plaque b{font:600 17px var(--ui-font);display:block}.trophy-plaque small{font-size:12px;display:block}.trophy-missing .fish-art{filter:brightness(.35);opacity:.8}.trophy-missing{background:#614628a8;color:#e2cfac}.trophy-summary{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;padding:15px;font-size:17px;background:#21414f}
.hud{position:fixed;inset:16px 18px auto;height:39px;display:block;background:none;border:0;border-radius:0;box-shadow:none;padding:0;pointer-events:none;z-index:4}.hud>*{pointer-events:auto}.hud .avatar,.hud .gems{display:none}.level-info{width:230px;height:33px;display:flex;align-items:center;gap:8px;padding:5px 9px;background:#173d50ed;border:1px solid #97b6c0;border-radius:7px;color:#fff}.level-info strong{font:600 16px var(--ui-font);white-space:nowrap;text-shadow:none}.level-info .xp-track{flex:1;height:11px;margin:0;border:1px solid #abc2c9;background:#123347}.xp-track i{background:linear-gradient(#ffe39a,#eab653);transition:width .25s}.level-info #xpText{display:none}.wallet{position:absolute;right:53px;top:0;background:#163c4fef;border:1px solid #7398a7;border-radius:5px;padding:4px 9px;height:33px;min-width:85px;gap:5px;font:600 17px var(--ui-font)}.wallet .coin{background:none;border:0;box-shadow:none;width:23px;height:23px;font-size:0}.wallet .coin:before{content:'';display:block;width:23px;height:23px;background:url('assets/ui/icon-coin.png') center/contain no-repeat}.hud .settings{position:absolute;right:0;top:0;width:34px;height:33px;background:#244e61;border:1px solid #85a7b4;border-radius:5px;box-shadow:none;padding:5px}.settings .ui-icon{width:22px;height:22px;margin:0}.place-label{top:64px;left:20px;gap:6px;pointer-events:none}.place-label>span{display:none}.place-label strong{font:600 17px var(--ui-font);color:#fff;text-shadow:0 1px 2px #183d50}.place-label small{font:400 12px var(--ui-font);color:#edf6f7;margin-top:2px}.flow-tools{position:fixed;top:40%;left:18px;display:flex;flex-direction:column;gap:7px;z-index:4}.flow-tools button{position:relative;width:54px;height:59px;background:linear-gradient(#f6fafb,#d6e4e9);border:1px solid #849eac;border-radius:6px;padding:5px 3px;color:#193c52;font:400 13px var(--ui-font);box-shadow:0 2px 2px #173d4e40;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px}.flow-tools button.active-tool{background:linear-gradient(#fff1b9,#f3d490);border-color:#d9b967}.flow-tools .flow-art,.flow-tools .ui-icon{width:33px;height:30px;object-fit:contain;margin:0}.tool-count{position:absolute;right:2px;bottom:14px;border:1px solid #f1d995;background:#f4ce60;color:#1c3a4b;font:600 10px var(--ui-font);border-radius:50%;min-width:15px;height:15px;padding:0 3px}.flow-tools #bookButton{height:42px}.flow-tools #bookButton .ui-icon{width:24px;height:26px}#miniMap{position:fixed;right:18px;top:72px;width:124px;height:124px;border:2px solid #d7e9e5;border-radius:50%;box-shadow:0 2px 4px #123e4b55;z-index:4;background:#134f5b}.bottom-nav{position:fixed;left:18px;right:18px;bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:10px;z-index:4;pointer-events:none;transform:none;top:auto;width:auto;justify-content:flex-start}.bottom-nav>button{pointer-events:auto;margin:0;flex-shrink:0}#map{width:47px;height:45px;border:1px solid #96b0be;border-radius:6px;background:linear-gradient(#fff,#d3e4ea);box-shadow:0 2px 2px #173d4e40;padding:4px;display:flex;flex-direction:column;gap:1px}#map .ui-icon{width:25px;height:23px;margin:0}#map small{font:400 11px var(--ui-font)}button.cooler{background:linear-gradient(#fff,#dce9eb);border:1px solid #9eb4bf;border-radius:6px;padding:6px 12px;min-width:140px;height:45px;box-shadow:0 2px 2px #173d4e40;display:grid;grid-template-columns:26px 1fr;gap:0 7px;color:#163c51}button.cooler>.flow-art{grid-row:span 2;width:26px;height:30px;margin:0}button.cooler strong{font:600 14px var(--ui-font)}button.cooler small{font:400 11px var(--ui-font)}#cast{margin-left:auto;width:94px;height:94px;min-width:0;min-height:0;border:3px solid #fff6d4;border-radius:50%!important;outline:1px solid #bc9e5a;box-shadow:0 3px 4px #123b4c55;background:linear-gradient(#ffe397,#ffc658);padding:7px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0}#cast .flow-art{height:48px;width:48px;margin:0}#cast b{font:600 18px var(--ui-font);white-space:nowrap}#cast kbd{display:none}#cast:disabled{opacity:.9;filter:none}#returnMarket{position:fixed;left:225px;right:auto;bottom:max(18px,env(safe-area-inset-bottom));top:auto;height:45px;border-radius:6px;z-index:4;padding:7px 13px;display:flex;align-items:center;font-size:15px}#returnMarket .ui-icon{width:24px;height:25px;margin-right:5px}.keyboard-help{display:none}#weatherInfo{right:22px;bottom:128px;font:400 12px var(--ui-font);border:1px solid #89abb178;background:#214d5bc9;padding:5px 10px;border-radius:5px;z-index:4}.storage-notice{left:50%;top:75px;bottom:auto;background:linear-gradient(#b9594b,#974437);color:#fff4df;border:1px solid #e9b392;border-radius:7px;font:600 15px var(--ui-font);padding:10px 18px;max-width:250px;z-index:5;box-shadow:0 2px 4px #18384655}#toast{font:400 16px var(--ui-font);background:#fff;color:#163c51;border:1px solid #9bbbc7;border-radius:7px;box-shadow:0 2px 5px #153d4e40;top:75px;padding:10px 18px;max-width:75%;z-index:15}#tutorial{top:108px;left:86px;right:auto;max-width:260px;background:#fffffff2;border:1px solid #a7bdc5;border-radius:7px;padding:10px 12px;box-shadow:0 2px 4px #133e4b33;gap:8px}#tutorial>b{width:26px;height:26px;border-width:1px;font:600 16px var(--ui-font)}#tutorial strong{font:600 15px var(--ui-font)}#tutorial p{font:400 12px/1.25 var(--ui-font)}#tutorial button{font-size:18px}.joystick{left:22px;bottom:84px;width:80px;height:80px;opacity:.65}
.cozy-splash #modalContent{justify-content:flex-start;align-items:center;padding-left:9vw}.splash-overlay{width:min(355px,83vw);padding:0;text-align:center}.splash-wordmark{margin:0;color:#fff;font:600 clamp(58px,6.3vw,84px)/.87 Georgia,serif;text-shadow:0 3px 2px #174458,1px 0 1px #174458,-1px 0 1px #174458;letter-spacing:-3px}.splash-wordmark>span{display:block;font-size:.68em;letter-spacing:-2px;margin-bottom:9px}.splash-fish-rule{display:flex;align-items:center;justify-content:center;gap:9px;margin:20px 0 12px}.splash-fish-rule i{width:70px;height:1px;background:#fff9}.splash-fish-rule img{width:40px;height:24px;filter:brightness(0) invert(1)}.cozy-splash .splash-motto{font:400 19px var(--ui-font);letter-spacing:0;color:#fff;text-shadow:0 1px 2px #1b4558;margin:0}.splash-controls{display:flex;flex-direction:column;align-items:center;gap:10px;margin:28px auto 0;width:225px}.splash-controls button{width:100%;border-radius:7px;min-height:43px;padding:8px 20px;font-size:21px;box-shadow:inset 0 1px 0 #fff9,0 3px 5px #163f5055}.splash-controls button .ui-icon{width:18px;height:19px}.splash-controls .blue{background:linear-gradient(#e6f2f8d9,#a8c9dbdf)}.splash-controls .white-button{background:linear-gradient(#f1f6f7d9,#cadce6e0)}
body[data-view=shop]{--page-art:url('assets/ui/workshop-menu.jpg')}body[data-view=hold],body[data-view=book],body[data-view=story],body[data-view=catch],body[data-view=level],body[data-view=tools],body[data-view=campaign],body[data-view=settings]{--page-art:url('assets/ui/lagoon-menu.jpg')}body[data-view=trophies]{--page-art:url('assets/ui/trophy-menu.jpg')}body[data-view=market]{--page-art:url('assets/market-background.png')}body[data-view=map]{--page-art:url('assets/world-map.jpg')}
@media(max-width:700px){dialog.mockup-window{width:calc(100vw - 16px);max-height:calc(100svh - 16px);border-radius:6px}.window-header{padding:12px 40px 10px 12px}.window-header h1{font-size:22px;gap:5px}.window-header h1 .ui-icon{width:21px;height:21px}.window-header>.ui-money{font-size:14px}.window-content{padding:10px}.window-footer{padding:9px;gap:6px}.window-footer button{font-size:14px!important;padding:7px 10px!important}.window-footer button .ui-icon,.window-footer button .flow-art{width:19px;height:20px;margin-right:3px}.flow-tabs button{font-size:14px;min-height:34px;padding:7px 5px}.reference-map{min-height:100svh;padding:10px}.map-title{left:14px;top:14px;font-size:23px;padding:8px 12px}.map-progress{top:69px;right:12px;width:157px;padding:11px;font-size:12px}.map-progress h2{font-size:22px}.map-progress>small,.map-progress>span{font-size:11px}.map-progress>div{gap:6px;margin:10px 0}.map-progress>div .ui-icon{width:18px;height:21px}.map-progress .link-button{font-size:12px}.location-node{min-width:0;max-width:205px;gap:6px;padding:6px 8px 6px 6px;font-size:14px}.location-thumb{width:37px;height:37px}.location-node b{font-size:15px}.location-node small{font-size:11px;margin-top:3px}.mini-fish{gap:1px;margin-left:5px}.mini-fish .fish-art{width:16px;height:12px}.location-0{left:5%;top:36%}.location-1{left:12%;top:54%}.location-2{left:auto;right:5%;top:71%}.map-actions{left:12px;right:12px;bottom:16px;gap:6px;max-width:300px}.map-actions button{font-size:14px;padding:7px 10px;min-height:38px}.map-actions button .ui-icon,.map-actions button .flow-art{width:22px;height:22px}.map-home{right:12px;bottom:16px;padding:7px 10px!important}.boat-selection{grid-template-columns:78px 1fr;min-height:355px;gap:7px}.boat-thumbnails{gap:7px}.boat-thumbnails button{min-height:90px;padding:3px}.boat-thumbnails .flow-art{height:64px}.boat-detail{padding:12px 10px}.boat-detail>header{gap:7px;flex-wrap:wrap}.boat-detail>header>small{margin-top:0}.boat-detail h2{font-size:23px}.boat-detail .ui-money{font-size:15px}.boat-showcase{grid-template-columns:1fr;gap:0}.boat-showcase>.flow-art{height:150px}.boat-showcase p{font-size:14px;margin:0 0 10px}.boat-showcase dl{margin:0;font-size:14px}.boat-showcase dl>div{margin:6px 0}.boat-showcase dt{min-width:85px}.boat-detail>#purchaseBoat{min-width:100px;font-size:16px;padding:8px 15px;align-self:flex-end;margin-top:12px}.shop-rows{max-height:67svh}.shop-row{grid-template-columns:47px minmax(0,1fr) auto;gap:7px;padding:9px 6px;min-height:100px}.shop-row>.flow-art{width:45px;height:51px}.shop-row h2{font-size:16px}.shop-row p{font-size:12px;line-height:1.25}.shop-row .shop-price{grid-column:2;grid-row:auto;display:flex;align-items:center;gap:8px}.shop-row .shop-price .ui-money{font-size:14px}.shop-row>button,.shop-row-actions{grid-column:3;grid-row:1/3}.shop-row-actions{display:flex;flex-direction:column;gap:5px}.shop-row-actions button,.shop-row>button{min-height:29px;padding:6px 9px;font-size:13px}.shop-row small{font-size:11px}.market-layout{grid-template-columns:minmax(0,1fr);min-height:0;background:transparent}.market-ledger{padding:10px 10px 0}.merchant-panel{min-height:135px;height:135px;grid-row:1;background:url('assets/market-background.png') 48% 45%/cover;border-bottom:1px solid #789ca5}.merchant-panel>.npc-portrait{height:172px;width:154px;left:auto;right:10px;bottom:-6px}.merchant-panel blockquote{left:16px;right:145px;bottom:25px;padding:12px;font-size:15px;min-width:135px}.merchant-panel blockquote:before{top:22px;right:-11px;border-left:12px solid white;border-bottom:9px solid transparent;border-right:0}.sale-rows{min-height:170px;max-height:36svh;padding:5px 7px}.sale-row{grid-template-columns:40px minmax(0,1fr) 65px 84px;gap:5px;min-height:60px;padding:5px 0}.sale-row .fish-art{width:39px;height:39px}.sale-row b{font-size:14px}.sale-row small{font-size:11px}.sale-row-value>.ui-money{font-size:13px;gap:3px}.sale-row-value .ui-icon{width:16px;height:16px}.quantity{gap:5px;font-size:14px}.quantity button{width:24px;min-width:24px;height:26px;min-height:26px;font-size:19px}.quantity output{min-width:9px}.market-sum{padding:12px;font-size:16px;gap:12px}.market-sum .green{min-width:110px;font-size:16px;padding:8px 13px}.view-market .window-footer{justify-content:center}.view-market .window-footer>#flowBack{margin-right:0}.view-market .window-footer button{font-size:13px!important;padding:6px 8px!important}.view-market .window-footer button .ui-icon,.view-market .window-footer button .flow-art{display:none}.contract-row{grid-template-columns:43px minmax(0,1fr) auto;gap:6px;padding:10px 6px;min-height:85px}.contract-row .fish-art{width:41px;height:40px}.contract-art>.ui-icon{width:36px;height:36px}.contract-goal b{font-size:14px}.contract-reward .ui-money{font-size:12px}.contract-reward .ui-icon{width:15px;height:15px}.contract-reward .xp-reward{font-size:9px}.hold-meter{width:100px;top:-46px;right:11px;font-size:14px}.hold-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px;max-height:57svh}.hold-cell{min-height:97px}.hold-cell .fish-art{height:57px}.hold-cell>span{font-size:9px}.hold-cell small{font-size:12px}.hold-value{font-size:17px}.view-book .ency-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:58svh}.view-book .window-content{padding:7px;margin:0 6px 6px}.ency-fish{min-height:134px;padding:5px 3px}.ency-fish .fish-art{height:55px}.ency-fish b{font-size:13px}.ency-fish small,.ency-fish span{font-size:10px}.rarity-tabs{gap:4px;justify-content:flex-start}.rarity-tabs button{font-size:11px;min-height:25px;padding:3px 6px}.book-count{top:-36px;font-size:14px;right:10px}.book-hint{font-size:11px}.view-catch .window-content{padding:20px 12px 10px}.catch-ribbon{min-height:61px;width:95%;font-size:22px}.caught-hero>.fish-art{height:182px;margin:6px 0 0}.caught-hero h2{font-size:26px}.caught-stats{font-size:20px;gap:20px;margin:15px 0 9px}.caught-stats .ui-money{font-size:20px}.caught-actions{gap:7px}.caught-actions button{font-size:16px;padding:9px 12px}.catch-discovery{font-size:13px}.story-layout{grid-template-columns:1fr;gap:0;min-height:0}.story-character{height:165px;min-height:165px;margin-bottom:-27px;z-index:1;pointer-events:none}.story-character .npc-portrait{height:190px;max-width:180px;object-position:left bottom}.story-detail{z-index:2}.dialogue-card{padding:15px}.dialogue-card:before{left:90px;top:-12px;border-bottom:13px solid white;border-left:10px solid transparent;border-right:0;border-top:0}.dialogue-card h2{font-size:21px;margin-bottom:8px}.dialogue-card p{font-size:16px;line-height:1.35}.story-detail>h3{font-size:18px;margin-top:13px}.story-detail>p{font-size:14px}.story-detail>#questAction{margin-top:13px}.trophy-room{min-height:300px;padding:24px 12px}.trophy-plaques{grid-template-columns:1fr;gap:10px}.trophy-plaque{border-radius:35%;min-height:126px;padding:10px;max-width:240px;width:100%;margin:auto}.trophy-plaque .fish-art{height:65px}.trophy-summary{font-size:14px;gap:14px}.level-reward>strong{font-size:86px}.hud{inset:12px 12px auto;height:34px}.level-info{width:174px;height:31px;padding:5px 7px;gap:6px}.level-info strong{font-size:15px}.wallet{right:44px;height:31px;padding:4px 6px;font-size:15px;min-width:72px}.wallet .coin,.wallet .coin:before{width:21px;height:21px}.hud .settings{width:31px;height:31px;padding:5px}.hud .settings .ui-icon{width:20px;height:20px}.place-label{left:14px;top:55px;max-width:230px}.place-label strong{font-size:16px}.place-label small{font-size:11px;max-width:190px}.flow-tools{left:12px;top:34%;gap:6px}.flow-tools button{width:48px;height:55px;font-size:12px}.flow-tools .flow-art{width:30px;height:29px}.flow-tools #bookButton{height:37px}#miniMap{right:12px;top:62px;width:86px;height:86px}.bottom-nav{left:12px;right:12px;bottom:max(14px,env(safe-area-inset-bottom));gap:7px}#map{width:39px;height:41px;padding:4px}#map .ui-icon{width:22px;height:21px}#map small{font-size:10px}button.cooler{min-width:108px;height:41px;padding:5px 7px;grid-template-columns:21px 1fr;gap:0 5px}button.cooler>.flow-art{width:21px;height:27px}button.cooler strong{font-size:12px}button.cooler small{font-size:10px}#cast{width:78px;height:78px;padding:6px;border-width:2px}#cast .flow-art{width:39px;height:39px}#cast b{font-size:16px}#returnMarket{left:175px;bottom:max(14px,env(safe-area-inset-bottom));height:41px;font-size:13px;padding:6px 9px}#returnMarket .ui-icon{width:21px;height:23px;margin-right:4px}#weatherInfo{right:15px;bottom:106px;font-size:10px;padding:4px 7px}#tutorial{left:71px;right:108px;top:103px;max-width:230px;padding:9px;gap:6px}#tutorial strong{font-size:13px}#tutorial p{font-size:11px}#tutorial>b{display:none}.joystick{left:14px;bottom:73px;width:71px;height:71px}#toast{top:54px;font-size:14px;padding:9px 12px;max-width:85%}.storage-notice{top:65px;font-size:13px;max-width:190px;padding:9px 12px}.cozy-splash #modalContent{padding:10svh 5vw;justify-content:flex-start;align-items:flex-start}.splash-overlay{width:310px;max-width:86vw}.splash-wordmark{font-size:70px}.cozy-splash .splash-motto{font-size:17px}.splash-controls{width:210px;margin-top:24px;gap:9px}.splash-controls button{min-height:42px;font-size:20px}.splash-fish-rule{margin-top:19px}.view-settings .window-content{min-height:250px}.flow-page .campaign-chapter{padding:17px}.campaign-chapter p{font-size:16px}}
@media(max-width:360px){.level-info{width:146px}.level-info strong{font-size:14px}.wallet{min-width:65px;font-size:14px}.sale-row{grid-template-columns:33px minmax(0,1fr) 55px 79px;gap:4px}.sale-row b{font-size:13px}.sale-row .fish-art{width:33px}.sale-row-value>.ui-money{font-size:12px}#returnMarket{left:162px;padding:6px}#returnMarket .ui-icon{display:none}button.cooler{min-width:101px}.window-header h1{font-size:20px}.window-header>.ui-money{font-size:12px}.boat-selection{grid-template-columns:68px 1fr}.boat-thumbnails .flow-art{height:58px}.view-book .ency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-progress{width:143px}}
@media(max-height:620px) and (min-width:701px){.mockup-window{max-height:calc(100svh - 16px)!important}.window-header{padding-top:9px!important;padding-bottom:8px!important}.window-content{padding:10px}.boat-selection{min-height:280px}.boat-showcase>.flow-art{height:165px}.boat-thumbnails button{min-height:70px}.boat-thumbnails .flow-art{height:62px}.shop-rows{max-height:54svh}.shop-row{min-height:72px;padding:6px 10px}.market-layout{min-height:270px}.sale-rows{min-height:220px;max-height:280px}.merchant-panel{min-height:270px}.window-footer{padding:8px 12px}.caught-hero>.fish-art{height:142px}.catch-ribbon{min-height:52px}.view-catch .window-content{padding:12px}.caught-stats{margin:10px 0 7px}.catch-discovery{margin-bottom:12px}.story-character,.story-character .npc-portrait{min-height:250px;height:250px}.story-layout{min-height:250px}.dialogue-card p{font-size:15px}.story-detail>h3{margin-top:10px}.trophy-room{min-height:250px;padding:25px 50px}.map-progress{top:60px}.location-0{top:31%}.location-1{top:46%}.location-2{top:64%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.reduced-motion *{animation:none!important;transition:none!important}
dialog.mockup-window{position:fixed;inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.mockup-window button,.reference-map button,.splash-controls button,#gameplay button{font-family:var(--ui-font)!important;font-weight:600}.splash-wordmark{font-size:clamp(52px,6vw,72px);white-space:nowrap}.splash-controls button{font-size:21px!important}.mockup-window .contract-row>div:nth-child(2){min-width:0}.mockup-window .contract-row .contract-progress progress{height:13px}.mockup-window .window-header .ui-money{padding-left:8px}.mockup-window .window-header h1{min-width:0}.window-footer button{font-weight:600!important}
@media(max-width:700px){.splash-wordmark{font-size:62px}.splash-controls button{font-size:20px!important}}
.gear-help{font-size:14px;color:#e3edf1;margin:2px 4px 12px}.landing-odds{color:#496f7e!important}.escape-result>.fish-art{height:150px;opacity:.8}.escape-explanation{background:#fff;color:#193d50;border:1px solid #afc3cb;border-radius:5px;padding:12px 16px;margin:15px 0 10px;text-align:left}.escape-explanation h3{font:600 20px var(--ui-font);margin:0 0 5px}.escape-explanation p{font:400 17px/1.3 var(--ui-font);margin:0 0 7px}.escape-explanation small{font:600 14px var(--ui-font);color:#9a4b37}.escape-advice{font:400 16px/1.25 var(--ui-font);color:#e7f0e9;margin:10px 0 17px}.escape-result .catch-discovery{margin-top:14px;font-size:12px}
.mockup-window button{min-width:0}.contract-reward button{min-width:62px;padding:4px 12px}.window-footer button .ui-icon,.window-footer button .flow-art{width:23px;height:23px}.window-header h1 .ui-icon{width:27px;height:27px}
@media(max-width:700px){.merchant-panel>.npc-portrait{bottom:-28px;height:168px}.contract-reward button{min-width:52px;width:52px;padding:4px 7px;font-size:12px}.contract-reward{min-width:63px}.contract-row{grid-template-columns:43px minmax(0,1fr) 65px}.escape-result>.fish-art{height:125px}.escape-explanation p{font-size:16px}}
.hold-meter{right:52px;top:-45px}.book-count{right:49px}.view-hold .window-content{background:linear-gradient(#234c5a7a,#173b4b9a),url('assets/ui/lagoon-menu.jpg') center/cover}.view-hold .hold-value{margin:12px -14px -14px;padding:12px 15px;background:#214654e8;text-shadow:none;color:white}.view-book .book-count{white-space:nowrap}.mockup-window .window-header h1{line-height:1.1}.view-book .window-header h1{font-size:24px}.view-book .window-header{padding-right:110px}.view-hold .window-header{padding-right:160px}
@media(max-width:700px){.hold-meter{right:48px;top:-42px;width:98px;font-size:13px}.book-count{right:42px}.view-book .window-header h1{font-size:20px}.view-book .window-header{padding-right:90px}.view-hold .window-header h1{font-size:21px}.view-hold .window-content{padding:12px}.view-hold .hold-value{margin:12px -12px -12px}}
#gameplay #cast{flex:0 0 94px;width:94px;height:94px;margin-left:auto}#gameplay #map small{position:static;inset:auto;display:block;line-height:11px;margin:0;white-space:nowrap}#gameplay #map{justify-content:center}.view-hold .window-header h1{white-space:nowrap}
@media(max-width:700px){#gameplay #cast{flex-basis:78px;width:78px;height:78px}#gameplay #map small{line-height:10px}}
.xp-reward{display:inline-flex;align-items:center;gap:3px}.xp-reward .ui-icon{width:15px;height:15px}.view-level .window-content{background:url('assets/ui/levelup-menu.jpg') center/cover}.view-level .level-reward{background:radial-gradient(ellipse at center,#e5b77322,transparent 65%)}
/* Floating white menus: scenery belongs to the full-screen backdrop only. */
dialog.mockup-window{background:#fff!important;color:#29434b;border:0;border-radius:18px;box-shadow:0 14px 50px #27474024;overflow:auto}.mockup-window .window-header{background:#fff;color:#29434b;border-bottom:1px solid #e8eeeb;padding:20px 54px 16px 24px}.mockup-window .window-header h1{font-size:25px;font-weight:400}.mockup-window .window-content{background:#fff!important;color:#29434b;padding:20px 24px}.mockup-window .window-footer{background:#fff;color:#29434b;border-top:1px solid #edf0ed;padding:16px 24px}.mockup-window .close{background:#fff;color:#486368;border:0;box-shadow:none;right:15px;top:17px}.mockup-window .flow-page,.mockup-window .flow-page>section{background:transparent}.mockup-window .flow-tabs{background:#f3f6f3;border:0;padding:4px;gap:4px;border-radius:12px}.mockup-window .flow-tabs button{background:transparent;border:0!important;box-shadow:none;border-radius:9px!important;color:#526967}.mockup-window .flow-tabs button[aria-pressed=true]{background:#e3eee4;color:#294e42;box-shadow:none}.mockup-window .white-button,.reference-map .white-button{background:#fff;border:1px solid #e2e9e4!important;box-shadow:0 2px 6px #304b3d0a;border-radius:10px!important}.mockup-window .gold{background:#ffdfa0;border-color:#f2cd86;box-shadow:none;border-radius:10px!important}.mockup-window .green{background:#95bd94;color:#213f2f;border-color:#8bb48b;box-shadow:none;border-radius:10px!important}.mockup-window .setting-row{color:#29434b;border-bottom:1px solid #edf0ed;font-size:20px;padding:20px 0}.mockup-window .setting-row:last-child{border:0}.view-settings{width:min(430px,calc(100vw - 32px))!important}.view-settings .window-header>.ui-money{display:none}.view-settings .window-content{min-height:0}.view-settings .setting-row button{min-width:65px}.view-settings .window-footer{justify-content:flex-start}.view-hold .hold-value{background:#fff;color:#29434b;text-shadow:none;border-top:1px solid #edf0ed;margin:16px 0 0;padding:15px 0 0}.view-book .window-content{margin:0}.mockup-window .dialogue-card{border:1px solid #edf0ed;box-shadow:none}.story-detail>h3,.story-detail>p{color:#29434b;text-shadow:none}.mockup-window .trophy-room{background:transparent}.mockup-window .trophy-summary,.mockup-window .book-hint{color:#526967}.mockup-window .level-reward{background:transparent;color:#29434b}.mockup-window .caught-stats,.mockup-window .caught-hero h2,.mockup-window .catch-discovery{color:#29434b;text-shadow:none}
/* The merchant is painted into the scene. Only the ledger and its controls are panels. */
body[data-view=market]{--page-art:url('assets/ui/market-scene-pastel.jpg')}.view-market.mockup-window{width:min(1240px,calc(100vw - 80px));background:transparent!important;box-shadow:none;border-radius:0;overflow:visible}.view-market .window-header{width:57%;border:0;border-radius:18px 18px 0 0;padding:22px 24px 16px}.view-market .window-header>.ui-money{font-size:16px}.view-market .window-content{background:transparent!important;padding:0}.view-market .market-layout{grid-template-columns:57% 43%;min-height:320px;background:none!important;gap:0}.view-market .market-ledger{background:#fff;padding:0 18px;border:0}.view-market .sale-rows{background:#fff;border:0;min-height:270px;max-height:38svh}.view-market .sale-row{background:#fff;border-bottom:1px solid #edf0ed}.view-market .market-sum{width:57%;box-sizing:border-box;background:#fff;border:0;border-top:1px solid #edf0ed;color:#29434b;padding:16px 22px;margin:0}.view-market .market-sum b{color:#3e6956}.view-market .window-footer{width:57%;box-sizing:border-box;background:#fff;border:0;border-radius:0 0 18px 18px;padding:12px 18px 18px;justify-content:flex-start;gap:7px}.view-market .window-footer>#flowBack{margin-right:0}.view-market .merchant-panel{background:none!important;border:0;overflow:visible;min-height:320px}.view-market .merchant-panel blockquote{bottom:16px;left:20%;right:0;width:max-content;max-width:260px;border:0;border-radius:14px;box-shadow:0 4px 18px #29474015;padding:16px 20px;font-size:18px}.view-market .close{position:fixed;top:0;right:0;box-shadow:0 3px 12px #29474015}.reference-map-window{background-image:url('assets/ui/world-map-pastel.jpg')!important}.reference-map .map-title{background:transparent;box-shadow:none;color:#294d58;text-shadow:0 1px 12px #ffffffb0}.reference-map .location-node,.reference-map .map-progress{background:#fff!important;border:0;box-shadow:0 6px 24px #2c574019;border-radius:15px}.reference-map .location-thumb{border:2px solid #d5e7df}.reference-map .map-progress{padding:22px}.reference-map-window .close{border:0;background:white;color:#486368}
@media(max-width:700px){.mockup-window .window-header{padding:17px 45px 14px 18px}.mockup-window .window-content{padding:16px}.mockup-window .window-footer{padding:13px 16px}.mockup-window .window-header h1{font-size:22px}.view-market.mockup-window{width:calc(100vw - 28px);max-height:calc(100svh - 110px);top:auto;bottom:18px;transform:translateX(-50%)}.view-market .window-header,.view-market .market-sum,.view-market .window-footer{width:100%}.view-market .window-header{padding:17px 18px 12px}.view-market .window-header h1{font-size:22px}.view-market .window-content{padding:0}.view-market .market-layout{display:block;min-height:0}.view-market .merchant-panel{position:absolute;right:6px;bottom:100%;height:55px;min-height:0;width:210px;margin-bottom:14px;pointer-events:none}.view-market .merchant-panel blockquote{position:relative;inset:auto;margin:0;font-size:15px;padding:12px 15px;max-width:210px}.view-market .merchant-panel blockquote:before{display:none}.view-market .market-ledger{padding:0 10px}.view-market .sale-rows{min-height:170px;max-height:27svh}.view-market .market-sum{padding:12px 16px}.view-market .window-footer{padding:8px 10px 13px;gap:5px}.view-market .window-footer button{font-size:12px!important;padding:7px!important}.view-market .close{top:10px;right:10px;position:fixed}.view-settings .window-content{min-height:0}.reference-map .map-progress{padding:14px}.reference-map .map-title{font-size:28px}}
.mockup-window .white-button,.mockup-window .setting-row button{color:#29434b!important}.mockup-window .window-header>.ui-money{color:#526750!important}.mockup-window .quantity button{background:#f3f6f3;color:#36564d;border:1px solid #e1e8e1;box-shadow:none}.mockup-window .quantity button:hover{background:#e4eee5}.view-settings .setting-row button[aria-pressed=true]{background:#e3eee4!important;border-color:#d0e1d1!important}.view-settings .setting-row button[aria-pressed=false]{background:#f6f7f5!important}
.mockup-window .hold-meter,.mockup-window .book-count{color:#36584e;text-shadow:none}.mockup-window .setting-row .white-button{font-size:17px}.reference-map .location-thumb{background-image:url('assets/ui/world-map-pastel.jpg')!important;background-size:450% 280%}.reference-map .location-0 .location-thumb{background-position:10% 40%}.reference-map .location-1 .location-thumb{background-position:50% 45%}.reference-map .location-2 .location-thumb{background-position:85% 70%}
@media(max-width:700px){body[data-view=market]::after{background-position:80% center}.view-market .window-header{padding-right:48px;gap:8px}.view-market .window-header h1{font-size:20px;white-space:nowrap;gap:5px}.view-market .window-header h1 .ui-icon{width:21px;height:21px}.view-market .window-header>.ui-money{font-size:13px;gap:3px;padding-left:0}.view-market .window-header>.ui-money .ui-icon{width:18px;height:18px}}
/* Reusable top-layer loading page, independent of the paused game and menu dialogs. */
#loading.loading-page{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100svh;max-height:none;padding:24px;border:0;border-radius:0;background:#fff!important;color:#49675e;box-shadow:none;z-index:10000;place-items:center;opacity:1;overflow:hidden}#loading::backdrop{background:#fff;backdrop-filter:none}#loading .loading-content{display:flex;align-items:center;flex-direction:column;width:min(240px,70vw);gap:25px;text-align:center}#loading .loading-fish{width:82px;height:58px;object-fit:contain;filter:brightness(0) saturate(100%) invert(59%) sepia(13%) saturate(884%) hue-rotate(111deg) brightness(91%) contrast(86%);animation:fish-bounce 1.05s ease-in-out infinite}#loading p{font:18px var(--ui-font);color:#587167;margin:0;line-height:1.5}#loading .loading-track{width:100%;height:7px;background:#edf2ee;border-radius:20px;overflow:hidden;box-shadow:none;margin:0}#loading #loadingFill{display:block;width:0;height:100%;background:#9cbea9;border-radius:20px;animation:none;transition:width .2s ease}@keyframes fish-bounce{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-18px) rotate(7deg)}}@media(prefers-reduced-motion:reduce){#loading .loading-fish{animation:none}}@media(max-width:700px){body[data-view=market]:has(dialog[open])::after{background-position:80% center!important}}
/* Readable HUD and balanced menu density. */
#gameplay #map{width:80px;min-width:80px;height:48px;display:flex;flex-direction:row;gap:7px;padding:10px;background:#fff;color:#29434b!important;border:1px solid #e0e9e2;border-radius:12px;box-shadow:0 3px 12px #233e3420}#gameplay #map small{font-size:16px;line-height:20px;color:#29434b!important;font-weight:600}#gameplay #map .ui-icon{width:25px;height:25px}#gameplay .bottom-nav{align-items:center}#gameplay #returnMarket{left:292px;height:48px;bottom:22px}#gameplay button.cooler{height:48px;min-width:172px}dialog.mockup-window{max-height:calc(100svh - 40px);border-radius:18px}.mockup-window .window-header{padding:16px 52px 13px 22px}.mockup-window .window-content{padding:16px 22px}.mockup-window .window-footer{padding:12px 22px;gap:9px}.mockup-window .window-footer button{min-height:40px}.mockup-window .boat-selection{min-height:300px;grid-template-columns:112px 1fr}.boat-thumbnails button{min-height:88px}.boat-thumbnails .flow-art{height:77px}.boat-showcase{min-height:0}.boat-showcase>.flow-art{height:210px}.mockup-window .shop-rows{max-height:min(48svh,440px);overflow:auto}.mockup-window .shop-row{min-height:78px;padding:10px 12px}.mockup-window .tool-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mockup-window .tool-options button{min-height:70px;padding:12px;text-align:left}.mockup-window .story-layout{min-height:0;grid-template-columns:210px minmax(0,1fr);gap:22px}.story-character,.story-character .npc-portrait{height:320px;min-height:0}.story-detail>h3{margin:14px 0 6px}.story-detail>p{margin:0 0 12px}.mockup-window .dialogue-card{padding:18px}.mockup-window .dialogue-card p{font-size:17px;line-height:1.45}.mockup-window .trophy-room{min-height:0;padding:24px}.mockup-window .trophy-plaques{gap:16px}.mockup-window .trophy-plaque{min-height:150px}.view-supplies{width:min(600px,calc(100vw - 32px))!important}.supply-completion{text-align:center;padding:4px 16px}.supply-completion>.flow-art{width:94px;height:80px;object-fit:contain;display:block;margin:0 auto 12px}.celebration-eyebrow{font-size:12px;color:#748f7d;letter-spacing:1.5px;text-transform:uppercase}.supply-completion h2{font:29px Georgia,serif;margin:12px 0}.supply-complete-count{font-size:44px;color:#4c795e;margin:8px}.supply-complete-count small{font-size:24px;color:#91ac96}.supply-completion p{font-size:17px;line-height:1.45;margin:13px 0}.supply-reward-line{display:flex;justify-content:center;gap:25px;align-items:center;background:#f3f7f1;padding:14px;border-radius:12px}.supply-reward-line>span{display:flex;gap:6px;align-items:center}.supply-reward-line .flow-art{width:28px;height:28px;object-fit:contain}.supply-story-note{color:#64796b}.supply-completion nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}
#supplyPrompt{position:fixed;z-index:8;bottom:102px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;background:#fff;border:1px solid #e2eadd;border-radius:16px;padding:14px 18px;box-shadow:0 7px 30px #22403226;color:#29434b;min-width:350px}#supplyPrompt[hidden]{display:none}#supplyPrompt>.flow-art{width:48px;height:44px;object-fit:contain}#supplyPrompt strong{font:22px Georgia,serif}#supplyPrompt small{display:block;font-size:14px;color:#718676;margin-top:4px}#supplyPrompt button{min-height:44px;background:#ffdfa0;border:0;border-radius:10px;color:#29434b}#supplyPrompt kbd{font:12px var(--ui-font);padding:2px 5px;margin-left:8px;border:1px solid #cdb980;border-radius:4px}#eventNotice{position:fixed;inset: auto 24px 95px auto;margin:0;width:min(440px,calc(100vw - 32px));padding:16px 18px;border:1px solid #e1e9dd;border-radius:15px;background:#fff;color:#29434b;box-shadow:0 6px 28px #25473522;gap:12px;align-items:center}#eventNotice:popover-open{display:flex}#eventNotice:not(:popover-open){display:none}#eventNotice>.ui-icon{width:32px;height:32px}#eventNotice>div{flex:1}#eventNotice strong{font:19px Georgia,serif}#eventNotice p{font:15px/1.4 var(--ui-font);margin:5px 0 0;color:#64766c}#eventNotice .white-button{color:#29434b;background:#f1f6ee;border:0;border-radius:9px;font-size:14px;padding:10px}#dismissNotice{background:none;border:0;font-size:22px;color:#718575;padding:3px}
/* The level number is the hero, with actual unlocks given their own readable cards. */
.view-level.mockup-window{width:min(740px,calc(100vw - 32px))!important}.view-level .window-header,.view-level .window-footer{display:none}.view-level .window-content{padding:38px!important}.level-celebration{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;align-items:center;min-height:330px}.level-medallion{width:180px;height:180px;border-radius:50%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7d6231;background:radial-gradient(circle,#fff4ce 0%,#f7e0a4 68%,#eac77f 69%,#fcebc3 74%,#fff 75%);box-shadow:0 0 0 1px #efdfb9,0 0 0 12px #fcf7e9;animation:level-arrive .7s cubic-bezier(.2,.8,.2,1)}.level-medallion>span{font-size:12px;letter-spacing:3px;margin-top:15px}.level-medallion>strong{font:84px/.95 Georgia,serif;margin-top:10px}.level-medallion i{position:absolute;width:8px;height:17px;background:#d3b877;border-radius:3px;transform:rotate(25deg);animation:level-spark .8s ease-out both}.level-medallion i:nth-of-type(1){top:-23px;left:28px}.level-medallion i:nth-of-type(2){top:20px;right:-26px;background:#a3bca1;transform:rotate(60deg)}.level-medallion i:nth-of-type(3){bottom:2px;left:-24px;background:#a5bdc3;transform:rotate(75deg)}.level-medallion i:nth-of-type(4){bottom:-22px;right:28px}.level-medallion i:nth-of-type(5){top:-31px;right:14px;background:#bdd2bc}.level-medallion i:nth-of-type(6){bottom:30px;right:-21px;background:#d2bdd5}.level-details h2{font:32px Georgia,serif;color:#355b4d;margin:12px 0}.level-details .celebration-eyebrow{margin:0}.level-intro{font-size:17px;line-height:1.4;color:#6c8174;margin:10px 0 20px}.level-unlock-cards{display:grid;gap:9px}.level-unlock-cards article{display:flex;align-items:center;gap:12px;background:#f4f7f1;border:1px solid #e7eee0;border-radius:12px;padding:13px 14px}.level-unlock-cards .ui-icon{width:32px;height:32px}.level-unlock-cards small{display:block;font-size:10px;color:#78917c;letter-spacing:1px;margin-bottom:4px}.level-unlock-cards b{font-size:18px;font-weight:600;color:#355b4d}.level-next{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:20px 0;color:#6c8174;font-size:14px}.level-next progress{flex:0 0 100%;width:100%;height:7px;accent-color:#8eae93}.level-details>#levelContinue{min-height:46px;padding:12px 24px;font-size:18px}@keyframes level-arrive{from{opacity:0;transform:scale(.75) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes level-spark{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@media(max-width:700px){#gameplay #map{width:66px;min-width:66px;height:44px;padding:8px;gap:4px}#gameplay #map small{font-size:14px}#gameplay #map .ui-icon{width:23px;height:23px}#gameplay button.cooler{min-width:112px;height:44px}#gameplay #returnMarket{left:204px;bottom:max(14px,env(safe-area-inset-bottom));height:44px;padding:6px 9px}#gameplay #returnMarket .ui-icon{display:none}.mockup-window .window-content{padding:14px}.mockup-window .window-header{padding:16px 44px 13px 16px}.mockup-window .window-footer{padding:12px 14px}.mockup-window .boat-selection{grid-template-columns:72px minmax(0,1fr);min-height:0}.boat-thumbnails .flow-art{height:62px}.boat-thumbnails button{min-height:78px}.boat-showcase{display:flex;flex-direction:column}.boat-showcase>.flow-art{height:144px}.boat-showcase>div{width:100%}.boat-detail>header{gap:8px}.boat-detail h2{font-size:21px}.boat-detail dl{display:grid;grid-template-columns:1fr;gap:1px}.boat-detail p{margin:8px 0;font-size:14px;line-height:1.35}.boat-detail #purchaseBoat{margin-top:8px}.status-line:empty{display:none}.mockup-window .tool-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mockup-window .tool-options button{min-height:65px;font-size:14px;padding:9px}.mockup-window .story-layout{grid-template-columns:86px minmax(0,1fr);gap:10px}.story-character,.story-character .npc-portrait{height:180px;min-height:0;margin:0;max-width:110px}.story-character{overflow:hidden}.mockup-window .dialogue-card{padding:13px}.mockup-window .dialogue-card h2{font-size:20px}.mockup-window .dialogue-card p{font-size:15px;line-height:1.4}.story-detail>h3{font-size:17px}.story-detail>p{font-size:14px;line-height:1.35}.story-rewards{flex-wrap:wrap}.view-level .window-content{padding:29px 22px!important}.level-celebration{grid-template-columns:1fr;gap:24px;min-height:0}.level-medallion{width:122px;height:122px;margin:0 auto}.level-medallion>strong{font-size:61px}.level-medallion>span{font-size:10px;margin-top:8px}.level-details h2{font-size:28px;margin:10px 0;text-align:center}.level-details .celebration-eyebrow{text-align:center;font-size:10px}.level-intro{font-size:16px;margin:12px 0 15px;text-align:center}.level-unlock-cards article{padding:11px 12px}.level-unlock-cards b{font-size:17px}.level-next{margin:16px 0}.level-details>#levelContinue{width:100%}#supplyPrompt{min-width:0;width:calc(100vw - 28px);gap:9px;padding:12px;bottom:106px}#supplyPrompt>.flow-art{width:36px;height:36px}#supplyPrompt>div{flex:1}#supplyPrompt strong{font-size:19px}#supplyPrompt small{font-size:12px}#supplyPrompt button{padding:10px;font-size:15px}#supplyPrompt kbd{display:none}#eventNotice{right:14px;bottom:105px;padding:13px}#eventNotice strong{font-size:17px}#eventNotice p{font-size:14px}.supply-completion{padding:0}.supply-completion h2{font-size:25px}.supply-completion p{font-size:15px}.supply-completion>.flow-art{width:70px;height:60px}.supply-complete-count{font-size:35px}}
@media(max-height:700px) and (min-width:701px){.level-celebration{min-height:250px}.view-level .window-content{padding:28px!important}.mockup-window .boat-selection{min-height:260px}.boat-showcase>.flow-art{height:160px}.story-character,.story-character .npc-portrait{height:260px}.mockup-window .shop-rows{max-height:44svh}.window-content .ency-grid{max-height:48svh;overflow:auto}}
#gameplay .bottom-nav{bottom:22px}#gameplay #returnMarket{bottom:45px}.mockup-window .quantity{grid-template-columns:32px 24px 32px;gap:2px}.mockup-window .quantity button{width:32px;height:32px;min-height:32px;font-size:18px}.mockup-window .contract-reward button{min-height:36px}@media(max-width:700px){#gameplay .bottom-nav{bottom:max(14px,env(safe-area-inset-bottom))}#gameplay #returnMarket{bottom:calc(max(14px,env(safe-area-inset-bottom)) + 17px)}}
body[data-view=supplies]{--page-art:url('assets/ui/lagoon-menu.jpg')}.view-supplies .window-footer{display:none}.view-supplies .window-content{padding-bottom:24px}.view-book .ency-grid,.view-hold .hold-grid{max-height:48svh;overflow-y:auto;overscroll-behavior:contain;padding-right:5px}.view-story .story-rewards .flow-art{width:36px;height:36px;object-fit:contain}.mockup-window .flow-tabs{flex-shrink:0}.mockup-window .window-header,.mockup-window .window-footer{flex-shrink:0}.view-book .window-content{overflow:visible}.view-settings .window-content{min-height:0}@media(max-width:700px){.view-book .ency-grid,.view-hold .hold-grid{max-height:45svh}.view-supplies .window-content{padding-bottom:18px}}
.view-book .window-header>.ui-money,.view-hold .window-header>.ui-money,.view-story .window-header>.ui-money{display:none}
.view-hold .hold-value b,.view-trophies .trophy-summary,.view-trophies .trophy-summary b{color:#36584e!important}.hold-cell>span{font-size:11px;color:#52695c}.hold-cell>small{font-size:14px;color:#29434b}.ency-fish>.landing-odds{font-size:11px;color:#52695c}@media(max-width:700px){.hold-cell{min-height:88px;padding:6px}.hold-cell>.fish-art{height:47px}.hold-cell>span{font-size:11px}.hold-cell>small{font-size:13px}}
.view-trophies .trophy-summary{background:#f3f7f1;border-radius:12px}
/* Story scenes: full-size characters touch the scene edge; dialogue sits on rolled white paper. */
.view-story.mockup-window{position:fixed;inset:0!important;top:0!important;left:0!important;transform:none!important;width:100vw!important;height:100svh!important;max-height:none!important;border-radius:0;background:transparent!important;box-shadow:none;overflow:hidden}.view-story .flow-page{min-height:100svh;padding:0}.view-story .window-header{position:relative;z-index:2;width:44%;margin:5svh 4% 0 52%;border:0;border-radius:18px 18px 0 0;padding:18px 24px}.view-story .window-content{position:relative;z-index:1;width:44%;margin:0 4% 0 52%;padding:0 22px!important;background:#fff!important;max-height:calc(90svh - 130px);overflow-y:auto}.view-story .window-footer{position:relative;z-index:2;width:44%;margin:0 4% 0 52%;border:0;border-radius:0 0 18px 18px;padding:10px 22px 17px}.view-story .window-header,.view-story .window-content,.view-story .window-footer{box-sizing:border-box}.view-story .story-layout{display:block;min-height:0;position:static}.view-story .story-character{position:fixed;inset:auto auto 0 0;width:52vw;height:96svh;max-width:none;min-height:0;margin:0;overflow:hidden;z-index:0;pointer-events:none}.view-story .story-character .npc-portrait{height:100%;width:100%;max-width:none;min-height:0;object-fit:contain;object-position:center bottom;display:block;filter:drop-shadow(8px 4px 16px #23463120)}.view-story .story-detail{position:relative;z-index:1;background:white;padding:8px 0 4px}.view-story .dialogue-card{position:relative;margin:16px 7px 24px;padding:22px 24px;background:linear-gradient(90deg,#fafbf7,#fff 8%,#fff 92%,#f8faf5);border:1px solid #e6e8dc;border-radius:3px;box-shadow:0 4px 12px #3f503d0b;color:#354f44}.view-story .dialogue-card:before,.view-story .dialogue-card:after{content:'';position:absolute;left:-9px;right:-9px;width:auto;height:15px;border:1px solid #e1e5d7;border-radius:9px;background:linear-gradient(#fff,#f0f1e8 45%,#fff 88%);transform:none}.view-story .dialogue-card:before{top:-9px;bottom:auto}.view-story .dialogue-card:after{bottom:-9px;top:auto}.view-story .dialogue-card small{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#81927b}.view-story .dialogue-card h2{font:27px/1.18 Georgia,serif;margin:9px 0 14px;color:#365b48}.view-story .dialogue-card p{font:19px/1.5 var(--ui-font);margin:0;color:#405648}.view-story .story-detail>h3{font-size:18px;margin:12px 0 5px}.view-story .story-detail>p{font-size:16px;line-height:1.4;margin:0 0 10px}.view-story .story-rewards{display:flex;align-items:center;gap:10px;margin-bottom:12px}.view-story #questAction{min-height:42px;margin:0 0 4px}.view-story .close{position:fixed;top:18px;right:18px;width:36px;height:36px;z-index:5;box-shadow:0 3px 12px #29474016}
@media(min-width:701px) and (max-height:700px){.view-story .window-header{margin-top:3svh;padding:13px 20px}.view-story .window-content{max-height:calc(94svh - 110px)}.view-story .dialogue-card{padding:16px 20px;margin:13px 7px 19px}.view-story .dialogue-card p{font-size:17px;line-height:1.4}.view-story .dialogue-card h2{font-size:23px}.view-story .story-detail>h3{margin-top:9px}.view-story .window-footer{padding-top:7px;padding-bottom:10px}}
@media(max-width:700px){.view-story .flow-page{position:absolute;bottom:12px;left:12px;right:12px;width:auto;min-height:0;max-height:76svh;display:flex;flex-direction:column}.view-story .window-header,.view-story .window-content,.view-story .window-footer{width:100%;margin:0;flex-shrink:0}.view-story .window-header{padding:14px 18px 10px;border-radius:16px 16px 0 0}.view-story .window-header h1{font-size:22px}.view-story .window-content{padding:0 14px!important;max-height:calc(76svh - 108px);flex:1 1 auto;min-height:0;overflow-y:auto}.view-story .window-footer{padding:8px 14px 12px;border-radius:0 0 16px 16px}.view-story .story-character{inset:auto auto 0 -9%;width:118vw;height:100svh;max-width:none}.view-story .story-character .npc-portrait{object-fit:cover;object-position:center top;width:100%;height:100%}.view-story .dialogue-card{padding:14px 17px;margin:14px 7px 19px}.view-story .dialogue-card h2{font-size:21px;margin:7px 0 10px}.view-story .dialogue-card p{font-size:16px;line-height:1.4}.view-story .dialogue-card small{font-size:10px}.view-story .story-detail{padding-top:4px}.view-story .story-detail>h3{font-size:16px;margin:9px 0 4px}.view-story .story-detail>p{font-size:14px;margin-bottom:7px}.view-story .story-rewards{gap:8px;margin-bottom:8px}.view-story #questAction{min-height:38px;font-size:15px;padding:8px 17px}.view-story .close{top:12px;right:12px}.view-story .flow-tabs{margin-bottom:0}}
.view-story .flow-page{min-height:0;height:100%;display:flow-root}@media(max-width:700px){.view-story .flow-page{height:auto;display:flex}}
.view-story .window-content>.flow-tabs{position:relative;z-index:2}

/* Focused tackle instructions and named catch receipts. */
.tackle-window{width:min(820px,calc(100vw - 32px))!important}.tackle-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.tackle-tabs button{flex:1;min-height:40px}.focused-tool header{display:flex;align-items:center;gap:20px}.focused-tool header>.flow-art{width:100px;height:100px;object-fit:contain}.focused-tool h2,.bait-choice-list h2,.haul-fish-list h2{font:23px Georgia,serif;margin:7px 0}.focused-tool p{margin:8px 0;line-height:1.5}.tool-ownership{display:inline-block;padding:5px 10px;border-radius:20px;font-size:14px;background:#f7eddd;color:#765b37}.tool-ownership.is-owned{background:#e9f2e6;color:#3e654d}.tool-description,.tool-instructions{font-size:18px;color:#405b52}.tool-instructions{padding-left:25px;line-height:1.6}.tool-feedback{background:#eff5f0;border-radius:10px;padding:12px 15px;color:#36594c!important;min-height:24px}.tool-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}.tool-actions button{min-height:44px}.tackle-note{font-size:15px;color:#587065!important;line-height:1.5}.trap-deployments{margin-top:22px;border-top:1px solid #e4ebe4;padding-top:12px}.trap-deployments h2{font-size:23px}.deployed-trap-row,.bait-choice-list article{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #e6ece6}.deployed-trap-row>.flow-art,.bait-choice-list .flow-art{width:64px;height:64px;object-fit:contain}.deployed-trap-row>div,.bait-choice-list article>div:first-of-type{flex:1}.deployed-trap-row small,.bait-choice-list small{display:block;color:#587065}.bait-choice-list article>div:last-child{display:flex;flex-direction:column;gap:6px}.bait-choice-list p{margin:5px 0}.shop-highlight{outline:2px solid #d9b767;outline-offset:3px}.view-haul{width:min(720px,calc(100vw - 28px))!important}.haul-confirmation{color:#417252;font-size:20px;margin:0 0 16px}.haul-fish-list article{display:grid;grid-template-columns:100px 1fr auto auto;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #e7ece6}.haul-fish-list .fish-art{width:100px;height:72px;object-fit:contain}.haul-fish-list small{display:block;color:#678265;margin-top:7px}.rarity-label{display:inline-block;background:#edf3e8;border-radius:5px;padding:3px 8px;font-size:13px;color:#45654c}.haul-totals{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;color:#40594d}.haul-totals>span:first-child{display:flex;align-items:center;gap:8px}.haul-totals .ui-money{display:inline-flex}
@media(max-width:600px){.focused-tool header>.flow-art{width:74px;height:74px}.focused-tool h2,.haul-fish-list h2{font-size:20px}.tool-description,.tool-instructions{font-size:16px}.haul-fish-list article{grid-template-columns:65px 1fr auto;gap:10px}.haul-fish-list .fish-art{width:65px;height:55px}.haul-fish-list article>.ui-money{grid-column:3;grid-row:auto}.haul-fish-list article>div{grid-row:span 2}.haul-fish-list article>b{font-size:14px}.bait-choice-list .flow-art{width:46px;height:46px}.bait-choice-list h2{font-size:19px}.bait-choice-list article{gap:9px}.tool-actions button{flex:1}.tackle-tabs button{padding:8px 11px}}

.view-haul.mockup-window,.tackle-window.mockup-window{top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;max-height:calc(100svh - 28px);overflow:hidden}.view-haul .flow-page,.tackle-window .flow-page{display:flex;flex-direction:column;max-height:calc(100svh - 28px);min-height:0;padding:0}.view-haul .window-content,.tackle-window .window-content{min-height:0;overflow-y:auto;overscroll-behavior:contain}.view-haul .window-header,.tackle-window .window-header,.view-haul .window-footer,.tackle-window .window-footer{flex-shrink:0}.view-haul .window-footer{display:none}.harbour-actions{position:fixed;left:334px;bottom:45px;display:flex;gap:10px;z-index:8}#gameplay .harbour-actions #returnMarket,#gameplay .harbour-actions #returnShop{position:static;height:48px;min-height:48px;display:flex;align-items:center;gap:8px;padding:10px 16px;color:#29434b;font-size:18px}.harbour-actions .flow-art,.harbour-actions .ui-icon{width:28px;height:28px;object-fit:contain}@media(max-width:700px){.harbour-actions{left:auto;right:14px;top:192px;bottom:auto;flex-direction:column;gap:8px}#gameplay .harbour-actions #returnMarket,#gameplay .harbour-actions #returnShop{height:42px;min-height:42px;font-size:16px;padding:8px 12px}.harbour-actions .flow-art,.harbour-actions .ui-icon{width:22px;height:22px}.view-haul .window-header{padding:15px 42px 12px 16px}.haul-fish-list article{padding:9px 0}}

body[data-weather=rain] #gameplay:after{display:none!important}

.setting-row>span>small{display:block;font-size:14px;color:#718477;margin-top:5px}.audio-choices{display:flex;gap:4px;border:1px solid #dae6da;border-radius:12px;padding:4px;background:#f2f6ef}.audio-choices button{min-width:62px;min-height:42px;background:transparent!important;box-shadow:none!important;border-color:transparent!important}.audio-choices [aria-pressed=true]{background:#dcebd7!important;color:#365a40!important;border-color:#bdd3b8!important}.setting-row{gap:18px}@media(max-width:500px){.audio-choices button{min-width:48px;padding:8px 10px}.setting-row>span>small{font-size:12px;max-width:160px}}

.view-haul .window-footer{display:flex!important;gap:10px}.view-haul #flowBack{display:none}.view-haul .window-footer button{flex:1;min-height:44px}.tackle-window .window-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tackle-window .window-footer>button:not(#flowBack){flex:1;min-height:42px}@media(max-width:600px){.haul-fish-list h2{font-size:18px}.haul-fish-list small{font-size:12px;margin-top:4px}.haul-fish-list article{padding:8px 0;gap:7px}.view-haul .window-footer{padding:12px 14px}.view-haul .window-footer button{font-size:16px;padding:10px}.tackle-window .window-footer>button{font-size:15px;padding:9px 12px}}

.view-haul .window-header h1:focus{outline:none}
/* One floating market ledger; the merchant and speech remain in the scene. */
.view-market.mockup-window{inset:0!important;top:0!important;left:0!important;transform:none!important;margin:0!important;width:100vw!important;max-width:none!important;height:100svh!important;max-height:none!important;border-radius:0;background:transparent!important;box-shadow:none;overflow:hidden}.view-market .flow-page{position:absolute;left:4vw;top:50%;transform:translateY(-50%);width:clamp(460px,43vw,660px);max-height:calc(100svh - 56px);display:flex;flex-direction:column;background:#fff!important;border-radius:22px;padding:0;overflow:hidden;box-shadow:0 15px 45px #29463820}.view-market .window-header,.view-market .window-footer,.view-market .market-sum{width:100%;box-sizing:border-box}.view-market .window-header{padding:22px 24px 18px;border-radius:0;border-bottom:1px solid #edf1eb;flex-shrink:0}.view-market .window-header h1{font:28px Georgia,serif}.view-market .window-content{padding:18px 20px 0!important;min-height:0;overflow:auto;display:flex;flex-direction:column;background:#fff!important}.view-market .market-layout{display:block;min-height:0;background:transparent!important}.view-market .market-ledger{padding:0;background:#fff;border:0}.view-market .flow-tabs{margin:0 0 12px;padding:5px;gap:3px}.view-market .flow-tabs button{padding:10px 8px;font-size:17px}.view-market .sale-rows{min-height:140px;max-height:40svh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b4cbb6 #f5f8f3}.view-market .sale-row{display:grid;grid-template-columns:60px minmax(0,1fr) auto 96px;gap:12px;min-height:82px;padding:12px 0}.view-market .sale-row .fish-art{width:60px;height:48px;object-fit:contain}.view-market .sale-row b{font-size:19px}.view-market .sale-row small{font-size:14px;color:#738276}.view-market .sale-row-value .ui-money{font-size:18px}.view-market .quantity{grid-column:auto;display:grid;grid-template-columns:32px 24px 32px;gap:4px}.view-market .market-sum{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;margin:0;padding:18px 0;border-top:1px solid #e8eee7;font-size:20px}.view-market .market-sum button{padding:12px 24px;min-height:46px;font-size:19px}.view-market .window-footer{display:flex;gap:8px;padding:14px 20px 18px;border-top:1px solid #e8eee7;border-radius:0;flex-shrink:0}.view-market .window-footer button{min-height:44px;padding:10px 13px;font-size:16px!important;white-space:nowrap}.view-market .window-footer button img{width:24px;height:24px}.view-market .close{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;box-shadow:0 4px 20px #29474015}.market-speech{position:absolute;left:64%;top:58%;width:320px;max-width:29vw;padding:24px 28px;background:white;color:#36594f;border-radius:24px;box-shadow:0 8px 30px #2947401a;box-sizing:border-box;line-height:1.35}.market-speech strong{display:block;font:30px Georgia,serif;margin-bottom:7px}.market-speech span{font:23px/1.4 var(--ui-font)}.market-speech:before{content:'';position:absolute;top:-18px;right:44px;border-bottom:24px solid white;border-left:24px solid transparent}.view-market .contract-row{min-height:95px}.view-market .contract-list{max-height:40svh;overflow:auto}
/* Navigation uses crisp SVGs, readable labels and one shared baseline. */
#gameplay button{filter:none;text-shadow:none!important;backdrop-filter:none;-webkit-font-smoothing:antialiased}#gameplay button img{filter:none!important}#gameplay .bottom-nav{position:fixed;display:flex;align-items:flex-end;justify-content:flex-start;left:24px;right:24px;bottom:24px;gap:12px;pointer-events:none}#gameplay .bottom-nav>button{pointer-events:auto;position:static!important;inset:auto!important;transform:none!important;min-height:56px;height:56px;border-radius:13px!important;background:#fff;color:#294c43;box-shadow:0 4px 14px #264b3e13;border:1px solid #e1ebe2!important;font:600 18px var(--ui-font)!important;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 16px;flex:0 0 auto}#gameplay .bottom-nav .ui-icon{width:29px;height:29px;object-fit:contain}#gameplay #map{width:auto;min-width:96px}#gameplay #map small{font:600 18px var(--ui-font);line-height:1.2!important;color:#294c43}#gameplay button.cooler{min-width:160px;display:grid!important;grid-template-columns:30px 1fr;column-gap:8px;row-gap:1px;padding:8px 14px}#gameplay button.cooler .flow-art{width:30px;height:30px;grid-row:1/3;filter:none}#gameplay button.cooler strong{font-size:17px;color:#294c43;line-height:1.1}#gameplay button.cooler small{font-size:14px;color:#6f8172;line-height:1.1}#gameplay #returnMarket,#gameplay #returnShop{width:auto;left:auto;bottom:auto;height:56px;min-height:56px;display:flex;align-items:center;gap:9px;padding:10px 16px;font-size:18px}#gameplay #returnMarket .ui-icon{display:block;margin:0}#gameplay #cast{flex:0 0 94px!important;width:94px;height:94px;min-height:94px;border-radius:50%!important;margin-left:auto;background:#ffdc92;border:3px solid white!important;display:flex;flex-direction:column;gap:0;box-shadow:0 4px 20px #27493e20;padding:10px}#gameplay #cast .flow-art{width:43px;height:43px}#gameplay #cast b{font-size:20px;line-height:1.1}#gameplay #cast kbd{display:none}#gameplay .flow-tools{left:24px;top:32%;gap:9px}#gameplay .flow-tools button{width:76px;height:78px;min-height:58px;padding:8px 6px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;background:#fff;border:1px solid #e1ebe2;border-radius:13px!important;font:600 17px var(--ui-font);color:#294c43;box-shadow:0 3px 10px #29463812}#gameplay .flow-tools button .flow-art,#gameplay .flow-tools button .ui-icon{width:38px;height:38px;object-fit:contain}#gameplay .flow-tools button#bookButton{height:78px}#gameplay .flow-tools .tool-count{right:4px;top:4px;bottom:auto;min-width:20px;height:20px;font-size:13px}.flow-tools button:disabled{opacity:.55}#gameplay .flow-tools .active-tool{background:#ffdfa0}#gameplay .hud .settings{width:auto;min-width:104px;height:42px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:12px!important;background:#fff;color:#294c43;padding:8px 12px;font:600 16px var(--ui-font);box-shadow:none}#gameplay .hud .settings .ui-icon{width:24px;height:24px}#gameplay .wallet{right:116px}#gameplay .hud .gems{display:none}
/* The minimap is a labelled navigation instrument with a visible legend. */
.nearby-map{position:fixed;right:24px;top:88px;width:192px;padding:12px;background:#ffffffed;border:1px solid #dce8dc;border-radius:18px;box-shadow:0 5px 20px #29463814;z-index:6;box-sizing:border-box;pointer-events:none}.nearby-map h2{font:600 17px var(--ui-font);color:#365c4d;margin:0 0 9px}.nearby-map #miniMap{position:static!important;display:block;width:166px;height:166px;border:0;border-radius:12px;box-shadow:none;background:#d7e9df}.map-legend{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-top:10px;color:#496354;font-size:13px}.map-legend>span{display:flex;align-items:center;gap:6px}.map-legend i{width:9px;height:9px;display:inline-block;flex-shrink:0}.legend-boat{background:#365f50;clip-path:polygon(50% 0,100% 100%,50% 78%,0 100%)}.legend-fish{background:#57b6ad;border:1px solid white;border-radius:50%;box-shadow:0 0 0 2px #d5eeea}.legend-supply{background:#e6b44c;transform:rotate(45deg);border-radius:1px}.legend-trap{border:2px solid #a47b50;border-radius:50%;box-sizing:border-box}
@media(max-width:900px){#gameplay .bottom-nav{gap:8px;left:16px;right:16px}#gameplay .bottom-nav>button{padding:9px 12px;font-size:16px!important}#gameplay button.cooler{min-width:140px}#gameplay #map{min-width:82px}#gameplay #returnMarket,#gameplay #returnShop{font-size:16px;padding:10px 12px}.market-speech{left:auto;right:4vw;max-width:37vw;width:300px}.view-market .flow-page{left:3vw;width:52vw;min-width:390px}.view-market .window-footer{flex-wrap:wrap}.view-market .sale-row{grid-template-columns:45px minmax(0,1fr) auto 84px;gap:7px}.view-market .sale-row .fish-art{width:45px}.view-market .sale-row b{font-size:17px}.view-market .quantity{grid-template-columns:28px 20px 28px;gap:3px}.view-market .quantity button{width:28px;min-width:28px}.view-market .flow-tabs button{font-size:15px}}
@media(max-width:700px){.view-market .flow-page{left:14px;right:14px;top:auto;bottom:14px;transform:none;width:auto;min-width:0;max-height:calc(100svh - 165px);border-radius:18px}.view-market .window-header{padding:15px 17px 12px}.view-market .window-header h1{font-size:22px}.view-market .window-header>.ui-money{font-size:15px}.view-market .window-content{padding:12px 14px 0!important}.view-market .flow-tabs button{font-size:14px;padding:9px 4px}.view-market .sale-rows{min-height:80px;max-height:30svh}.view-market .sale-row{min-height:66px;grid-template-columns:40px minmax(0,1fr) auto 82px;gap:7px;padding:9px 0}.view-market .sale-row .fish-art{width:40px}.view-market .sale-row b{font-size:16px}.view-market .sale-row small{font-size:12px}.view-market .sale-row-value .ui-money{font-size:15px;gap:3px}.view-market .sale-row-value .ui-icon{width:18px;height:18px}.view-market .market-sum{font-size:17px;padding:12px 0}.view-market .market-sum button{min-height:42px;font-size:17px;padding:10px 20px}.view-market .window-footer{gap:6px;padding:10px 14px 13px;flex-wrap:nowrap}.view-market .window-footer button{padding:8px 10px!important;font-size:14px!important;min-height:42px}.view-market .window-footer button img{display:none}.view-market .contract-list{max-height:30svh}.market-speech{top:55px;right:18px;left:auto;width:290px;max-width:calc(100vw - 36px);padding:17px 22px;border-radius:20px}.market-speech strong{font-size:26px;margin-bottom:3px}.market-speech span{font-size:20px}.market-speech:before{display:none}.view-market .close{top:12px;right:12px;width:36px;height:36px}#gameplay .bottom-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:7px;left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom))}#gameplay .bottom-nav>button:not(#cast){height:58px;min-height:58px;min-width:0!important;width:auto!important;padding:6px 5px!important;gap:3px;flex-direction:column;display:flex!important;font-size:14px!important}#gameplay .bottom-nav .ui-icon{width:25px;height:25px}#gameplay #map small{font-size:14px!important;line-height:1.2!important}#gameplay button.cooler .flow-art{display:none}#gameplay button.cooler strong{font-size:14px;white-space:nowrap}#gameplay button.cooler small{font-size:13px}#gameplay #returnMarket .ui-icon{width:25px;height:25px;display:block}#gameplay #cast{position:fixed!important;right:16px!important;left:auto!important;bottom:88px!important;top:auto!important;width:82px;height:82px;min-height:82px;flex-basis:82px!important;padding:7px}#gameplay #cast .flow-art{width:37px;height:37px}#gameplay #cast b{font-size:18px}#gameplay .flow-tools{left:14px;top:134px;gap:6px}#gameplay .flow-tools button,#gameplay .flow-tools button#bookButton{width:62px;height:52px;min-height:52px;padding:4px;gap:1px;font-size:14px}#gameplay .flow-tools button .flow-art,#gameplay .flow-tools button .ui-icon{width:28px;height:28px}#gameplay .flow-tools .tool-count{width:17px;min-width:17px;height:17px;font-size:11px;top:3px;right:3px}.nearby-map{right:14px;top:64px;width:154px;padding:9px;border-radius:14px}.nearby-map h2{font-size:15px;margin-bottom:6px}.nearby-map #miniMap{width:134px;height:134px}.map-legend{gap:5px 7px;font-size:11px;margin-top:7px}.map-legend i{width:7px;height:7px}#gameplay .hud .settings{min-width:80px;height:34px;padding:5px 8px;font-size:13px;gap:4px}#gameplay .hud .settings .ui-icon{width:20px;height:20px}#gameplay .wallet{right:89px}#gameplay .level-info{width:145px}#gameplay .joystick{left:14px;bottom:88px;width:66px;height:66px}#gameplay #weatherInfo{right:14px;bottom:184px;font-size:11px}#gameplay #tutorial{left:85px;right:178px;top:112px;padding:8px;max-width:220px}#gameplay #tutorial strong{font-size:12px}#gameplay #tutorial p{font-size:11px}}
@media(max-width:380px){#gameplay .level-info{width:122px}#gameplay .level-info strong{font-size:12px}#gameplay .wallet{min-width:65px;font-size:13px}.nearby-map{width:138px}.nearby-map #miniMap{width:118px;height:118px}.map-legend{font-size:10px;gap:5px}.view-market .sale-row{grid-template-columns:32px minmax(0,1fr) auto 74px;gap:5px}.view-market .quantity{grid-template-columns:25px 18px 25px;gap:2px}.view-market .quantity button{width:25px;min-width:25px}.view-market .sale-row b{font-size:14px}.view-market .window-footer button{font-size:12px!important;padding:8px!important}#gameplay #tutorial{display:none}}
@media(max-height:560px) and (min-width:701px){#gameplay .flow-tools{top:100px;gap:5px}#gameplay .flow-tools button,#gameplay .flow-tools button#bookButton{width:66px;height:61px;min-height:61px;font-size:15px}#gameplay .flow-tools button img{width:30px!important;height:30px!important}.nearby-map{top:65px;width:160px;padding:9px}.nearby-map #miniMap{width:140px;height:140px}.nearby-map h2{font-size:15px}.map-legend{font-size:11px}.view-market .flow-page{max-height:calc(100svh - 24px)}.view-market .sale-rows{max-height:33svh}.view-market .window-header{padding:15px 20px}.view-market .window-content{padding-top:12px!important}}
#gameplay button,#gameplay button *{text-shadow:none!important;filter:none!important;letter-spacing:normal!important}#gameplay .flow-tools{transform:none!important}#gameplay .bottom-nav>#bookButton{min-width:116px;display:flex;gap:8px}#gameplay .bottom-nav>#bookButton .ui-icon{width:29px;height:29px}#gameplay .flow-tools button{height:76px;white-space:nowrap}#gameplay .bottom-nav .ui-icon,#gameplay button.cooler .flow-art{image-rendering:auto}#gameplay #tutorial{left:118px}.bottom-nav button>span,.bottom-nav button>small{white-space:nowrap}#gameplay #returnShop,#gameplay #returnMarket,#gameplay #bookButton{font-weight:600!important}
@media(max-width:900px){#gameplay .bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:8px;left:16px;right:16px;bottom:16px}#gameplay .bottom-nav>button:not(#cast){height:72px;min-height:72px;min-width:0!important;width:auto!important;display:flex!important;flex-direction:column;padding:7px 4px!important;gap:4px;font-size:16px!important}#gameplay .bottom-nav>#bookButton .ui-icon,#gameplay .bottom-nav .ui-icon{width:28px;height:28px}#gameplay #map small{font-size:16px!important}#gameplay button.cooler .flow-art{display:block!important;width:24px;height:24px;grid-row:auto}#gameplay button.cooler strong{font-size:14px;line-height:1;white-space:nowrap}#gameplay button.cooler small{font-size:13px;line-height:1}#gameplay #cast{position:fixed!important;right:18px!important;bottom:104px!important;left:auto!important;top:auto!important;width:88px;height:88px;min-height:88px}#gameplay .joystick{bottom:104px}#gameplay #weatherInfo{bottom:205px}#gameplay .flow-tools{top:134px;left:16px;gap:7px}#gameplay .flow-tools button{width:68px;height:62px;min-height:62px;font-size:16px;padding:6px;gap:3px}#gameplay .flow-tools button .flow-art{width:33px;height:33px}#gameplay #tutorial{left:95px;right:178px;top:105px}}
@media(max-width:480px){#gameplay .bottom-nav{left:12px;right:12px;gap:6px}#gameplay .bottom-nav>button:not(#cast){height:72px;min-height:72px;font-size:14px!important;gap:3px}#gameplay #map small{font-size:14px!important}#gameplay .bottom-nav>#bookButton .ui-icon,#gameplay .bottom-nav .ui-icon{width:25px;height:25px}#gameplay button.cooler .flow-art{width:22px;height:22px}#gameplay button.cooler strong{font-size:12px}#gameplay button.cooler small{font-size:12px}#gameplay .flow-tools{left:12px;gap:6px}#gameplay .flow-tools button{width:64px;height:58px;min-height:58px;font-size:15px}#gameplay .flow-tools button .flow-art{width:30px;height:30px}#gameplay #cast{bottom:104px!important;width:82px;height:82px;min-height:82px}#gameplay .joystick{bottom:104px}}
/* Results remain over the paused fishing scene, keeping the catch in context. */
body[data-scene-overlay]::after{display:none!important}body[data-scene-overlay] #gameplay{visibility:visible!important;opacity:1}body[data-scene-overlay] #fishingCue,body[data-scene-overlay] #fishingMoment,body[data-scene-overlay] #tutorial{display:none!important}.scene-result-overlay::backdrop{background:#15392c55!important;backdrop-filter:none!important}.scene-result-overlay.view-catch{position:fixed!important;inset:auto!important;top:50%!important;right:4vw!important;left:auto!important;transform:translateY(-50%)!important;width:410px!important;max-width:calc(100vw - 32px)!important;max-height:calc(100svh - 32px)!important;margin:0!important;padding:0;background:#fff!important;border:0;border-radius:22px!important;box-shadow:0 15px 45px #16352a25;overflow:hidden!important}.scene-result-overlay.view-catch .flow-page{padding:0;display:flex;flex-direction:column;max-height:calc(100svh - 32px)}.scene-result-overlay.view-catch .window-header{display:flex;background:#fff;padding:17px 50px 0 22px;border:0;flex-shrink:0}.scene-result-overlay.view-catch .window-header h1{font:21px Georgia,serif;margin:0;line-height:1.2}.scene-result-overlay.view-catch .window-header h1 .ui-icon,.scene-result-overlay.view-catch .window-header>.ui-money{display:none}.scene-result-overlay.view-catch .window-content{padding:14px 22px 20px!important;overflow:hidden!important;min-height:0}.scene-result-overlay.view-catch .window-footer{display:none}.scene-result-overlay.view-catch .caught-hero{padding:0;text-align:center;max-width:none}.scene-result-overlay.view-catch .catch-eyebrow{display:block;font-size:13px;color:#6c846d;letter-spacing:1px}.scene-result-overlay.view-catch .caught-hero>.fish-art{width:100%;height:180px;max-height:25svh;object-fit:contain;margin:4px 0 0;filter:drop-shadow(0 7px 6px #3d604518);animation:catch-arrive .35s ease-out both}.scene-result-overlay.view-catch .caught-hero h2{font:27px Georgia,serif;color:#365747;margin:7px 0 10px}.scene-result-overlay.view-catch .rarity-label{margin:0;font-size:13px;padding:3px 10px}.scene-result-overlay.view-catch .caught-stats{font-size:19px;margin:17px 0;gap:26px;color:#365747}.scene-result-overlay.view-catch .caught-stats .ui-money{font-size:19px}.scene-result-overlay.view-catch .caught-actions{display:flex;justify-content:center;gap:9px;margin:16px 0 0}.scene-result-overlay.view-catch .caught-actions button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font-size:17px;padding:10px 15px;flex:1;white-space:nowrap}.scene-result-overlay.view-catch .caught-actions .flow-art{width:23px;height:23px;object-fit:contain}.scene-result-overlay.view-catch #catchBook{font-size:14px;min-height:32px;color:#526e5a;margin-top:9px}.scene-result-overlay.view-catch #holdError{font-size:15px;color:#8d5846;margin:10px 0 0}.scene-result-overlay.view-catch #holdError:empty{display:none}.scene-result-overlay.view-catch .escape-result>.fish-art{height:145px;max-height:21svh;opacity:1}.scene-result-overlay.view-catch .escape-result h2{font-size:25px}.scene-result-overlay.view-catch .escape-explanation{padding:12px 14px;margin:15px 0 10px;background:#f1f6ee;border:0;border-radius:12px;text-align:left}.scene-result-overlay.view-catch .escape-explanation h3{font:600 18px var(--ui-font);color:#365747;margin:0 0 5px}.scene-result-overlay.view-catch .escape-explanation p{font:16px/1.4 var(--ui-font);color:#405d4d;margin:0}.scene-result-overlay.view-catch .escape-advice{color:#365747!important;font:600 16px/1.4 var(--ui-font);margin:12px 6px 0}.scene-result-overlay.view-catch .close{width:32px;height:32px;top:12px;right:12px;background:#f3f6ef;color:#526b56;border-radius:50%;padding:4px}.scene-result-overlay.view-haul{width:min(560px,calc(100vw - 32px))!important}.scene-result-overlay.view-haul .window-content{max-height:58svh}
#fishingCue[hidden],#fishingMoment[hidden]{display:none!important}#fishingCue{position:fixed;z-index:12;pointer-events:none;display:flex;align-items:center;flex-direction:column;transform:translate(-50%,-100%);animation:coach-float 1.2s ease-in-out infinite}#fishingCue b{order:1;background:#fff9e8;color:#4f6245;border:1px solid #e9cd82;border-radius:12px;padding:8px 13px;box-shadow:0 3px 15px #27433314;font:600 16px var(--ui-font);white-space:nowrap}#fishingCue span{order:2;width:2px;height:16px;background:#e9cd82;position:relative}#fishingCue span:after{content:'';position:absolute;left:-5px;bottom:-6px;border-top:8px solid #e9cd82;border-left:6px solid transparent;border-right:6px solid transparent}#fishingMoment{position:fixed;left:50%;top:16%;transform:translateX(-50%);z-index:9;pointer-events:none;background:#ffffffed;color:#365747;padding:10px 18px;border-radius:30px;box-shadow:0 4px 20px #23483315;font:600 19px var(--ui-font)}#fishingMoment[data-kind=bite]{background:#fff0c7;color:#536044}.fish-on{animation:reel-ready 1.25s ease-in-out infinite!important}@keyframes reel-ready{0%,100%{box-shadow:0 0 0 4px #f8d77e36,0 5px 20px #23483322}50%{box-shadow:0 0 0 12px #f8d77e18,0 5px 20px #23483322}}@keyframes coach-float{0%,100%{translate:0 0}50%{translate:0 -5px}}@keyframes catch-arrive{from{opacity:0;transform:translateY(9px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.scene-result-overlay.view-catch{left:50%!important;right:auto!important;top:50%!important;transform:translate(-50%,-50%)!important;width:370px!important;border-radius:18px!important}.scene-result-overlay.view-catch .window-header{padding:16px 44px 0 18px}.scene-result-overlay.view-catch .window-content{padding:12px 18px 18px!important}.scene-result-overlay.view-catch .caught-hero>.fish-art{height:165px;max-height:23svh}.scene-result-overlay.view-catch .escape-result>.fish-art{height:120px;max-height:18svh}.scene-result-overlay.view-catch .caught-hero h2{font-size:24px}.scene-result-overlay.view-catch .caught-actions button{font-size:16px;padding:10px}.scene-result-overlay.view-catch .escape-explanation p,.scene-result-overlay.view-catch .escape-advice{font-size:15px}.scene-result-overlay.view-catch .escape-explanation{margin-top:12px;padding:10px 12px}.scene-result-overlay.view-catch .escape-explanation h3{font-size:17px}.scene-result-overlay.view-catch .caught-stats{margin:12px 0}#fishingMoment{top:34%;font-size:16px;padding:8px 14px}#fishingCue b{font-size:14px;padding:7px 10px}}
@media(max-height:570px){.scene-result-overlay.view-catch .window-header{padding-top:13px}.scene-result-overlay.view-catch .window-content{padding-top:9px!important;padding-bottom:13px!important}.scene-result-overlay.view-catch .caught-hero>.fish-art{height:120px;max-height:22svh}.scene-result-overlay.view-catch .escape-result>.fish-art{height:88px;max-height:17svh}.scene-result-overlay.view-catch .caught-hero h2{font-size:22px;margin:5px 0 7px}.scene-result-overlay.view-catch .escape-explanation{margin-top:10px;padding:9px 11px}.scene-result-overlay.view-catch .escape-explanation p,.scene-result-overlay.view-catch .escape-advice{font-size:14px}.scene-result-overlay.view-catch .caught-actions{margin-top:12px}.scene-result-overlay.view-catch .escape-advice{margin-top:9px}.scene-result-overlay.view-catch .caught-stats{margin:11px 0}.scene-result-overlay.view-catch #catchBook{margin-top:5px;font-size:13px}}
@media(prefers-reduced-motion:reduce){#fishingCue,.fish-on,.scene-result-overlay .fish-art{animation:none!important}}.reduced-motion #fishingCue,.reduced-motion .fish-on,.reduced-motion .scene-result-overlay .fish-art{animation:none!important}
/* A shared tactile vocabulary: painted icons, white paper, sage edges and warm gold. */
:root{--button-radius:12px;--button-ink:#294d41;--button-edge:#cdddc9;--button-sage:#e5efdf;--button-gold:#ffda91}.mockup-window button:not(.link-button),.reference-map button,.splash-controls button,#gameplay button{font-family:var(--ui-font)!important;font-weight:600;border-radius:var(--button-radius)!important;transition:background-color .15s,box-shadow .15s,border-color .15s}.mockup-window .white-button,.reference-map .white-button,#gameplay .bottom-nav>button:not(#cast),#gameplay .flow-tools button,.splash-controls .white-button,.splash-controls .blue{background:linear-gradient(#fff,#f6faf4)!important;color:var(--button-ink)!important;border:1px solid var(--button-edge)!important;box-shadow:inset 0 1px 0 white,0 3px 0 #bdceb940,0 5px 12px #304c3910!important}.mockup-window .gold,.splash-controls .gold,#gameplay #cast{background:linear-gradient(#ffe6ae,#ffd585)!important;color:#4b5034!important;border:1px solid #e3bf71!important;box-shadow:inset 0 1px 0 #fff3d5,0 3px 0 #cfaa5c55,0 5px 13px #51482413!important}.mockup-window .green{background:linear-gradient(#b2cfaa,#97be92)!important;color:#284c32!important;border:1px solid #84a97f!important;box-shadow:inset 0 1px 0 #dcebd3,0 3px 0 #7f9e7440!important}.mockup-window button:hover:not(:disabled),#gameplay button:hover:not(:disabled),.splash-controls button:hover{border-color:#95b08b!important;box-shadow:inset 0 1px 0 white,0 3px 0 #a7bda44d,0 6px 16px #304c3919!important}.mockup-window button:focus-visible,#gameplay button:focus-visible,.splash-controls button:focus-visible{outline:3px solid #779978;outline-offset:3px}.mockup-window button:disabled,#gameplay button:disabled{opacity:.5;box-shadow:none!important;cursor:default}.mockup-window .flow-tabs{padding:5px;background:#f0f5ed;border:1px solid #e4ede0}.mockup-window .flow-tabs button{font-size:16px;min-height:42px;color:#526b56;box-shadow:none!important}.mockup-window .flow-tabs button[aria-pressed=true]{background:#dcebd4!important;color:#2d513b!important;box-shadow:inset 0 1px 0 #f4faed,0 1px 4px #406b3512!important}.mockup-window .window-footer button,.caught-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.menu-button-icon{width:24px!important;height:24px!important;object-fit:contain!important;display:inline-block!important;flex:0 0 24px}.button-symbol{display:inline-block;flex-shrink:0;margin-right:8px;font-size:22px;line-height:1;color:inherit}.splash-controls button{display:flex;align-items:center;justify-content:center;gap:7px}.splash-controls button .button-symbol{font-size:20px;margin-right:4px}#gameplay .bottom-nav .ui-icon,#gameplay .flow-tools .flow-art{width:34px;height:34px;object-fit:contain}#gameplay .bottom-nav>#bookButton{min-width:160px}#gameplay .bottom-nav>#bookButton .ui-icon{width:32px;height:32px}#gameplay .flow-tools button{border:1px solid var(--button-edge)!important;border-radius:14px!important}#gameplay .flow-tools button.active-tool{background:linear-gradient(#ffe7b4,#ffdb96)!important;border-color:#e0be79!important}#gameplay .bottom-nav>button,#gameplay .flow-tools button{color:#294d41!important}#gameplay #cast{border:3px solid #fff4d7!important;border-radius:50%!important}#gameplay .hud .settings{border:1px solid #d9e5d2!important;background:#fff!important}#gameplay .hud .settings .ui-icon{width:27px;height:27px}.map-legend{color:#405d49}.nearby-map{border-color:#d6e3ce;background:#fffffff2}#gameplay #tutorial{box-shadow:0 5px 18px #23442c12;border:1px solid #e2eadb;border-radius:15px}body[data-view=level]{--page-art:url('assets/ui/levelup-menu.jpg')!important}.view-level.mockup-window{background:#ffffffef!important;box-shadow:0 14px 50px #27474020}.view-level .window-content{background:#ffffffef!important}.view-level .level-unlock-cards article{background:#edf4e6}.cozy-splash{background-image:linear-gradient(#edf5e622,#fff2e520),url('assets/splash-background.webp')!important;background-position:center!important;background-size:cover!important}.cozy-splash #modalContent{position:relative;z-index:1}.cozy-splash .splash-wordmark{color:#fffdf7;text-shadow:0 3px 4px #244d4b55}.cozy-splash .splash-motto{color:#fffdf7;text-shadow:0 1px 4px #244d4b66}#game{background:#629caa}body[data-screen=playing]{background:#629caa}
@media(max-width:900px){#gameplay .bottom-nav>#bookButton{min-width:0}#gameplay .bottom-nav>#bookButton .ui-icon{width:28px;height:28px}#gameplay .bottom-nav>button:not(#cast){font-size:16px!important}.mockup-window .window-footer .menu-button-icon{display:inline-block!important}}
@media(max-width:700px){.cozy-splash{background-position:92% center!important}.cozy-splash #modalContent{padding:7svh 6vw!important;justify-content:flex-start;align-items:flex-start}.cozy-splash .splash-overlay{width:270px;max-width:85vw}.cozy-splash .splash-wordmark{font-size:59px}.cozy-splash .splash-motto{font-size:17px}.cozy-splash .splash-controls{width:210px;margin-top:20px;gap:11px}.cozy-splash .splash-controls button{min-height:46px!important}.mockup-window button{min-height:42px}.mockup-window .window-footer button{font-size:15px!important}.mockup-window .flow-tabs button{font-size:14px}.menu-button-icon{width:22px!important;height:22px!important;flex-basis:22px}.view-market .window-footer button img.menu-button-icon{display:inline-block!important}#gameplay .bottom-nav{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:'map hold book' 'market shop cast';gap:7px;bottom:12px;left:12px;right:12px;align-items:stretch}#gameplay #map{grid-area:map}#gameplay #holdButton{grid-area:hold}#gameplay #bookButton{grid-area:book}#gameplay #returnMarket{grid-area:market}#gameplay #returnShop{grid-area:shop}#gameplay .bottom-nav>button:not(#cast){height:52px;min-height:52px;display:flex!important;flex-direction:row!important;gap:6px;padding:7px!important;font-size:15px!important}#gameplay .bottom-nav .ui-icon,#gameplay .bottom-nav>#bookButton .ui-icon{width:26px;height:26px}#gameplay #bookButton{flex-direction:column!important;font-size:14px!important;gap:1px}#gameplay #bookButton .ui-icon{width:23px;height:23px}#gameplay button.cooler{display:grid!important;grid-template-columns:24px 1fr;column-gap:5px;row-gap:1px}#gameplay button.cooler .flow-art{grid-row:1/3;width:24px;height:24px}#gameplay button.cooler strong{font-size:13px}#gameplay button.cooler small{font-size:12px}#gameplay #cast{grid-area:cast;position:static!important;inset:auto!important;margin:0!important;width:auto;height:52px;min-height:52px;flex-direction:row;gap:5px;border-radius:14px!important;padding:7px!important}#gameplay #cast .flow-art{width:27px;height:27px}#gameplay #cast b{font-size:18px}#gameplay .joystick{bottom:137px;width:64px;height:64px}#gameplay .flow-tools{top:125px;gap:6px}#gameplay .flow-tools button{width:62px;height:54px;min-height:54px;padding:4px;font-size:15px}#gameplay .flow-tools button .flow-art{width:30px;height:30px}#gameplay #weatherInfo{bottom:141px;font-size:11px}#gameplay #fishingMoment{top:40%}.nearby-map{width:146px}.nearby-map #miniMap{width:126px;height:126px}.map-legend{font-size:10px}#gameplay #tutorial{right:166px;left:88px;top:107px}.view-market .window-footer{flex-wrap:wrap}.view-market .window-footer button{flex:1;white-space:nowrap;gap:4px;padding:8px!important}}
@media(max-width:360px){#gameplay .bottom-nav>button:not(#cast){font-size:14px!important;gap:4px}#gameplay #bookButton{font-size:13px!important}#gameplay .bottom-nav .ui-icon{width:23px;height:23px}.cozy-splash .splash-wordmark{font-size:54px}.cozy-splash .splash-controls{width:195px}}
/* Every shop card owns its full text height; the list scrolls, cards never shrink. */
.mockup-window .shop-rows{gap:10px;padding:4px;border:0;background:transparent}.mockup-window .shop-row{flex:0 0 auto;height:auto;min-height:104px;padding:16px;border:1px solid #dfE8da;border-radius:13px;align-items:center;overflow:visible}.mockup-window .shop-row>div:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0}.mockup-window .shop-row h2{margin:0;font-size:19px;line-height:1.2}.mockup-window .shop-row p{margin:0;line-height:1.4;font-size:15px;max-width:none}.mockup-window .shop-row small{display:block;line-height:1.4;font-size:13px;margin:0;color:#5e7663}.mockup-window .shop-row>.flow-art{height:68px;width:68px}.mockup-window .shop-row .shop-price{gap:5px}.mockup-window .shop-row>button{min-height:42px}@media(max-width:700px){.mockup-window .shop-row{min-height:118px;padding:12px;column-gap:10px;row-gap:9px;grid-template-columns:45px minmax(0,1fr) auto}.mockup-window .shop-row>.flow-art{width:45px;height:54px}.mockup-window .shop-row h2{font-size:17px}.mockup-window .shop-row p{font-size:14px;line-height:1.35}.mockup-window .shop-row small{font-size:12px}.mockup-window .shop-row>button,.mockup-window .shop-row-actions button{min-height:38px}.mockup-window .shop-row>div:nth-child(2){gap:4px}}
/* Progress is grouped by the activity that earns it. */
.reference-map .map-progress{width:282px;padding:20px;max-height:calc(100svh - 170px);overflow-y:auto;scrollbar-width:thin}.map-progress-heading small{font-size:13px;color:#6e846e}.map-progress-heading h2{font:32px Georgia,serif;margin:6px 0 8px;color:#365747}.map-progress-heading>span{font-size:14px;color:#58705a}.map-progress-heading progress{height:7px;margin:10px 0 0}.map-progress section{display:flex;gap:11px;padding:14px 0;border-bottom:1px solid #e7eee3}.map-progress section>.ui-icon{width:26px;height:26px;object-fit:contain;flex:0 0 26px}.map-progress section>div{min-width:0}.map-progress section b{font-size:17px;color:#365747;display:block}.map-progress section p{font-size:16px;margin:5px 0 0;line-height:1.3;color:#49654c}.map-progress section p small{font-size:12px;color:#7a8e75}.map-progress .link-button{min-height:28px;padding:5px 0 0;font-size:15px;text-align:left;color:#456e4f;text-decoration:underline;text-underline-offset:3px;box-shadow:none!important;border:0!important;background:transparent!important}.map-progress .adventure-link{margin-top:10px;font-size:16px}.map-progress .map-task-group:last-of-type{border-bottom:0}
/* Transparent coin/XP sprites precede level-up without replacing the current page. */
#rewardBurst{position:fixed;inset:0;margin:auto;width:min(350px,85vw);height:220px;max-height:70vh;padding:0;border:0;overflow:visible;background:transparent;color:#365747;pointer-events:none;box-shadow:none;text-align:center}#rewardBurst::backdrop{background:transparent;pointer-events:none}.reward-copy{position:relative;z-index:1;padding-top:45px;animation:reward-copy 1.4s ease both;text-shadow:0 1px 0 white,0 0 14px white,0 0 30px #fff}.reward-copy>small{font:600 18px var(--ui-font);display:block;color:#4b6a4c}.reward-copy>strong{font:36px Georgia,serif;display:block;margin:8px 0}.reward-copy>p{display:flex;justify-content:center;gap:22px;margin:10px 0;font-size:23px;font-weight:600;color:#34543f}.reward-copy>p>span{display:flex;align-items:center;gap:5px}.reward-copy .ui-icon{width:31px;height:31px;object-fit:contain}.reward-copy>b{font-size:16px;font-weight:600;color:#597950}.reward-sparkles{position:absolute;inset:0;overflow:visible}.reward-sparkles>img{position:absolute;left:calc(50% - 13px);top:calc(50% - 13px);width:26px;height:26px;object-fit:contain;animation:reward-fly 1.4s cubic-bezier(.17,.65,.3,1) both;animation-delay:calc(var(--i)*.014s)}@keyframes reward-fly{0%{opacity:0;transform:translate(0,5px) scale(.3)}18%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--turn)) scale(.7)}}@keyframes reward-copy{0%{opacity:0;transform:translateY(10px) scale(.9)}15%,75%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-12px)}}
@media(max-width:700px){.reference-map .map-progress{top:auto;bottom:76px;left:12px;right:12px;width:auto;max-height:none;padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 11px;border-radius:16px}.map-progress-heading{grid-column:1/2}.map-progress-heading small{font-size:10px}.map-progress-heading h2{font-size:23px;margin:4px 0 5px}.map-progress-heading>span{font-size:11px}.map-progress-heading progress{margin-top:7px}.map-progress .map-next-goal{grid-column:2/4;grid-row:1;padding:0 0 10px;border-bottom:1px solid #e7eee3}.map-progress section{display:block;padding:11px 0 0;border-bottom:0}.map-progress section>.ui-icon{width:23px;height:23px;margin-bottom:4px}.map-progress section b{font-size:14px}.map-progress section p{font-size:13px}.map-progress section p small{display:block;font-size:10px}.map-progress .link-button{font-size:12px;min-height:28px;line-height:1.3;padding-top:6px}.map-progress .adventure-link{grid-column:3;justify-self:start;margin-top:0;font-size:12px}.map-progress .map-task-group:last-of-type .link-button{display:none}.reference-map .location-0{top:15%;left:4%}.reference-map .location-1{top:32%;left:20%}.reference-map .location-2{top:48%;right:5%;left:auto}.reference-map .map-title{font-size:27px}.reference-map .map-actions{bottom:14px;gap:6px;max-width:calc(100vw - 84px)}.reference-map .map-actions button{min-height:42px;font-size:13px;padding:7px 9px}.reference-map .map-actions button .ui-icon,.reference-map .map-actions button .flow-art{width:22px;height:22px}.reference-map .map-home{font-size:13px!important;bottom:16px!important}.reward-copy>strong{font-size:32px}.reward-copy>p{font-size:21px}}
@media(prefers-reduced-motion:reduce){.reward-sparkles{display:none}.reward-copy{animation:none}}

.mockup-window .gear-help,.mockup-window .muted,.mockup-window .book-hint,.mockup-window .dialog-sub{color:#526b56!important}.mockup-window .gear-help{font-size:15px;line-height:1.4;margin:10px 3px 14px}
@media(max-width:700px){#gameplay .bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:'map map hold hold book book' 'market market market shop shop shop'}#gameplay .bottom-nav>button#holdButton{display:grid!important;grid-template-columns:24px minmax(0,1fr);column-gap:5px;row-gap:1px;align-items:center}#gameplay .bottom-nav>button#holdButton .flow-art{grid-row:1/3;width:24px;height:24px}#gameplay .bottom-nav>button#holdButton strong{font-size:13px;line-height:1.1;white-space:nowrap}#gameplay .bottom-nav>button#holdButton small{font-size:12px;line-height:1.1}#gameplay .bottom-nav>button#bookButton{flex-direction:column!important;font-size:14px!important;gap:1px;padding:4px!important}#gameplay .bottom-nav>button#bookButton .ui-icon{width:23px;height:23px}#gameplay .bottom-nav>button#cast{position:fixed!important;right:14px!important;bottom:141px!important;left:auto!important;top:auto!important;width:82px;height:82px;min-height:82px;padding:8px!important;display:flex;flex-direction:column!important;gap:1px;border-radius:50%!important}#gameplay #cast .flow-art{width:35px;height:35px}#gameplay #cast b{font-size:18px}#gameplay #weatherInfo{left:50%;right:auto;bottom:141px;transform:translateX(-50%);max-width:130px;text-align:center}#gameplay .joystick{bottom:141px}}

.reference-map .map-actions #mapHome{position:fixed;right:24px;bottom:24px}.reference-map .map-actions #mapHome .button-symbol{margin-right:3px}@media(max-width:700px){.reference-map .map-progress{bottom:120px}.reference-map .map-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));left:12px;right:12px;bottom:14px;max-width:none;gap:6px}.reference-map .map-actions button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:42px;font-size:13px;padding:6px!important}.reference-map .map-actions button .ui-icon,.reference-map .map-actions button .flow-art{width:22px;height:22px}.reference-map .map-actions #mapHome{position:static!important;inset:auto!important;min-height:42px;padding:6px!important}.reference-map .location-1{top:28%}.reference-map .location-2{top:41%}}

/* Keep location markers in the map area, clear of the progress rail. */
@media(min-width:701px){.reference-map .location-1{left:min(36%,calc(100vw - 700px));top:43%}.reference-map .location-2{left:min(55%,calc(100vw - 700px));top:66%}}
@media(max-width:700px){.reference-map .location-2{top:37%}}
@media(max-width:700px) and (max-height:650px){.reference-map{min-height:820px}.reference-map .map-actions{position:absolute}.reference-map .map-progress{bottom:120px}}
/* Rows grow to contain rewards and their action; only the list scrolls. */
.mockup-window .contract-list{display:flex;flex-direction:column;gap:10px;overflow:auto;min-height:0;padding:4px 2px 12px;isolation:isolate}
.mockup-window .contract-row{flex:0 0 auto;height:auto;min-height:140px;display:grid;grid-template-columns:64px minmax(0,1fr) 106px;align-items:center;gap:12px;padding:14px;overflow:visible}
.mockup-window .contract-reward{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:0;height:auto}
.mockup-window .contract-reward button{position:static;min-width:96px;width:auto;min-height:42px;padding:8px 12px;font-size:16px;white-space:nowrap;margin:0}
.mockup-window .contract-reward button:disabled{opacity:1!important;color:#627260!important;background:#eef2eb!important;border-color:#dce5d7!important}
.mockup-window .contract-reward button:disabled:last-child{box-shadow:none!important}
.story-bonus{display:flex;align-items:center;gap:9px;color:#365747}.story-bonus small{display:block;font-size:14px;color:#48654d}.story-bonus .flow-art{width:42px;height:42px;object-fit:contain}.story-rewards{flex-wrap:wrap;gap:12px}.blueprint-discount{color:#3c714a!important;font-weight:600}
/* Persistent storage advice and transient messages use separate HUD lanes. */
#gameplay #storageNotice{top:auto!important;bottom:calc(112px + env(safe-area-inset-bottom));left:50%;max-width:min(340px,calc(100vw - 32px));font-size:16px;padding:12px 18px}
#toast{top:132px!important;max-width:min(420px,calc(100vw - 40px));width:max-content;white-space:normal;text-align:center}
@media(max-width:700px){.mockup-window .contract-row{grid-template-columns:44px minmax(0,1fr) 86px;gap:8px;padding:12px;min-height:146px}.mockup-window .contract-reward button{min-width:80px;font-size:14px;padding:7px 9px}#gameplay #storageNotice{bottom:244px;font-size:14px}#toast{top:150px!important}}

/* Give illustrated button icons a consistent, prominent footprint. */
.mockup-window button .menu-button-icon,.reference-map button .menu-button-icon,.splash-controls button .ui-icon{width:34px!important;height:34px!important;flex-basis:34px;object-fit:contain!important}
.mockup-window .window-footer button .ui-icon,.mockup-window .window-footer button .flow-art,.reference-map .map-actions button .ui-icon,.reference-map .map-actions button .flow-art{width:34px!important;height:34px!important;flex:0 0 34px;object-fit:contain;margin-right:0}
.mockup-window .window-footer button,.reference-map .map-actions button{gap:8px;min-height:54px}
#gameplay .bottom-nav button .ui-icon,#gameplay .bottom-nav button .flow-art{width:40px!important;height:40px!important;flex:0 0 40px;object-fit:contain}
#gameplay .bottom-nav>#bookButton .ui-icon{width:38px!important;height:38px!important}
#gameplay .flow-tools button .flow-art{width:44px!important;height:44px!important;object-fit:contain}
.splash-controls button .button-symbol{font-size:28px!important}
@media(max-width:700px){.mockup-window .window-footer button .ui-icon,.mockup-window .window-footer button .flow-art,.reference-map .map-actions button .ui-icon,.reference-map .map-actions button .flow-art,.mockup-window button .menu-button-icon{width:28px!important;height:28px!important;flex-basis:28px}.reference-map .map-actions button{min-height:42px;gap:5px}.mockup-window .window-footer button{gap:5px}#gameplay .bottom-nav button .ui-icon,#gameplay .bottom-nav button .flow-art{width:32px!important;height:32px!important;flex-basis:32px}#gameplay .bottom-nav>#bookButton .ui-icon{width:32px!important;height:32px!important}#gameplay .flow-tools button .flow-art{width:38px!important;height:38px!important}}

/* A defined ink edge keeps the title readable over pale sky and water. */
.cozy-splash .splash-wordmark{color:#fffdf7;-webkit-text-stroke:1.5px #244e58;paint-order:stroke fill;text-shadow:0 3px 0 #244e58,0 5px 12px #173d5670;filter:none}
.cozy-splash .splash-motto{color:#fff;text-shadow:0 1px 2px #173d56,0 2px 6px #173d56}

@media(max-width:700px){.reference-map .map-progress{padding:11px 13px;gap:0 10px}.map-progress .map-task-group:last-of-type .link-button{display:block}.map-progress .adventure-link{position:fixed;top:66px;left:24px;margin:0;padding:3px 0;min-height:28px;font-size:14px;color:#294d41;text-shadow:0 1px 2px #ffffffcc}.map-progress .map-task-group{padding-top:9px}.map-progress section>.ui-icon{display:none}.map-progress .map-next-goal{padding-bottom:7px}.map-progress section b{font-size:13px}.map-progress section p{font-size:12px;margin-top:3px}.map-progress .link-button{font-size:12px;min-height:26px;padding-top:4px}.map-progress-heading h2{font-size:22px;margin:3px 0}.map-progress-heading progress{margin-top:5px}}

.view-cosmetics{width:min(1050px,96vw)!important}.cosmetic-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px;min-height:390px}.cosmetic-preview{min-width:0}.cosmetic-preview canvas{display:block;width:100%;height:310px;border-radius:18px;touch-action:none;background:#e8f0e7}.cosmetic-preview>p{text-align:center;color:#5b715e;font-size:14px;margin:8px}.cosmetic-options{min-width:0}.cosmetic-options .rarity-tabs{display:flex;flex-wrap:wrap;gap:4px}.cosmetic-options .rarity-tabs button{flex:1 0 28%;font-size:15px;color:#365747}.cosmetic-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cosmetic-choices button{display:grid;grid-template-columns:42px 1fr;gap:4px 10px;text-align:left;padding:12px;min-height:72px}.cosmetic-choices button i{grid-row:span 2;width:42px;height:42px;border-radius:12px;box-shadow:inset 0 0 0 1px #49674e30;display:grid;place-items:center;font-size:25px;font-style:normal}.cosmetic-choices button b{font-size:16px}.cosmetic-choices button small{font-size:13px;color:#5d715e}.cosmetic-choices button[aria-pressed=true]{outline:2px solid #88a47c;outline-offset:-2px}.cosmetic-options>#applyCosmetic{width:100%;margin-top:14px;min-height:46px}#cosmeticStatus{color:#49654c;font-size:15px;min-height:20px;margin:12px 0}.cosmetic-preview .flow-tabs button{white-space:normal;font-size:14px}
@media(max-width:700px){.cosmetic-layout{grid-template-columns:1fr;gap:10px}.cosmetic-preview canvas{height:210px}.cosmetic-preview .flow-tabs{margin:6px 0}.cosmetic-preview>p{margin:4px}.cosmetic-choices button{min-height:64px;padding:9px}.cosmetic-options .rarity-tabs button{min-height:34px;padding:7px}.view-cosmetics .window-content{padding:12px!important}}

#rewardBurst::backdrop{background:rgba(13,30,36,.7);backdrop-filter:none}
@media(max-width:700px){.view-market .window-footer{display:flex;flex-wrap:wrap;gap:6px}.view-market .window-footer button{flex:1 1 auto;white-space:nowrap;min-width:0;padding:8px 10px!important;font-size:14px!important}.view-market .window-footer button .menu-button-icon,.view-market .window-footer button .flow-art,.view-market .window-footer button .ui-icon{width:26px!important;height:26px!important;flex-basis:26px}.view-market .window-footer #flowBack{flex:0 0 auto}}

#rewardBurst .reward-copy,#rewardBurst .reward-copy>small,#rewardBurst .reward-copy>strong,#rewardBurst .reward-copy>p,#rewardBurst .reward-copy>b{color:#fff9e9;text-shadow:0 2px 6px #10232c80}

/* Compact secondary controls leave more of the fishing scene visible. */
#gameplay .hud #settings{width:44px!important;min-width:44px!important;height:44px!important;padding:7px!important;display:grid!important;place-items:center;border-radius:13px!important}
#gameplay .hud #settings .ui-icon{width:29px!important;height:29px!important;margin:0}
#gameplay .nearby-map{width:152px;padding:9px;border-radius:16px}#gameplay .nearby-map #miniMap{width:132px;height:132px;display:block;margin:auto}#gameplay .nearby-map h2{display:none}#gameplay .map-legend{display:grid;grid-template-columns:1fr 1fr;gap:4px 7px;font-size:10px;margin-top:6px}
@media(max-width:700px){#gameplay .hud #settings{width:40px!important;min-width:40px!important;height:40px!important;padding:6px!important}#gameplay .hud #settings .ui-icon{width:27px!important;height:27px!important}#gameplay .nearby-map{width:118px;padding:8px}#gameplay .nearby-map #miniMap{width:100px;height:100px}#gameplay .map-legend{gap:3px 5px;font-size:9px}}

.equipment-requirement{color:#946140!important;font-weight:600}.equipment-benefit{color:#3e7051!important;font-size:14px!important}
/* Keep trophies and their footer within the mobile safe area. */
@media(max-width:700px){.view-trophies.mockup-window{width:calc(100vw - 24px);height:auto;max-height:calc(100svh - 24px);overflow:hidden;display:flex;flex-direction:column}.view-trophies #modalContent,.view-trophies .flow-page{display:flex;flex-direction:column;min-height:0;max-height:inherit;padding:0}.view-trophies .window-header{flex:0 0 auto}.view-trophies .window-content{min-height:0;overflow:auto;padding:10px 14px!important}.view-trophies .trophy-room{padding:0!important}.view-trophies .trophy-plaques{display:grid;grid-template-columns:1fr;gap:8px}.view-trophies .trophy-plaque{min-height:96px;height:auto;padding:10px 14px;display:grid;grid-template-columns:100px 1fr;grid-template-rows:1fr 1fr;column-gap:10px;align-items:center;border-radius:16px}.view-trophies .trophy-plaque .fish-art{grid-row:1/3;max-height:75px;height:75px;width:100%;object-fit:contain}.view-trophies .trophy-plaque b{align-self:end;font-size:17px}.view-trophies .trophy-plaque small{align-self:start;font-size:14px}.view-trophies .trophy-summary{margin-top:12px;padding:10px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;font-size:13px}.view-trophies .window-footer{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px!important}.view-trophies .window-footer #flowBack{grid-column:1/-1;justify-self:start}.view-trophies .window-footer button{white-space:normal;font-size:14px!important;min-height:44px}}
.location-node .location-access{display:block;margin-top:3px;font-size:12px;line-height:1.2;color:#285346;font-weight:600;white-space:normal}
.permit-panel{max-width:480px;margin:auto;padding:24px;text-align:center;color:var(--ink)}.permit-panel>.ui-icon{width:64px;height:64px}.permit-panel h2{font-size:28px;margin:12px 0}.permit-panel p{color:var(--ink);line-height:1.45}.permit-panel dl{margin:24px 0}.permit-panel dl>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #dce5e2}.permit-panel dd{margin:0}.permit-panel .permit-requirement{font-weight:600}.permit-panel button{min-height:48px;white-space:normal}

#adventurePreview{position:fixed;inset:auto 20px 110px auto;margin:0;width:min(420px,calc(100vw - 32px));padding:18px;background:#fff;color:var(--ink);border:1px solid #ceded5;border-radius:18px;box-shadow:0 12px 34px #15354a33;font-family:var(--ui-font);z-index:20}#adventurePreview:popover-open{display:flex;align-items:flex-start;gap:14px}#adventurePreview>.flow-art{width:58px;height:58px;object-fit:contain}#adventurePreview .adventure-portrait{width:64px;height:80px;object-fit:cover;object-position:top;border-radius:12px;background:#edf5ef}#adventurePreview>div{flex:1;min-width:0}#adventurePreview small{display:block;font-size:11px;letter-spacing:.06em;color:#49735e}#adventurePreview strong{display:block;font-size:21px;margin-top:3px}#adventurePreview p{font-size:16px;line-height:1.35;margin:8px 0 12px;color:#234659}#adventurePreview button{min-height:42px}#adventureDismiss{position:absolute;right:5px;top:4px;border:0;background:transparent;color:#345a66;font-size:23px;width:32px;min-height:32px!important}#adventurePreview>div{padding-right:10px}.view-story .flow-tabs{display:flex;flex-wrap:wrap;gap:4px}.view-story .flow-tabs button{flex:1 0 28%;min-height:38px}@media(max-width:700px){#adventurePreview{inset:auto 12px 110px 12px;width:auto;padding:14px;gap:10px}#adventurePreview .adventure-portrait{width:48px;height:64px}#adventurePreview strong{font-size:19px}#adventurePreview p{font-size:15px}}

/* Permits are short purchase cards, not full-size inventory windows. */
dialog.mockup-window.view-permit{width:min(480px,calc(100vw - 24px));height:auto;min-height:0;max-height:calc(100svh - 24px);overflow:auto}.view-permit #modalContent,.view-permit .flow-page,.view-permit .window-content{min-height:0;height:auto;max-height:none}.view-permit .window-header{padding:14px 46px 12px 16px;gap:10px}.view-permit .window-header h1{font-size:22px;text-shadow:none}.view-permit .window-content{padding:10px 18px;overflow:visible}.view-permit .permit-panel{padding:4px 0;max-width:none}.view-permit .permit-panel>.ui-icon{width:40px;height:40px}.view-permit .permit-panel h2{font-size:23px;margin:8px 0}.view-permit .permit-panel p{font-size:16px;line-height:1.3;margin:8px 0 12px}.view-permit .permit-panel dl{margin:12px 0}.view-permit .permit-panel dl>div{padding:9px 0}.view-permit .window-footer{padding:9px 16px}.view-permit .window-footer button{min-height:42px}.view-permit .permit-panel button{width:100%;font-size:16px;padding:10px;min-height:44px}@media(max-height:580px){.view-permit .permit-panel>.ui-icon{display:none}.view-permit .window-header{padding-top:9px;padding-bottom:9px}.view-permit .permit-panel h2{font-size:20px;margin:4px 0}.view-permit .permit-panel p{font-size:15px;margin:6px 0}.view-permit .permit-panel dl{margin:6px 0}.view-permit .permit-panel dl>div{padding:6px 0}.view-permit .window-footer{padding:6px 16px}}
@media(min-width:701px){.cozy-splash .splash-overlay{position:relative;left:clamp(100px,12vw,230px)}}


#firstTripCoach{position:fixed;inset:85px 230px auto auto;margin:0;width:330px;max-width:calc(100vw - 24px);padding:20px;border:1px solid #bad4c8;border-radius:18px;background:#fff;color:#183e4c;box-shadow:0 12px 40px #123b4f30;font-family:var(--ui-font)}#firstTripCoach h2{font:600 24px Georgia,serif;margin:12px 0 8px}#firstTripCoach p{font-size:17px;line-height:1.4;margin:0 0 16px;color:#294f5a}.lesson-progress span{font-size:11px;letter-spacing:.07em;color:#527b65}.lesson-progress progress{width:100%;height:6px;margin-top:7px}.lesson-actions{display:flex;align-items:center;gap:10px}.lesson-actions .gold{flex:1;min-height:46px}.lesson-target{outline:4px solid #ffc967!important;outline-offset:5px;box-shadow:0 0 0 9px #fff9!important}.net-supply-shop{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid #c9ded1;border-radius:12px;margin-bottom:12px;background:#f0f8f2}.net-supply-shop>.flow-art{width:60px;height:60px;object-fit:contain}.net-supply-shop>div{flex:1}.net-supply-shop h2{margin:0;font-size:22px}.net-supply-shop p{margin:4px 0}.net-supply-shop small{display:block;color:#355d50}.net-supply-shop button{min-height:44px}#firstTripCoach[data-menu=true]{inset:85px 25px auto auto;width:290px}@media(max-width:700px){#firstTripCoach,#firstTripCoach[data-menu=true]{inset:auto 12px 120px 12px;width:auto;padding:14px}#firstTripCoach[data-menu=true]{bottom:12px}#firstTripCoach h2{font-size:20px;margin:8px 0}#firstTripCoach p{font-size:15px;margin-bottom:10px}.net-supply-shop{flex-wrap:wrap}.net-supply-shop button{width:100%}.lesson-target{outline-width:3px!important;outline-offset:2px}}

#adHost{width:min(430px,calc(100vw - 28px));max-height:calc(100svh - 28px);padding:0;border:1px solid #c7dbd2;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 20px 60px #0c293955}#adHost::backdrop{background:#102a36b8;backdrop-filter:none}.mock-ad{padding:28px;text-align:center;font-family:var(--ui-font)}.mock-ad-label{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;color:#6a7b76}.mock-ad-art{display:grid;place-items:center;width:86px;height:86px;border-radius:50%;background:#fff3c7;margin:22px auto 14px}.mock-ad-art .ui-icon{width:60px;height:60px}.mock-ad h2{font:600 28px Georgia,serif;margin:12px 0}.mock-ad p{font-size:18px;line-height:1.4;margin:10px 0 20px}.mock-ad progress{display:block;width:100%;height:10px}.mock-ad #mockAdTime{display:block;color:#4c6e62;margin:10px 0 16px}.mock-ad button{width:100%;min-height:48px;font-size:18px}.mock-ad .mock-ad-note{font-size:13px;line-height:1.35;color:#65766e;margin:16px 0 0}.ad-coins-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px!important;white-space:normal!important}.ad-coins-button .ui-icon{width:30px!important;height:30px!important;flex-shrink:0}.ad-coins-button span{line-height:1.15}#adRewardBanner{position:fixed;inset:auto 20px 135px auto;margin:0;width:min(430px,calc(100vw - 28px));padding:14px 32px 14px 14px;border:1px solid #ceded2;border-radius:15px;background:white;color:var(--ink);box-shadow:0 8px 28px #14384930;font-family:var(--ui-font)}#adRewardBanner:popover-open{display:flex;align-items:center;gap:10px}#adRewardBanner>.ui-icon{width:36px;height:36px;flex-shrink:0}#adRewardBanner>div{flex:1}#adRewardBanner strong{display:block;font-size:17px}#adRewardBanner small{display:block;font-size:12px;color:#537766;margin-top:3px}#adRewardBanner .gold{min-height:44px;white-space:nowrap;font-size:16px}#dismissAdBanner{position:absolute;right:3px;top:3px;width:28px;height:28px;min-height:28px;border:0;background:transparent;color:#527369;font-size:22px}body[data-ad-playing=true] #gameplay{pointer-events:none}@media(max-width:700px){.view-market .window-footer .ad-coins-button,.view-shop .window-footer .ad-coins-button{flex:1 0 100%;font-size:15px!important;padding:7px!important}.map-actions .ad-coins-button{grid-column:1/-1}.mock-ad{padding:20px}.mock-ad-art{width:66px;height:66px;margin:15px auto}.mock-ad h2{font-size:24px}.mock-ad p{font-size:16px}#adRewardBanner{inset:auto 12px 140px 12px;width:auto;padding:12px 28px 12px 12px;gap:7px}#adRewardBanner strong{font-size:15px}#adRewardBanner>.ui-icon{width:28px;height:28px}#adRewardBanner .gold{font-size:14px;padding:8px}}
.net-shop-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:150px;max-width:220px}.net-shop-actions button{min-height:42px;white-space:normal;line-height:1.2}.net-shop-actions .white-button{font-size:13px!important;padding:7px 9px!important}.shop-row .net-uses{display:block;color:#3b6952;margin-top:3px}@media(max-width:700px){.net-shop-actions{min-width:0;max-width:none;width:100%}.net-shop-actions .white-button{font-size:13px!important}}
@media(max-width:700px){.shop-row.net-owned-row{display:grid!important;grid-template-columns:54px minmax(0,1fr) auto!important;gap:8px 12px;align-items:start;min-height:0!important;padding:12px!important}.net-owned-row>.flow-art{grid-column:1;grid-row:1/4;align-self:start;width:54px!important;height:54px!important}.net-owned-row>div:nth-child(2){grid-column:2/4;min-width:0}.net-owned-row .shop-price{grid-column:2/4;display:flex;flex-direction:row;align-items:center;gap:8px;justify-self:start}.net-owned-row .shop-price small{margin:0}.net-owned-row .net-shop-actions{grid-column:2/4;display:flex;flex-direction:row;align-items:stretch;gap:7px}.net-owned-row .net-shop-actions button{flex:1;min-width:0;padding:7px!important;font-size:14px!important}.net-owned-row .net-shop-actions .white-button{font-size:12px!important}.net-owned-row h2{font-size:20px!important}.net-owned-row p,.net-owned-row small{font-size:13px!important;line-height:1.25!important}.net-owned-row p{margin:3px 0}}

/* Quiet, large-icon fishing controls. Labels remain available to assistive technology. */
body[data-screen="playing"] .bottom-nav #map small,body[data-screen="playing"] #returnMarket span,body[data-screen="playing"] #returnShop span,body[data-screen="playing"] #bookButton span,body[data-screen="playing"] #holdButton small{display:none!important}
body[data-screen="playing"] .bottom-nav>button:not(#cast):not(#holdButton){width:64px!important;min-width:56px!important;padding:8px!important;gap:0!important}
body[data-screen="playing"] .bottom-nav>button:not(#cast) img{width:44px!important;height:44px!important;object-fit:contain}
body[data-screen="playing"] .flow-tools button{width:64px!important;height:64px!important;min-height:64px!important;padding:8px!important;position:relative}
body[data-screen="playing"] .flow-tools img{width:46px!important;height:46px!important;object-fit:contain}
#trapPrompt{position:absolute;bottom:120px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:12px 16px;background:white;color:#244d55;border-radius:18px;box-shadow:0 5px 22px #123b4833;z-index:8;max-width:calc(100% - 24px)}
#trapPrompt[hidden]{display:none}#trapPrompt>img{width:48px;height:48px;object-fit:contain}#trapPrompt small{display:block;color:#45626a}#trapPrompt button{white-space:nowrap;min-height:44px}#trapPrompt kbd{font-size:12px}
@media(max-width:600px){body[data-screen="playing"] .bottom-nav{gap:6px!important}body[data-screen="playing"] .bottom-nav>button:not(#cast):not(#holdButton){width:48px!important;min-width:44px!important}body[data-screen="playing"] .bottom-nav>button:not(#cast) img{width:34px!important;height:34px!important}#trapPrompt{bottom:100px;font-size:15px;gap:8px;padding:10px}#trapPrompt kbd{display:none}}

#gameplay .bottom-nav{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;right:auto!important;width:auto!important;max-width:calc(100% - 24px)}#gameplay .bottom-nav>button:not(#cast){height:60px!important;min-height:60px!important;flex:none!important;grid-area:auto!important}#gameplay .bottom-nav>#holdButton{display:flex!important;align-items:center;justify-content:center;gap:5px!important;width:auto!important;min-width:100px!important;padding:8px!important}#gameplay .bottom-nav>#holdButton strong{font-size:15px!important}#gameplay .flow-tools button[aria-label]{font-size:0}#gameplay .flow-tools .tool-count{font-size:14px}
@media(max-width:700px){#gameplay .bottom-nav{bottom:16px!important;left:12px!important;gap:5px!important}#gameplay .bottom-nav>button:not(#cast){height:50px!important;min-height:50px!important}#gameplay .bottom-nav>#holdButton{min-width:88px!important}#gameplay .bottom-nav>#holdButton img{width:26px!important;height:26px!important;flex-basis:26px!important}#gameplay .bottom-nav>#holdButton strong{font-size:12px!important}#gameplay .bottom-nav>#cast{bottom:90px!important}#gameplay .joystick{bottom:90px!important}#gameplay #weatherInfo{bottom:76px!important}}
#gameplay #trapPrompt{width:340px;box-sizing:border-box}#gameplay #trapPrompt>div{flex:1;min-width:0}#gameplay #trapPrompt>button{min-width:86px!important;width:auto!important;padding:8px 12px!important;flex:none}#gameplay #trapPrompt strong{white-space:nowrap}#gameplay #trapPrompt>img{flex:none}

#gameplay #trapPrompt{width:290px;bottom:100px;border-radius:14px;padding:8px 10px;gap:8px;font-size:15px}#gameplay #trapPrompt>img{width:32px;height:32px}#gameplay #trapPrompt small{font-size:12px;line-height:1.2}#gameplay #trapPrompt>button{min-height:36px!important;min-width:72px!important;font-size:15px!important;padding:6px 9px!important}#trapPrompt kbd{display:none}
#modal.trap-haul-card{width:min(420px,calc(100vw - 24px))!important;max-height:75dvh!important;margin:auto!important}#modal.trap-haul-card .window-header{padding:10px 14px!important}#modal.trap-haul-card .window-header h1{font-size:24px!important}#modal.trap-haul-card .window-content{padding:10px 14px!important}#modal.trap-haul-card .haul-confirmation{margin:0 0 8px;font-size:15px}#modal.trap-haul-card .haul-fish-list article{padding:5px!important;gap:8px;grid-template-columns:48px minmax(0,1fr) auto!important;min-height:54px!important}#modal.trap-haul-card .haul-fish-list img{width:48px!important;height:40px!important}#modal.trap-haul-card .haul-fish-list h2{font-size:17px!important;margin:0}#modal.trap-haul-card .haul-fish-list small{display:none}#modal.trap-haul-card .haul-fish-list .rarity-label{font-size:11px;padding:1px 5px}#modal.trap-haul-card .haul-fish-list article>span:last-child{grid-column:3;font-size:14px}#modal.trap-haul-card .haul-totals{font-size:14px;gap:5px;padding:8px 0}#modal.trap-haul-card .window-footer{padding:8px!important;gap:6px}#modal.trap-haul-card .window-footer button{min-height:40px!important;font-size:15px!important;padding:6px 10px!important}
#modal.trap-haul-card .haul-fish-list article{grid-template-columns:48px minmax(0,1fr) auto auto!important;grid-template-rows:auto!important;height:auto!important;min-height:58px!important}#modal.trap-haul-card .haul-fish-list article>*{grid-row:1!important}#modal.trap-haul-card .haul-fish-list article>:last-child{grid-column:4!important;white-space:nowrap;font-size:14px!important}#modal.trap-haul-card .haul-fish-list article>div{grid-column:2!important}#modal.trap-haul-card .haul-fish-list article .coin-art{width:18px!important;height:18px!important}#modal.trap-haul-card .window-header>.coin-value{display:none!important}#gameplay .bottom-nav>#cast{position:fixed!important;right:24px!important;bottom:24px!important;left:auto!important}@media(max-width:700px){#gameplay .bottom-nav>#cast{right:14px!important;bottom:90px!important}}

.reference-map .map-back{position:absolute;top:20px;left:20px;z-index:6;min-height:44px;padding:8px 18px;color:#294d41}.reference-map-window>#close{display:none!important}#modal.trap-haul-card .window-header>.ui-money{display:none!important}#modal.trap-haul-card .haul-fish-list article .ui-money .ui-icon{width:20px!important;height:20px!important}@media(max-width:700px){.reference-map .map-back{top:12px;left:12px;min-height:38px;padding:6px 12px}}

#gameplay .bottom-nav>#bookButton,#gameplay .bottom-nav>#returnShop{display:none!important}#gameplay .flow-tools{top:154px!important}@media(max-width:700px){#gameplay .flow-tools{top:128px!important}}
html body #gameplay nav.bottom-nav>button#bookButton,html body #gameplay nav.bottom-nav>button#returnShop{display:none!important;visibility:hidden!important;pointer-events:none!important}

/* Full-screen splash artwork already covers its backdrop. */
dialog.cozy-splash::backdrop{background:#164c69!important;backdrop-filter:none!important}
