:root{font-family:system-ui,sans-serif;color:#173d31;background:#f5f8f7}*{box-sizing:border-box}body{margin:0}header{background:white;border-bottom:1px solid #dce7e2;padding:14px max(20px,calc((100vw - 1500px)/2)) 20px}h1{font-size:24px;margin:15px 0 6px}header p{font-size:12px;color:#718478;margin:0}main{max-width:1540px;margin:auto;padding:22px 20px}button,select,input{font:inherit;color:inherit}select,input[type=date],button{min-height:44px;border:1px solid #ccdad4;border-radius:6px;padding:10px;background:white}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #176b59;outline-offset:3px}a{color:#176b59}.controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap}label{display:grid;gap:6px;font-size:12px;font-weight:600}.region-control{flex:1;min-width:280px}select{width:100%}.period-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}.period-nav p{font-size:13px;text-align:center;font-weight:600;line-height:1.5}.period-nav button{font-size:12px}.chart-card{background:white;border:1px solid #dce7e2;border-radius:10px;overflow:hidden}.chart-heading{padding:20px 24px 9px;display:flex;align-items:start;justify-content:space-between;gap:15px}.chart-heading h2{font-size:18px;line-height:1.5;margin:0}.chart-heading p{font-size:12px;color:#718478;margin:7px 0 0}.chart-heading a{font-size:12px;white-space:nowrap;margin-top:5px}.reading{margin:5px 24px 10px;padding:11px 13px;min-height:42px;border-radius:5px;background:#f0f8f5;font-size:12px;line-height:1.7;font-variant-numeric:tabular-nums}.reading strong{color:#173d31}.chart-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;scrollbar-color:#9cbcb0 #f1f6f3;scrollbar-width:thin}.chart-scroll svg{display:block;max-width:none;touch-action:pan-x pan-y}.chart-help{font-size:11px;color:#718478;line-height:1.7;padding:0 24px 16px;margin:10px 0 0}.hour-control{margin:12px 24px 0;font-size:11px;font-weight:400;color:#718478;display:flex;align-items:center;gap:13px}.hour-control input{flex:1;accent-color:#176b59;min-width:0}.empty{min-height:270px;display:grid;place-content:center;color:#718478;text-align:center;line-height:1.8;padding:30px}.method{font-size:12px;line-height:1.8;color:#536b62;margin-top:20px}.method summary{cursor:pointer;font-weight:600}.method p{max-width:1000px}#stamp{font-size:11px;color:#718478;margin-top:18px}#error{color:#a64935;font-size:13px}@media(max-width:720px){header{padding:12px 14px 16px}h1{font-size:20px}main{padding:16px 12px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.region-control{grid-column:1/-1;grid-row:1;min-width:0}.controls label{min-width:0}input[type=date]{width:100%;min-width:0}.period-nav{gap:6px}.period-nav button{font-size:10px;padding:8px}.period-nav p{font-size:11px}.chart-heading{padding:16px 15px 8px}.chart-heading h2{font-size:15px}.reading{margin:5px 15px 10px;font-size:11px}.hour-control{margin:12px 15px 0}.chart-help{padding:0 15px 14px}}

.chart-card{overflow:clip}

.chart-scroll svg{touch-action:pan-y pinch-zoom;cursor:crosshair;user-select:none;-webkit-user-select:none}.chart-scroll.scrubbing svg{cursor:ew-resize}.temperature-heading{padding:16px 24px 8px;border-top:1px solid #e4ece8;position:sticky;left:0;max-width:100%;background:white}.temperature-heading h3{margin:0;color:#9b6429;font-size:15px}.temperature-heading p{font-size:12px;color:#7a6d5d;margin:7px 0 0}.reading{position:sticky;top:8px;z-index:2;box-shadow:0 0 0 5px white}.chart-scroll:focus-visible{outline:2px solid #176b59;outline-offset:-2px}@media(max-width:720px){.temperature-heading{padding:15px}.reading{top:5px}}
