:root{--ink:#173354;--muted:#6a7f99;--paper:#f4f8ff;--line:#dce7f5;--green:#1769e0;--lime:#c6e8ff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer;background:var(--green);color:white;border:1px solid transparent;border-radius:10px;padding:12px 20px;font-weight:600}button:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;color:var(--green);border:1px solid var(--line)}.textbutton{background:none;color:inherit;padding:5px}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink);margin-top:6px}label{display:block;font-size:14px;font-weight:600;margin-bottom:16px}textarea{resize:vertical}h1{font-size:clamp(29px,3vw,44px);font-weight:550;letter-spacing:-1.5px;line-height:1.14;margin:12px 0 16px}h2{font-size:21px;line-height:1.3;font-weight:550;margin:0 0 16px}p{margin:0 0 16px}.muted{color:var(--muted)}.small{font-size:14px}.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:600;color:var(--muted)}.brand{font-size:20px;letter-spacing:2px;font-weight:700;text-decoration:none;color:inherit}aside{width:240px;position:fixed;inset:0 auto 0 0;padding:35px 22px;background:#ffffff;color:#173354;display:flex;flex-direction:column}aside .eyebrow{font-size:10px;color:#7a91ae;margin-top:18px}nav{margin-top:35px;display:grid;gap:7px}nav button{text-align:left;background:none;color:#577291;font-weight:400}nav button.active{background:#e7f1ff;color:#155dc5}.aside-bottom{margin-top:auto;padding:25px 12px;display:flex;justify-content:space-between;align-items:center;font-size:14px}main{margin-left:240px;padding:28px 48px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:32px}.pill{font-size:12px;border:1px solid var(--line);padding:6px 12px;border-radius:30px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.title-row button{white-space:nowrap}.plan-banner{display:flex;justify-content:space-between;overflow:hidden;background:#e8f3ff;border-radius:16px;padding:32px 38px;margin:22px 0 28px;position:relative}.plan-banner h2{font-size:32px;margin-top:20px;letter-spacing:-1px}.plan-banner p{font-size:14px;margin:0}.contours{width:42%;font-size:170px;color:#3b8ae652;line-height:1;background:repeating-radial-gradient(ellipse at 75% 55%,transparent 0 16px,#77b4f150 17px 18px,transparent 19px 28px);border-radius:50%;text-align:center;transform:rotate(-15deg)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px;margin-bottom:22px}.row{display:flex;gap:16px}.row>*{flex:1;min-width:0}.checkrow{display:flex;gap:20px;margin:22px 0}.checkrow>span{font-size:25px;color:#3985e8}.checkrow p{font-size:14px;color:var(--muted);margin-top:5px}.notice{padding:16px;background:#edf5ff;color:#426587;border-radius:10px;font-size:14px}.voice{background:#e7f3ff;display:flex;flex-wrap:wrap;gap:15px;align-items:center}.voice>div{flex:1;min-width:220px}.voice p{font-size:14px;margin:0}.voice audio{width:100%}.voice label{margin:0}.voice input{background:transparent;border:0;padding:0}.months{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:30px 0}.month{padding:24px;text-align:left;background:white;color:var(--ink);border:1px solid var(--line);min-height:125px}.month b{display:block;font-size:24px;margin-top:15px}.month span{font-size:13px;color:var(--muted)}.search{display:flex;gap:10px;margin:25px 0}.search input{margin:0;flex:2}.search select{margin:0;flex:1}.report-meta{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted);margin-bottom:14px}.report-body{white-space:pre-line;font-size:15px}.card a{color:var(--green)}.empty{text-align:center;padding:45px 20px;color:var(--muted);border:1px dashed var(--line);border-radius:12px;margin-bottom:20px}.weather-table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}.weather-table td,.weather-table th{text-align:left;padding:11px;border-bottom:1px solid var(--line)}.table-wrap{overflow:auto}.error{color:#a74136}footer{font-size:12px;color:var(--muted);padding:30px 0;display:flex;justify-content:space-between;gap:12px}footer a{color:inherit}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-card{padding:12vh 10vw}.login h1{margin-top:30px}.login form{margin-top:35px}.login button{width:100%}.water-art{background:repeating-radial-gradient(ellipse at 120% 70%,transparent 0 45px,#ffffff38 46px 48px,transparent 49px 75px),linear-gradient(160deg,#b8e1ff,#438edf 65%,#154783);position:relative;overflow:hidden}.sun{position:absolute;width:150px;height:150px;background:#ffffff;border-radius:50%;top:22%;left:32%}.shore{position:absolute;top:52%;width:160%;height:120%;background:#135db0;transform:rotate(-16deg);border-radius:50%}.water-art span{position:absolute;bottom:40px;left:40px;color:#e2f3ff;font-size:14px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#164c91;color:white;padding:16px 24px;border-radius:12px;z-index:50;max-width:90vw;box-shadow:0 10px 40px #0003}[hidden]{display:none!important}:focus-visible{outline:3px solid #5a9eff;outline-offset:3px}@media(max-width:1000px){main{padding:24px}aside{width:200px}main{margin-left:200px}.title-row{display:block}.grid{grid-template-columns:1fr}.months{grid-template-columns:repeat(3,1fr)}.login-card{padding:10vh 7vw}}@media(max-width:650px){aside{position:fixed;inset:auto 0 0;width:auto;height:75px;padding:4px 5px;background:#ffffff;z-index:20;padding-bottom:env(safe-area-inset-bottom)}aside>.brand,aside>.eyebrow,.aside-bottom{display:none}nav{display:flex;gap:0;margin:0;overflow:auto}nav button{font-size:11px;text-align:center;padding:15px 9px;white-space:nowrap;flex:1;min-height:54px}main{margin:0;padding:20px 17px 90px}header{margin-bottom:25px;padding-bottom:15px}.plan-banner{padding:24px}.plan-banner h2{font-size:28px}.contours{width:30%;font-size:100px}.row{flex-wrap:wrap}.row>*{flex-basis:40%}.card{padding:20px}.months{grid-template-columns:repeat(2,1fr)}.search{flex-wrap:wrap}.search input{flex-basis:100%}.login{display:block}.login-card{padding:9vh 8vw}.water-art{display:none}footer{display:block}footer a{display:block;margin-top:8px}#toast{bottom:90px}.voice button{width:100%}}

.selected-day{background:#e7f3ff;font-weight:600}
.fishing-windows{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.fishing-windows>div{background:#edf6ff;padding:16px;border-radius:12px;flex:1;min-width:145px}.fishing-windows b{font-size:22px}.fishing-windows p{font-size:13px;margin-bottom:0}.recommendation h2{font-size:28px;margin-top:14px}summary{cursor:pointer;padding:12px 0;font-weight:600}blockquote{border-left:3px solid #b9d6f5;padding-left:16px;margin-left:0}#place-catalog{max-height:440px;overflow:auto}

#plan-methods{border:1px solid #dce7f5;border-radius:12px;padding:14px;flex:2}.method-check{display:flex;align-items:center;gap:10px;margin:8px 0}.method-check input{width:18px;height:18px;margin:0}nav{overflow:auto}@media(max-width:650px){nav{justify-content:flex-start!important}nav button{flex-shrink:0}}

.index-guide.card{position:static;width:auto;height:auto;margin:0 0 24px;padding:24px;background:#edf5ff;color:#173354;border-radius:18px;display:block}.index-guide h2{font-size:22px}.index-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.index-guide-grid p{font-size:14px;line-height:1.5}.index-chart{margin:16px 0 20px}.index-chart meter{display:block;width:100%;height:20px;appearance:none;border:0;background:#e3edf9;border-radius:10px;overflow:hidden}.index-chart meter::-webkit-meter-bar{background:#e3edf9;border:0;border-radius:10px}.index-chart meter::-webkit-meter-optimum-value{background:#277ce8;border-radius:10px}.index-chart meter::-moz-meter-bar{background:#277ce8;border-radius:10px}.index-scale{display:flex;justify-content:space-between;gap:12px;color:#6a7f99;font-size:12px;margin:7px 0 12px}.index-parts{display:flex;gap:10px;flex-wrap:wrap;font-size:13px}.index-parts span{background:#edf5ff;border-radius:8px;padding:8px 12px}@media(max-width:650px){.index-guide-grid{grid-template-columns:1fr;gap:8px}.index-guide.card{padding:18px}.index-guide-grid p{margin:6px 0}.index-scale{font-size:11px}}

.diary-fish{border:1px solid #dce7f5;border-radius:12px;padding:14px;min-width:0;flex:2}.fish-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.fish-options .method-check{font-size:14px}.fish-options input{flex-shrink:0}

.report-weather{margin:18px 0;padding:16px;background:#f3f8ff;border:1px solid var(--line);border-radius:12px;min-width:0}.report-weather summary{padding:2px 0 10px;overflow-wrap:anywhere}.weather-quality{display:inline-block;padding:4px 10px;margin:8px 0 12px;border-radius:20px;background:#e1efff;font-size:12px}.report-weather-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px;margin:16px 0}.weather-day{padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0}.weather-day-selected{border-color:#74adef;background:#e9f4ff}.weather-day h4{margin:0;font-size:16px}.weather-day-label{font-size:12px;color:var(--muted);margin:4px 0 14px}.weather-day dl{margin:0}.weather-day dl>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #e4edf8;font-size:13px}.weather-day dt{color:var(--muted);font-weight:400}.weather-day dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.weather-day dd span{font-size:11px}.report-meta{flex-wrap:wrap}.table-wrap{max-width:100%}@media(max-width:650px){.report-weather{padding:12px}.report-weather-days{grid-template-columns:1fr}.weather-day{padding:14px}}

/* Enjoy fishing: bright blue and white interface */
body{background:linear-gradient(135deg,#f7faff,#edf4ff);color:#173354}#shell>aside{border-right:1px solid #e1eaf7;box-shadow:4px 0 24px #1d5ba005}.brand{font-size:23px;letter-spacing:-.8px;font-weight:750;color:#1769e0;white-space:nowrap}.brand::before{content:'≈';display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-right:8px;border-radius:9px;background:#1769e0;color:white;font-size:25px}header{border:0;margin-bottom:24px}.pill{background:white;border-color:#d6e7fb;color:#2c6bc0}.card{border-color:#e0eafa;border-radius:20px;box-shadow:0 6px 24px #1c589008;padding:26px}nav button{border-radius:12px;transition:background .15s,color .15s}nav button:hover{background:#f0f6ff;color:#1769e0}nav button.active{background:#1769e0;color:white;box-shadow:0 5px 14px #1769e024}button{border-radius:12px}button:not(.secondary):not(.textbutton):not(nav button):not(.month){box-shadow:0 4px 10px #1769e01a}.secondary{background:white;border-color:#cddff5;color:#1769e0}input,select,textarea{border-color:#d7e4f4;border-radius:10px;background:#fbfdff}h1{font-weight:700;letter-spacing:-1.3px}h2{font-weight:650}.index-guide.card{background:linear-gradient(120deg,#fff,#edf5ff);border-color:#d7e8fc}.index-guide-grid>div{border-left:3px solid #89b9f4;padding-left:14px}.index-chart meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#8bc6ff,#1769e0)}.fishing-windows>div{background:#f0f7ff;border:1px solid #dbeafb}.fishing-windows b{color:#1769e0}.weather-day{border-radius:14px}.weather-day-selected{border:1px solid #70a8ed;box-shadow:inset 0 3px #1769e0}.report-weather{background:#f5f9ff}.login-card{background:white}.water-art{background:repeating-radial-gradient(ellipse at 110% 90%,transparent 0 44px,#ffffff26 45px 47px,transparent 48px 75px),linear-gradient(150deg,#c7eaff,#57a4ed 48%,#185caa)}.shore{background:#1766bc}.sun{box-shadow:0 0 80px #ffffff55}.month{border-radius:16px;border-color:#dce8f7}.month b{color:#1769e0}.notice{border-left:3px solid #b4d4fc}.recommendation{border-top:3px solid #a7cef9}.index-parts span{background:#eaf3ff}.aside-bottom{border-top:1px solid #e2ebf7}@media(max-width:650px){#shell>aside{background:white;border-top:1px solid #d8e7f9;box-shadow:0 -4px 20px #285f9a0c}nav button{color:#597799}nav button.active{box-shadow:none}main{padding-top:18px}.card{padding:19px;border-radius:17px}.brand{font-size:23px}}

/* Form hierarchy and consistent responsive behaviour. */
main{max-width:1450px}.page{max-width:1160px}.row{align-items:flex-start}.form-section-title{margin:26px 0 18px;padding-top:22px;border-top:1px solid #e0eafa;font-size:18px}.form-section-title:first-child{margin-top:0;padding-top:0;border:0}.diary-fish{margin:8px 0 22px;width:100%;background:#f9fbff}.fish-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.fish-options .method-check,#plan-methods .method-check{padding:10px;border:1px solid #dce8f7;border-radius:10px;margin:0;background:white;min-height:44px}.method-check:has(input:checked){background:#e9f3ff!important;border-color:#78acee!important;color:#155dc5}.method-check input{accent-color:#1769e0}.diary-fish>label{margin-top:14px}#plan-methods{display:grid;gap:8px}#plan-methods p{margin-top:6px;font-weight:400}.report-body{line-height:1.75;overflow-wrap:anywhere;max-width:85ch}blockquote{overflow-wrap:anywhere}.report-meta{align-items:center}.report-meta>span:first-child{font-weight:650}.report-meta>span:last-child{background:#edf5ff;padding:5px 9px;border-radius:7px}.diary-analysis-result{margin-top:18px;padding:18px;border:1px solid #d4e5fb;border-radius:12px;background:#f5f9ff}.diary-analysis-result h3{margin:0 0 12px;font-size:18px}.voice input::file-selector-button{padding:9px 14px;border:1px solid #bbd5f6;border-radius:8px;background:white;color:#1769e0;cursor:pointer}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px;border-radius:8px;color:#1769e0}.skip-link:focus{top:12px}.card summary{min-height:44px}input,select,textarea{font-size:16px}.place-search{max-width:650px}#diary-save-state:empty{display:none}#all-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}#all-places .card{margin:0}.weather-day dd{font-weight:600}button:disabled{cursor:progress}form[aria-busy=true]{opacity:.85}@media(max-width:1000px){.fish-options{grid-template-columns:repeat(2,minmax(0,1fr))}.brand{font-size:19px}.brand::before{width:25px;height:25px}}@media(max-width:650px){.row{display:grid;grid-template-columns:1fr;gap:0}.row>*{width:100%}.fish-options{grid-template-columns:repeat(2,minmax(0,1fr))}.fish-options .method-check{font-size:13px;padding:8px}.card{padding:17px}.report-meta{font-size:12px}#all-places{grid-template-columns:1fr}header .eyebrow{font-size:10px}.index-guide h2{font-size:20px}.index-guide-grid p{font-size:13px}.voice>div{min-width:0;width:100%}.voice label{width:100%}.brand{font-size:23px}footer{padding-bottom:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.profile-summary{display:flex;gap:18px;align-items:center}.profile-summary h2{margin-bottom:6px}.profile-summary p{margin:0}.profile-avatar{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:#e8f2ff;color:#1769e0;font-size:36px}#profile-form{max-width:850px}#profile-status{margin:14px 0 0}#profile-status:empty{display:none}

.research-source{border-top:1px solid #dce8f7;margin-top:18px;padding-top:18px}.research-source h3{font-size:16px;margin:0 0 10px}.research-source p{font-size:14px}.research-source a{font-size:14px}

#place-catalog{max-height:none;overflow:visible}.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px;max-height:480px;overflow:auto;padding:4px}.catalog-place{min-width:0;padding:16px;background:#f5f9ff;border:1px solid #deebfb;border-radius:14px}.catalog-place h3{font-size:16px;margin:0 0 6px;overflow-wrap:anywhere}.catalog-place p{font-size:13px;color:var(--muted);margin:0 0 12px}.catalog-place span{font-size:12px;color:#1769e0}.empty-plan{border-left:4px solid #1769e0}

.login{grid-template-columns:minmax(340px,.85fr) minmax(0,1.5fr);background:#e8f3ff}.login-card{padding:8vh clamp(24px,5vw,84px)}.login-comic{display:flex;align-items:center;justify-content:center;min-width:0;padding:24px;background:#dceeff}.login-comic img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 16px 48px #17335420}@media(max-width:850px){.login{display:flex;flex-direction:column}.login-card{padding:28px 7vw}.login-card h1{font-size:32px;margin-top:18px}.login form{margin-top:22px}.login-comic{padding:0 7vw 28px;background:white}.login-comic img{border-radius:16px}}

.report-filters{display:block}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}.filter-grid label{min-width:0}.filter-actions{display:flex;gap:10px;flex-wrap:wrap}.water-report{min-width:0;overflow:hidden}.water-report h2{font-size:24px;margin:16px 0 8px;overflow-wrap:anywhere}.water-report .report-meta{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.water-report .report-meta span{overflow-wrap:anywhere}.water-report time{font-size:12px;color:var(--muted);flex-shrink:0}.report-location{font-size:12px;color:var(--muted)}.report-tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.report-tags span{border-radius:20px;padding:5px 10px;background:#e9f3ff;color:#1769e0;font-size:12px}.report-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #e1ebf8;padding-top:16px}.report-footer a{font-size:14px}.report-text{border-top:1px solid #e1ebf8}.water-report .report-weather-days{grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr))}.water-report .report-body{white-space:pre-wrap;max-width:none;margin:14px 0}@media(max-width:650px){.filter-grid{grid-template-columns:1fr 1fr}.filter-grid label:nth-child(4){grid-column:1/-1}.water-report time{flex-shrink:1}.water-report h2{font-size:20px}.report-footer{flex-direction:column}.water-report .report-weather-days{grid-template-columns:1fr}}

.profile-avatar{width:88px;height:88px;flex-shrink:0;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}#photo-form{max-width:850px}

#place-map{height:340px;width:100%;border:1px solid #cbdff7;border-radius:14px;z-index:0;margin:16px 0}.leaflet-container{font-family:inherit}.leaflet-control a{box-shadow:none}@media(max-width:650px){#place-map{height:290px}}

/* Comic edition: calm readable panels with bold ink outlines. */
:root{--ink:#173354}body{background-color:#eef7ff;background-image:radial-gradient(#afcde4 0.65px,transparent 0.65px);background-size:8px 8px}h1,h2,h3,legend{color:var(--ink)}h1{font-weight:850;letter-spacing:-1px}.card,.index-guide.card{border:2px solid var(--ink);border-radius:16px;box-shadow:4px 5px 0 #aecfee;background-color:white}.card{margin-bottom:24px}.index-guide.card{background:#edf6ff}button,.secondary,nav button.active{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)!important;font-weight:700}button:hover{transform:translateY(-1px)}button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)!important}nav button{box-shadow:none!important;border:2px solid transparent}.textbutton{box-shadow:none!important;border-color:transparent}.brand{font-weight:850}.brand::before{border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}input,select,textarea{border:1.5px solid #607e9d;background:white}.weather-day,.catalog-place{border:1.5px solid #607e9d}.weather-day-selected{border:2px solid #1769e0}.report-tags span{border:1px solid #1769e0}.notice{border-left:4px solid var(--ink);background:#eff7ff}.empty{background:white;border:2px dashed #86a9c9}.comic-page-panel{display:flex;align-items:center;gap:24px;margin:0 0 28px;padding:12px 22px;background:#dcefff;border:2px solid var(--ink);border-radius:18px;box-shadow:4px 5px 0 #aecfee;min-width:0}.comic-page-panel>img{width:210px;height:140px;object-fit:contain;flex-shrink:0}.comic-speech{position:relative;background:white;border:2px solid var(--ink);border-radius:20px;padding:15px 20px;min-width:0;flex:1}.comic-speech::before{content:'';position:absolute;left:-10px;top:36px;width:16px;height:16px;background:white;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}.comic-speech span{display:block;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:1px;color:#52728f}.comic-speech strong{display:block;font-size:24px;line-height:1.25;margin:4px 0}.comic-speech p{font-size:13px;line-height:1.5;margin:8px 0 0;color:#42617e}
/* Independent scenery and transparent moving boat. */
.login{position:relative;isolation:isolate;display:flex;align-items:center;min-height:100svh;width:100%;padding:clamp(22px,4vw,64px);background:#5ca2d6 url('/static/comic-lake.png') center/cover no-repeat;overflow:hidden;gap:0}.login::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#edf7ff55,transparent 50%);z-index:-1}.login-card{position:relative;z-index:2;width:min(380px,34vw);flex-shrink:0;padding:30px;background:#ffffffed;border:3px solid var(--ink);border-radius:22px;box-shadow:7px 8px 0 #173354bb}.login-card h1{font-size:clamp(24px,2.7vw,40px);line-height:1.15;margin:24px 0 14px}.login-card .brand{font-size:24px}.login-card .eyebrow{font-size:10px}.login-card form{margin-top:24px}.login-card .muted{font-size:14px}.login-comic{position:relative;align-self:center;flex:1;min-width:0;padding:0;margin:8vh -2vw 0 0;background:none;z-index:1;pointer-events:none}.login-comic img{width:100%;height:auto;border-radius:0;box-shadow:none;animation:boat-bob 5s ease-in-out infinite;transform-origin:50% 85%;filter:drop-shadow(0 14px 10px #102d4530)}#pause-waves{position:absolute;right:22px;top:18px;z-index:3;font-size:12px;padding:8px 12px;background:#fff}.motion-paused .login-comic img{animation-play-state:paused}@keyframes boat-bob{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-10px) rotate(.5deg)}}
@media(max-width:850px){.login{flex-direction:column;padding:22px 18px 36px;justify-content:center;gap:10px;background-position:58% center}.login-comic{order:0;flex:none;width:100%;max-width:650px;margin:20px 0 -8px}.login-card{order:1;width:100%;max-width:440px;padding:24px}.login-card h1{font-size:28px;margin-top:18px}.login-card h1 br{display:none}.login-card .brand{font-size:24px}#pause-waves{top:9px;right:12px}.comic-page-panel{gap:12px;padding:12px}.comic-page-panel>img{width:145px;height:110px}.comic-speech{padding:12px}.comic-speech strong{font-size:20px}}
@media(max-width:500px){.comic-page-panel{display:grid;grid-template-columns:1fr;padding:12px}.comic-page-panel>img{width:155px;height:104px;justify-self:center;margin-bottom:-12px}.comic-speech::before{left:50%;top:-10px;transform:rotate(135deg)}.comic-speech strong{font-size:20px}.comic-speech p{font-size:12px}.card{box-shadow:3px 4px 0 #aecfee}.login-comic{margin-top:22px}.login-card{box-shadow:4px 5px 0 #173354bb}}
@media(prefers-reduced-motion:reduce){.login-comic img{animation:none}button:hover,button:active{transform:none}#pause-waves{display:none}}

.comic-page-panel{padding:10px 18px;gap:18px}.comic-portrait{flex:0 0 96px;width:96px;height:112px;background-repeat:no-repeat;background-image:url('/static/comic-friends.png');background-size:200% 100%;background-position:0 center}.portrait-sergey{background-position:100% center}.portrait-perch{background-image:url('/static/comic-portraits.png');background-size:400% 100%;background-position:100% center}.portrait-kanye{background-image:url('/static/comic-boat-gear.png');background-size:750% auto;background-position:84% 31%;border-radius:50%}.comic-speech strong{font-size:22px}.comic-speech p{margin-top:6px}.boat-bubble{position:absolute;z-index:3;background:white;border:3px solid #173354;border-radius:50%;padding:12px 20px;font-size:clamp(13px,1.6vw,26px);font-weight:850;line-height:1.1;text-align:center;box-shadow:3px 4px 0 #17335466;max-width:28%;animation:speech-pop 9s ease-in-out infinite}.boat-bubble::after{content:'';position:absolute;bottom:-9px;left:65%;width:16px;height:16px;background:white;border-right:3px solid #173354;border-bottom:3px solid #173354;transform:rotate(40deg)}.bubble-valentin{left:15%;top:13%}.bubble-kanye{right:9%;top:15%;animation-delay:2s}.scene-cloud{position:absolute;z-index:0;background:#ffffffce;border-radius:70px;width:130px;height:35px;top:12%;left:38%;filter:drop-shadow(0 2px 0 #c6e8ff);animation:cloud-drift 22s ease-in-out infinite;pointer-events:none}.scene-cloud::before,.scene-cloud::after{content:'';position:absolute;background:#ffffffe0;border-radius:50%;width:60px;height:60px;bottom:0;left:20px}.scene-cloud::after{width:80px;height:80px;left:55px}.cloud-two{left:77%;top:19%;transform:scale(.7);animation-delay:-10s}.water-spray{position:absolute;left:19%;bottom:17%;width:60px;height:70px;z-index:4;pointer-events:none}.water-spray i{position:absolute;bottom:0;left:25px;width:8px;height:13px;border:1px solid #2f94d7;border-radius:50%;background:white;animation:water-drop 3s ease-out infinite}.water-spray i:nth-child(2){left:5px;animation-delay:.35s}.water-spray i:nth-child(3){left:44px;animation-delay:.7s}.water-spray i:nth-child(4){left:16px;animation-delay:1.4s}.water-spray i:nth-child(5){left:52px;animation-delay:1.8s}@keyframes speech-pop{0%,35%,100%{transform:translateY(0) scale(1)}45%,55%{transform:translateY(-4px) scale(1.025)}}@keyframes cloud-drift{0%,100%{translate:0 0}50%{translate:35px 0}}@keyframes water-drop{0%{transform:translate(0,0) scale(.4);opacity:0}12%{opacity:.9}65%{transform:translate(-14px,-45px) scale(.8);opacity:0}100%{opacity:0}}@media(max-width:850px){.boat-bubble{font-size:clamp(12px,2.5vw,20px);padding:8px 12px;border-width:2px}.boat-bubble::after{border-width:2px;width:11px;height:11px;bottom:-7px}.scene-cloud{top:10%;left:20%}.cloud-two{top:19%;left:60%}}@media(max-width:500px){.comic-page-panel{display:flex;padding:10px;gap:10px}.comic-portrait{flex-basis:65px;width:65px;height:86px}.comic-speech{padding:10px}.comic-speech::before{left:-9px;top:28px;transform:rotate(45deg)}.comic-speech strong{font-size:17px}.comic-speech p{font-size:12px}.boat-bubble{font-size:12px;padding:6px 8px;max-width:31%}.bubble-valentin{top:8%;left:10%}.bubble-kanye{top:11%;right:7%}.water-spray{scale:.6}}@media(prefers-reduced-motion:reduce){.boat-bubble,.scene-cloud,.water-spray i{animation:none}.water-spray{display:none}}
/* Navigation stays in its own box; switching pages never widens the viewport. */
html{scrollbar-gutter:stable}body{overflow-x:clip}main,.page,.card,.row>*,fieldset{min-width:0}main{width:calc(100% - 240px)}#shell>aside{overflow-x:clip}nav{overflow:visible;padding:5px 5px 9px;display:grid;gap:9px;margin-left:-5px;margin-right:-5px}nav button{position:relative;display:block;width:100%;min-width:0;white-space:normal;text-align:left;border:2px solid #173354;border-radius:10px;background:#fff;color:#173354;font-weight:750;padding:12px 11px;box-shadow:3px 3px 0 #c3d9ed!important;transition:background .15s,color .15s}nav button:hover{transform:none;background:#dceeff;box-shadow:3px 3px 0 #173354!important}nav button:active{transform:none}nav button.active{background:#1769e0;color:white;border-color:#173354;box-shadow:3px 3px 0 #173354!important}nav button.active::after{content:'•';position:absolute;right:8px;top:5px;color:#fff;font-size:15px}nav button:focus-visible{outline:2px solid #1769e0;outline-offset:1px}.comic-speech{overflow-wrap:anywhere}select{max-width:100%}.report-weather-days{grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr))}@media(max-width:1000px){main{width:calc(100% - 200px)}}@media(max-width:650px){main{width:100%;padding-bottom:145px}#shell>aside{height:auto;min-height:114px;padding:7px 10px calc(8px + env(safe-area-inset-bottom));border-top:2px solid #173354;overflow:visible}nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:0;overflow:visible}nav button{font-size:10px;line-height:1.15;min-height:43px;padding:7px 3px;text-align:center;white-space:normal;border-radius:8px;width:100%;box-shadow:2px 2px 0 #c3d9ed!important}nav button.active{box-shadow:2px 2px 0 #173354!important}nav button.active::after{display:none}#toast{bottom:135px}html{scrollbar-gutter:auto}}

#offline-banner{position:relative;z-index:40;background:#fff3cc;border-bottom:2px solid #173354;padding:10px 18px;font-size:13px}#install-app{margin-bottom:18px}button,input,select{min-height:44px}.method-check input{min-height:18px}

@media(min-width:651px) and (max-height:800px){#shell>aside{padding-top:18px;padding-bottom:12px}aside .eyebrow{margin-top:10px}nav{margin-top:15px;gap:6px}nav button{padding-top:8px;padding-bottom:8px;min-height:44px}.aside-bottom{padding:12px 4px}}.filter-actions{margin-bottom:14px}
