.flow-screen{width:min(1080px,96vw);max-width:1080px;background:white!important;color:#123f5a}.flow-page{padding:clamp(14px,3vw,32px)}.flow-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-right:30px;border-bottom:1px solid #d6e4e7;margin-bottom:22px;padding-bottom:18px}.flow-heading h1{font:clamp(26px,4vw,38px) 'Lilita One',sans-serif;margin:4px 0}.flow-heading small{letter-spacing:2px;font-size:10px}.flow-balance{white-space:nowrap;background:#fff1ac;border:1px solid #dcbd5e;padding:9px 15px;border-radius:22px}.flow-footer,.flow-nav{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.flow-footer{padding-top:20px;border-top:1px solid #d6e4e7}.flow-page button,.flow-market button{min-height:42px}.flow-tabs{display:flex;gap:4px;flex-wrap:wrap;border:1px solid #bdcfd4;border-radius:12px;padding:4px;background:#edf3f5;margin:12px 0 20px}.flow-tabs button,.rarity-tabs button{flex:1;background:transparent;border:0;border-radius:9px;padding:10px;font-size:14px;white-space:nowrap}.flow-tabs [aria-pressed=true],.rarity-tabs [aria-pressed=true]{background:#ffce65;box-shadow:0 2px 4px #123f5a20}.journey-summary{display:flex;align-items:center;gap:24px;padding:18px;border:1px solid #c9dadb;border-radius:14px;background:white;margin-bottom:22px}.journey-summary>div{flex:1;display:grid;gap:5px}.journey-summary small{font-size:11px}.journey-summary b{font-size:21px}.journey-summary span{font-size:12px}progress{display:block;width:100%;height:12px;accent-color:#329b93;border:0;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:#dce7e9;border-radius:10px}progress::-webkit-progress-value{background:linear-gradient(90deg,#278f9b,#65c3b3);border-radius:10px}.world-route.spot-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.route-location{overflow:hidden;border:1px solid #b8cfd0;border-radius:17px;background:white}.route-photo{height:150px;background-size:auto 100%;background-position:center}.lagoon .route-photo{background-image:url('assets/panoramas/lagoon.jpg')}.river .route-photo{background-image:url('assets/panoramas/river.jpg')}.cove .route-photo{background-image:url('assets/panoramas/cove.jpg')}.route-label{padding:17px}.route-label small{font-size:10px;letter-spacing:1px;color:#446a72}.route-label h2{font:25px 'Lilita One',sans-serif;margin:6px 0}.route-label p{font-size:12px;min-height:32px}.route-label button{width:100%;margin-top:16px;font-size:13px}.campaign-chapter{padding:clamp(18px,4vw,42px);border-left:5px solid #e4ba57;background:linear-gradient(110deg,#eef7f6,white);border-radius:10px}.campaign-chapter h2{font:clamp(30px,5vw,46px) 'Lilita One',sans-serif;margin:12px 0 26px}.campaign-chapter h3{font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-top:25px}.campaign-chapter p{font-size:16px;line-height:1.6}.campaign-chapter small{font-size:11px;letter-spacing:.6px}blockquote{margin:20px 0;padding:15px 18px;border-left:3px solid #76b3ac;background:#fff}.flow-offers.boat-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.flow-offer{display:grid;grid-template-columns:minmax(100px,40%) 1fr;align-items:center;gap:14px;padding:20px;border:1px solid #c5d7da;border-radius:14px;background:white}.flow-offer h2{font-size:20px;margin:7px 0}.flow-offer p{font-size:12px;line-height:1.6}.flow-offer small{font-size:10px}.flow-offer b{display:block;font-size:12px;margin:12px 0}.flow-offer button{margin-top:12px;font-size:12px;padding:10px 14px}.flow-art{width:100%;height:145px;object-fit:contain}.ency-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;margin:18px 0}.ency-fish{border:1px solid #c8d9db;padding:15px 10px;background:white;border-radius:12px;text-align:center;display:flex;flex-direction:column;gap:6px}.ency-fish .fish-art{width:100%;height:88px}.ency-fish b{font-size:14px}.ency-fish small,.ency-fish span{font-size:11px}.ency-fish.undiscovered .fish-art{filter:grayscale(1);opacity:.5}.rarity-tabs{display:flex;flex-wrap:wrap;gap:6px}.rarity-tabs button{font-size:12px;background:#eff4f5;flex:0 1 auto}.rarity-Rare{color:#24659b}.rarity-Epic{color:#794b9e}.rarity-Legendary{color:#98620d}.hold-summary{display:grid;gap:10px;padding:20px;background:#edf6f5;border-radius:12px}.hold-summary strong{font-size:25px}.storage-warning{background:#fff0d3;color:#794519;border:1px solid #dfac59;padding:15px;border-radius:12px}.flow-market .market-stage{align-items:flex-end;justify-content:flex-end;min-height:100svh;padding:110px 5vw 30px;gap:0}.flow-market-panel{width:min(530px,100%);padding:20px;background:#fff;border-radius:18px;box-shadow:0 6px 25px #123e5540}.flow-market .market-actions{width:min(530px,100%)}.merchant-bubble{position:absolute;left:37%;top:34%;padding:18px 22px;background:white;border-radius:18px;max-width:210px;box-shadow:0 4px 10px #123c5940;font-size:16px}.merchant-bubble:after{content:'';position:absolute;bottom:-14px;left:30px;border-top:18px solid white;border-right:16px solid transparent}.sale-rows{max-height:40svh;overflow:auto}.sale-row{display:grid;grid-template-columns:65px 1fr auto;gap:8px;align-items:center;border-bottom:1px solid #dce6e8;padding:10px 0}.sale-row .fish-art{width:65px;height:52px}.sale-row b{font-size:13px}.sale-row small{display:block;font-size:10px;margin-top:4px}.sale-row>span{font-size:12px}.quantity{grid-column:2/4;justify-self:end;display:flex;align-items:center;gap:12px}.quantity button{min-height:30px;min-width:33px;padding:2px;background:#edf3f5;border:1px solid #9bb5bf;border-radius:7px}.sale-total{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px;padding-top:15px;border-top:2px solid #c7d9db}.sale-total small{display:block;font-size:11px}.sale-total strong{display:block;font-size:24px}.sale-total button{font-size:16px}.flow-empty{padding:24px 8px;text-align:center;font-size:14px;line-height:1.8}.contract-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #dce7e9}.contract-row>div:nth-child(2){flex:1}.contract-row .fish-art{width:64px;height:48px}.contract-row b{font-size:13px}.contract-row progress{margin:8px 0}.contract-row small{font-size:10px}.contract-row button{font-size:12px;padding:8px 12px}.rare-star{font-size:42px;color:#b28938}.story-list{display:grid;gap:20px}.story-card{border:1px solid #c7d9db;border-radius:15px;padding:25px;line-height:1.7}.story-card h2{font:27px 'Lilita One',sans-serif}.story-card small{font-size:11px}.story-card button{display:block;margin-top:15px}.caught-hero,.fight-scene{text-align:center;max-width:560px;margin:auto;padding:12px}.caught-hero>.fish-art,.fight-scene>.fish-art{width:100%;height:200px;animation:catch-arrive .45s ease-out}.caught-hero h2{font:34px 'Lilita One',sans-serif}.caught-hero button{margin:6px;font-size:14px}.fight-meter{position:relative;height:32px;background:linear-gradient(90deg,#d77965,#264b63 35%,#264b63 70%,#da805a);border:2px solid #163f55;border-radius:30px;margin:25px 0;overflow:hidden}.fight-meter i{position:absolute;top:0;bottom:0;background:#7cb874}.fight-meter b{position:absolute;width:5px;background:white;top:0;bottom:0;box-shadow:0 0 2px black}.fight-scene>progress{height:13px;margin-bottom:15px}.fight-scene button{display:block;margin:14px auto}.tool-options{display:flex;flex-wrap:wrap;gap:10px}.tool-options button{flex:1 1 180px}.flow-tools{position:fixed;left:20px;top:190px;display:flex;flex-direction:column;gap:9px}.flow-tools button{background:#fff;border:2px solid #6d9ca9;border-radius:12px;padding:8px 13px;box-shadow:0 3px 0 #16456140;font-size:12px}#weatherInfo{position:fixed;right:22px;bottom:155px;color:white;background:#164d60cc;padding:8px 14px;border-radius:20px;font-size:11px}#miniMap{position:fixed;right:22px;top:120px;width:110px;height:110px;border-radius:50%;border:3px solid white;box-shadow:0 3px 10px #11384a40}button.cooler{font-size:inherit;font-family:inherit;color:inherit;cursor:pointer}.flow-screen button:focus-visible,.flow-market button:focus-visible{outline:3px solid #167b9e;outline-offset:2px}.flow-page .muted{font-size:12px;line-height:1.6}.reduced-motion *{animation:none!important;transition:none!important}@keyframes catch-arrive{from{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:700px){.flow-screen{width:96vw;max-height:95svh}.flow-heading{gap:8px;padding-right:20px}.flow-heading h1{font-size:25px}.flow-balance{font-size:12px;padding:7px 9px}.journey-summary{gap:12px;flex-wrap:wrap;padding:12px}.journey-summary>div{min-width:95px}.journey-summary b{font-size:18px}.world-route.spot-list{grid-template-columns:1fr}.route-location{display:grid;grid-template-columns:30% 1fr}.route-photo{height:100%;min-height:170px}.route-label{padding:13px}.route-label h2{font-size:23px}.route-label p{min-height:0}.route-label button{margin-top:10px}.flow-offers.boat-list{grid-template-columns:1fr}.flow-offer{padding:13px;gap:10px}.flow-offer h2{font-size:18px}.flow-tabs button{font-size:12px;padding:8px}.ency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-market .market-stage{padding:95px 10px 12px;align-items:center;justify-content:flex-start}.flow-market-panel{margin-top:125px;padding:13px}.merchant-bubble{left:24%;top:120px;font-size:13px;padding:12px 15px;max-width:180px}.sale-row{grid-template-columns:50px 1fr auto}.sale-row .fish-art{width:50px}.sale-total strong{font-size:20px}.sale-total button{font-size:13px;padding:12px}.flow-tools{left:12px;top:180px}.flow-tools button{padding:7px;font-size:10px}#miniMap{width:80px;height:80px;right:12px;top:130px}#weatherInfo{right:12px;bottom:140px;font-size:9px}.caught-hero>.fish-art,.fight-scene>.fish-art{height:130px}.campaign-chapter{padding:18px}.campaign-chapter p{font-size:14px}}
body[data-screen=playing][data-weather=rain] #gameplay:after{content:'';position:fixed;inset:-30px;pointer-events:none;background:repeating-linear-gradient(110deg,transparent 0 45px,#e3f3ff33 46px,transparent 47px 85px);opacity:.3;animation:flow-rain .7s linear infinite;z-index:1}.flow-tools,.hud,.bottom-nav,#weatherInfo,#miniMap,#returnMarket{z-index:3}@keyframes flow-rain{to{transform:translate(12px,30px)}}
@media(min-width:701px){.sale-row{grid-template-columns:65px 1fr auto auto;gap:10px}.sale-row .quantity{grid-column:auto}.flow-market .sale-row{padding:13px 0}.flow-market .sale-rows{max-height:43svh}}
.illustrated-world{position:relative;overflow:hidden;border:2px solid #b5ccce;border-radius:18px;margin-bottom:24px;background:#2c929a;min-height:280px}.illustrated-world>img{width:100%;height:390px;object-fit:cover;display:block}.map-marker{position:absolute;background:#fff;border:2px solid white;border-radius:15px;padding:11px 13px;box-shadow:0 4px 0 #164b5a66;display:grid;grid-template-columns:28px 1fr;text-align:left;gap:2px 7px;font-size:13px}.map-marker>span{grid-row:span 2;font-size:25px;color:#378c85;align-self:center}.map-marker small{font-size:9px;font-weight:800}.marker-0{left:7%;top:28%}.marker-1{left:39%;top:46%}.marker-2{right:5%;top:64%}.world-route .route-photo{height:90px}.world-route .fish-row{display:none}.route-label p{min-height:0}.route-label h2{font-size:22px}@media(max-width:700px){.illustrated-world>img{height:340px;object-position:center}.map-marker{font-size:11px;padding:8px}.map-marker small{font-size:8px}.marker-0{left:3%;top:20%}.marker-1{left:24%;top:46%}.marker-2{right:2%;top:72%}.world-route .route-photo{height:100%;min-height:130px}}
.storage-notice{position:fixed;left:50%;bottom:120px;transform:translateX(-50%);background:#fff0d3;color:#714319;border:2px solid #d3a456;border-radius:14px;padding:10px 18px;font-size:12px;z-index:4}.storage-notice:hover{transform:translateX(-50%)}
