@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f6f5ef;--ink:#1e302c;--green:#285d4a;--line:#d9ddd4;--muted:#68776f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b48445;outline-offset:4px}header{height:66px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 4%;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand img{display:block;width:182px;height:auto;max-width:100%;object-fit:contain}nav{display:flex;gap:28px}nav a{font-size:11px;letter-spacing:1px;font-weight:700}nav a:hover{color:var(--green)}.header-right{display:flex;gap:18px;align-items:center}time{color:var(--muted);font-size:10px;white-space:nowrap}.language{display:flex;border:1px solid var(--line);border-radius:24px;padding:3px}.language button{font-size:10px;border:0;background:none;border-radius:20px;padding:7px 10px}.language .active{color:white;background:var(--green)}main{max-width:1510px;padding:0 4%;margin:auto}.hero{padding-top:24px}.hero-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:19px;gap:20px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--green);font-weight:700}h1{font-size:clamp(26px,3.1vw,44px);line-height:1.15;letter-spacing:-1.6px;margin:8px 0 0;font-weight:600}h1 em{font-style:normal;color:var(--green)}.hero-heading p{font-size:12px;color:var(--muted);margin:0 0 3px}.player{width:100%;height:min(56.25vw,520px,calc(100svh - 235px));min-height:180px;background:#102620;border-radius:12px;position:relative;overflow:hidden;isolation:isolate}.player>img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.7}.player:has(.start-view):after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0d2922b0,transparent 70%);z-index:-1}.player iframe,.player video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain}.start-view{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white}.play-button{border:1px solid #ffffff99;background:#ffffff2a;backdrop-filter:blur(6px);color:white;width:72px;height:72px;border-radius:50%;font-size:24px}.start-view>p{font-size:11px;letter-spacing:2px;margin:18px 0 0}.preview-label{position:absolute;bottom:16px;right:18px;color:#fff;font-size:10px;background:#17372aad;padding:6px 10px;border-radius:15px}.camera-tag{position:absolute;top:18px;left:18px;background:#143629bd;color:#fff;padding:8px 12px;border:1px solid #ffffff3d;border-radius:25px;font-size:10px;letter-spacing:1px}.camera-tag i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b8d8b3;margin-right:6px}.player-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0 9px}.location{font-size:10px;color:var(--green);letter-spacing:1px}.player-caption h2{font-size:23px;line-height:1.25;font-weight:600;letter-spacing:-.6px;margin:5px 0 0}.hero-actions{display:flex;align-items:center;gap:10px}.button,.save-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;border-radius:25px;padding:11px 18px;font-size:11px;font-weight:600;border:1px solid var(--line);background:none;white-space:nowrap}.green{background:var(--green);color:white;border-color:var(--green)}.outline{border-color:#a8b6aa}.light{background:#e6ece1;border-color:#e6ece1}.save-button{font-size:12px}.save-button[aria-pressed=true]{color:var(--green);background:#e6ece1}.source-row{display:flex;gap:18px;align-items:center;color:var(--muted);font-size:10px;flex-wrap:wrap}.source-row a{text-decoration:underline;text-underline-offset:3px}.content-section{padding-top:50px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px;gap:20px}.section-heading h2{font-size:29px;line-height:1.25;font-weight:500;letter-spacing:-1px;margin:9px 0 0}.section-heading p{font-size:11px;color:var(--muted);margin:0 0 3px}.camera-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cam-card{border:1px solid var(--line);background:white;border-radius:10px;overflow:hidden;position:relative}.cam-card.selected{border-color:var(--green)}.cam-open{border:0;padding:0;background:none;width:100%;text-align:left;color:var(--ink);display:block}.cam-image{height:160px;background:linear-gradient(145deg,#829a84,#1c4038);position:relative;overflow:hidden}.cam-image img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .3s}.cam-open:hover img{transform:scale(1.04)}.cam-image .nature{font-size:70px;color:#d9e6d4;display:grid;place-content:center;height:100%}.cam-type{position:absolute;bottom:10px;left:12px;color:white;background:#102d23b8;border:1px solid #ffffff25;padding:5px 9px;border-radius:15px;font-size:9px;letter-spacing:1px}.cam-body{padding:14px 45px 15px 15px;min-height:83px}.cam-body small{font-size:9px;letter-spacing:1px;color:var(--muted)}.cam-body h3{font-size:15px;font-weight:600;line-height:1.35;margin:7px 0 0}.card-save{position:absolute;right:10px;top:10px;border:1px solid #fff8;background:#f6f5efed;border-radius:50%;width:31px;height:31px;color:var(--green);font-size:19px}.city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.city-tile{position:relative;overflow:hidden;isolation:isolate;min-height:135px;border:0;border-radius:10px;text-align:left;padding:23px;color:white;background:#214736}.city-tile img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.city-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b2922e6,#0b292233);z-index:-1}.city-tile[aria-pressed=true]{outline:3px solid var(--green);outline-offset:3px}.city-tile strong{font-size:23px;font-weight:500;display:block;margin:25px 0 6px}.city-tile span{font-size:10px}.results-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 18px}.results-top h3{font-weight:500;font-size:16px;margin:0}.search{border-bottom:1px solid #abb8ab;padding:8px;display:flex;gap:9px;align-items:center}.search input{width:170px;background:none;border:0;color:var(--ink);font-size:12px;outline:none}.themes{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}.theme{border:1px solid var(--line);background:none;border-radius:24px;padding:12px 20px;font-size:12px}.theme[aria-pressed=true]{color:white;background:var(--green);border-color:var(--green)}.trip{margin-top:48px;background:#e6ebdf;border:1px solid #d9e0d2;border-radius:12px;padding:30px}.trip-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:55px}.trip h3{font-size:22px;font-weight:500;margin:0 0 13px;line-height:1.35}.trip-story p{color:#5d7062;line-height:1.85;font-size:13px;margin:0 0 16px;max-width:540px}.trip-tip{border-left:2px solid #94ac8b;padding-left:14px}.trip-links{display:flex;gap:10px;flex-wrap:wrap}.nearby h3{font-size:16px}.nearby a{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #cbd5c3;font-size:13px}.nearby small{display:block;color:#6c7e68;font-size:10px;line-height:1.7;margin-top:15px}.saved-empty{text-align:center;border:1px dashed #b9c6b1;border-radius:12px;padding:35px}.saved-empty>span{font-size:34px;color:var(--green)}.saved-empty h3{font-size:20px;font-weight:500;margin:12px 0}.saved-empty p{font-size:12px;color:var(--muted);margin-bottom:22px}.empty{padding:20px;color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:60px;padding:28px 0}.footer-top{display:flex;align-items:center;justify-content:space-between}.footer-top p{font-size:12px;color:var(--muted)}.availability{font-size:10px;color:#768378;line-height:1.8;max-width:900px;margin-top:22px}.footer-meta{font-size:9px;color:#839080}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;font-size:12px;padding:12px 22px;border-radius:25px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:5}#toast.show{opacity:1}.playback-status{position:absolute;top:12px;left:12px;right:12px;color:white;background:#153728d9;padding:10px;font-size:11px;border-radius:7px}.playback-status a{text-decoration:underline}section{scroll-margin-top:20px}html[lang=ko] h1{letter-spacing:-1px}html[lang=ko] .section-heading h2{font-size:27px}@media(max-width:950px){header{gap:15px}nav{gap:18px}time{display:none}.cam-image{height:145px}.trip-layout{gap:30px}.city-tile{padding:18px}.city-tile strong{font-size:20px}}@media(max-width:700px){header{height:100px;flex-wrap:wrap;gap:10px;padding:12px 4%}nav{width:100%;order:3;justify-content:space-between;padding:6px 0 0}.header-right{margin-left:auto}.brand img{width:162px}.hero{padding-top:20px}.hero-heading{display:block;margin-bottom:16px}.hero-heading p{margin-top:8px;font-size:11px}h1{font-size:31px}.player{height:min(52vw,calc(100svh - 290px));min-height:160px}.player-caption h2{font-size:18px}.hero-actions .button{display:none}.save-button{padding:9px 12px}.source-row{gap:10px;font-size:9px}.section-heading{display:block;margin-bottom:18px}.section-heading p{margin-top:9px}.content-section{padding-top:36px}.section-heading h2{font-size:26px}.camera-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cam-image{height:120px}.cam-body{padding:12px 12px 14px;min-height:83px}.cam-body h3{font-size:13px}.city-grid{grid-template-columns:repeat(2,1fr);gap:12px}.city-tile{min-height:125px}.results-top{gap:10px}.search input{width:115px}.theme{padding:10px 15px;font-size:11px}.trip{padding:24px 20px;margin-top:35px}.trip-layout{grid-template-columns:1fr;gap:28px}.trip h3{font-size:20px}.footer-top{display:block}.preview-label{bottom:10px;right:12px}.camera-tag{top:12px;left:12px}.play-button{width:58px;height:58px}.start-view>p{font-size:9px}html[lang=ko] .section-heading h2{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.playback-label{display:inline-block;margin-left:12px;font-size:10px;color:var(--muted)}.playback-label.is-live{color:var(--green);font-weight:700}.thumb-caption{position:absolute;top:10px;left:12px;font-size:9px;color:white;background:#132a20aa;padding:4px 7px;border-radius:4px}.player-notice{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--paper);padding:24px;text-align:center}.player-notice p{font-size:20px}.player-notice a{text-decoration:underline;font-size:12px}.cam-image{background:#476451}.city-tile .nature{position:absolute;right:20px;top:10px;font-size:44px;color:#d4dfce}.player{min-height:200px}@media(max-width:700px){.player{min-height:200px}.playback-label{margin-left:8px;font-size:9px}.source-row{line-height:1.6}}

.cam-image .nature{font-size:20px;letter-spacing:3px}.city-tile .nature{font-size:20px;letter-spacing:2px}

.official-links{margin-top:24px}.official-links h4{font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 0 9px}.official-link{display:block;border-bottom:1px solid #cbd5c3;padding:11px 0;font-size:12px}.official-link span{font-weight:600}.official-link small,.nearby .nearby-official small{display:block;font-size:10px;color:#5d7062;line-height:1.5;margin:4px 0 0}.official-link:hover span,.nearby-official:hover>span:first-child{text-decoration:underline;text-underline-offset:3px}.official-links details{font-size:11px;margin-top:12px}.official-links summary{cursor:pointer;color:var(--green)}.official-pending,.nearby-empty{font-size:12px;line-height:1.7;color:var(--muted)}.nearby-pending{padding:12px 0;border-bottom:1px solid #cbd5c3;font-size:13px}.nearby .nearby-pending small{margin:4px 0 0}

/* Keep the existing editorial layout while simplifying the reading order. */
.hero-place{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:12px;row-gap:4px}
.hero-place .location{grid-column:1/-1}
.hero-place h2{margin:0;overflow-wrap:anywhere}
.hero-place .playback-label{margin:0;white-space:nowrap}
.hero-actions{flex-shrink:0}
.source-row{gap:5px 16px;line-height:1.6}
.cam-body{padding-right:15px;min-height:89px}
.cam-body h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;line-height:1.4;min-height:2.8em}
.card-save{width:40px;height:40px;display:grid;place-items:center;line-height:1}
.thumb-caption{max-width:calc(100% - 65px);line-height:1.4}
.cam-type{max-width:calc(100% - 24px);line-height:1.4;letter-spacing:.5px}
.city-tile .thumb-caption{font-size:9px;top:10px;left:12px;max-width:calc(100% - 24px)}
.trip .section-heading{margin-bottom:18px}
.nearby a{gap:16px;line-height:1.5}
.nearby a>span:first-child{min-width:0;overflow-wrap:anywhere}
.nearby a>span:last-child{flex-shrink:0}
.official-link small,.nearby .nearby-official small{font-size:10px;line-height:1.5}
footer .availability{margin:18px 0 7px;line-height:1.5}
.footer-meta{line-height:1.7;margin:0}
.stream-notes{font-size:10px;color:var(--muted);margin-top:12px;max-width:85ch}
.stream-notes summary{cursor:pointer;width:fit-content;padding:5px 0}
.stream-notes p{line-height:1.8;margin:8px 0 0}
@media(max-width:950px){.hero-place{display:block}.hero-place h2{margin:4px 0}.hero-place .playback-label{display:block}}
@media(max-width:700px){
 header{display:grid;grid-template-columns:auto 1fr;grid-template-rows:40px 40px;height:104px;padding:8px 4%;gap:8px 10px}
 .brand img{width:150px}
 .header-right{justify-self:end;margin-left:0}
 .language button{min-height:32px}
 nav{grid-column:1/-1;width:100%;padding:0;gap:8px}
 nav a{min-height:40px;min-width:44px;display:flex;align-items:center;justify-content:center;font-size:10px}
 .hero-heading p{display:none}
 .player-caption{align-items:flex-start;flex-wrap:wrap;gap:12px;padding:13px 0 10px}
 .hero-place{flex-basis:100%}
 .hero-actions{gap:8px;flex-wrap:wrap}
 .hero-actions .button{display:inline-flex}
 .hero-actions .button,.hero-actions .save-button{min-height:40px;padding:9px 14px;font-size:11px}
 .source-row{font-size:9px;gap:4px 12px}
 .source-row #sourceLabel{flex-basis:100%}
 .card-save{width:44px;height:44px;right:6px;top:6px}
 .thumb-caption{top:8px;left:8px;max-width:calc(100% - 62px);font-size:8px;padding:3px 5px}
 .cam-type{left:8px;bottom:8px;padding:4px 7px;font-size:8px;max-width:calc(100% - 16px)}
 .cam-body{padding:12px;min-height:83px}
 .results-top{flex-wrap:wrap;gap:12px}
 .results-top h3{font-size:15px}
 .search{margin-left:auto}
 .trip{padding:22px 18px}
 .trip-layout{gap:24px}
 .nearby a,.nearby-pending{padding:10px 0}
 .nearby>small{font-size:9px;margin-top:10px}
 .footer-top p{line-height:1.6;margin:14px 0 0}
 .stream-notes summary{min-height:36px;display:list-item;padding:10px 0}
}
html[lang=ko] h1{word-break:keep-all}
h1 em{white-space:nowrap}

.camera-switcher[hidden]{display:none}
.camera-switcher{display:flex;align-items:center;gap:18px;margin:4px 0 14px;padding:10px 0;border-top:1px solid var(--line)}
.camera-switcher>label{font-size:11px;font-weight:600;color:var(--green)}
.camera-switcher-controls{display:flex;align-items:center;gap:8px;min-width:0;flex:1;max-width:520px}
.camera-switcher select{font:inherit;font-size:12px;color:var(--ink);background:var(--paper);border:1px solid #a8b6aa;border-radius:8px;padding:10px 12px;min-height:44px;min-width:0;flex:1;max-width:100%;text-overflow:ellipsis;cursor:pointer}
.camera-switcher button{flex:0 0 44px;height:44px;padding:0;border:1px solid #a8b6aa;border-radius:50%;background:none;color:var(--ink);font-size:19px}
.camera-switcher button:disabled{opacity:.35;cursor:default}
.camera-switcher select:focus-visible{outline:3px solid #b48445;outline-offset:3px}
.hero.has-camera-switcher .player{height:min(56.25vw,520px,calc(100svh - 300px))}
@media(max-width:700px){
 .camera-switcher{display:block;padding-top:10px;margin-bottom:12px}
 .camera-switcher>label{display:block;margin-bottom:7px}
 .camera-switcher-controls{max-width:none}
 .hero.has-camera-switcher .player{height:min(52vw,calc(100svh - 290px))}
}

/* Keep the minute clock from shifting the neighboring navigation. */
#clock{inline-size:9ch;flex:0 0 9ch;text-align:right;font-variant-numeric:tabular-nums}
