:root{--bg:#f4f6f2;--card:#fff;--ink:#172b29;--muted:#61746d;--line:#dce5df;--green:#164c3c;--accent:#d6f290;--gold:#f3b858;--soft:#e6eee7;--max:1280px;--shadow:0 8px 30px #123a2910}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,Segoe UI,sans-serif}html{scroll-behavior:smooth}a{color:var(--green)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;height:auto}a{text-underline-offset:3px}button:focus-visible,a:focus-visible{outline:3px solid #dd9d37;outline-offset:3px}.container{width:min(var(--max),100% - 48px);margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:var(--accent);padding:8px;z-index:300}.topline{background:#102d27;color:#d1ddd5;font-size:11px;letter-spacing:.09em;padding:6px 0;text-transform:uppercase}.topline .container{display:flex;justify-content:space-between}.topline a{color:#d1ddd5;text-decoration:none}.site-header{position:sticky;top:0;background:var(--card);border-bottom:1px solid var(--line);z-index:100}.bar{display:flex;align-items:stretch;min-height:78px;gap:30px}.brand{align-self:center;display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink);white-space:nowrap}.brand svg{width:42px;height:42px}.brand strong{display:block;font-size:18px;letter-spacing:-.5px}.brand small{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);line-height:1.3}.nav{margin-left:auto;display:flex;align-items:stretch}.nav>ul{list-style:none;display:flex;align-items:stretch;gap:10px;margin:0;padding:0}.nav>ul>li{position:relative;display:flex;align-items:stretch}.nav>ul>li>a,.nav>ul>li>button{display:flex;align-items:center;padding:0 14px;color:var(--ink);text-decoration:none;font-size:13px;font-weight:650;border:0;background:0 0}.nav>ul>li:hover>a,.nav>ul>li:hover>button{background:var(--soft)}.drop{display:none;position:absolute;top:100%;left:0;min-width:260px;width:450px;max-width:calc(100vw - 24px);max-height:65vh;overflow:auto;background:var(--card);padding:14px;box-shadow:0 14px 40px #122a2930;border:1px solid var(--line);border-radius:0 0 14px 14px;grid-template-columns:1fr 1fr;gap:3px}.nav li:hover .drop,.nav li:focus-within .drop,.nav li.open .drop{display:grid}.drop a{color:var(--ink);font-size:12px;padding:8px;text-decoration:none;border-radius:7px}.drop a:hover{background:var(--soft)}.tools{display:flex;align-items:center;gap:8px}.iconbtn{border:1px solid var(--line);background:var(--card);color:var(--ink);width:38px;height:38px;border-radius:50%}.mobile-toggle{display:none}.hero{position:relative;overflow:hidden;background:#153f35;color:#fff;min-height:430px}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102f2bef,#133c32c7 50%,#133c3240);pointer-events:none}.hero-art{position:absolute;right:0;bottom:0;width:75%;height:100%;object-fit:cover;opacity:.85}.hero .container{position:relative;z-index:1;padding-top:54px;padding-bottom:54px}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;text-transform:uppercase;color:var(--green);margin-bottom:12px}.hero .eyebrow{color:var(--accent)}h1{font-size:clamp(32px,4.5vw,58px);line-height:1.06;letter-spacing:-.05em;margin:0 0 20px;font-weight:750}.hero h1{max-width:650px}.hero p{color:#dce9df;max-width:510px;font-size:15px}.hero .actions{margin-top:26px}.btn{border:1px solid transparent;padding:10px 17px;border-radius:8px;display:inline-flex;gap:8px;align-items:center;background:var(--green);color:#fff;text-decoration:none;font-weight:650;font-size:13px;line-height:1.3}.btn.light{background:var(--accent);color:#173527}.btn.ghost{background:var(--card);color:var(--ink);border-color:var(--line)}.btn.soft{background:var(--soft);color:var(--ink)}.hero .btn.ghost{background:0 0;border-color:#9fafaa77;color:#fff}.actions{display:flex;gap:9px;flex-wrap:wrap}.stats{display:flex;gap:30px;margin-top:28px;color:#b5cec0;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.stats b{display:block;font-size:24px;line-height:1.3;color:#fff;font-weight:650;letter-spacing:-.04em}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:36px 0 18px}.section-head h2{font-size:27px;letter-spacing:-.035em;margin:0}.section-head p{font-size:13px;color:var(--muted);margin:2px 0}.mini-links{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid var(--line);border-radius:30px;padding:6px 13px;color:var(--muted);font-size:12px;text-decoration:none;background:var(--card);cursor:pointer}.chip.active,.chip:hover{color:var(--green);border-color:var(--green);background:var(--soft)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);padding:13px;border-radius:12px;margin-bottom:20px}.search{flex:1 1 220px;position:relative}.search input{width:100%;border:0;background:var(--bg);color:var(--ink);border-radius:7px;padding:11px 15px;font-size:13px;outline-color:var(--green)}.count{color:var(--muted);font-size:12px;white-space:nowrap}.region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:19px}.region-card{border:1px solid var(--line);background:var(--card);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s}.region-card:hover{transform:translateY(-3px)}.region-cover{display:block;aspect-ratio:16/9;position:relative;overflow:hidden;background:#bdd2cb}.region-cover img{width:100%;height:100%;object-fit:cover}.region-cover .label{position:absolute;bottom:10px;left:12px;background:#fffdf1ef;color:#1b4436;font-size:10px;border-radius:30px;padding:3px 9px;font-weight:650}.region-cover .fallback{position:absolute;inset:0;background:linear-gradient(145deg,#789c8e,#264e48);display:grid;place-items:center;color:#e5f1de;font-size:48px}.region-body{padding:15px 17px 17px}.region-body h3{font-size:16px;letter-spacing:-.02em;line-height:1.35;margin:0 0 8px}.region-body h3 a{text-decoration:none;color:var(--ink)}.region-body .row{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px}.arrow{background:var(--soft);color:var(--green);border-radius:50%;width:27px;height:27px;display:grid;place-items:center;text-decoration:none}.crumbs{color:var(--muted);font-size:11px;margin:23px 0 20px}.crumbs a{color:var(--muted)}.pagehead{max-width:900px;margin:20px 0 30px}.pagehead h1{font-size:clamp(30px,4vw,46px);margin-bottom:12px}.pagehead p{font-size:14px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:650;background:var(--soft);color:var(--green);border-radius:30px;padding:4px 9px}.badge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge.warn{background:#f6ecd7;color:#89652a}.cam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:22px;margin-bottom:25px}.cam-card{background:var(--card);border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:var(--shadow)}.cam-image{position:relative;aspect-ratio:4/3;background:#183b33;display:block;color:#d8e7d9;overflow:hidden}.cam-image img{width:100%;height:100%;object-fit:contain;display:block}.cam-image .badge{position:absolute;top:11px;left:11px;z-index:2;background:#f3f8edf0}.cam-image .age{position:absolute;bottom:9px;right:10px;font-size:10px;color:#fff;background:#14372dd9;border-radius:5px;padding:3px 7px}.unavailable{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;font-size:13px;gap:12px;background:linear-gradient(145deg,#385e54,#153c33)}.unavailable b{font-size:34px;opacity:.5}.cam-body{padding:16px}.cam-body h2{font-size:15px;line-height:1.45;margin:0 0 8px;letter-spacing:-.02em}.cam-source{font-size:10px;color:var(--muted);overflow-wrap:anywhere;margin-bottom:10px}.cam-body .actions{justify-content:space-between}.fav{border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--ink);font-size:14px;min-width:35px;cursor:pointer}.fav[aria-pressed=true]{background:var(--accent);color:#153c2c}.notice{border-left:3px solid #d5a548;background:#f7f0df;color:#6d5a31;font-size:12px;padding:14px 18px;border-radius:0 8px 8px 0;margin:20px 0}.panel{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:24px;margin:24px 0}.panel h2{font-size:22px;margin:0 0 12px;letter-spacing:-.03em}.prose{max-width:900px;font-size:14px;line-height:1.85}.prose p{margin:0 0 16px}.prose a{overflow-wrap:anywhere}.link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:7px;padding:0;list-style:none}.link-grid a{display:block;background:var(--soft);border-radius:7px;padding:10px 12px;text-decoration:none;color:var(--ink);font-size:12px}.player{aspect-ratio:16/9;position:relative;background:#123b32;border-radius:9px;overflow:hidden}.player iframe,.player video{position:absolute;inset:0;width:100%;height:100%;border:0}.player button{position:absolute;inset:0;border:0;background:linear-gradient(145deg,#3b6758,#0b302a);color:#e1efd7;font-size:15px;display:flex;align-items:center;justify-content:center;gap:16px}.play{border-radius:50%;background:var(--accent);width:55px;height:55px;display:grid;place-items:center;color:#1b4935;font-size:23px}.mapbox{border:0;width:100%;height:540px;border-radius:13px;background:var(--soft)}.site-footer{background:#112f29;color:#9ebbad;padding:40px 0 20px;margin-top:60px;font-size:12px}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.site-footer h3{color:#fff;font-size:14px;margin:0 0 10px}.site-footer a{color:#d1e5d6;text-decoration:none}.site-footer p{max-width:480px}.footlinks{display:grid;gap:7px}.copyright{margin-top:30px;padding-top:18px;border-top:1px solid #ffffff18;font-size:10px;display:flex;justify-content:space-between}.empty{padding:55px;text-align:center;color:var(--muted)}[hidden]{display:none!important}.fresh-note{font-size:10px;color:var(--muted)}:root[data-theme=dark]{--bg:#10231f;--card:#19332c;--ink:#e5eee6;--muted:#9ab5a8;--line:#2c4a3e;--green:#bee39e;--soft:#27473a;--shadow:0 8px 30px #0002}:root[data-theme=dark] .btn{background:#bce18c;color:#163729}:root[data-theme=dark] .notice{background:#3a3322;color:#e2c987}:root[data-theme=dark] .region-cover .label{background:#163b32e8;color:#dbedce}@media(max-width:1000px){.bar{gap:14px}.nav>ul{gap:0}.nav>ul>li>a,.nav>ul>li>button{padding:0 10px;font-size:12px}.brand strong{font-size:16px}.brand small{font-size:9px}}@media(max-width:760px){.container{width:calc(100% - 32px)}.topline{font-size:8px}.topline span:last-child{display:none}.bar{min-height:69px}.brand{margin-right:auto}.brand strong{font-size:16px}.brand svg{width:35px}.tools{gap:5px}.iconbtn{width:33px;height:33px}.mobile-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--card);border-bottom:1px solid var(--line);max-height:calc(100dvh - 100px);overflow:auto}.nav.open{display:block}.nav>ul{display:block;padding:8px 16px}.nav>ul>li{display:block}.nav>ul>li>a,.nav>ul>li>button{padding:13px 10px;width:100%;font-size:14px}.drop{position:static;box-shadow:none;border:0;width:100%;max-height:300px;grid-template-columns:1fr 1fr}.nav li:hover:not(.open) .drop{display:none}.nav li.open .drop{display:grid}.hero{min-height:0}.hero .container{padding-top:35px;padding-bottom:34px}.hero h1{font-size:42px;max-width:330px}.hero p{font-size:13px;max-width:300px}.hero-art{width:100%;opacity:.45}.hero::after{background:linear-gradient(90deg,#102f2bee,#133c3277)}.stats{gap:23px;font-size:9px}.stats b{font-size:21px}.region-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.region-body{padding:11px}.region-body h3{font-size:13px}.region-body .row{font-size:9px}.region-cover .label{font-size:8px;padding:2px 6px;bottom:6px;left:7px}.section-head{margin:27px 0 14px;display:block}.section-head h2{font-size:23px}.mini-links{margin-top:10px;gap:5px}.chip{padding:5px 10px;font-size:10px}.toolbar{gap:8px;padding:10px}.toolbar .search{flex-basis:100%}.cam-grid{grid-template-columns:1fr}.pagehead{margin-bottom:20px}.cam-body h2{font-size:14px}.panel{padding:18px}.prose{font-size:13px}.footgrid{grid-template-columns:1fr;gap:20px}.copyright{display:block}.mapbox{height:450px}.btn{font-size:12px}.drop a{font-size:11px}.cam-image{aspect-ratio:4/3}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.region-cover img{position:relative;z-index:1}.region-cover .label{z-index:2}.cam-image>.player{height:100%;aspect-ratio:auto}.player img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}@media(min-width:761px){.hero{min-height:380px}.hero .container{padding-top:36px;padding-bottom:30px}.hero h1{font-size:54px;line-height:1;margin-bottom:14px}.hero p{max-width:580px;font-size:14px}.hero .actions{margin-top:18px}.hero .stats{margin-top:20px}}