/* A cheerful harbour palette with decorative, non-interactive fish and pump motifs. */
:root{--blue:#086887;--sun:#ff9d50;--aqua:#26b5c7}body{background-color:#f2f8f8;background-image:url('assets/harbour-pattern.svg');background-size:640px 460px}header{background:#07364d;box-shadow:0 3px 16px #07364d20}header .brand{font-size:31px}.brand-mark{color:#50d6dc}nav a{font-weight:800}nav a[aria-current=page]{background:#50d6dc;color:#07364d;box-shadow:0 3px 0 #021e2d}nav #accountLink{background:#ff9d50;color:#07364d;font-weight:900;box-shadow:0 3px 0 #021e2d}
button,.button{font-weight:900;letter-spacing:.15px;border:2px solid #07364d;padding:14px 21px;border-radius:12px;box-shadow:0 4px 0 #07364d;min-height:48px;background:#ff9d50;color:#07364d;transition:transform .15s ease,box-shadow .15s ease}.secondary{background:#eafffc;color:#07364d}.danger{background:#a32d42;color:#fff}.button:hover,button:hover{filter:none;transform:translateY(-2px);box-shadow:0 6px 0 #07364d}.button:active,button:active{transform:translateY(2px);box-shadow:0 2px 0 #07364d}button:disabled{transform:none;box-shadow:0 2px 0 #07364d;opacity:.55}.subtle-control,#forgotPassword{box-shadow:none;border:0;min-height:36px;padding:8px;background:transparent;font-weight:800}#forgotPassword:hover,.subtle-control:hover{box-shadow:none}
.hero{min-height:475px;border-bottom:7px solid #50d6dc}.hero .eyebrow{letter-spacing:2.5px}.hero .button{font-size:16px}.hero-sticker{position:absolute;right:max(28px,calc((100vw - 1200px)/2));bottom:35px;display:flex;align-items:center;gap:12px;background:#eafffcf5;color:#07364d;border:3px solid #07364d;border-radius:17px;padding:12px 20px;box-shadow:5px 5px 0 #07364d;transform:rotate(-3deg);font-weight:900;font-size:16px}.hero-sticker img{width:48px;height:48px;object-fit:contain}.hero-sticker .pump{width:37px}.image-caption{bottom:7px}
.tiles{gap:24px}.tiles>a{position:relative;border:2px solid #c5e4e6;border-radius:20px;background:#fffefa;overflow:hidden;padding:28px;box-shadow:0 6px 0 #c7e1e5}.tiles>a:after{content:'';position:absolute;width:105px;height:100px;right:17px;top:15px;background:url('assets/fish.svg') center/contain no-repeat;opacity:.15;transform:rotate(-18deg);pointer-events:none}.tiles>a:nth-child(2):after{background-image:url('assets/fuel-pump.svg');transform:rotate(14deg);height:110px}.tiles>a:nth-child(3):after{transform:rotate(19deg)}.tiles>a:hover{box-shadow:0 10px 0 #c7e1e5}.tile-icon{width:65px;height:65px;border-radius:16px;background:#daf5f3}.tile-icon img{width:55px;height:53px;object-fit:contain}.tile-icon.pump{background:#ffead6}.tiles h2{font-size:24px}.tiles b{display:inline-flex;align-items:center;color:white;background:#07364d;font-size:15px;font-weight:900;border-radius:10px;padding:12px 17px;margin-top:6px}.tiles p{max-width:270px}
.panel{border-radius:19px;border-color:#cce4e6;box-shadow:0 5px 16px #12485b08;background:#fffefa}.panel h2{font-weight:850}.home-bottom .panel{position:relative;overflow:hidden}.home-bottom .panel:before{content:'';position:absolute;width:115px;height:100px;right:18px;top:20px;background:url('assets/fuel-pump.svg') center/contain no-repeat;opacity:.1;transform:rotate(16deg);pointer-events:none}.home-bottom .spotlight{background:linear-gradient(140deg,#07364d,#086887);border:2px solid #07364d}.home-bottom .spotlight:before{background-image:url('assets/fish.svg');opacity:.23;transform:rotate(-14deg)}.home-bottom .spotlight p,.home-bottom .spotlight a{position:relative}.connection{border:1px solid #b6dfe0;background:#e1f4ee;border-radius:12px;color:#155248;font-weight:650}.connection:before{content:'●';color:#158066;margin-right:8px}.home-market-link{border:2px solid #b2dedf;background:#e2f5f2;border-radius:14px}.home-market-link .badge{font-weight:800}.home-market-link strong{font-size:23px}.home-market-link small{font-weight:600}
.page.wrap>h1{position:relative;display:flex;align-items:center;gap:16px}.page.wrap>h1:before{content:'';display:block;flex:none;width:50px;height:50px;background:url('assets/fish.svg') center/contain no-repeat;transform:rotate(-10deg)}#prices>h1:before,#calculator>h1:before,#buyers>h1:before{background-image:url('assets/fuel-pump.svg');transform:rotate(8deg)}
.market-panel{position:relative;overflow:hidden;background:linear-gradient(120deg,#07364d,#0e758b);border:3px solid #07364d}.market-panel:after{content:'';position:absolute;right:30px;bottom:40px;width:150px;height:155px;background:url('assets/fuel-pump.svg') center/contain no-repeat;opacity:.12;transform:rotate(10deg);pointer-events:none}.market-panel:before{content:'';position:absolute;right:210px;top:24px;width:100px;height:90px;background:url('assets/fish.svg') center/contain no-repeat;opacity:.12;transform:rotate(-12deg);pointer-events:none}.market-panel>*{position:relative;z-index:1}.market-heading .badge{background:#ffcf9e;color:#07364d;font-weight:900;padding:8px 13px}.market-price .amount{color:#fff1cf}.market-panel a{font-weight:850}.port-grid .panel{border-top:5px solid #26b5c7}.port-grid .panel:nth-child(3n+2){border-top-color:#ff9d50}.port-grid .panel:nth-child(3n){border-top-color:#086887}.port-grid h2:before{content:'';display:inline-block;width:28px;height:22px;background:url('assets/fish.svg') center/contain no-repeat;margin-right:9px;vertical-align:middle}.badge{font-weight:650}input,select,textarea{border:2px solid #b9d7dd;border-radius:11px}input:focus,select:focus,textarea:focus{border-color:#08738b}.result{background:#e3f3ef;border-top:6px solid #26b5c7}footer{border-top:5px solid #50d6dc;background:#07364d}
@media(max-width:1050px){.hero-sticker{font-size:14px;padding:10px 14px;gap:8px}.hero-sticker img{width:36px}.hero-sticker .pump{width:29px}}
@media(max-width:820px){.hero-sticker{display:none}.hero{min-height:430px}.tiles h2{font-size:22px}.tiles>a{padding:24px}.market-panel:before{right:45px;top:90px}}
@media(max-width:520px){header .brand{font-size:28px}.hero{min-height:430px}.hero .button{display:block;text-align:center;margin:14px 0 0;width:100%;font-size:15px}.hero-copy{width:100%}.tiles b{font-size:14px}.tiles>a:after{opacity:.23;width:112px}.tile-icon{width:62px;height:62px}.page.wrap>h1{font-size:29px;gap:12px}.page.wrap>h1:before{width:40px;height:42px}.market-panel:after{right:12px;bottom:20px;width:110px;height:125px}.market-panel:before{display:none}.panel{border-radius:17px}.home-market-link strong{font-size:21px}button,.button{padding:13px 16px}.hero h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}.button:hover,button:hover{transform:none}}

.check-label{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;line-height:1.6}.check-label input{width:20px;height:20px;margin:2px 0 0;flex:none}.publication-form{margin-top:18px;padding:18px;background:#f1f8fa;border-radius:12px}.publication-form h3{margin-top:0}.welcome .button{margin-right:12px}.welcome{background:linear-gradient(115deg,#e9faf7,#fff5e6)}.price-status{font-weight:700}.record .actions{margin-top:12px}footer{align-items:center}

.market-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.market-tabs button[aria-pressed="true"]{background:#e33c39;color:white;box-shadow:0 4px 0 #99201e}.market-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin:24px 0}.market-card{background:#eef7fb;border:2px solid #cae2ed;border-radius:18px;padding:20px;min-width:0}.market-card img{width:44px;height:36px;object-fit:contain}.market-card h3{margin:12px 0}.market-value{display:block;font-size:1.8rem;color:#072d45}.market-card p{margin:8px 0}.market-card.old{border-color:#e2b27a;background:#fff5e8}

.trend-chart{margin:20px 0;background:#f5fafc;border-radius:16px;overflow:hidden}.trend-chart svg{width:100%;height:auto;display:block;min-height:210px}.trend-chart text{fill:#173d50}.trend-legend{display:flex;flex-wrap:wrap;gap:10px 18px;font-weight:700;font-size:.85rem}.trend-table{overflow-x:auto;max-height:440px;margin:16px 0}.trend-table table{border-collapse:collapse;min-width:600px;width:100%;font-size:.85rem}.trend-table th,.trend-table td{border:1px solid #c8dce5;padding:10px;text-align:left}.trend-table th{background:#eef6fa}.trend-table caption{text-align:left;font-weight:700;margin:12px 0}

.weather-text{white-space:pre-line}
