:root{color-scheme:light dark;--bg:light-dark(#f5f6f0,#171c18);--panel:light-dark(#fff,#222b24);--text:light-dark(#243c2e,#e4eee5);--sub:light-dark(#64746a,#acbcae);--line:light-dark(#dfe6dc,#3b483e);--green:light-dark(#345e3b,#a5c995);--soft:light-dark(#e7eddf,#344331);--warn:light-dark(#725b20,#e4cd8f);--warnbg:light-dark(#f3edda,#393322)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--green);outline-offset:4px}button:disabled{cursor:default;opacity:.45}button{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:clamp(26px,4vw,36px);line-height:1.15;letter-spacing:-1.1px;font-weight:500;margin-bottom:9px}h2{font-size:19px;font-weight:500;letter-spacing:-.35px}h3{font-size:15px;font-weight:500}.shell{max-width:1120px;margin:0 auto}.top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:27px 36px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:20px;font-weight:500;letter-spacing:-.6px;color:var(--text)}.mark{display:block;color:var(--green);width:80px;height:80px;flex-shrink:0}.mark svg{display:block;width:100%;height:100%}.top-note{color:var(--sub);font-size:12px;text-align:right}.nav{display:flex;gap:6px;padding:20px 36px 0}.nav a{padding:9px 17px;text-decoration:none;color:var(--sub);border-radius:10px}.nav a[aria-current=page]{background:var(--green);color:var(--bg)}main{padding:32px 36px;min-height:570px}.heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px;flex-wrap:wrap}.muted{color:var(--sub)}.note{font-size:12px;color:var(--sub)}.badge{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:30px;background:var(--soft);color:var(--green);font-size:12px}.badge.warning{background:var(--warnbg);color:var(--warn)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:22px}.stat{padding:20px 22px;background:var(--panel);border-radius:16px}.label{font-size:13px;color:var(--sub)}.number{font-size:34px;letter-spacing:-1px;font-weight:500;margin:5px 0;font-variant-numeric:tabular-nums}.columns{display:grid;grid-template-columns:1.12fr 1fr;gap:22px}.panel{padding:24px;background:var(--panel);border-radius:17px;min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px;flex-wrap:wrap}.photo{min-height:235px;background:var(--soft);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--green);text-align:center;overflow:hidden;padding:20px}.photo.has-image{padding:0;min-height:0;aspect-ratio:16/9;background:var(--panel)}.photo img{display:block;width:100%;height:100%;object-fit:contain}.photo-symbol{font:48px/1 Georgia,serif;font-style:italic}.under{display:flex;justify-content:space-between;gap:14px;margin-top:14px;font-size:12px;color:var(--sub);flex-wrap:wrap}.text-link{background:none;border:0;padding:0;color:var(--green);text-decoration:underline;text-underline-offset:4px}.list{display:flex;flex-direction:column}.visit{display:flex;align-items:center;justify-content:space-between;gap:16px;border:0;border-bottom:1px solid var(--line);padding:16px 0;color:var(--text);text-decoration:none;width:100%}.visit:last-child{border-bottom:0}.visit-main{display:flex;align-items:center;gap:13px;min-width:0}.play{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--soft);color:var(--green);flex-shrink:0;font-size:12px}.visit-time{font-variant-numeric:tabular-nums;font-weight:500}.visit small{display:block;font-size:12px;color:var(--sub);font-weight:400}.visit-end{white-space:nowrap;color:var(--sub);font-size:13px}.section{margin-top:26px}.facts{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px;color:var(--sub);font-size:13px}.facts span{display:block}.facts strong{font-weight:500;color:var(--text);display:block;margin-top:4px}.coverage{padding:13px 16px;background:var(--warnbg);color:var(--warn);border-radius:11px;margin-bottom:22px;font-size:13px}.calendar-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:0;background:var(--green);color:var(--bg);padding:11px 17px;border-radius:10px}.button.secondary{background:var(--panel);color:var(--text);border:1px solid var(--line)}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.weekday{text-align:center;padding:10px 0;color:var(--sub);font-size:12px}.date{min-height:92px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:11px 13px;text-decoration:none;gap:10px}.date small{font-size:12px;color:var(--sub)}.date.recorded{background:var(--soft);border-color:transparent}.date.high{background:var(--green);color:var(--bg)}.date.high small{color:var(--bg)}.date.partial{border-style:dashed}.date.today{box-shadow:inset 0 0 0 2px var(--green)}.date.future{opacity:.4;background:transparent}.calendar-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px;color:var(--sub);font-size:12px}.parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:20px}.part strong{font-weight:500;font-size:25px;display:block;margin:7px 0}.track{height:6px;background:var(--bg);border-radius:8px;overflow:hidden;margin:10px 0}.track span{height:100%;display:block;background:var(--green)}.detail{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.kv{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.kv span:first-child{color:var(--sub)}.kv span:last-child{text-align:right}.back{display:inline-block;color:var(--sub);text-decoration:none;margin-bottom:20px}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:15px;padding:32px 0;color:var(--sub)}.empty h2{color:var(--text)}.empty.center{align-items:center;text-align:center;padding:50px 20px}.hourly{display:flex;align-items:flex-end;height:132px;gap:7px;margin-top:28px;padding-bottom:26px;position:relative}.hour{flex:1;min-width:0;height:100%;display:flex;align-items:flex-end;position:relative}.hour-bar{width:100%;min-height:2px;background:var(--green);border-radius:4px 4px 0 0;opacity:.8}.hour-label{position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--sub)}.hour:hover .hour-bar{opacity:1}.load-more{margin-top:18px}.day-edges{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.day-edges a{font-size:13px}footer{border-top:1px solid var(--line);padding:22px 36px 28px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:var(--sub);font-size:12px}.subheading{margin-top:8px}.visit-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.error{color:var(--warn)}.tabular{font-variant-numeric:tabular-nums}input[type=month]{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;max-width:180px}a:hover{text-decoration-thickness:2px}.visit:hover{color:var(--green)}@media(max-width:700px){.top{padding:20px}.nav{padding:16px 20px 0}main{padding:28px 20px;min-height:0}.columns,.detail{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:16px 12px}.number{font-size:27px}.label{font-size:12px}.panel{padding:19px}.top-note{max-width:90px}.brand{font-size:18px}.calendar{gap:5px}.date{min-height:76px;padding:8px 6px}.date small{font-size:11px}.parts{gap:12px}.part strong{font-size:21px}footer{padding:22px 20px}.hourly{gap:4px}.hour:nth-child(even) .hour-label{display:none}}@media(max-width:390px){.stats{grid-template-columns:1fr}.stat{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 10px}.stat .number{grid-row:1/3;grid-column:2;margin:0}.parts{grid-template-columns:1fr}.top-note{display:none}.date{min-height:65px;padding:7px 4px}.date small{font-size:11px}.calendar{gap:3px}.hour-label{font-size:11px}}

@media(max-width:700px){.visit-end{white-space:normal;max-width:45%;text-align:right}.visit-time small{overflow-wrap:anywhere}}

@media(max-width:390px){.calendar-controls{flex-wrap:nowrap;width:100%}.calendar-controls label{min-width:0;flex:1}.calendar-controls label>.note{display:none}.calendar-controls input{max-width:160px;width:100%}}

.temperature-chart{display:block;width:100%;height:auto;max-height:210px;margin-top:18px;color:var(--green)}

.stats-overview{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-overview .stat{min-width:0;padding:20px 19px}.stats-overview .number{font-size:31px;white-space:nowrap}
@media(max-width:900px){.stats-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.stats-overview .stat{padding:16px 12px}.stats-overview .number{font-size:24px}}
@media(max-width:390px){.stats-overview .stat{display:block}.stats-overview .stat .number{margin:5px 0}}
@media(max-width:340px){.stats-overview .number{font-size:22px}}
.activity-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:20px;align-items:start}.activity-map{padding:20px}.activity-scroll{overflow-x:auto}.activity-table{width:100%;min-width:470px;border-collapse:separate;border-spacing:4px;table-layout:fixed}.activity-table th{font-size:11px;font-weight:400;color:var(--sub);text-align:center;padding:0 0 6px}.activity-table th:first-child{width:48px;text-align:left}.activity-table tbody th{padding:0;white-space:nowrap}.activity-table td{height:18px;padding:0}.activity-cell{display:block;width:100%;height:18px;padding:0;border:0;border-radius:3px;color:var(--sub)}.activity-cell[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--text)}.activity-cell:hover{box-shadow:inset 0 0 0 2px var(--sub)}.level-0{background:var(--soft)}.level-1{background:light-dark(#d9e7c7,#3c5637)}.level-2{background:light-dark(#c1d3b3,#4d6945)}.level-3{background:light-dark(#aac09f,#5f7d54)}.level-4{background:light-dark(#92ac8b,#709062)}.level-5{background:light-dark(#7b9977,#81a371)}.level-6{background:light-dark(#638563,#92b67f)}.level-7{background:light-dark(#4c724f,#a4ca8e)}.level-8{background:light-dark(#345e3b,#b5dd9c)}.state-no_data,.state-unknown_sun,.short-observation{background-color:light-dark(#e6e8e3,#343b37)}.state-partial{background-image:repeating-linear-gradient(135deg,transparent,transparent 3px,color-mix(in srgb,var(--text) 25%,transparent) 3px,color-mix(in srgb,var(--text) 25%,transparent) 4px)}.state-future,.state-outside{background:var(--bg)}.activity-swatch{display:inline-block;width:18px;height:14px;border-radius:3px;flex-shrink:0}.activity-legend{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:15px;font-size:11px;color:var(--sub)}.activity-legend>span:has(i){display:flex;gap:6px;align-items:center;margin-right:8px}.activity-detail .number{font-size:28px}.activity-detail .kv{font-size:12px}.activity-open{width:100%}.activity-detail .visit{gap:7px}.activity-detail .visit-main{gap:7px}.activity-detail .visit-end{white-space:normal;text-align:right;font-size:11px}.activity-detail .play{width:24px;height:24px}.activity-more{margin-top:15px}.nav{flex-wrap:wrap}@media(max-width:850px){.activity-layout{grid-template-columns:1fr}.activity-detail{grid-row:1}.activity-detail .kv{padding:9px 0}.activity-detail .number{margin-top:12px}.activity-month{width:100%;flex-wrap:nowrap}.activity-month label{flex:1;min-width:0}.activity-month input{width:100%;max-width:none}.activity-month label>.note{display:none}}@media(pointer:coarse){.activity-table{min-width:620px}.activity-table td,.activity-cell{height:44px}}
.activity-modes{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:25px}.activity-modes a{padding:8px 14px;border-radius:9px;text-decoration:none;background:var(--soft);color:var(--sub)}.activity-modes a[aria-current=page]{background:var(--green);color:var(--bg)}.trend-period-controls{display:flex;gap:10px;align-items:center;font-size:13px}.trend-period-controls>span{max-width:240px}.trend-metrics{display:flex;gap:5px;flex-wrap:wrap}.trend-metrics button{border:1px solid var(--line);background:var(--panel);color:var(--sub);border-radius:9px;padding:8px 10px;font-size:12px}.trend-metrics button[aria-pressed=true]{background:var(--soft);color:var(--text);border-color:var(--soft)}.trend-scroll{overflow-x:auto}.trend-plotrow{display:grid;grid-template-columns:40px minmax(0,1fr);gap:9px}.trend-axis{display:flex;flex-direction:column;justify-content:space-between;height:182px;text-align:right;font-size:11px;color:var(--sub)}.trend-plot{position:relative;min-width:0}.trend-grid{position:absolute;inset:0 0 28px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.trend-grid i{height:1px;width:100%;background:var(--line)}.trend-bars{display:grid;grid-template-columns:repeat(var(--trend-days),minmax(0,1fr));gap:8px;height:210px;position:relative}.trend-day{padding:0;border:0;background:transparent;position:relative;min-width:0;color:var(--sub);display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.trend-bararea{height:182px;width:100%;display:flex;align-items:flex-end;justify-content:center}.trend-bar{display:block;width:65%;max-width:65px;background:var(--green);opacity:.8;border-radius:4px 4px 0 0}.trend-day[aria-pressed=true] .trend-bar{opacity:1}.trend-day[aria-pressed=true] .trend-day-label{font-weight:500;color:var(--text);text-decoration:underline;text-underline-offset:4px}.trend-day-label{height:28px;padding-top:7px;font-size:11px;white-space:nowrap}.trend-value{position:absolute;bottom:calc(28px + var(--trend-height));padding-bottom:5px;font-size:12px;color:var(--text)}.trend-month .trend-bars{gap:3px}.trend-month .trend-bar{width:80%}.trend-hatch{background:repeating-linear-gradient(135deg,var(--green),var(--green) 3px,color-mix(in srgb,var(--green) 45%,var(--panel)) 3px,color-mix(in srgb,var(--green) 45%,var(--panel)) 5px)}.trend-no-data{background:var(--line)}.trend-legend{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0 24px 49px}.trend-legend span{display:flex;gap:6px;align-items:center}.trend-legend i{display:inline-block;width:17px;height:10px;border-radius:2px;background-color:var(--green)}.trend-legend i.trend-no-data{background:var(--line)}.trend-temperature-axis,.trend-temperature{height:80px}.trend-temperature{position:relative;display:flex;align-items:center;justify-content:center;color:var(--sub)}.trend-temperature svg{position:absolute;width:100%;height:100%;overflow:visible}.trend-detail{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.trend-detail strong{font-weight:500}@media(max-width:600px){.trend-plots.trend-month{min-width:650px}.trend-panel{padding:18px 13px}.trend-period-controls{width:100%;justify-content:space-between}.trend-bars{gap:4px}.trend-value{font-size:11px}.trend-plotrow{grid-template-columns:28px minmax(0,1fr);gap:5px}.trend-legend{margin-left:33px}.activity-modes a{padding:8px 11px}}

@media(max-width:700px){.mark{width:68px;height:68px}}

.hour-tooltip{position:absolute;bottom:calc(var(--hour-height) + 8px);left:50%;transform:translateX(-50%);padding:7px 9px;border-radius:8px;background:var(--text);color:var(--panel);font-size:12px;line-height:1.35;white-space:nowrap;visibility:hidden;opacity:0;pointer-events:none;z-index:5;box-shadow:0 4px 12px #0002}.hour-tooltip span{display:block;font-size:11px;opacity:.85}.hour:hover .hour-tooltip,.hour:focus .hour-tooltip{visibility:visible;opacity:1}.hour:focus-visible{outline:2px solid var(--green);outline-offset:3px}.hour:focus .hour-bar{opacity:1}.hour:first-child .hour-tooltip{left:0;transform:none}.hour:last-child .hour-tooltip{left:auto;right:0;transform:none}

.guest-facts{margin-top:22px}.guest-facts .number{font-size:30px;white-space:nowrap}@media(max-width:900px){.guest-facts .number{font-size:24px}}@media(max-width:700px){.guest-facts{grid-template-columns:1fr}.guest-facts .stat{display:block}.guest-facts .number{margin:5px 0}}
