:root{color-scheme:light;--bg: #f3f3f3;--paper: #ffffff;--panel: #ffffff;--line: rgba(0, 0, 0, .12);--text: #111111;--muted: #555555;--am: #d9e6fb;--pm: #6f8fcf}.api-key-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.api-key-dialog{width:min(440px,100%);padding:24px;background:var(--paper);border-radius:8px;box-shadow:0 16px 48px #0003}.api-key-dialog h2{margin:0 0 8px;font-size:1.25rem}.api-key-hint{margin:0 0 16px;font-size:.85rem;color:var(--muted);line-height:1.45}.api-key-field{margin-bottom:14px}.api-key-field label{display:block;font-size:.8rem;font-weight:700;margin-bottom:4px;color:var(--text)}.api-key-field input{width:100%;padding:10px 12px;font-size:.95rem;border:1px solid var(--line);border-radius:6px;font-family:inherit;box-sizing:border-box}.api-key-field input:focus{outline:2px solid rgba(17,17,17,.25);outline-offset:0}.api-key-show-row{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:.85rem;color:var(--text);-webkit-user-select:none;user-select:none}.api-key-show-row input[type=checkbox]{width:auto;margin:0;cursor:pointer}.api-key-show-row label{display:inline;margin:0;font-weight:400;cursor:pointer}.api-key-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.api-key-actions button{padding:10px 18px;font-size:.95rem;border-radius:6px;border:1px solid #333;background:#111;color:#fff;cursor:pointer;font-family:inherit}.api-key-actions button:disabled{opacity:.55;cursor:not-allowed}.api-key-actions .secondary{background:#fff;color:#111}.api-key-error{margin-top:12px;padding:10px 12px;font-size:.85rem;color:#b91c1c;background:#fef2f2;border-radius:6px;display:none}.api-key-error.visible{display:block}.app-loading{padding:48px 24px;text-align:center;color:var(--muted);font-size:1rem}.sheet-toolbar{width:210mm;margin:0 auto 10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 6mm;box-sizing:border-box}.sheet-toolbar-status{display:flex;justify-content:center;align-items:center;min-width:0;padding:0 4px}.data-load-status-label{font-size:1.55rem;font-weight:800;letter-spacing:-.04em;line-height:1.05}#data-load-status[data-state=loading] .data-load-status-label{color:#7f1d1d}#data-load-status[data-state=complete] .data-load-status-label{color:#15803d}#data-load-status[data-state=error] .data-load-status-label{color:#b91c1c}.sheet-toolbar-actions{display:flex;gap:8px;align-items:center;justify-self:end}.settings-btn,.weather-refresh-btn,.png-download-btn{padding:8px 14px;font-size:14px;border-radius:6px;border:1px solid #333;background:#fff;color:#111;cursor:pointer;font-family:inherit}.settings-btn:hover,.weather-refresh-btn:hover,.png-download-btn:hover{background:#f5f5f5}.settings-btn:disabled,.weather-refresh-btn:disabled,.png-download-btn:disabled{opacity:.6;cursor:wait}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}body{min-height:100vh}.page{padding:12px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.a4-sheet{width:210mm;min-height:297mm;margin:0 auto;background:var(--paper);padding:6mm 6mm 7mm;box-shadow:0 0 0 1px #00000014,0 12px 30px #00000014}.print-head{display:flex;justify-content:space-between;align-items:flex-end;gap:8mm;padding-bottom:2.2mm;margin-bottom:3mm;border-bottom:1px solid #111}.print-head h1{margin:0;font-size:8.2mm;line-height:1.05}.print-meta{min-width:55mm;font-size:2.8mm;line-height:1.6;color:var(--muted);text-align:right}.card{background:var(--panel);border:none;padding:0;box-shadow:none}.section-header{display:flex;justify-content:space-between;align-items:baseline;gap:3mm;margin-bottom:2mm}.section-header-tight{margin-bottom:1.6mm}.section-header h2{margin:0;font-size:4.4mm;line-height:1.08}.today-note-section{margin-bottom:0}.today-note-top{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:3mm;margin-bottom:1.2mm}.today-note-title{flex:0 0 auto;margin:0;font-size:4.8mm;font-weight:700;line-height:9mm;white-space:nowrap}.today-note-short{flex:1 1 0;min-width:0;width:auto;height:9mm;border:none;background:#f1f1f1;font-family:inherit;font-size:4.8mm;font-weight:700;line-height:9mm;outline:none;padding:0 2.4mm;border-radius:1.6mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-note-long{width:100%;min-height:21.5mm;resize:none;border:none;background:#f1f1f1;font-family:inherit;font-size:3.2mm;line-height:1.35;outline:none;padding:2.2mm 2.4mm;border-radius:1.6mm;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.today-note-long::-webkit-scrollbar{display:none}.today-note-short::placeholder,.today-note-long::placeholder{color:#777;font-family:inherit}.warning-card{margin-bottom:3mm}.warning-card h2{margin:0 0 1.5mm;font-size:4.3mm}.warning-list{margin:0;padding-left:4mm;color:var(--muted);font-size:3.1mm;line-height:1.3}.top-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:4mm;align-items:start;margin-bottom:2.4mm}.news-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:4mm;align-items:start}.layout-map{margin-top:.8mm}.layout-map .section-header h2{font-size:5.3mm;line-height:1.02}.layout-map .map-shell{margin-top:4.7mm}.right-column{display:flex;flex-direction:column;gap:2.2mm}.astro-side{display:flex;flex-direction:column;gap:2.8mm;align-self:start}.astro-side>.astro-card{margin-top:0;padding:1.8mm 2.2mm;background:#eef1f6;border-radius:2mm}.notice-link-btn{display:inline-flex;align-items:center;justify-content:center;align-self:flex-end;min-height:6.2mm;padding:0 2.2mm;border-radius:999px;background:#111;color:#fff;font-size:2.8mm;font-weight:700;text-decoration:none;white-space:nowrap;margin-top:1.2mm;margin-bottom:0}.notice-link-btn:hover,.notice-link-btn:focus-visible{background:#2d3748}.notice-button-row{display:flex;gap:.9mm;margin-bottom:1mm;flex-wrap:wrap}.astro-row{display:grid;grid-template-columns:4mm 8mm 1fr 8mm 1fr;align-items:center;gap:1mm;font-size:3.5mm;line-height:1.15}.astro-row+.astro-row{margin-top:1.1mm}.astro-icon{display:inline-flex;align-items:center;justify-content:center;font-size:4mm}.astro-icon-sun{color:#d18b00}.astro-icon-moon{color:#8a6fb8}.astro-label{white-space:nowrap;color:var(--muted);font-weight:700}.astro-label-right{text-align:right}.astro-time{white-space:nowrap;font-weight:700;color:var(--text)}.precip-card{margin-top:-.8mm}.precip-card .section-header{align-items:center;flex-wrap:nowrap;gap:2mm}.precip-card .section-header h2{font-size:4.5mm;line-height:1.05;white-space:nowrap;flex-shrink:0}.precip-legend{display:flex;gap:1.5mm;font-size:4mm;color:var(--muted);white-space:nowrap;flex-shrink:0}.precip-values{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.45mm;font-size:3mm;white-space:nowrap}.legend-item{display:inline-flex;align-items:center;gap:.7mm;white-space:nowrap}.legend-swatch{display:inline-block;width:3.2mm;height:1.6mm}.legend-swatch-am{background:var(--am)}.legend-swatch-pm{background:var(--pm)}.precip-scale{position:relative;height:3mm;margin:0 0 .6mm 16mm;font-size:2.35mm;color:var(--muted)}.precip-scale span{position:absolute;top:0;transform:translate(-50%)}.precip-chart{display:flex;flex-direction:column;gap:1.1mm}.precip-row-item{display:grid;grid-template-columns:13mm 1fr 12mm;gap:2.2mm;align-items:center}.precip-label{font-size:3mm;font-weight:700;white-space:nowrap}.precip-track{position:relative;height:7mm;border-left:1px solid var(--line);background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(20% - 1px),rgba(0,0,0,.12) calc(20% - 1px),rgba(0,0,0,.12) 20%)}.precip-bar{position:absolute;left:0}.precip-bar-am{top:1.05mm;height:1.8mm;background:var(--am)}.precip-bar-pm{bottom:1.05mm;height:1.8mm;background:var(--pm)}.forecast-card{padding-top:0;margin-top:1mm}.forecast-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.2mm}.forecast-table{border-radius:2mm;overflow:hidden;border:1px solid rgba(0,0,0,.08)}.forecast-table-title{background:#efefef;font-size:3.3mm;font-weight:700;padding:1mm 1.6mm;line-height:1.1}.forecast-table-grid{width:100%;border-collapse:collapse;table-layout:fixed}.forecast-table-grid th,.forecast-table-grid td{padding:.9mm 1.4mm;font-size:3mm;line-height:1.1;white-space:nowrap;text-align:left;border-bottom:1px solid rgba(0,0,0,.06)}.forecast-table-grid th{width:8mm;font-weight:700}.forecast-table-grid tr:last-child th,.forecast-table-grid tr:last-child td{border-bottom:none}.dust-card{grid-column:1 / -1;padding-top:.4mm;margin-top:-.8mm}.dust-header{align-items:center}.dust-meta{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:3mm;flex-wrap:nowrap}.dust-time,.dust-announced{font-size:2.3mm;color:var(--muted);white-space:nowrap}.dust-table{display:flex;flex-direction:column;gap:1.6mm;margin-top:1.4mm}.dust-table-head,.dust-table-row{display:grid;grid-template-columns:18mm repeat(12,minmax(0,1fr));gap:1.2mm;align-items:center}.dust-left-spacer{height:1px}.dust-col-head{font-size:3mm;text-align:center;line-height:1.15;white-space:pre-line;word-break:keep-all}.dust-col-head.dust-detail,.dust-cell.dust-detail{position:relative;cursor:help}.dust-row-label{font-size:3mm;font-weight:700;white-space:nowrap}.dust-cell{display:flex;justify-content:center;align-items:center}.dust-circle{display:inline-flex;align-items:center;justify-content:center;width:3.2mm;height:3.2mm;border-radius:50%;border:.35mm solid currentColor;line-height:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}.dust-good{background:#3182ce;color:#3182ce}.dust-normal{background:#38a169;color:#38a169}.dust-bad{background:#d69e2e;color:#d69e2e}.dust-very-bad{background:#e53e3e;color:#e53e3e}.dust-unknown{background:transparent;color:#718096;border-style:dashed}.dust-legend{display:flex;justify-content:flex-end;gap:4mm;margin-top:2mm;font-size:3mm}.dust-legend span{display:inline-flex;align-items:center;gap:.9mm}.dust-detail:hover .marker-tooltip,.dust-detail:focus-within .marker-tooltip{opacity:1;visibility:visible}.error-card{margin-top:10mm}@page{size:A4 portrait;margin:6mm}@media print{html,body{background:#fff}.sheet-toolbar{display:none!important}.page{padding:0}.a4-sheet{width:auto;min-height:auto;margin:0;padding:0;box-shadow:none}.top-layout,.layout-map,.right-column{break-inside:avoid;page-break-inside:avoid}.top-layout{margin-bottom:2mm}.today-note-section{margin-bottom:0}.today-note-long{min-height:15mm;font-size:3.1mm;line-height:1.3;padding:2mm 2.2mm}.right-column{gap:2mm}.dust-card{padding-top:.3mm;margin-top:-.6mm}.dust-table{gap:1.1mm;margin-top:1mm}.dust-legend{margin-top:1.1mm;gap:3mm;font-size:2.8mm}.dust-circle{border:.35mm solid #000;print-color-adjust:exact;-webkit-print-color-adjust:exact}}.layout-map{min-height:0}.map-shell{width:100%}.map-stage{position:relative;width:100%;aspect-ratio:1296 / 2013;overflow:hidden;background:#ececec;border-radius:2mm;border:1px solid rgba(0,0,0,.08)}.map-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center}.map-marker{position:absolute;transform:translate(-50%,-50%);z-index:2;min-width:17.6mm;max-width:26mm}.marker-card{position:relative;display:flex;flex-direction:column;gap:.3mm;padding:.9mm 1.2mm;border-radius:1.8mm;background:#fffffff5;color:#111;border:1px solid rgba(0,0,0,.1)}.marker-weather{font-size:4.5mm;font-weight:400;line-height:1.1}.marker-line{display:flex;flex-wrap:nowrap;gap:.8mm;align-items:center;white-space:nowrap;font-size:3.3mm;line-height:1.1}.marker-city{font-weight:800;white-space:nowrap}.marker-temp{color:#333;white-space:nowrap}.marker-tooltip{position:absolute;left:50%;bottom:calc(100% + 1.2mm);transform:translate(-50%);min-width:18mm;padding:1.2mm 1.6mm;border-radius:1.6mm;background:#111111f0;color:#fff;font-size:2.8mm;line-height:1.3;white-space:nowrap;box-shadow:0 1.2mm 3mm #0000002e;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease;z-index:20}.marker-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:1.4mm}.marker-tooltip-row+.marker-tooltip-row{margin-top:.6mm}.marker-tooltip-label{color:#ffffffc7;font-weight:700}.marker-tooltip-value{font-weight:700}.map-marker:hover .marker-tooltip,.map-marker:focus-within .marker-tooltip{opacity:1;visibility:visible}@media print{.marker-tooltip{display:none!important}}
