@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--forest:#123e36;--ink:#203a34;--muted:#7b8580;--red:#df5146;--paper:#f5f5ee;--line:#e5e8df;--blue:#3f779c;--lime:#dbedb5}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px 'DM Sans',sans-serif}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #d78d32;outline-offset:4px}a{color:inherit}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3,.big,.brand{font-family:'Manrope',sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--forest);color:#f6f5eb;padding:36px 24px;display:flex;flex-direction:column;z-index:1000}.brand{display:flex;text-decoration:none;gap:12px;align-items:center;font-size:36px;letter-spacing:-2px;font-weight:800;line-height:1}.brand small{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:9px;color:#b7c7bc}.workspace-label{font-size:9px;letter-spacing:1.7px;color:#93b2a5;margin:49px 12px 18px}nav button{display:flex;width:100%;align-items:center;gap:13px;color:#b7c9bf;border:0;background:none;border-radius:8px;text-align:left;padding:13px 12px;margin:4px 0;font-size:12px}nav button span{font-size:20px;width:21px;text-align:center}nav button:hover{background:#214c42}nav button.active{background:#dcebba;color:#244336;font-weight:700}.nav-rule{height:1px;background:#31544a;margin:23px 8px}.sidebar-bottom{margin-top:auto;padding:44px 12px 0}.sidebar-bottom p{font-family:Manrope,sans-serif;font-size:18px;font-weight:500;line-height:1.6;margin:18px 0 23px}.sidebar-bottom small{font-size:8px;letter-spacing:1px;color:#a7bdb1}.sidebar-bottom strong{font-size:15px;letter-spacing:-.3px;color:#fff}.version{display:block;font-size:8px;letter-spacing:1px;color:#86a397;margin-top:17px}.flag{width:39px;height:25px;background:#d85044;position:relative;overflow:hidden}.flag i{position:absolute;background:white;width:53px;height:9px;transform:rotate(-32deg);left:-5px;top:8px}.flag b{position:absolute;color:#214c78;font-size:15px;left:12px;top:3px}.shell{margin-left:238px}.topbar{height:78px;border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:#fafbf5}.breadcrumb{font-size:11px;color:var(--muted)}.breadcrumb span{margin:0 14px;color:#b9beb4}.breadcrumb b{color:var(--ink);font-weight:500}.top-actions{display:flex;gap:22px;align-items:center;font-size:11px}.demo-pill{font-size:8px;letter-spacing:1.1px;border:1px solid #d9ded3;padding:7px 10px;border-radius:4px}.icon-btn{border:1px solid var(--line);border-radius:6px;background:white;font-size:18px;width:32px;height:32px}main{max-width:1660px;margin:auto;padding:36px 40px 24px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px}.eyebrow{font-size:9px;letter-spacing:1.9px;color:#8b9688;font-weight:700}h1{font-size:36px;letter-spacing:-1.7px;line-height:1.35;margin:8px 0}h1 span{color:var(--red)}.page-heading p{color:var(--muted);font-size:12px;line-height:1.8}.refresh{font-size:11px;background:#fff;border:1px solid #dfe4d8;border-radius:7px;padding:12px 15px;white-space:nowrap}.refresh:hover{border-color:var(--forest)}.hero{background:var(--forest);color:#fff9e9;border-radius:12px;padding:27px 30px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;margin-bottom:22px;min-height:140px}.hero:after{content:'';position:absolute;width:480px;height:300px;right:0;top:-68px;opacity:.16;background:repeating-radial-gradient(ellipse at 90% 80%,transparent 0 18px,#b7d4a3 19px 20px,transparent 21px 33px);transform:rotate(-14deg)}.hero>div{z-index:1;position:relative}.hero .eyebrow{color:#bacdab}.hero h2{font-size:24px;font-weight:500;margin:10px 0;letter-spacing:-.7px}.hero p{color:#b4c9bc;font-size:11px;max-width:550px;line-height:1.7}.hero-tag{background:#ffffff12;border:1px solid #ffffff24;padding:12px 16px;border-radius:8px;font-size:11px;color:#dce9cf}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#96bf6f;margin-right:6px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.card{background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:22px}.stat{min-height:174px}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.label{font-size:11px;font-weight:500;color:#748073}.stat-icon{font-size:20px;color:#5f7a68}.big{font-size:33px;font-weight:700;letter-spacing:-1.5px;margin:15px 0 4px;line-height:1.1}.big .unit{font-size:17px;letter-spacing:-.3px;font-weight:500}.caption{color:#899184;font-size:10px;line-height:1.6}.badge{display:inline-block;font-size:8px;font-weight:600;letter-spacing:.3px;padding:4px 7px;border-radius:4px;background:#e9f0e1;color:#526a43;white-space:nowrap}.badge.blue{background:#e7eef3;color:#4a7694}.badge.amber{background:#faf0d9;color:#9d7629}.badge.red{background:#fbe9e4;color:#ac5d4c}.stat .caption{margin-top:10px}.grid-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:20px;margin-bottom:22px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}h2{font-size:15px;letter-spacing:-.4px}.section-head p{color:var(--muted);font-size:10px;margin-top:5px;line-height:1.6}.text-button{background:none;border:0;padding:0;font-size:10px;color:#54725f;text-decoration:none}.map-card{padding:0;overflow:hidden}.map-card .section-head{padding:22px 22px 0}.map{height:320px;background:#dce9dd;z-index:1}.map-note{padding:12px 20px;font-size:9px;color:#84907c;display:flex;justify-content:space-between;gap:10px}.map-note b{color:#456445}.map-filter{border:1px solid var(--line);border-radius:5px;padding:6px;font-size:10px;background:#fffefa}.chart-wrap{height:155px;margin-top:15px}.chart{width:100%;height:100%;overflow:visible}.chart text{font:9px 'DM Sans',sans-serif;fill:#8e9589}.chart-line{fill:none;stroke:#63895b;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-grid{stroke:#e7eadf;stroke-dasharray:3 4;stroke-width:1}.chart-tabs{display:flex;background:#f0f2e9;padding:3px;border-radius:5px;gap:2px}.chart-tabs button{font-size:9px;border:0;padding:6px 9px;background:transparent;border-radius:4px;color:#7e8876}.chart-tabs button.active{background:white;color:#294739;box-shadow:0 1px 3px #0001}.weather-bottom{display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:15px}.weather-bottom strong{display:block;font-size:13px;font-weight:500;margin-bottom:5px}.weather-bottom small{font-size:9px;color:var(--muted)}.source-line{font-size:9px;color:#8c9385;margin-top:18px;line-height:1.6}.grid-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.population-chart{margin-top:25px;display:flex;align-items:end;gap:17px;height:90px;border-bottom:1px solid var(--line);padding:0 8px}.pop-col{flex:1;background:#dbe7ce;border-radius:4px 4px 0 0;position:relative;min-height:10px}.pop-col:last-child{background:#3d6a51}.pop-col span{position:absolute;bottom:-22px;text-align:center;width:100%;font-size:9px;color:var(--muted)}.pop-col b{position:absolute;top:-19px;text-align:center;width:100%;font-size:9px;font-weight:500;white-space:nowrap}.population .source-line{margin-top:36px}.place-row{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #eef0e7;cursor:pointer}.place-row:last-of-type{border:0}.place-num{height:30px;width:30px;background:#f0f2e8;display:grid;place-items:center;color:#6f8066;font-size:10px;border-radius:7px;flex-shrink:0}.place-info{flex:1;min-width:0}.place-info b{font-size:11px;font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-info small{font-size:9px;color:#8b9386}.arrow{color:#8d9b83}.pipeline-mini{display:flex;gap:8px;align-items:center;margin:22px 0}.pipeline-mini i{font-style:normal;flex:1;text-align:center;background:#f0f3e9;border-radius:6px;padding:12px 4px;font-size:9px}.pipeline-mini span{color:#abb69d}.inline-link{display:block;margin-top:18px;text-decoration:none;color:#496c4b;font-size:11px}.meter{height:5px;background:#e9eddf;border-radius:8px;overflow:hidden;margin:14px 0}.meter>i{height:100%;display:block;background:#7e9a65}footer{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;color:#939b8d;font-size:9px;display:flex;justify-content:space-between;gap:16px}footer strong{font-size:17px;letter-spacing:-1px;color:#6a7a65}footer a{text-decoration:none;color:#617a57}.note{background:#edf1e2;border:1px solid #dde5cd;padding:16px 20px;border-radius:8px;font-size:11px;line-height:1.8;color:#647754;margin-bottom:22px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.detail-grid .card p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:12px}.forecast{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:22px}.day{text-align:center;background:#f3f5ec;border-radius:8px;padding:20px 5px}.day strong,.day span{display:block;margin:10px 0}.day small{color:var(--muted);font-size:10px}.day .weather-emoji{font-size:26px}.source-list{display:grid;gap:12px}.source-item{padding:20px;background:#fffefa;border:1px solid var(--line);border-radius:9px;display:grid;grid-template-columns:1fr auto;gap:12px}.source-item h3{font-size:13px}.source-item p{font-size:11px;color:var(--muted);line-height:1.8;margin:8px 0}.source-item a{font-size:10px;color:var(--blue);overflow-wrap:anywhere}.source-item small{display:block;color:#8c9684;font-size:10px;margin-top:8px}.pipeline-stage{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.pipeline-stage .card{border-top:3px solid #71916a}.pipeline-stage b{display:block;font-size:16px;margin:12px 0}.pipeline-stage p{font-size:11px;line-height:1.8;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}td,th{text-align:left;font-size:11px;padding:16px 12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.8px}.empty{padding:60px 20px;text-align:center;color:var(--muted)}#toast{position:fixed;right:25px;bottom:25px;background:var(--forest);color:white;padding:14px 20px;border-radius:8px;z-index:2000;max-width:400px;font-size:12px;box-shadow:0 5px 25px #0002;display:none}.map-pin{width:12px;height:12px;border:2px solid white;background:#d75244;border-radius:50%;box-shadow:0 1px 5px #0004}.leaflet-popup-content{font:12px 'DM Sans',sans-serif}.leaflet-popup-content small{display:block;margin-top:5px;color:#888}.leaflet-container{font-family:'DM Sans',sans-serif}.loading{min-height:500px;display:grid;place-items:center;color:var(--muted)}
@media(min-width:1500px){.map{height:365px}.card{padding:25px}.stat{min-height:185px}.hero{min-height:150px}.chart-wrap{height:185px}}
@media(max-width:1150px){.sidebar{width:205px;padding:30px 17px}.shell{margin-left:205px}main{padding:28px 25px}.topbar{padding:0 25px}.stats{gap:10px}.card{padding:17px}.big{font-size:28px}.grid-bottom{grid-template-columns:1fr 1fr}.grid-bottom>.card:last-child{grid-column:1/-1}.hero-tag{display:none}.grid-main{grid-template-columns:1.3fr 1fr}.forecast{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.sidebar{position:relative;width:100%;padding:16px 20px;display:block}.brand{font-size:27px}.brand img{width:36px;height:36px}.brand small{font-size:7px}.workspace-label,.sidebar-bottom,.nav-rule{display:none}nav{display:flex;gap:6px;overflow:auto;margin-top:16px}nav button{width:auto;white-space:nowrap;font-size:10px;padding:9px}nav button span{display:none}.shell{margin-left:0}.topbar{height:54px;padding:0 20px}.demo-pill{display:none}.top-actions{gap:10px}.page-heading{align-items:start}.eyebrow{font-size:8px;letter-spacing:1px}h1{font-size:28px}.page-heading p{font-size:11px}.refresh{padding:9px;font-size:9px}main{padding:25px 18px}.hero{padding:23px}.hero h2{font-size:21px}.stats{grid-template-columns:1fr 1fr}.stat{min-height:155px}.grid-main,.grid-bottom,.detail-grid{grid-template-columns:1fr}.grid-bottom>.card:last-child{grid-column:auto}.pipeline-stage{grid-template-columns:1fr 1fr}.forecast{grid-template-columns:repeat(3,1fr)}footer{flex-direction:column}.source-item{grid-template-columns:1fr}.map{height:330px}.big{font-size:30px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,border-color .15s}.card{animation:appear .35s ease-out}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
.freshness{font-size:9px;line-height:1.8;color:#8a9482;margin:-10px 0 19px}.source-item code{overflow-wrap:anywhere}
.tide-summary{display:flex;justify-content:space-between;align-items:center;margin:0 0 22px;background:#e9eff0;border-color:#d7e1e3;gap:24px}.tide-summary .eyebrow{color:#668697;margin-bottom:9px}.tide-summary h2{font-size:19px}.tide-summary p{font-size:12px;line-height:1.8;margin:10px 0 4px;color:#5e7580}.tide-summary p b{font-weight:600}.tide-summary small{font-size:9px;color:#82969c}.tide-cta{padding:13px 18px;border:1px solid #c1d2d8;text-decoration:none;border-radius:6px;white-space:nowrap;font-size:11px;color:#3f6880}.tide-cta span{margin-left:15px}.tide-hero{background:#234e64}.tide-controls{display:flex;align-items:end;gap:20px;margin-bottom:20px}.tide-controls label{font-size:10px;color:#6a7e83;display:flex;flex-direction:column;gap:9px}.tide-controls label:first-child{flex:1}.tide-controls select,.tide-controls input{min-width:0;width:100%;padding:12px;background:white;border:1px solid #dce3dd;border-radius:6px;font:12px 'DM Sans',sans-serif;color:#244a57}.tide-controls select{max-width:100%}.tide-controls>span{padding-bottom:12px}.tide-wave{font-size:35px;color:#7797a9}.tide-plot{width:100%;height:250px;margin-top:12px;overflow:visible}.tide-plot text{font:10px 'DM Sans',sans-serif;fill:#718692}.tide-event{display:flex;align-items:center;gap:12px;padding:14px 10px;border-bottom:1px solid #e8ede7;border-radius:6px}.tide-event.next{background:#edf3f6}.tide-symbol{background:#dce9ed;color:#3f779c;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;font-size:21px}.tide-symbol.low{background:#f0f2ec;color:#8ca3ab}.tide-event div{flex:1}.tide-event b{font-size:12px;font-weight:500}.tide-event small{display:block;font-size:10px;color:#85959a;margin-top:4px}.tide-event strong{font-family:Manrope,sans-serif;font-size:21px;letter-spacing:-.5px}.tide-event strong small{display:inline;font-weight:400}.tide-week{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.tide-week button{border:1px solid #e2e8df;border-radius:7px;background:#f4f6ef;padding:16px 8px;color:#4a6264;text-align:center}.tide-week button.active{background:#e1ecf1;border-color:#9cb9c9}.tide-week button:disabled{cursor:default;opacity:.45}.tide-week small{font-size:9px}.tide-week strong{display:block;font:700 19px Manrope,sans-serif;margin:17px 0 6px;color:#46718b}.tide-week span{font-size:11px;color:#91a4aa}.tide-warning{background:#edf2f4;color:#617c8b;border-color:#d9e3e7}.detail-grid .card .source-line{font-size:11px}
@media(max-width:1000px){.tide-controls{flex-wrap:wrap}.tide-controls label:first-child{flex-basis:100%}.tide-week{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.tide-summary{flex-direction:column;align-items:start}.tide-summary h2{font-size:18px}.tide-controls{gap:14px}.tide-controls>span{padding:0}.tide-controls label:first-child{width:100%;flex-basis:100%}.tide-controls label{max-width:100%}.tide-week{grid-template-columns:repeat(3,1fr)}.tide-plot{height:200px}.tide-plot text{font-size:12px}}
.price-hero{background:#583e59}.price-tabs{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap}.price-tabs button{border:1px solid #deded4;background:transparent;border-radius:6px;padding:11px 18px;color:#7e8276;font-size:11px}.price-tabs button.active{background:#654c64;border-color:#654c64;color:#fff7ed}.price-controls{display:flex;gap:24px;align-items:end;margin-bottom:20px}.price-controls label{flex:1;font-size:10px;color:#8a7d88;display:flex;flex-direction:column;gap:9px}.price-controls select{background:white;border:1px solid #e2ddd9;border-radius:6px;padding:12px;font:12px 'DM Sans',sans-serif;width:100%;color:#5b455e}.price-controls .caption{padding-bottom:5px}.price-note{background:#f0ecf0;border-color:#e1dce1;color:#7e677e}.price-stats .big{font-size:28px}.offer-row{display:flex;align-items:center;gap:20px;padding:24px 5px;border-bottom:1px solid var(--line)}.offer-row:last-of-type{border-bottom:0}.offer-rank{width:38px;height:38px;display:grid;place-items:center;background:#f1ebf0;color:#8a6d89;border-radius:10px;font:600 14px Manrope,sans-serif;flex-shrink:0}.offer-store{flex:1}.offer-store h3{font-size:14px}.offer-store p{font-size:11px;color:#7c8578;margin:7px 0}.offer-store small{font-size:9px;color:#979b90}.offer-price{min-width:145px;text-align:right}.offer-price strong{font:700 25px Manrope,sans-serif;letter-spacing:-.6px;color:#6f5270}.offer-price small{display:block;font-size:9px;color:#97998e;margin-top:7px}.offer-row>a{border:1px solid #dfd9de;border-radius:5px;padding:10px 12px;text-decoration:none;font-size:10px;color:#816381;margin-left:10px;white-space:nowrap}.fish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:30px}.fish-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.fish-item>span{font-size:11px;text-transform:capitalize}.fish-item strong{font-size:14px;font-weight:600;white-space:nowrap}.fish-item small{font-size:9px;font-weight:400;color:#989c91}.price-up{color:#b86a56}.price-down{color:#658657}.basket-plot{width:100%;height:230px;margin-top:22px;overflow:visible}.basket-plot text{font:9px 'DM Sans',sans-serif;fill:#8f8190}.price-summary{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#f0eaf0;margin-bottom:22px;border-color:#e0d8e0}.price-summary .eyebrow{color:#997c94;margin-bottom:10px}.price-summary h2{font-size:18px}.price-summary p{font-size:12px;color:#8a7887;margin:11px 0 5px;line-height:1.7}.price-summary small{font-size:9px;color:#9d9299}.price-summary .tide-cta{border-color:#cdbdcd;color:#7e5f7f}.sidebar-bottom{padding-top:25px}.sidebar-bottom p{margin:15px 0 18px;font-size:17px}
@media(max-width:1150px){.fish-grid{grid-template-columns:1fr 1fr}.offer-row{gap:12px}.offer-price{min-width:120px}.offer-row>a{margin:0}.price-stats .big{font-size:24px}}
@media(max-width:800px){.price-summary{align-items:start;flex-direction:column}.price-controls{flex-direction:column;align-items:stretch;gap:15px}.price-tabs button{padding:10px 12px;font-size:10px}.offer-row{display:grid;grid-template-columns:35px minmax(0,1fr);gap:10px}.offer-store{min-width:0}.offer-price{text-align:left;grid-column:2}.offer-row>a{grid-column:2;width:fit-content}.fish-grid{grid-template-columns:1fr}.price-stats .big{font-size:24px}.basket-plot{height:190px}.basket-plot text{font-size:11px}.price-summary .tide-cta{font-size:10px}.sidebar-bottom{display:none}}
@media(min-width:801px) and (max-height:850px){.sidebar-bottom p,.sidebar-bottom .flag{display:none}.sidebar-bottom{padding-top:15px}.sidebar{padding-top:24px;padding-bottom:20px}.workspace-label{margin-top:30px}nav button{padding-top:10px;padding-bottom:10px}}
.boat-hero{background:#315b60}.boat-tabs button.active{background:#315b60;border-color:#315b60}.boat-controls{margin-bottom:20px}.boat-controls label{font-size:10px;color:#7b8e87;display:flex;flex-direction:column;gap:8px}.boat-controls input[type=search],.boat-controls input[type=date],.boat-controls select{width:100%;min-width:0;border:1px solid #dce3db;border-radius:6px;padding:12px;background:white;color:#345957;font:12px 'DM Sans',sans-serif}.boat-query label{margin-bottom:10px}.boat-query input{background:#f7faf5!important}.boat-main-filters{display:grid;grid-template-columns:1fr 35px 1.2fr .85fr;align-items:end;gap:12px;margin-top:18px}.boat-main-filters>button{height:41px;border:1px solid var(--line);border-radius:6px;background:transparent;color:#7b9b8c}.boat-more-filters{display:grid;grid-template-columns:1.1fr .7fr 1.5fr;gap:20px;align-items:start;margin-top:18px}.boat-checks{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding-top:2px}.boat-checks label{display:flex;flex-direction:row;align-items:center;font-size:10px;line-height:1.5;gap:7px}.boat-checks input{accent-color:#315b60}.boat-shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:7px;border-top:1px solid var(--line);margin-top:20px;padding-top:18px;font-size:10px;color:#8c9889}.boat-shortcuts button{border:1px solid #e1e6db;background:none;border-radius:20px;padding:6px 12px;font-size:10px;color:#6b8577}.boat-shortcuts button.active{background:#e3ede4;border-color:#c6d7c8;color:#365a49}.boat-note{background:#e9f0eb;color:#6e8477;border-color:#d9e3d8}.boat-results-head{margin:26px 0 17px}.boat-results-head h2{font-size:16px}.boat-results{display:grid;gap:13px}.boat-result{padding:0;overflow:hidden}.boat-result-top{padding:22px;display:flex;align-items:center;gap:26px}.boat-departure{padding-right:25px;border-right:1px solid var(--line);min-width:116px}.boat-departure strong{font:700 29px Manrope,sans-serif;letter-spacing:-1px;display:block;color:#315b60}.boat-departure small{display:block;font-size:10px;color:#7a9286;margin-top:6px}.boat-departure>span{display:block;font-size:8px;color:#9ba599;margin-top:7px}.boat-itinerary{flex:1;min-width:0}.boat-city-line{display:flex;gap:17px;align-items:center;font-family:Manrope,sans-serif;font-size:16px;letter-spacing:-.3px;flex-wrap:wrap}.boat-city-line>span{color:#a3b4a6}.boat-city-line small{font:10px 'DM Sans',sans-serif;letter-spacing:0;color:#889c8e}.boat-itinerary p{font-size:10px;color:#81917f;line-height:1.8;margin:9px 0 7px}.boat-itinerary p span{padding:0 7px}.boat-itinerary>small{font-size:10px;color:#8f9b8d;line-height:1.7}.boat-tags{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.boat-fare{max-width:175px;text-align:right}.boat-fare strong{display:block;font:700 22px Manrope,sans-serif;letter-spacing:-.5px;color:#4e735e}.boat-fare small{font-size:9px;display:block;color:#849982;margin-top:7px;line-height:1.6}.boat-fare span{font-size:8px;display:block;color:#a5ad9e;margin-top:6px}.boat-result details{border-top:1px solid #eef1e8;background:#fbfcf6}.boat-result summary{padding:12px 22px;font-size:10px;color:#6f8a77;cursor:pointer}.boat-detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;padding:12px 22px 22px}.boat-detail-grid b{font-size:11px}.boat-detail-grid p{font-size:10px;color:#879480;line-height:1.9;margin:9px 0}.boat-detail-grid a{font-size:10px;color:#587d6d}.boat-load{display:block;margin:18px auto}.boat-weekly{margin-top:24px}.boat-weekly td{font-size:10px;line-height:1.8}.boat-weekly td:first-child{min-width:170px}.boat-weekly td:nth-child(2){max-width:400px}.boat-weekly td a{color:#728c76}.boat-conflicts{margin-top:24px;border-color:#e6ddc9}.boat-conflict-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:11px}.boat-conflict-row:last-child{border:0}.boat-conflict-row p{margin:8px 0;color:#988c71;font-size:11px}.boat-conflict-row small{font-size:10px;color:#a19782;line-height:1.8}.boat-conflict-row a{font-size:10px;color:#9c8554;white-space:nowrap}.boat-port-card>p{font-size:12px;color:#83917e;margin-top:10px}.boat-port-card .text-button{margin-top:20px}.boat-anchor{font-size:28px;color:#729489}.boat-summary{background:#e8efea;border-color:#d4e0d7;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.boat-summary .eyebrow{color:#7f9a86;margin-bottom:10px}.boat-summary h2{font-size:18px}.boat-summary p{font-size:12px;margin:10px 0 5px;color:#7c9382}.boat-summary small{font-size:9px;color:#8f9f91}.boat-summary .tide-cta{border-color:#bdcec3;color:#567563}
@media(max-width:1150px){.boat-more-filters{grid-template-columns:1fr 1fr}.boat-checks{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:18px}.boat-result-top{gap:18px}.boat-departure{min-width:92px;padding-right:18px}.boat-city-line{font-size:14px}.boat-fare{max-width:135px}.boat-fare strong{font-size:19px}.sidebar-bottom p{font-size:15px}}
@media(max-width:800px){.boat-main-filters{grid-template-columns:1fr 30px 1fr;gap:8px}.boat-main-filters>label:last-child{grid-column:1/-1}.boat-more-filters{gap:14px}.boat-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.boat-controls{padding:17px}.boat-result-top{display:grid;grid-template-columns:73px minmax(0,1fr);gap:13px;padding:18px}.boat-departure{min-width:0;padding-right:13px;align-self:start}.boat-departure strong{font-size:24px}.boat-departure small{font-size:8px}.boat-city-line{gap:9px}.boat-fare{grid-column:2;max-width:none;text-align:left;display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center}.boat-fare small{margin:0;max-width:150px}.boat-fare span{flex-basis:100%}.boat-detail-grid{grid-template-columns:1fr;gap:17px}.boat-summary{align-items:start;flex-direction:column}.boat-summary p{line-height:1.8}.boat-conflict-row{flex-direction:column;gap:10px}.boat-results-head{align-items:start}.boat-results-head h2{font-size:14px}}
@media(min-width:801px) and (max-height:950px){nav button{padding-top:8px;padding-bottom:8px;margin:2px 0}.workspace-label{margin-top:25px}.sidebar-bottom p,.sidebar-bottom .flag{display:none}.sidebar-bottom{padding-top:15px}.nav-rule{margin:16px 8px}}
/* Transportes · mesma identidade, sinalização por natureza do dado */
.transport-hero{background:#253e44}.transport-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px}.transport-stats .unit{font-size:14px}.transport-controls{display:flex;gap:18px;align-items:end;flex-wrap:wrap}.transport-controls label{flex:1;min-width:170px;display:flex;flex-direction:column;gap:9px;color:#728773;font-size:11px}.transport-controls select,.transport-controls input:not([type=checkbox]){width:100%;padding:12px;border:1px solid #dce3d7;border-radius:8px;background:#fdfef8;color:#3d5a4e;font:12px 'DM Sans',sans-serif;min-width:0}.transport-results-head{margin:25px 0 15px}.transport-method{margin-top:24px}.transport-method h2{margin-bottom:12px}.transport-method a,.urban-line a{font-size:11px;color:#4b7a70}.urban-planner>.transport-controls{padding:16px 0}.urban-suggestions{background:#eef2e6;padding:16px;border-radius:10px}.urban-suggestions>div+div{margin-top:16px}.urban-suggestions b{font-size:12px}.urban-suggestions p{font-size:11px;line-height:1.9;color:#7c8b74}.urban-search{margin-top:22px}.transport-checkbox{flex-direction:row!important;align-items:center;align-self:center;font-size:11px!important}.transport-checkbox input{accent-color:#406853}.urban-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.urban-line{min-width:0}.urban-line h2{font-size:16px;line-height:1.7;margin-bottom:15px}.line-number{background:#e3ebe2;padding:9px 13px;border-radius:8px;font:800 18px Manrope,sans-serif;color:#3b6657}.urban-line details{border-top:1px solid #e5e9dd;padding:14px 0}.urban-line summary{cursor:pointer;font-size:11px;color:#64806c;line-height:1.8}.urban-streets{padding-left:20px;margin-top:15px;font-size:11px;line-height:2;color:#75856f}.urban-excerpt{white-space:pre-wrap;max-height:400px;overflow:auto;font:10px/1.8 'DM Sans',sans-serif;color:#70806c;margin-top:15px}.transport-examples{font-size:10px;color:#8b9980;margin-top:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.transport-examples button{border:1px solid #d5dfcf;background:#f7f9ee;border-radius:14px;padding:6px 10px;font-size:10px;color:#54745d}.metro-grid .urban-line h2{font-size:14px}.flight-board{margin-top:22px}.flight-board td{font-size:12px;line-height:1.8}.flight-hour{font:700 20px Manrope,sans-serif!important;color:#3c625e}.flight-board .badge{white-space:normal;line-height:1.6}.air-old{background:#f5efdf;border-color:#e7ddbf;color:#95825b}.transport-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px;background:#e8ece7;border-color:#d7dfd4}.transport-summary h2{font-size:18px;margin:12px 0}.transport-summary p{font-size:12px;color:#7f947e;line-height:1.8}.transport-summary .tide-cta{white-space:nowrap}.sidebar nav{overflow-y:auto;min-height:0}.sidebar{display:flex;flex-direction:column}.sidebar nav{flex:1}.sidebar-bottom{position:static;margin-top:auto;flex-shrink:0}
@media(max-width:1100px){.transport-stats .big{font-size:27px}.transport-stats .unit{font-size:12px}}
@media(max-width:800px){.transport-stats{grid-template-columns:1fr}.urban-grid{grid-template-columns:1fr}.transport-controls{gap:14px}.transport-controls label{min-width:140px}.transport-summary{align-items:start;flex-direction:column}.transport-tabs{overflow-x:auto;flex-wrap:nowrap}.transport-tabs button{white-space:nowrap}.flight-board{padding:17px}.flight-board table{min-width:660px}.sidebar nav{overflow:visible;flex:none}.sidebar{display:block}.transport-controls .refresh{width:100%}}
.transport-tabs button.active{background:#355a5b;border-color:#355a5b}.transport-tabs button:hover{border-color:#77988a}
@media(max-width:800px){.sidebar nav{overflow-x:auto;overflow-y:hidden}.transport-tabs{max-width:100%}}
.google-air-section{margin-bottom:24px;border-top:3px solid #638b6f}.google-air-section h2{font-size:20px;margin-top:10px}.google-air-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.google-air-point{padding:20px;border:1px solid #dfe6d8;background:#fafcf5;border-radius:10px}.google-air-index{display:flex;align-items:center;gap:10px;margin:18px 0 10px;flex-wrap:wrap}.google-air-index i{width:12px;height:12px;border:1px solid #243b3420;border-radius:50%}.google-air-index strong{font:700 36px Manrope,sans-serif}.google-air-index>small{font-size:10px;color:#71806b}.google-air-point h3{font-size:14px}.google-air-point p{font-size:10px;line-height:1.8;color:#788670;margin:12px 0}.google-air-pollutants{border-top:1px solid #e2e7d9;margin-top:15px;padding-top:12px}.google-air-pollutants>div{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:8px 0}.google-air-pollutants small{font-weight:400;font-size:10px;color:#85917b}.google-air-point summary{font-size:10px;color:#627c67;cursor:pointer;margin-top:15px}.google-air-credit{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:22px;border-top:1px solid #e2e7d9;padding-top:20px}.google-air-credit>span{font:500 16px Arial,sans-serif;white-space:nowrap;color:#5f6368}.google-air-credit small{font-size:10px;line-height:1.8;color:#7b8875}.google-air-empty{padding:30px 12px;line-height:1.8}
@media(max-width:1100px){.google-air-grid{grid-template-columns:1fr}.google-air-index{margin:12px 0}.google-air-point{padding:17px}}
@media(max-width:800px){.google-air-credit{align-items:start;flex-direction:column;gap:12px}.google-air-section>.section-head{align-items:start}.google-air-section h2{font-size:17px}}

.google-air-credit>img{height:18px;width:auto;min-width:0;margin:10px 10px 5px;object-fit:contain}
.discover-hero{background:#4b5140}.discover-controls{margin-bottom:22px}.discover-note{background:#f0f1df;border-color:#e0e4c5;color:#79805e}.discover-welcome{text-align:center;padding:45px 30px}.discover-mark{width:64px;height:64px;border-radius:50%;background:#e8eed9;color:#79906a;display:grid;place-items:center;margin:0 auto 20px;font-size:30px}.discover-welcome h2{font-size:21px}.discover-welcome p{font-size:12px;line-height:1.9;color:#7d8973;max-width:550px;margin:16px auto}.discover-welcome small{font-size:10px;color:#98a18b;line-height:1.8;display:block}.discover-method{margin-top:24px}.discover-method h2{margin-bottom:22px}.discover-method h3{font-size:12px}.discover-method .detail-grid p{font-size:11px;line-height:1.9;margin-top:10px;color:#829078}.discover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.discover-place{min-width:0}.discover-place h2{font-size:18px;line-height:1.6}.discover-place>p{font-size:11px;color:#7f8c76;line-height:1.9;margin-top:12px}.discover-rank{font:700 22px Manrope,sans-serif;color:#819474}.discover-rating{color:#8a8046;font-weight:600;font-size:14px}.discover-rating small{color:#939c86;font-size:9px;font-weight:400}.discover-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.discover-tags .badge{white-space:normal;line-height:1.6}.discover-attribution{padding:15px 8px;background:#fcfdf6;border:1px solid #e0e6d6;border-radius:8px}.discover-empty{line-height:1.9}
@media(max-width:800px){.discover-grid{grid-template-columns:1fr}.discover-welcome{padding:30px 18px}.discover-welcome h2{font-size:18px}.discover-controls>button{width:100%}}

/* Agenda cultural */
.culture-hero{background:linear-gradient(115deg,#823b31,#b86443);position:relative;overflow:hidden}.culture-hero .eyebrow{color:#f4d3ad}.culture-symbol{font-size:125px;line-height:1;color:#eac19a;transform:rotate(12deg);padding:0 30px}.culture-tabs{display:flex;gap:9px;margin:24px 0 18px;flex-wrap:wrap}.culture-tabs button{border:1px solid var(--line,#ddd);background:white;border-radius:24px;padding:11px 18px;cursor:pointer;color:#4b574f;font:inherit}.culture-tabs button.active{background:#1f5145;color:white;border-color:#1f5145}.culture-controls{grid-template-columns:1fr 1fr 1.3fr auto;margin-bottom:22px}.culture-controls input:not([type=checkbox]){width:100%;padding:11px;border:1px solid #dce3dc;border-radius:8px;font:inherit}.culture-free{display:flex!important;align-items:center;gap:8px;white-space:nowrap}.culture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0 26px}.culture-event{display:flex;flex-direction:column;min-width:0}.culture-event h2{font-size:22px;line-height:1.35;margin:18px 0 12px;overflow-wrap:anywhere}.culture-event-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.culture-location{line-height:1.6;color:#506157}.culture-location small{font-size:12px}.culture-sessions{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.culture-sessions span{font-size:12px;display:flex;gap:8px;background:#f2f4ec;border-radius:7px;padding:9px}.culture-price{font-weight:600;color:#5b4933}.culture-event details,.culture-method details{font-size:12px;line-height:1.65;margin:12px 0}.culture-event summary,.culture-method summary{cursor:pointer;font-weight:600}.culture-event .inline-link{margin-top:auto;padding-top:16px}.culture-provenance{display:block;font-size:10px;color:#7c857c;margin-top:12px;line-height:1.6}.culture-method>p{line-height:1.8;color:#657369}.culture-sources{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.culture-sources>div{background:#f6f7f2;padding:13px;border-radius:8px}.culture-sources a{font-size:12px}.culture-sources small{display:block;font-size:10px;margin-top:8px;color:#728072}.culture-method details a{overflow-wrap:anywhere}@media(max-width:1050px){.culture-controls{grid-template-columns:1fr 1fr}.culture-symbol{font-size:80px;padding:0}}@media(max-width:650px){.culture-grid,.culture-sources,.culture-controls{grid-template-columns:1fr}.culture-symbol{display:none}.culture-event-top{flex-wrap:wrap}.culture-tabs{gap:7px}.culture-tabs button{padding:10px 13px;font-size:12px}}

/* Ciclos: céu e sazonalidade amazônica */
.cycles-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:12px 0 28px}.cycles-heading h2{font-size:36px;letter-spacing:-1.2px;line-height:1.16;margin:14px 0}.cycles-heading p{font-size:14px;color:#6a786e}.cycles-date-control{display:flex;flex-direction:column;gap:10px;min-width:230px}.cycles-date-control label{font-size:11px;font-weight:600;color:#596e61}.cycles-date-control input{font:inherit;border:1px solid #d8dfd3;border-radius:10px;padding:12px;background:#fff;color:#24493f}.cycles-date-control small{font-size:10px;color:#748277}.cycles-main{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.cycles-lunar{background:#18373e;color:#f3f2df;border:0;overflow:hidden;position:relative}.cycles-lunar .eyebrow{color:#c3d5bd}.cycles-live-label{font-size:8px;color:#bed2c6;letter-spacing:1px}.cycles-lunar-body,.cycles-regional-body{display:flex;align-items:center;gap:5px;min-width:0}.cycles-moon-svg{width:58%;height:auto;flex-shrink:0}.cycles-lunar-body h2{font-size:25px;line-height:1.2;color:#f6f3dc;margin-bottom:15px}.cycles-illum{font-size:52px;font-weight:600;letter-spacing:-2px;line-height:1}.cycles-illum span{font-size:22px;margin-left:3px;letter-spacing:0}.cycles-lunar-body p{font-size:11px;line-height:1.7;color:#c7d4c9;margin:8px 0}.cycles-lunar-body small{font-size:10px;color:#dfbd8a}.cycles-lunar-note{font-size:10px;line-height:1.8;color:#acc2ba;border-top:1px solid #ffffff18;padding-top:15px}.cycles-regional{background:#f9f8ef}.cycles-wheel{width:57%;flex-shrink:0;height:auto}.cycles-regional-body h2{font-size:24px;line-height:1.15;margin:12px 0}.cycles-regional-body p{font-size:12px;color:#5d7969}.cycles-regional-body small{font-size:10px;color:#7a8574}.cycles-selected-month{font-size:9px;color:#a85b41;font-weight:700;letter-spacing:1px}.cycles-months{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:4px 0 14px}.cycles-months button{border:1px solid #dbe0d1;border-radius:6px;background:transparent;color:#56715f;font-size:10px;padding:7px;cursor:pointer}.cycles-months button.active{background:#1f5145;color:#fff;border-color:#1f5145}.cycles-next,.cycles-seasons{margin-bottom:24px}.cycles-phase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cycles-phase-card{border:1px solid #e1e7dc;background:#f4f6ef;border-radius:12px;padding:15px;display:flex;flex-direction:column;align-items:center;cursor:pointer;min-width:0;color:#254e42;font:inherit}.cycles-phase-card:hover{border-color:#739d7e;background:#eaf0df}.cycles-phase-card:focus-visible,.cycles-months button:focus-visible{outline:3px solid #b75c45;outline-offset:2px}.cycles-phase-card .cycles-moon-svg{width:85px;background:#18373e;border-radius:50%;margin-bottom:14px}.cycles-phase-card span{font-size:13px;font-weight:600}.cycles-phase-card small{font-size:10px;margin:9px 0;line-height:1.6;text-align:center}.cycles-phase-card em{font-size:9px;color:#6f826a;font-style:normal}.cycles-season-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.cycles-season{border:1px solid #e3e8dd;border-radius:12px;padding:20px;color:#738273}.cycles-season.active{background:#eaf0db;border-color:#b7ca9e;color:#335c45}.cycles-season h3{font-size:15px;margin:12px 0 6px}.cycles-season small{font-size:10px}.cycles-season b{display:block;font-size:11px;font-weight:500;margin-top:10px;line-height:1.6}.cycles-method>p{font-size:13px;line-height:1.9;color:#657768}.cycles-method .source-line{font-size:10px}@media(max-width:1150px){.cycles-main{grid-template-columns:1fr}.cycles-lunar-body,.cycles-regional-body{justify-content:center}.cycles-moon-svg,.cycles-wheel{max-width:300px}.cycles-lunar-body>div,.cycles-regional-body>div{max-width:250px}.cycles-months{grid-template-columns:repeat(12,1fr)}}@media(max-width:700px){.cycles-heading{flex-direction:column;align-items:stretch}.cycles-heading h2{font-size:30px}.cycles-date-control{min-width:0}.cycles-phase-grid,.cycles-season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cycles-months{grid-template-columns:repeat(6,1fr)}.cycles-lunar-body h2,.cycles-regional-body h2{font-size:20px}.cycles-illum{font-size:42px}.cycles-live-label{display:none}.cycles-season{padding:15px}.cycles-lunar-body,.cycles-regional-body{gap:0}}@media(prefers-reduced-motion:reduce){.cycles-phase-card{transition:none}}

/* A sessão escolhida vai para a agenda pessoal, sem acesso à conta. */
.culture-calendar{border-top:1px solid #e1e6da;padding-top:16px;margin:4px 0 16px}.culture-calendar-title{display:block;font-size:12px;font-weight:600;color:#325948;margin-bottom:10px}.culture-calendar label{display:block;font-size:10px;color:#6d7d70;margin:10px 0 6px}.culture-calendar select{width:100%;padding:10px;border:1px solid #d7dfd1;border-radius:7px;background:#fff;font:inherit;font-size:12px;color:#355442}.culture-calendar-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.culture-calendar-actions a{border:1px solid #cedac7;padding:10px 13px;border-radius:8px;font-size:11px;font-weight:600;color:#315a46;text-decoration:none;background:#eef3e5}.culture-calendar-actions .culture-apple-calendar{background:#fff}.culture-calendar-actions a:hover{background:#dfeaca}.culture-calendar-actions a:focus-visible,.culture-calendar select:focus-visible{outline:3px solid #b75c45;outline-offset:2px}.culture-calendar>small{display:block;font-size:10px;line-height:1.7;color:#778372}
/* Cotidiano de Belém: posto, botijão, rio e encontro. */
.city-icon{flex:0 0 auto;color:var(--green,#174c40)}
.fuel-hero .city-icon{color:#eadbb3;width:115px;height:140px}.hero.weekend-hero{background:#16483e}.weekend-hero>svg{flex-shrink:0}
.city-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}.city-stats .card{display:flex;align-items:center;gap:14px}.city-stats .city-icon{width:55px;height:70px}.city-stats small,.city-stats span{display:block;color:#68766e;font-size:12px}.city-stats strong{display:block;font:700 26px Manrope,sans-serif;margin:8px 0}
.fuel-controls{align-items:end}.fuel-controls .inline-link{padding-bottom:12px}.fuel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.fuel-card{position:relative;padding-left:65px}.fuel-position{position:absolute;left:23px;top:28px;font:700 22px Manrope;color:#9ca99e}.fuel-price{font:700 29px Manrope;color:#1c4c3f;margin:12px 0}.fuel-price small{font:400 12px 'DM Sans',sans-serif;color:#68766e}.fuel-card h3{font-size:15px;line-height:1.5}.fuel-card p{font-size:13px;line-height:1.7}.fuel-card .source-line{font-size:11px}.fuel-grid+.refresh{margin-bottom:24px}
.island-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.island-steps article{padding:22px;border-radius:14px;background:#f4f5ee}.island-steps .eyebrow{color:#ad6d46}.island-steps h3{margin:12px 0}.island-steps p,.island-guide p{font-size:14px;line-height:1.8}.island-guide details{border-top:1px solid #dce3d8;padding:20px 0}.island-guide summary{cursor:pointer;color:#925f38;font-weight:600}
.notices-section{margin:22px 0}.notice-card{padding:22px;border:1px solid #decba7;border-left:4px solid #bb8641;border-radius:14px;margin:14px 0;background:#fffaf0}.notice-card h3{margin:10px 0}.notice-card li{font-size:13px;line-height:1.8}.notices-section .empty{background:#f3f6f0;border-radius:12px;line-height:1.8;padding:18px}
.traffic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.traffic-card h3{font-size:17px;margin:14px 0 7px}.traffic-card .big{font-size:37px;margin-top:22px}.traffic-card .big small{font-size:14px;font-weight:400}.traffic-card p{font-size:13px;line-height:1.7}.traffic-signal{display:inline-block;width:9px;height:9px;border-radius:100%;background:#578a64;margin-right:6px}.traffic-signal.slow{background:#c68a37}.traffic-signal.heavy,.traffic-signal.closed{background:#b7584b}.traffic-signal.unknown{background:#a5aaa1}
.weekend-weather{margin:22px 0}.weekend-weather .forecast{grid-template-columns:repeat(3,minmax(0,1fr))}.weekend-access{margin:22px 0;background:#f1f5ec}.weekend-access p{font-size:14px;line-height:1.8}.weekend-map{display:block;margin:14px 0}.weekend-events{margin-top:22px}.city-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.city-links a{color:inherit;text-decoration:none}.city-links h3{font-size:16px;margin:10px 0}.city-links p{font-size:13px;line-height:1.7;color:#69766b}.city-links .eyebrow{color:#b4734b}
@media(max-width:1100px){.traffic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-stats{grid-template-columns:1fr}.city-stats .card{padding:20px}.city-stats strong{font-size:24px}.island-steps{grid-template-columns:1fr}.city-links{grid-template-columns:1fr}}
@media(max-width:650px){.fuel-grid,.traffic-grid{grid-template-columns:1fr}.fuel-hero .city-icon{width:75px;height:90px}.weekend-hero>svg{width:100px;height:80px}.weekend-weather .forecast{gap:4px}.weekend-weather .day{min-width:0;padding:14px 5px}.weekend-weather .day strong{font-size:14px}.weekend-weather .day small{font-size:11px}.fuel-card{padding-left:58px}.fuel-position{left:20px}.fuel-controls .inline-link{padding:0}.weekend-controls{gap:14px}}
.fuel-record h3{font-size:15px;line-height:1.5;margin:18px 0 10px}.fuel-record p{font-size:13px;line-height:1.8;color:#67756c}.fuel-record>.inline-link{display:block;margin-top:18px}.fuel-record .section-head{align-items:flex-start;gap:14px}.fuel-record .section-head strong{font:700 23px Manrope,sans-serif;color:#20513f;white-space:nowrap}.fuel-record .section-head strong small{font:400 11px 'DM Sans',sans-serif}.city-method{margin:22px 0}.city-method p{font-size:14px;line-height:1.8}.city-date-stat{font-size:21px!important}.island-access{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.island-access>div{padding:24px;background:#f3f5ec;border-radius:14px}.island-access>div>span{font:700 28px Manrope,sans-serif;color:#bf8259}.island-access h3{font-size:16px;margin:18px 0 10px}.notices-card{margin:22px 0}.notice-record{border-left:4px solid #c29047;background:#fff9ec;padding:20px;margin-top:18px;border-radius:4px 12px 12px 4px}.notice-record h3{margin:14px 0}.notice-record p,.notices-empty{font-size:14px;line-height:1.8}.notice-record details{margin:18px 0}.traffic-point h2{font-size:20px;line-height:1.45;min-height:58px;margin:14px 0}.traffic-speed{font:700 46px Manrope,sans-serif;color:#1a4e3c;margin:24px 0 18px}.traffic-speed small{font:400 11px 'DM Sans',sans-serif;margin-left:7px;color:#69796d}.traffic-meter{background:#e5e9dd;border-radius:8px;overflow:hidden;height:6px}.traffic-meter i{height:6px;display:block;background:#6c9a78}.traffic-point p{font-size:13px;line-height:1.8;margin:18px 0 10px}.traffic-point>small{font-size:11px;line-height:1.6;color:#778376}.traffic-hero>.traffic-signal{width:55px;height:115px;border-radius:30px;background:#102d29;padding:17px;display:flex;flex-direction:column;gap:9px}.traffic-hero>.traffic-signal i{display:block;width:20px;height:20px;background:#d5ab59;border-radius:100%}.traffic-hero>.traffic-signal i:first-child{background:#b8604b}.traffic-hero>.traffic-signal i:last-child{background:#8caf78}
@media(max-width:1100px){.island-access{grid-template-columns:1fr}}
@media(max-width:650px){.fuel-record .section-head{flex-wrap:wrap}.traffic-point h2{min-height:0}.notices-card>.section-head{align-items:start;flex-wrap:wrap;gap:16px}.island-access>div{padding:20px}.traffic-grid{gap:14px}}
.traffic-consent{margin:20px 0;line-height:1.8}.traffic-consent input{accent-color:#285e4b}.traffic-consent p{font-size:12px;margin-top:8px}.refresh:disabled{opacity:.55;cursor:default}
.weekend-controls{margin-bottom:22px}.weekend-controls .culture-free{flex-direction:row;align-items:center;min-width:130px;flex:0 0 auto;margin-bottom:13px}
.traffic-selection{margin:22px 0}.traffic-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.traffic-options label{display:flex;gap:12px;align-items:start;padding:14px;background:#f4f6ee;border:1px solid #e0e7d9;border-radius:10px;font-weight:600;font-size:13px;cursor:pointer}.traffic-options input{accent-color:#285e47;margin-top:4px}.traffic-options small{display:block;font-size:10px;color:#7e8b7b;line-height:1.8;font-weight:400;margin-top:4px}.traffic-view-tabs{margin:0!important}.traffic-results-head{margin-top:26px;flex-wrap:wrap}.traffic-consent .refresh{margin-top:14px}.traffic-cooldown-note{display:block;font-size:11px;color:#7f8a78;margin-top:12px}.traffic-schematic{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(200px,.7fr);gap:35px;margin:22px 0;background:radial-gradient(#dde5d9 .7px,transparent .7px) 0 0/16px 16px,#fffefa}.traffic-schematic h2{font-size:23px;margin:12px 0}.traffic-schematic svg{width:100%;max-height:650px;display:block}.traffic-svg-name{font:700 16px 'Manrope',sans-serif;fill:#274f40}.traffic-svg-label{font:11px 'DM Sans',sans-serif;fill:#6d7f71}.traffic-svg-value{font:700 15px 'Manrope',sans-serif;fill:#274f40}.traffic-schematic-context{align-self:center;background:#f0f4e9;padding:24px;border-radius:14px}.traffic-schematic-context h3{font-size:19px;line-height:1.6;margin:14px 0}.traffic-schematic-context p{font-size:13px;line-height:1.9;margin:14px 0}.traffic-svg-flow{stroke-dasharray:5 18;animation:traffic-flow 2s linear infinite}@keyframes traffic-flow{to{stroke-dashoffset:-46}}@media(prefers-reduced-motion:reduce){.traffic-svg-flow{animation:none}}@media(max-width:850px){.traffic-schematic{grid-template-columns:1fr;gap:16px}.traffic-options{grid-template-columns:1fr}.traffic-selection>.section-head{align-items:start;flex-wrap:wrap}.traffic-schematic{padding:17px}.traffic-svg-name{font-size:16px}}
.traffic-view-tabs button.active{background:var(--forest);color:#fff}
/* Agricultura: atlas municipal e consulta neutra de dados publicados. */
.agro-intro{display:flex;align-items:center;justify-content:space-between;background:#173f36;color:#fff;border-radius:18px;padding:30px 34px;margin-bottom:22px;gap:25px}.agro-intro h2{font-size:29px;margin:10px 0}.agro-intro p{color:#dce5d7;max-width:680px;line-height:1.7}.agro-intro .eyebrow{color:#bdd39f}.agro-tags{display:flex;gap:8px;flex-wrap:wrap}.agro-tags .badge{background:#e0e9d2;color:#214638}.agro-fruit{width:220px;flex-shrink:0}.agro-controls{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:20px;margin-bottom:22px}.agro-controls label{display:grid;gap:9px;font-size:12px;font-weight:700;color:var(--muted,#61706a)}.agro-controls select{width:100%;min-width:0;padding:12px;background:#fafbf8;border:1px solid #dce3da;border-radius:8px;font:inherit;font-size:14px;color:#173f36}.agro-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:22px;margin-bottom:26px}.agro-map-card{min-width:0}#agro-map{height:450px;background:#edf1e9;border-radius:12px;isolation:isolate}.agro-map-card .section-head{gap:12px}.agro-map-card .refresh{font-size:11px;white-space:normal;padding:9px}.agro-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:10px;margin:14px 0;color:#607068}.agro-legend span{display:flex;align-items:center;gap:7px}.agro-legend i{display:inline-block;width:40px;height:8px;border-radius:2px}.agro-gradient{background:linear-gradient(90deg,#f0f5eb,#2f7660)}.agro-no-data{background:#d5d9d7}.agro-leaders ol{padding:0;list-style:none;counter-reset:municipalities}.agro-leaders li{counter-increment:municipalities;border-bottom:1px solid #edf0e9}.agro-leaders button{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:transparent;border:0;padding:11px 2px;color:#24463a;font:inherit;font-size:12px;cursor:pointer}.agro-leaders button:before{content:counter(municipalities,decimal-leading-zero);font-size:10px;color:#89978c}.agro-leaders button span{flex:1}.agro-leaders button[aria-current=true]{background:#eef4e7}.agro-selected{margin-top:30px}.agro-selected>.section-head h2{font-size:30px;margin:7px 0}.agro-selected>.section-head{flex-wrap:wrap;gap:12px}.agro-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0}.agro-stats .big{font-size:32px}.agro-top-products{list-style:none;padding:0}.agro-top-products li{display:flex;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid #e8ede4;flex-wrap:wrap}.agro-top-products h3{font-size:15px;margin:0 0 6px}.agro-top-products p{font-size:11px;color:#6b766f;margin:0}.agro-top-products li>div{flex:1;min-width:160px}.agro-top-products strong{font-size:15px}.agro-product-dot{color:#698453;background:#edf2e6;padding:10px;border-radius:12px}.agro-pnae-value{font-size:30px;font-weight:700;color:#1d493e;margin-top:26px;overflow-wrap:anywhere}.agro-pnae dl div{padding:17px 0;border-bottom:1px solid #e8ede4;display:flex;justify-content:space-between;gap:20px;font-size:12px}.agro-pnae dd{margin:0;font-weight:700;text-align:right}.agro-source-links{display:flex;flex-wrap:wrap;gap:14px;font-size:12px}.agro-source-links a{color:#315d4d}.agro-method{margin-top:24px}
@media(max-width:900px){.agro-grid{grid-template-columns:1fr}.agro-leaders ol{columns:2;column-gap:25px}.agro-leaders li{break-inside:avoid}.agro-fruit{width:155px}.agro-stats{grid-template-columns:1fr}.agro-intro{padding:24px}.agro-controls{gap:12px}}@media(max-width:560px){.agro-intro{position:relative;overflow:hidden;padding:24px 20px}.agro-intro>div{position:relative;z-index:1}.agro-intro h2{font-size:25px}.agro-fruit{position:absolute;right:-40px;top:0;opacity:.14;width:240px}.agro-controls{grid-template-columns:1fr}.agro-leaders ol{columns:1}#agro-map{height:370px}.agro-pnae-value{font-size:26px}.agro-selected>.section-head h2{font-size:27px}.agro-top-products strong{width:100%;padding-left:45px}.agro-tags .badge{font-size:8px}.agro-pnae dl div{flex-wrap:wrap}}
/* Navegação por assunto, preservando as rotas e controles nativos. */
.sidebar{height:100dvh;padding:25px 20px;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.workspace-label{margin:27px 12px 16px}.sidebar nav{display:block;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#567364 transparent;margin:0}.sidebar nav[hidden]{display:none}.section-menu-toggle{display:none}.nav-group{margin-bottom:7px;border-bottom:1px solid #31544a;padding-bottom:7px}.nav-group summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;min-height:44px;padding:10px 12px;font-size:12px;font-weight:700;color:#c0d1c6;border-radius:8px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'⌄';margin-left:auto;font-size:16px}.nav-group[open] summary:after{transform:rotate(180deg)}.nav-group summary:hover{background:#214c42}.nav-group summary:focus-visible{outline:3px solid #d78d32;outline-offset:-3px}.nav-group.contains-current summary{color:#e0edc6}.nav-group-current{font-size:15px;color:#c8dfa7}.nav-group-items{padding:1px 0 3px}.nav-group-items button{min-height:44px;white-space:normal;line-height:1.5;margin:2px 0;padding:10px 12px;overflow-wrap:anywhere}.nav-group-items button span{flex-shrink:0}.sidebar-bottom{padding:20px 12px 0;flex-shrink:0}.sidebar-bottom p{font-size:14px;margin:12px 0}.sidebar-bottom .version{margin-top:12px}.select-current-value{display:block;font-size:12px;line-height:1.5;color:#52695b;overflow-wrap:anywhere;white-space:normal;max-width:100%;font-weight:400;margin-top:6px}.select-current-value[hidden]{display:none}#title:focus{outline:none}
@media(max-width:800px){.sidebar{position:relative;height:auto;overflow:visible;padding:14px 18px}.section-menu-toggle{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:1px solid #638073;border-radius:8px;background:#244c42;color:#f3f6ed;padding:10px 14px;font-size:13px;flex-shrink:0}.section-menu-toggle>span:first-child{font-size:17px}.sidebar nav{margin-top:14px;max-height:65dvh;overflow-y:auto;border-top:1px solid #456558;padding-top:10px}.nav-group summary{min-height:46px;font-size:14px}.nav-group-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px 0 11px}.nav-group-items button{width:100%;margin:0;min-height:48px;white-space:normal;font-size:12px;padding:11px 12px;text-align:left;background:#ffffff09}.nav-group-items button span{display:none}.nav-group-items button.active{background:#dcebba}.sidebar-bottom,.workspace-label{display:none}.section-head:has(>select){flex-wrap:wrap;align-items:start}.section-head>select{flex-basis:100%;width:100%;max-width:100%;min-width:0}.section-head>.select-current-value{flex-basis:100%;margin-top:-8px}.section-head>div{min-width:0}#view select,#view input:not([type=checkbox]):not([type=radio]){max-width:100%;min-width:0;min-height:44px;font-size:16px}#view label{min-width:0;max-width:100%}.tide-controls,.price-controls,.transport-controls,.boat-main-filters,.boat-more-filters,.culture-controls,.agro-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.tide-controls label:first-child{flex-basis:auto}.price-controls label,.transport-controls label,.tide-controls label{width:100%;min-width:0}.price-controls .caption{padding:0}.boat-main-filters>button{width:44px}.culture-free{white-space:normal}.culture-calendar{min-width:0}.culture-calendar label{display:block}.culture-calendar select{width:100%}.map-card .section-head{padding-bottom:0}.map-filter{padding:11px}.select-current-value{font-size:12px}.agro-controls{gap:16px}.agro-selected>.section-head .badge{max-width:100%;white-space:normal;line-height:1.6}}
@media(max-width:350px){.sidebar-header .brand{font-size:24px;gap:8px}.section-menu-toggle{padding:10px 11px}}

@media(max-width:800px){.stats>.card{min-width:0}.stats .badge{max-width:100%;white-space:normal;line-height:1.5}.stats .big{overflow-wrap:anywhere}}@media(max-width:380px){.stats{grid-template-columns:minmax(0,1fr)}}

.agro-base-controls{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.5fr);gap:25px;align-items:start;margin-bottom:20px;border-left:4px solid #79996a}.agro-base-controls label{display:grid;gap:9px;font-size:12px;font-weight:700;color:#61706a;min-width:0}.agro-base-controls select{width:100%;min-width:0;padding:12px;background:#fafbf8;border:1px solid #dce3da;border-radius:8px;font:inherit;font-size:14px;color:#173f36}.agro-base-controls p{font-size:12px;line-height:1.7;color:#607068;margin:10px 0}.agro-base-controls small{font-size:11px;line-height:1.6;color:#6f7c6c}.agro-context-note{margin:15px 0}.agro-base-controls h2{font-size:16px}@media(max-width:800px){.agro-base-controls{grid-template-columns:minmax(0,1fr);gap:18px}.agro-base-controls select{font-size:16px;min-height:44px}}

.agro-focus{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 22px;border-left:4px solid #c3a15c}.agro-focus h2{font-size:25px;margin:8px 0}.agro-focus p,.agro-focus small{font-size:12px;line-height:1.7;color:#6c7b6e}.agro-focus strong{font:700 26px Manrope;display:block}.agro-focus small{display:block;margin-top:7px}.agro-focus>div:last-child{text-align:right}.agro-selected .card{animation:none}.agro-leaders strong{font-size:11px;text-align:right;max-width:45%}.agro-leaders .caption{line-height:1.8}@media(max-width:650px){.agro-focus{align-items:start;flex-direction:column}.agro-focus>div:last-child{text-align:left}.agro-focus strong{font-size:25px}}

/* Cinema: original artwork, source-specific coverage, independent filters. */
.cinema-hero{margin-bottom:22px;gap:28px}.cinema-hero h2{font-size:36px}.cinema-hero-art{width:260px;flex-shrink:0;transform:rotate(-4deg)}.cinema-hero-art svg{display:block;border-radius:16px;width:100%}.cinema-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.cinema-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.cinema-film{padding:0;overflow:hidden;animation:none}.cinema-art{position:relative}.cinema-art svg{display:block;width:100%;height:140px;object-fit:cover}.cinema-art>span{position:absolute;bottom:8px;left:12px;color:#e1e8de;font-size:9px;letter-spacing:.08em}.cinema-film-body{padding:24px}.cinema-film h2{margin-top:10px}.cinema-sessions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:320px;overflow-y:auto;margin:16px 0}.cinema-sessions>div{padding:10px;background:var(--paper);border-radius:8px}.cinema-sessions b{font-size:12px}.cinema-sessions small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.cinema-directory,.culture-method{margin-top:22px}.cinema-venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.cinema-venue-grid article{padding:18px;border:1px solid var(--line);border-radius:12px}.cinema-venue-grid h3{margin:8px 0}.cinema-venue-grid p,.cinema-venue-grid small{font-size:12px;color:var(--muted)}.cinema-venue-grid a{display:block;margin-top:12px;font-size:13px}.cinema-venue-grid small{display:block;line-height:1.6}
@media(max-width:800px){.cinema-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.cinema-hero-art{width:180px}.cinema-hero h2{font-size:29px}}
@media(max-width:560px){.cinema-grid,.cinema-venue-grid,.cinema-controls{grid-template-columns:1fr}.cinema-hero-art{display:none}.cinema-film-body{padding:20px}.cinema-sessions{grid-template-columns:1fr 1fr}.cinema-sessions b{font-size:11px}}

.departures-section{margin:24px 0}.departures-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.departures-grid.single{grid-template-columns:1fr}.departure-panel{animation:none}.departure-panel h3{margin-top:8px;font-size:20px}.departure-window{font-size:10px;color:var(--muted)}.departure-window select{display:block;margin-top:4px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.departure-list{list-style:none;padding:0;margin:16px 0}.departure-list li{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.departure-time{min-width:65px}.departure-time b{font-size:22px}.departure-time span{display:block;margin-top:5px;color:#44735c;font-size:11px}.departure-list p{font-size:12px;margin-top:6px}.departure-list small{display:block;font-size:10px;line-height:1.6;margin-top:6px;color:var(--muted)}.departure-panel>.inline-link{margin-top:14px;display:inline-block}.traffic-lanes{margin-top:25px}.traffic-lane{margin:24px 0}.traffic-lane h3{font-size:16px}.traffic-lane small{display:block;margin-top:4px;color:var(--muted)}.traffic-asphalt{position:relative;overflow:hidden;border-radius:10px;height:75px;background:#34423e;border-top:4px solid var(--lane-color);border-bottom:4px solid var(--lane-color)}.traffic-road-dashes{position:absolute;left:0;right:0;top:32px;height:2px;background:repeating-linear-gradient(90deg,#dce3cf 0 22px,transparent 22px 44px)}.traffic-asphalt .traffic-car{position:absolute;top:8px;left:0;width:45px;height:25px;max-width:none;transform:translateX(calc(var(--car-index)*100px))}.traffic-asphalt.moving .traffic-car{animation:traffic-drive var(--drive-duration) linear infinite;animation-delay:calc(var(--drive-duration)*var(--car-index)*-.25)}.traffic-road-status{position:absolute;inset:0;display:grid;place-items:center;color:#e5e9df;font-size:9px;letter-spacing:1px}.cinema-unknown{display:flex!important;align-items:center;gap:10px;font-size:12px}.cinema-unknown input{width:18px;height:18px;flex:none}.cinema-filter-note{grid-column:1/-1;flex-basis:100%}.cinema-art{background:#173e36}.cinema-art svg{height:auto}
@keyframes traffic-drive{from{left:-50px;transform:none}to{left:100%;transform:none}}
@media(prefers-reduced-motion:reduce){.traffic-asphalt.moving .traffic-car{animation:none;left:calc(var(--car-index)*24%);transform:none}}
@media(max-width:1100px){.departures-grid{grid-template-columns:1fr}.departure-panel .section-head{align-items:center}}
@media(max-width:560px){.departure-window select{font-size:16px;min-height:44px}.departure-list li{gap:10px}.traffic-asphalt .traffic-car{width:40px}.cinema-unknown{line-height:1.6}}
.traffic-asphalt:not(.moving) .traffic-car{left:calc(var(--car-index)*24%);transform:none}.departure-panel>.inline-link{margin-right:12px;line-height:1.8}
.cinema-controls .cinema-unknown{flex-direction:row;align-items:center;text-align:left}.cinema-controls .cinema-unknown input{margin:0}

/* Planning views: shared date/place/turn; hourly rain is a model, never observation. */
.plan-hero{margin-bottom:18px;gap:28px;overflow:hidden}.plan-hero h2{font-size:36px;max-width:660px}.plan-hero p{max-width:650px}.plan-day-art,.plan-rain-scene{width:230px;min-width:190px;flex-shrink:0}.plan-hero-rain{background:linear-gradient(125deg,#163f3b,#24565b)}.plan-rain-drop{animation:plan-drop 1.8s linear infinite;animation-delay:var(--drop-delay)}.plan-tabs{display:flex;gap:8px;margin:18px 0 22px;flex-wrap:wrap}.plan-tabs a{padding:12px 18px;border:1px solid var(--line);border-radius:999px;text-decoration:none;background:#fffefa;font-size:13px}.plan-tabs a[aria-current="page"]{background:var(--forest);color:#fffefa;border-color:var(--forest)}.plan-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;animation:none}.plan-controls label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#697b71}.plan-controls input,.plan-controls select{width:100%;min-width:0;padding:13px 12px;border:1px solid var(--line);border-radius:9px;background:#fafbf6;font:inherit;color:var(--ink);min-height:46px}.plan-shortcuts{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.plan-shortcuts button{padding:9px 15px;border:1px solid var(--line);border-radius:7px;background:#f0f3e8;font-size:12px}.plan-selection-note{margin:12px 0 26px}.plan-context{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0}.plan-context h2{margin-top:10px;font-size:26px}.plan-context .badge{flex-shrink:0}.plan-weather{margin:20px 0;animation:none;background:linear-gradient(150deg,#fffefa,#eff5f1);border-color:#d6e4db}.plan-weather-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0 24px}.plan-weather-summary>div{padding:18px;background:#e1ece5;border-radius:12px}.plan-weather-summary small{display:block;font-size:11px;color:#5d7569}.plan-weather-summary strong{display:block;font-family:Manrope,sans-serif;font-size:25px;margin-top:9px}.plan-weather-summary span{display:block;font-size:11px;margin-top:7px;color:#667a71}.plan-rain-chart-scroll{overflow-x:auto;max-width:100%;border-radius:12px;background:#ffffff90;padding:10px 8px}.plan-rain-chart{display:block;width:100%;height:240px;max-width:none}.plan-rain-chart text{fill:#5f756c;font-size:10px;font-family:'DM Sans',sans-serif}.plan-hour-buttons{display:flex;gap:6px;overflow-x:auto;padding:14px 0 8px}.plan-hour-buttons button{min-width:57px;padding:10px 8px;border:1px solid #d7e2dc;border-radius:9px;background:#fffefa}.plan-hour-buttons button[aria-pressed="true"]{background:#173e36;color:#fffefa;border-color:#173e36}.plan-hour-buttons span,.plan-hour-buttons b{display:block;font-size:11px}.plan-hour-buttons b{margin-top:8px;font-size:13px}.plan-hour-detail{display:flex;flex-direction:column;gap:8px;margin:12px 0 20px;padding:15px 18px;background:#dce9e4;border-radius:9px}.plan-hour-detail strong{font-size:14px}.plan-hour-detail span{font-size:12px;color:#577265}.plan-weather-table{margin:16px 0}.plan-weather-table summary{cursor:pointer;font-size:12px;font-weight:700}.plan-weather>.source-line{margin-top:15px}.plan-notices-context{margin:22px 0}.plan-notices-context>p{margin-bottom:10px}.plan-events-title{margin:30px 0 18px}.plan-activity{animation:none}.plan-activity h3{font-size:21px;margin:12px 0 17px}.plan-activity .source-line{margin:14px 0}.plan-activity>.inline-link{display:inline-block;margin-top:16px}.plan-method{margin-top:25px;animation:none}.plan-method p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:14px}.plan-entry-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.plan-entry-links>a{display:block;text-decoration:none}.plan-entry-links h3{font-size:21px;margin:12px 0}.plan-entry-links p{font-size:12px;line-height:1.8;color:var(--muted)}.plan-entry-links .inline-link{display:block;margin-top:20px}
@keyframes plan-drop{0%{transform:translate(0,-6px);opacity:0}20%{opacity:.9}85%{opacity:.7}100%{transform:translate(-9px,27px);opacity:0}}
@media(prefers-reduced-motion:reduce){.plan-rain-drop{animation:none;opacity:.7}}
@media(max-width:1100px){.plan-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-day-art,.plan-rain-scene{width:170px;min-width:150px}.plan-hero h2{font-size:30px}.plan-entry-links{grid-template-columns:1fr}}
@media(max-width:800px){.plan-hero{padding:26px 23px}.plan-hero h2{font-size:28px}.plan-context{align-items:flex-start;flex-direction:column}.plan-weather-summary strong{font-size:23px}.plan-controls input,.plan-controls select{font-size:16px;min-height:48px}.plan-shortcuts button,.plan-tabs a{min-height:44px}.plan-rain-chart{height:220px}.plan-weather .section-head{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.plan-controls{grid-template-columns:1fr;gap:16px}.plan-hero{position:relative;padding-bottom:120px}.plan-hero .plan-day-art,.plan-hero .plan-rain-scene{position:absolute;right:15px;bottom:-8px;width:165px;min-width:0;opacity:.85}.plan-weather-summary{grid-template-columns:1fr}.plan-tabs a{padding:12px 14px;font-size:12px}.plan-activity h3{font-size:20px}.plan-weather-summary>div{padding:16px}.plan-context h2{font-size:24px}.plan-weather .section-head h2{font-size:21px}}
.plan-activity details{margin-top:12px}.plan-activity summary{font-size:12px;font-weight:600;cursor:pointer;min-height:32px;line-height:1.7}.plan-calendar .culture-calendar{margin-top:10px}
#plan-results .card{animation:none}
.plan-free-weather{margin:25px 0}.plan-free-weather>summary{padding:17px 20px;border:1px solid var(--line);border-radius:10px;background:#eef3e8;font-weight:600;cursor:pointer;min-height:48px}
.plan-rain-scroll-hint{font-size:11px;color:#647a70;margin:10px 0}

/* Visible transport labels stay with every upcoming-departure panel. */
.departure-mode{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:18px;font-size:12px;font-weight:700;color:#24647e}.departure-mode svg{width:28px;height:28px;padding:7px;box-sizing:content-box;background:#e7f1f4;border-radius:12px;flex-shrink:0}.departure-mode-road{color:#78542d}.departure-mode-road svg{background:#f6eedf}.departure-mode-air{color:#4b558e}.departure-mode-air svg{background:#edeef8}.departure-panel .section-head>div{min-width:0}.departure-panel .departure-window{flex-shrink:0}

.cinema-coverage{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0 24px}.cinema-coverage>div{padding:12px 0;border-bottom:1px solid var(--line)}.cinema-coverage strong,.cinema-coverage span{display:block;font-size:12px;line-height:1.7}.cinema-coverage span{color:var(--muted);margin-top:6px}
