:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eaf2f1;background:#07151d;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,select{font:inherit}button{cursor:pointer}a{color:inherit}.app{--bg:#102430;--pane:#132d3b;--edge:#2c4b59;--mute:#90abb8;--accent:#bce4d7;min-height:100vh;background:var(--bg);color:#edf5f4;display:flex;flex-direction:column;position:relative}.topbar{min-height:82px;padding:15px clamp(18px,2.5vw,38px);display:flex;justify-content:space-between;align-items:center;gap:14px;background:#0c1e29;border-bottom:1px solid #2b4550}.identity{display:flex;gap:13px;align-items:center}.brand-mark{display:grid;place-items:center;flex:none;width:47px;height:47px;border:1px solid #456c72;background:#214753;color:#b9dfd4;border-radius:13px}.brand-mark svg{width:34px;height:34px}.brand-name{font-size:18px;font-weight:850;letter-spacing:1.6px;white-space:nowrap}.brand-name span{font-weight:380;color:#acd3d0}.brand-sub{font-size:9px;letter-spacing:2.1px;color:#8dadb5;margin-top:6px}.top-right{font-size:12px;color:#bfd3d5;display:flex;gap:12px;align-items:center}.weather-icon{font-size:25px;color:#a7cbc6}.topdot{width:9px;height:9px;border-radius:50%;background:#89d1ac;box-shadow:0 0 15px #75d6a65b}.layout{display:grid;grid-template-columns:235px minmax(0,1fr);width:100%;max-width:1600px;margin:0 auto;flex:1}.sidebar{background:#102734;border-right:1px solid var(--edge);padding:27px 12px 20px;display:flex;flex-direction:column}.side-header{font-size:10px;letter-spacing:2px;font-weight:800;color:#87a5b3;display:flex;justify-content:space-between;padding:0 13px 18px}.side-count{font-size:11px;color:#b9d4d3}.camera-list{display:flex;flex-direction:column;gap:8px}.camera-row{border:1px solid transparent;border-radius:10px;display:flex;align-items:center;gap:2px;min-height:66px;transition:background .15s,border-color .15s}.camera-row.selected{background:#24505e;border-color:#527782;box-shadow:inset 3px 0 #bce4d7}.camera-row:not(.selected):hover{background:#1a3847}.camera-select{padding:10px 3px 10px 12px;border:0;color:#e4efef;background:transparent;text-align:left;display:flex;gap:12px;align-items:center;min-width:0;flex:1}.camera-glyph{font-size:24px;width:29px;text-align:center;flex:none;opacity:.9}.camera-select strong{font-size:14px;font-weight:710;display:block}.camera-select small{font-size:11px;color:#a2bac4;display:block;margin-top:4px}.sidebar-star{border:0;background:none;color:#71929f;padding:10px;font-size:22px}.sidebar-star.is-fav{color:#efd293}.side-footer{border-top:1px solid #35505c;margin:30px 9px 0;padding-top:25px;color:#93aebb;font-size:12px;line-height:1.75}.side-footer .knot{font-size:26px;color:#9ecbc5}.side-footer a{font-size:11px;text-decoration:none;color:#c7e8e4;border-bottom:1px solid #5c8a8b}.main{min-width:0;padding:clamp(19px,2.6vw,38px);display:flex;flex-direction:column}.view-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}.eyebrow{font-size:10px;letter-spacing:2.6px;color:#9cc5c7;font-weight:800}.view-names h1{font-size:clamp(28px,3.3vw,43px);letter-spacing:-1.4px;margin:7px 0 5px;font-weight:730;line-height:1.13}.view-names h1 span{color:#a3c4c6;font-weight:400}.view-names p{font-size:13px;color:#92b2bd;margin:0}.camera-no{padding-left:18px;border-left:1px solid #41606b;min-width:85px}.camera-no small{display:block;color:#93aeb7;font-size:9px;font-weight:800;letter-spacing:1.8px}.camera-no strong{display:block;font-size:22px;font-weight:750;margin-top:4px}.camera-no em{font-style:normal;font-size:12px;color:#9cb4be}.video-shell{width:100%;aspect-ratio:16/9;position:relative;background:#06151e;border-radius:12px;overflow:hidden;isolation:isolate;border:1px solid #496572;box-shadow:0 8px 28px #0002;min-height:300px}.player{position:absolute;inset:0;z-index:2}.player iframe{height:100%;width:100%;display:block;border:0;background:#071a25}.player-backdrop{position:absolute;inset:0;z-index:0;background:linear-gradient(#183849 0%,#3f6975 49%,#a2b8aa 64%,#60868c 66%,#234e62 100%)}.horizon{position:absolute;top:59%;left:0;right:0;height:1px;background:#c6e0d1}.mountain{position:absolute;left:-9%;width:67%;height:50%;bottom:33%;background:#2a4c56;clip-path:polygon(0 100%,12% 78%,32% 64%,45% 48%,51% 57%,65% 18%,72% 52%,82% 71%,100% 100%);opacity:.6}.mountain.m2{left:38%;width:74%;height:30%;bottom:34%;background:#254958;clip-path:polygon(0 100%,30% 60%,52% 37%,70% 73%,100% 100%);opacity:.8}.water{position:absolute;top:65%;bottom:0;left:0;right:0;background:repeating-linear-gradient(175deg,transparent 0 24px,#ffffff10 25px 26px,transparent 27px 50px),linear-gradient(#366779,#0c344a)}.player-prompt{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;background:#0b2333a8}.player-prompt .prompt-icon{font-size:48px;color:#b8e1d5;line-height:1}.player-prompt h2{font-size:20px;margin:15px 0 4px}.player-prompt p{font-size:12px;color:#bdd2d6;margin:0;max-width:370px;line-height:1.6}.player-prompt.is-hidden{display:none}.mini-link{margin-top:16px;border:1px solid #71969f;background:#bce4d7;color:#153440;border-radius:7px;padding:8px 14px}.video-overlay-left,.video-overlay-right{position:absolute;top:12px;z-index:3;pointer-events:none}.video-overlay-left{left:14px}.video-overlay-right{right:14px}.pill{background:#0e2834d9;border:1px solid #64848b9c;border-radius:6px;padding:7px 10px;font-size:10px;color:#d9efef;letter-spacing:1px;font-weight:750;display:inline-flex;gap:7px;align-items:center}.pill.translucent{background:#112b398a}.tiny-dot{height:6px;width:6px;border-radius:50%;background:#9cdbbf}.player-actions{margin-top:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.action-group{display:flex;align-items:center;gap:8px}.button-square,.button-primary,.button-text,.button-outline{display:inline-flex;justify-content:center;align-items:center;gap:7px;border-radius:8px;border:1px solid #496977;min-height:43px;color:#e9f3f3;background:#1e3d4c;padding:9px 14px;text-decoration:none;white-space:nowrap}.button-square{width:43px;padding:0;font-size:23px}.button-square.is-fav{color:#f3d390}.button-primary{background:#b9e2d7;border-color:#b9e2d7;color:#173641;font-weight:740;font-size:13px}.button-text,.button-outline{font-size:12px;font-weight:650}.button-square:hover,.button-text:hover,.button-outline:hover{background:#315463}.button-primary:hover{background:#d8f6ea}.settings{background:#152f3e;border:1px solid #385766;border-radius:11px;margin-top:19px;overflow:hidden}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 19px}.setting-row+.setting-row{border-top:1px solid #31505c}.setting-info{display:flex;align-items:center;gap:14px}.setting-icon{height:34px;width:34px;border-radius:8px;background:#254c58;border:1px solid #3e6770;display:grid;place-items:center;color:#b9e0d5;font-size:20px;flex:none}.setting-info strong{display:block;font-size:13px;font-weight:730}.setting-info span:last-child{font-size:11px;color:#9db7c0;margin-top:4px;display:block}.setting-control{display:flex;align-items:center;gap:12px}.setting-control select{background:#203f4e;color:#e7f0f0;border:1px solid #50717a;border-radius:6px;padding:8px 9px;font-size:12px}.toggle{position:relative;display:inline-block;width:42px;height:25px;flex:none}.toggle input{opacity:0;position:absolute;width:100%;height:100%;margin:0;z-index:2;cursor:pointer}.toggle-track{position:absolute;inset:0;border-radius:50px;background:#56717d;transition:background .2s}.toggle-track:after{content:"";position:absolute;width:19px;height:19px;top:3px;left:3px;border-radius:50%;background:#e5eeee;transition:transform .2s}.toggle input:checked+.toggle-track{background:#94d0bd}.toggle input:checked+.toggle-track:after{transform:translateX(17px);background:#173d44}.toggle input:focus-visible+.toggle-track{outline:2px solid #d7fff1;outline-offset:2px}.setting-bottom{padding:13px 19px;background:#102936;display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}.checkbox-line{font-size:11px;color:#abc5cd;cursor:pointer;display:flex;align-items:center;gap:6px}.checkbox-line input{accent-color:#b9e3d7}.countdown{font-size:11px;color:#c2d9dc;display:flex;align-items:center;gap:9px;white-space:nowrap}.progress{width:90px;height:4px;border-radius:5px;background:#355664;overflow:hidden}.progress>div{height:100%;width:0;background:#bee9d8}.bottom-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}.source-note{color:#90adb9;font-size:11px;line-height:1.6;max-width:440px}.screen-actions{display:flex;gap:8px;flex:none}.button-outline{background:#102936}.button-outline.active{border-color:#add6ca;color:#d0eee5}.local-warning{background:#61451b;border:1px solid #bb9050;border-radius:8px;margin-top:15px;padding:14px 16px;font-size:12px;line-height:1.6;color:#fff1d5}.local-warning code{background:#251d13;padding:2px 5px}.footer{padding:14px clamp(16px,2.5vw,38px);border-top:1px solid #274451;background:#0c1e29;display:flex;gap:10px;justify-content:space-between;font-size:9px;color:#809ea8;letter-spacing:1.3px}.toast{display:none;position:fixed;z-index:100;bottom:23px;left:50%;transform:translateX(-50%);background:#d6f0e8;color:#183942;padding:12px 17px;border-radius:8px;max-width:85vw;text-align:center;font-size:12px;box-shadow:0 8px 35px #0007}.toast.visible{display:block}.app.theater .layout{grid-template-columns:1fr;max-width:none}.app.theater .sidebar{display:none}.app.theater .main{padding:12px 20px}.app.theater .video-shell{aspect-ratio:auto;height:min(76vh,980px)}.app.theater .view-head{margin-bottom:10px}.app.theater .view-names h1{font-size:24px}.app.theater .settings{margin-top:12px}.app:fullscreen{width:100vw;height:100dvh;min-height:0}.app:fullscreen .topbar{min-height:48px;padding:5px 16px}.app:fullscreen .topbar .brand-mark{width:30px;height:30px}.app:fullscreen .topbar .brand-mark svg{width:22px;height:22px}.app:fullscreen .brand-name{font-size:13px}.app:fullscreen .brand-sub{display:none}.app:fullscreen .sidebar{display:none}.app:fullscreen .layout{grid-template-columns:1fr;max-width:none;min-height:0;flex:1}.app:fullscreen .main{min-height:0;padding:8px 15px}.app:fullscreen .view-head{margin-bottom:7px}.app:fullscreen .view-names h1{font-size:20px;margin:3px 0}.app:fullscreen .view-names p{display:none}.app:fullscreen .camera-no strong{font-size:15px}.app:fullscreen .video-shell{aspect-ratio:auto;min-height:0;flex:1}.app:fullscreen .player-actions{margin-top:6px}.app:fullscreen .settings{margin-top:6px}.app:fullscreen .setting-row{padding:6px 12px}.app:fullscreen .setting-info span:last-child{display:none}.app:fullscreen .setting-icon{height:23px;width:23px;font-size:14px}.app:fullscreen .setting-bottom{padding:5px 12px}.app:fullscreen .bottom-row{margin-top:6px}.app:fullscreen .footer{display:none}.app:fullscreen .topbar,.app:fullscreen .view-head,.app:fullscreen .player-actions,.app:fullscreen .settings,.app:fullscreen .bottom-row{flex:none}@media(max-width:850px){.layout{grid-template-columns:182px minmax(0,1fr)}.sidebar{padding:22px 7px}.camera-select{gap:5px;padding-left:7px}.camera-glyph{font-size:19px;width:23px}.camera-select strong{font-size:12px}.camera-select small{font-size:10px}.sidebar-star{padding:8px}.main{padding:20px}.source-note{max-width:280px}}@media(max-width:660px){.topbar{min-height:66px;padding:11px 12px}.brand-name{font-size:12px;letter-spacing:1px}.brand-sub{font-size:7px;letter-spacing:1px}.brand-mark{width:38px;height:38px}.brand-mark svg{width:29px;height:29px}.clock{font-size:10px}.weather-icon{display:none}.layout{display:flex;flex-direction:column}.sidebar{padding:10px 9px;border-right:0;border-bottom:1px solid var(--edge)}.side-header{padding:0 5px 8px}.camera-list{flex-direction:row;overflow-x:auto;gap:6px;scrollbar-width:thin}.camera-row{flex:none;width:127px;min-height:60px}.camera-select{flex-direction:column;align-items:flex-start;gap:1px;padding:5px;justify-content:center}.camera-glyph{font-size:16px}.camera-select strong{font-size:12px}.camera-select small{font-size:10px}.sidebar-star{align-self:flex-end;padding:2px 6px;font-size:19px}.side-footer{display:none}.main{padding:14px 10px 18px}.view-head{margin-bottom:12px}.view-names h1{font-size:25px}.eyebrow{font-size:9px}.view-names p{font-size:11px}.camera-no{min-width:56px;padding-left:10px}.camera-no strong{font-size:16px}.video-shell{min-height:300px;aspect-ratio:4/3}.player-actions{flex-wrap:wrap}.button-primary{font-size:11px}.button-text{font-size:11px}.setting-row{padding:13px 10px}.setting-info{gap:8px}.setting-icon{width:28px;height:28px;font-size:17px}.setting-info strong{font-size:12px}.setting-info span:last-child{font-size:10px}.setting-control{gap:7px}.setting-control select{width:93px;font-size:10px;padding:7px 3px}.setting-bottom{padding:10px}.bottom-row{flex-wrap:wrap}.screen-actions{margin-left:auto}.footer{flex-wrap:wrap;font-size:8px}.footer span:first-child{display:none}.app.theater .main{padding:7px}.app.theater .video-shell{height:68vh}.app:fullscreen .topbar{display:none}.app:fullscreen .main{padding:4px}.app:fullscreen .view-head{margin-bottom:3px}.app:fullscreen .view-names h1{font-size:16px}.app:fullscreen .eyebrow,.app:fullscreen .camera-no{display:none}.app:fullscreen .player-actions{margin-top:3px}.app:fullscreen .player-actions button,.app:fullscreen .player-actions a{min-height:30px;height:30px}.app:fullscreen .setting-row{padding:4px 7px}.app:fullscreen .setting-row+.setting-row{border-top:0}.app:fullscreen .settings{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.app:fullscreen .setting-bottom{flex-basis:100%}.app:fullscreen .bottom-row{margin-top:3px}.app:fullscreen .source-note{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #ceefe6;outline-offset:2px}

/* 2.3: filter voor natuur vs havens en expliciete handmatige start. */
.camera-filter-label{font-size:9px;letter-spacing:1.6px;color:#98b4bf;font-weight:750;margin:0 13px 6px}
.camera-filter{background:#1e4050;color:#eff8f6;border:1px solid #54717a;border-radius:8px;padding:9px 12px;margin:0 8px 15px;width:calc(100% - 16px);font-size:12px;cursor:pointer}
.camera-row[hidden]{display:none!important}
.player-prompt{z-index:4;pointer-events:none}
.player-prompt .mini-link{pointer-events:auto;cursor:pointer}
.source-note{max-width:760px}
@media(max-width:660px){.camera-filter{width:auto;max-width:220px;margin:0 5px 9px;padding:7px 8px}.camera-filter-label{margin:0 5px 6px}.player-prompt{padding:12px}}
