:root{--ink:#f3f7f4;--muted:#9bb0aa;--bg:#061719;--panel:#0b2325;--line:rgba(205,230,221,.13);--mint:#70e0b4;--gold:#ffc96d;--blue:#6bb9de;--red:#ff8b78}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.site-header{height:76px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(6,23,25,.88);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;min-width:240px}.brand-mark{width:40px;height:40px;border:1px solid rgba(112,224,180,.45);display:grid;place-items:center;border-radius:50%;color:var(--mint);font-family:Georgia,serif;font-size:14px}.brand strong,.brand small{display:block}.brand strong{font-family:Georgia,serif;font-size:18px;font-weight:500}.brand small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}nav{display:flex;align-items:center;justify-content:center;gap:28px;flex:1}nav a{color:var(--muted);text-decoration:none;font-size:14px}nav a:hover,nav a.active{color:var(--ink)}.live-pill{min-width:240px;text-align:right;color:var(--muted);font-size:13px}.live-pill span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint);margin-right:7px}main{max-width:1180px;margin:auto;padding:42px 24px 80px}.current{padding-bottom:46px;border-bottom:1px solid var(--line)}.location-line{display:flex;gap:22px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:28px}.location-line span+span:before{content:"·";margin-right:22px}.weather-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:66px;align-items:center}.temperature-panel{display:flex;align-items:center;gap:28px}.condition-icon{width:110px;height:90px;position:relative}.sun{width:62px;height:62px;border-radius:50%;background:var(--gold);box-shadow:0 0 38px rgba(255,201,109,.33);position:absolute;right:5px;top:0}.cloud{width:81px;height:31px;background:#dce7e1;border-radius:30px;position:absolute;left:3px;bottom:7px;box-shadow:26px -17px 0 -2px #dce7e1}.condition{color:var(--muted);margin:0 0 -6px;font-size:16px}.temperature{font-family:Georgia,serif;font-size:86px;line-height:1}.temperature span{font-size:36px;vertical-align:top;position:relative;top:12px;color:var(--muted)}.feels{margin:2px 0 0;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 30px}.metrics article{border-left:1px solid var(--line);padding-left:18px}.metrics span,.today-strip span,.record-grid span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.metrics strong{display:block;font-family:Georgia,serif;font-size:24px;font-weight:500;margin:3px 0}.metrics strong .unit{display:inline;text-transform:none;letter-spacing:0;font-size:15px}.metrics small,.today-strip small,.record-grid small{color:var(--muted)}.today-strip{margin-top:40px;background:rgba(11,35,37,.72);border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:repeat(4,1fr);padding:18px 0}.today-strip div{padding:0 24px}.today-strip div+div{border-left:1px solid var(--line)}.today-strip b{display:block;font-family:Georgia,serif;font-size:19px;font-weight:500;margin:2px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:52px 0 20px}.eyebrow{margin:0 0 4px;color:var(--mint);font-size:12px;letter-spacing:.13em;text-transform:uppercase}.section-heading h1,.section-heading h2,.camera-card h3,.lower-grid h2,.station-card h2{font-family:Georgia,serif;font-weight:500;margin:0}.section-heading h1,.section-heading h2{font-size:35px}.text-link{color:var(--ink);text-decoration:none;font-size:14px}.text-link span{color:var(--mint);margin-left:4px}.chart-card{background:linear-gradient(145deg,rgba(15,48,50,.9),rgba(8,29,31,.95));border:1px solid var(--line);border-radius:16px;padding:22px 24px 18px;box-shadow:0 24px 50px rgba(0,0,0,.18)}.chart-toolbar{display:flex;justify-content:space-between;gap:16px}.metric-tabs,.range-tabs{display:flex;gap:4px;overflow:auto}.chart-toolbar button{border:0;background:transparent;color:var(--muted);padding:9px 12px;border-radius:8px;font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}.chart-toolbar button:hover{color:var(--ink)}.chart-toolbar button.active{background:rgba(112,224,180,.12);color:var(--mint)}.range-tabs{background:rgba(0,0,0,.15);padding:3px;border-radius:9px}.range-tabs button{padding:6px 10px}.chart-summary{display:flex;justify-content:space-between;align-items:end;margin:28px 5px 8px;color:var(--muted);font-size:13px}.chart-summary strong{font-family:Georgia,serif;color:var(--ink);font-size:25px;font-weight:500}.chart-summary small{font-family:ui-sans-serif,sans-serif;color:var(--muted);font-size:12px;font-weight:400}.chart{height:300px;width:100%;position:relative}.chart svg{width:100%;height:100%;overflow:visible}.chart-legend{display:flex;gap:25px;color:var(--muted);font-size:12px;padding:7px 5px 0}.chart-legend span{display:flex;align-items:center;gap:7px}.chart-legend b{font-weight:500}.dot{width:8px;height:8px;border-radius:50%}.current-dot{background:var(--mint)}.avg-dot{border:1px dashed #7c9290}.hover-hint{margin-left:auto}.camera-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.camera-card{height:320px;border-radius:14px;position:relative;overflow:hidden;border:1px solid var(--line);background-size:cover;background-position:center}.camera-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.08) 50%,rgba(3,14,15,.88))}.haleakala{background-image:linear-gradient(165deg,#9bc7d7 0%,#789fa1 35%,#4c6c60 36%,#28483e 75%,#122c2d 100%)}.west{background-image:linear-gradient(180deg,#df9f77 0%,#856f79 43%,#364f59 44%,#152d35 68%,#0b1e25 100%)}.camera-overlay{position:absolute;inset:0;padding:18px;display:flex;flex-direction:column;justify-content:space-between}.camera-live{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.camera-live::first-letter{color:var(--red)}.camera-card h3{font-size:26px}.camera-card p{margin:2px 0 0;color:#c1cfcb;font-size:13px}.lower-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:18px}.timelapse-card,.station-card{border:1px solid var(--line);border-radius:14px;padding:28px;background:var(--panel)}.timelapse-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;background:linear-gradient(120deg,#123b3e,#0b2528)}.play{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:#062123;padding-left:3px}.timelapse-card h2,.station-card h2{font-size:24px}.timelapse-card p:not(.eyebrow),.station-card p:not(.eyebrow){color:var(--muted);margin:4px 0 0;font-size:13px}.timelapse-card button{border:1px solid rgba(112,224,180,.35);background:transparent;color:var(--ink);padding:10px 14px;border-radius:8px}.station-details{display:flex;gap:25px;margin-top:19px}.station-details span{color:var(--muted);font-size:12px}.station-details b{display:block;color:var(--ink);font-family:Georgia,serif;font-size:19px;font-weight:500}.record-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;background:rgba(11,35,37,.6)}.record-grid div{padding:22px}.record-grid div+div{border-left:1px solid var(--line)}.record-grid b{display:block;font-family:Georgia,serif;font-size:25px;font-weight:500;margin:3px 0}footer{max-width:1180px;margin:auto;padding:26px 24px 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
@media(max-width:900px){.site-header{padding:0 18px}.brand{min-width:auto}.brand small{display:none}.live-pill{min-width:auto}.live-pill{font-size:0}.live-pill span{margin:0}nav{display:none}.weather-grid{grid-template-columns:1fr;gap:34px}.metrics{grid-template-columns:repeat(3,1fr)}.lower-grid{grid-template-columns:1fr}.timelapse-card{grid-template-columns:auto 1fr}.timelapse-card button{display:none}}
@media(max-width:620px){main{padding:28px 16px 60px}.site-header{height:66px}.location-line{gap:8px;flex-wrap:wrap}.location-line span+span:before{margin-right:8px}.temperature-panel{gap:15px}.condition-icon{width:74px;transform:scale(.75);transform-origin:left center}.temperature{font-size:65px}.metrics{grid-template-columns:repeat(2,1fr);gap:22px}.today-strip{grid-template-columns:repeat(2,1fr)}.today-strip div:nth-child(3),.today-strip div:nth-child(4){border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.today-strip div:nth-child(3){border-left:0}.chart-card{padding:15px 12px}.chart-toolbar{display:block}.range-tabs{margin-top:8px;width:max-content}.chart{height:245px}.hover-hint{display:none}.camera-grid{grid-template-columns:1fr}.camera-card{height:250px}.timelapse-card{padding:22px;gap:14px}.play{width:44px;height:44px}.record-grid{grid-template-columns:repeat(2,1fr)}.record-grid div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.record-grid div:nth-child(4){border-top:1px solid var(--line)}footer{display:block}footer span{display:block;margin-top:5px}}
/* kula-photo-theme-v1 */
:root{--ink:#f8f2e7;--muted:#adc0b9;--bg:#0a1d1f;--panel:#143034;--line:rgba(232,221,198,.14);--mint:#9ed6b9;--gold:#efb86d;--blue:#78b7ce;--red:#df806c}
body{font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;font-size:16px;letter-spacing:.002em;background:radial-gradient(circle at 12% -8%,rgba(86,126,111,.22),transparent 30rem),radial-gradient(circle at 88% 14%,rgba(176,117,67,.1),transparent 28rem),linear-gradient(180deg,#0b2022 0%,#081719 58%,#061315 100%)}
.brand strong,.temperature,.metrics strong,.today-strip b,.section-heading h1,.section-heading h2,.camera-card h3,.lower-grid h2,.station-card h2,.chart-summary strong,.station-details b,.record-grid b{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif}
.brand strong{font-size:19px;letter-spacing:-.012em}.brand small{color:#b7c8c1;letter-spacing:.16em}.brand-mark{border-color:rgba(239,184,109,.52);color:var(--gold);background:rgba(239,184,109,.06)}
.site-header{background:rgba(8,25,27,.9);border-bottom-color:rgba(232,221,198,.12)}nav a{font-weight:500;letter-spacing:.015em}nav a.active{color:var(--gold)}
.location-line{color:#b7c8c1;font-weight:600;letter-spacing:.12em}.condition{font-size:17px;color:#c7d4cf}.temperature{font-size:90px;letter-spacing:-.055em}.feels{font-size:15px}
.metrics article{border-left-color:rgba(239,184,109,.23)}.metrics strong{font-size:26px;letter-spacing:-.02em}.metrics span,.today-strip span,.record-grid span{color:#aebeb8;font-weight:650;letter-spacing:.11em}
.today-strip,.record-grid{background:linear-gradient(135deg,rgba(27,57,57,.82),rgba(16,40,43,.75));border-color:rgba(232,221,198,.15);box-shadow:0 20px 54px rgba(0,0,0,.14)}
.eyebrow{color:var(--gold);font-weight:700;letter-spacing:.16em}.section-heading h1,.section-heading h2{font-size:38px;letter-spacing:-.032em;line-height:1.08}
.chart-card{background:linear-gradient(145deg,rgba(25,59,58,.96),rgba(10,34,37,.98));border-color:rgba(232,221,198,.16);box-shadow:0 28px 64px rgba(0,0,0,.24)}.chart-toolbar button{font-weight:600;letter-spacing:.02em}.chart-toolbar button.active{background:rgba(239,184,109,.13);color:#ffd092}
.camera-card,.timelapse-card,.station-card{border-color:rgba(232,221,198,.16);box-shadow:0 22px 52px rgba(0,0,0,.2)}.camera-card h3,.timelapse-card h2,.station-card h2{letter-spacing:-.022em}.timelapse-card{background:linear-gradient(120deg,#1a4442,#102e32)}.station-card{background:linear-gradient(145deg,#173536,#10292d)}
.text-link{font-weight:600}.text-link span{color:var(--gold)}.play{background:var(--gold);color:#1c2622}.timelapse-card button{border-color:rgba(239,184,109,.45);font-weight:600}
footer{color:#97aaa4}
