:root{--bg-color: #080c14;--widget-bg-rgb: 13, 19, 33;--widget-border-rgb: 255, 255, 255;--widget-shadow: 0 16px 36px rgba(0, 0, 0, .55), 0 1px 0 rgba(255, 255, 255, .08) inset;--modal-bg: rgba(15, 23, 42, .96);--modal-card-bg: rgba(255, 255, 255, .04);--modal-card-border: rgba(255, 255, 255, .08);--text-main: #f8fafc;--text-sub: #94a3b8;--text-muted: #64748b;--accent-color: #38bdf8;--accent-hover: #0ea5e9;--accent-glow: rgba(56, 189, 248, .3);--btn-bg: rgba(255, 255, 255, .08);--btn-hover: rgba(255, 255, 255, .16);--btn-active: rgba(255, 255, 255, .25);--input-bg: rgba(15, 23, 42, .8);--input-border: rgba(255, 255, 255, .18);--status-dot-active: #10b981;--status-dot-loading: #f59e0b;--status-dot-error: #ef4444;--font-mono: "JetBrains Mono", monospace;--font-sans: "Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-clock-main: "JetBrains Mono";--font-clock-ja: "Noto Sans JP";--time-size: 5rem;--date-size: 1.5rem;--clock-opacity: .5;--clock-text-main: var(--text-main);--clock-text-sub: var(--text-sub);--clock-shadow-color: rgba(255, 255, 255, .4);--clock-text-shadow: 0 0 .1em var(--clock-shadow-color);--ui-accent: #38bdf8}[data-theme=dark]{--bg-color: #0e1524;--widget-bg-rgb: 13, 19, 33;--widget-border-rgb: 255, 255, 255;--widget-shadow: 0 16px 36px rgba(0, 0, 0, .55), 0 1px 0 rgba(255, 255, 255, .08) inset;--modal-bg: rgba(15, 23, 42, .96);--modal-card-bg: rgba(255, 255, 255, .04);--modal-card-border: rgba(255, 255, 255, .08);--text-main: #f8fafc;--text-sub: #94a3b8;--text-muted: #64748b;--accent-color: #38bdf8;--accent-hover: #0ea5e9;--accent-glow: rgba(56, 189, 248, .3);--btn-bg: rgba(255, 255, 255, .08);--btn-hover: rgba(255, 255, 255, .16);--btn-active: rgba(255, 255, 255, .25);--input-bg: rgba(15, 23, 42, .8);--input-border: rgba(255, 255, 255, .18);--clock-text-main: #f8fafc;--clock-text-sub: #94a3b8;--clock-shadow-color: rgba(255, 255, 255, .4);--ui-accent: #38bdf8}[data-resolved-theme=dark-red]{--bg-color: #14070a;--widget-bg-rgb: 28, 12, 16;--clock-text-main: #ffe4e6;--clock-text-sub: #bd8383;--accent-color: #fb7185;--accent-hover: #f43f5e;--accent-glow: rgba(251, 113, 133, .3)}[data-resolved-theme=dark-green]{--bg-color: #06140b;--widget-bg-rgb: 10, 26, 17;--clock-text-main: #d1fae5;--clock-text-sub: #76b89d;--accent-color: #34d399;--accent-hover: #10b981;--accent-glow: rgba(52, 211, 153, .3)}[data-resolved-theme=dark-blue]{--bg-color: #060e1c;--widget-bg-rgb: 10, 20, 38;--clock-text-main: #d0ecff;--clock-text-sub: #81aabe;--accent-color: #38bdf8;--accent-hover: #0ea5e9;--accent-glow: rgba(56, 189, 248, .3)}[data-resolved-theme=dark-geo1]{--bg-color: #0e1524;--widget-bg-rgb: 12, 28, 42;--clock-text-main: #c7e2ff;--clock-text-sub: #7ec1b1;--accent-color: #2dd4bf;--accent-hover: #14b8a6;--accent-glow: rgba(45, 212, 191, .3)}[data-resolved-theme=dark-geo2]{--bg-color: #0a1c2b;--widget-bg-rgb: 12, 26, 32;--clock-text-main: #c2ffe6;--clock-text-sub: #77a4b7;--accent-color: #38bdf8;--accent-hover: #0ea5e9;--accent-glow: rgba(56, 189, 248, .3)}[data-theme=light]{--bg-color: #dbeafe;--widget-bg-rgb: 255, 255, 255;--widget-border-rgb: 0, 0, 0;--widget-shadow: 0 16px 36px rgba(100, 116, 139, .18), 0 1px 0 rgba(255, 255, 255, .8) inset;--modal-bg: rgba(255, 255, 255, .97);--modal-card-bg: rgba(0, 0, 0, .03);--modal-card-border: rgba(0, 0, 0, .07);--text-main: #0f172a;--text-sub: #475569;--text-muted: #94a3b8;--accent-color: #0284c7;--accent-hover: #0369a1;--accent-glow: rgba(2, 132, 199, .25);--btn-bg: rgba(0, 0, 0, .05);--btn-hover: rgba(0, 0, 0, .1);--btn-active: rgba(0, 0, 0, .18);--input-bg: rgba(255, 255, 255, .9);--input-border: rgba(0, 0, 0, .18);--status-dot-active: #059669;--status-dot-loading: #d97706;--status-dot-error: #dc2626;--clock-text-main: #0f172a;--clock-text-sub: #475569;--clock-shadow-color: rgba(0, 0, 0, .4);--ui-accent: #0284c7}[data-resolved-theme=light-red]{--bg-color: #ffe4e6;--widget-bg-rgb: 255, 250, 250;--clock-text-main: #421321;--clock-text-sub: #863f53;--accent-color: #e11d48;--accent-hover: #be123c;--accent-glow: rgba(225, 29, 72, .25)}[data-resolved-theme=light-green]{--bg-color: #d1fae5;--widget-bg-rgb: 250, 255, 251;--clock-text-main: #063327;--clock-text-sub: #2a564a;--accent-color: #059669;--accent-hover: #047857;--accent-glow: rgba(5, 150, 105, .25)}[data-resolved-theme=light-blue]{--bg-color: #e0f2fe;--widget-bg-rgb: 248, 252, 255;--clock-text-main: #133548;--clock-text-sub: #39596a;--accent-color: #0284c7;--accent-hover: #0369a1;--accent-glow: rgba(2, 132, 199, .25)}[data-resolved-theme=light-geo1]{--bg-color: #dbeafe;--widget-bg-rgb: 250, 254, 253;--clock-text-main: #233348;--clock-text-sub: #33615e;--accent-color: #0d9488;--accent-hover: #0f766e;--accent-glow: rgba(13, 148, 136, .25)}[data-resolved-theme=light-geo2]{--bg-color: #bfdbfe;--widget-bg-rgb: 255, 255, 255;--clock-text-main: #1d403c;--clock-text-sub: #37506e;--accent-color: #0284c7;--accent-hover: #0369a1;--accent-glow: rgba(2, 132, 199, .25)}.hillshade-tile{pointer-events:none}.hillshade-tile .leaflet-tile{pointer-events:none;transition:filter .3s ease,opacity .3s ease}.leaflet-radarPane-pane .leaflet-tile,.radar-tile .leaflet-tile{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated}.leaflet-pane>canvas,canvas.leaflet-zoom-animated,.leaflet-zoom-animated{-webkit-transform-origin:0 0!important;-moz-transform-origin:0 0!important;-ms-transform-origin:0 0!important;transform-origin:0 0!important}.custom-vector-canvas{will-change:transform}[data-theme=light] .hillshade-tile .leaflet-tile{mix-blend-mode:multiply;opacity:.5!important;filter:contrast(1.18) brightness(.96)}[data-resolved-theme=light-red] .hillshade-tile .leaflet-tile{mix-blend-mode:multiply;opacity:.4!important;filter:contrast(1.15) brightness(.98) sepia(.2) hue-rotate(310deg)}[data-resolved-theme=light-green] .hillshade-tile .leaflet-tile{mix-blend-mode:multiply;opacity:.4!important;filter:contrast(1.15) brightness(.98) sepia(.2) hue-rotate(85deg)}[data-resolved-theme=light-blue] .hillshade-tile .leaflet-tile{mix-blend-mode:multiply;opacity:.4!important;filter:contrast(1.15) brightness(.98) sepia(.2) hue-rotate(185deg)}[data-resolved-theme=light-geo1] .hillshade-tile .leaflet-tile,[data-resolved-theme=light-geo2] .hillshade-tile .leaflet-tile{mix-blend-mode:multiply;opacity:.5!important;filter:contrast(1.22) brightness(.94)}[data-theme=dark] .hillshade-tile .leaflet-tile{mix-blend-mode:screen;opacity:.4!important;filter:invert(1) contrast(1.45) brightness(.65)}[data-resolved-theme=dark-red] .hillshade-tile .leaflet-tile{mix-blend-mode:screen;opacity:.38!important;filter:invert(1) contrast(1.45) brightness(.65) sepia(.6) hue-rotate(310deg)}[data-resolved-theme=dark-green] .hillshade-tile .leaflet-tile{mix-blend-mode:screen;opacity:.38!important;filter:invert(1) contrast(1.45) brightness(.65) sepia(.6) hue-rotate(85deg)}[data-resolved-theme=dark-blue] .hillshade-tile .leaflet-tile{mix-blend-mode:screen;opacity:.38!important;filter:invert(1) contrast(1.45) brightness(.65) sepia(.6) hue-rotate(190deg)}[data-resolved-theme=dark-geo1] .hillshade-tile .leaflet-tile,[data-resolved-theme=dark-geo2] .hillshade-tile .leaflet-tile{mix-blend-mode:screen;opacity:.42!important;filter:invert(1) contrast(1.45) brightness(.7)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{width:100%;height:100%;overflow:hidden;background:var(--bg-color);font-family:var(--font-sans);transition:background-color .3s ease;color:var(--text-main)}#map{width:100%;height:100%;position:absolute;top:0;left:0;z-index:1;background:var(--bg-color)}.clock-widget{position:absolute;z-index:100;background:rgba(var(--widget-bg-rgb),var(--clock-opacity));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(var(--widget-border-rgb),.15);box-shadow:var(--widget-shadow);border-radius:20px;padding:16px 28px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;user-select:none;pointer-events:auto;box-sizing:border-box;max-width:calc(100vw - 48px);transition:min-width .15s ease-out}.clock-widget[data-pos=top-left]{top:24px;left:24px}.clock-widget[data-pos=top-center]{top:24px;left:50%;transform:translate(-50%)}.clock-widget[data-pos=top-right]{top:24px;right:24px}.clock-widget[data-pos=middle-left]{top:50%;left:24px;transform:translateY(-50%)}.clock-widget[data-pos=center]{top:50%;left:50%;transform:translate(-50%,-50%)}.clock-widget[data-pos=middle-right]{top:50%;right:24px;transform:translateY(-50%)}.clock-widget[data-pos=bottom-left]{bottom:24px;left:24px}.clock-widget[data-pos=bottom-center]{bottom:24px;left:50%;transform:translate(-50%)}.clock-widget[data-pos=bottom-right]{bottom:24px;right:24px}.time-display{font-family:var(--font-clock-main),var(--font-clock-ja),monospace,sans-serif;font-size:var(--time-size);font-weight:700;letter-spacing:.02em;line-height:1;display:inline-flex;align-items:baseline;justify-content:center;color:var(--clock-text-main);text-shadow:var(--clock-text-shadow);white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.time-ampm{font-size:calc(var(--time-size) * .35);font-weight:600;color:var(--clock-text-sub);margin-right:.3em;letter-spacing:.02em;display:none}.time-ampm.visible{display:inline}.time-sec{font-size:calc(var(--time-size) * var(--sec-scale, .45));font-weight:var(--sec-weight, 500);color:var(--sec-color, var(--clock-text-sub));margin-left:var(--sec-margin-left, 0);letter-spacing:.02em;white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.date-display{font-family:var(--font-clock-main),var(--font-clock-ja),sans-serif;font-size:var(--date-size);font-weight:500;color:var(--clock-text-sub);text-shadow:var(--clock-text-shadow);margin-top:4px;letter-spacing:.03em;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.solar-display{font-family:var(--font-clock-main),var(--font-clock-ja),sans-serif;font-size:var(--solar-size, 1rem);font-weight:500;color:var(--clock-text-sub);text-shadow:var(--clock-text-shadow);margin-top:3px;letter-spacing:.03em;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.clock-status-row{display:flex;align-items:center;justify-content:center;width:100%;margin-top:8px}.status-badge-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}.status-badge{display:flex;align-items:center;gap:7px;margin-top:0;padding:3px 10px;border-radius:9999px;background:#00000073;border:1px solid rgba(var(--widget-border-rgb),.14);font-size:.72rem;font-weight:500;color:var(--text-muted);letter-spacing:.02em}[data-theme=light] .status-badge{background:#00000014;border:1px solid rgba(0,0,0,.12)}.nowcast-link{color:inherit;text-decoration:none;cursor:pointer;transition:color .15s ease,opacity .15s ease}.nowcast-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;color:var(--text-main)}.status-indicator{width:7px;height:7px;border-radius:50%;background-color:var(--status-dot-active);box-shadow:0 0 8px var(--status-dot-active);transition:all .3s ease;flex-shrink:0}.status-indicator.loading{background-color:var(--status-dot-loading);box-shadow:0 0 8px var(--status-dot-loading);animation:pulse 1.5s infinite}.status-indicator.error{background-color:var(--status-dot-error);box-shadow:0 0 8px var(--status-dot-error)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.btn-icon-inline{background:none;border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border-radius:4px;outline:none;transition:color .2s ease}.btn-icon-inline:hover{color:var(--accent-color)}.btn-icon-inline:active{transform:scale(.92)}.btn-icon-inline svg{width:13px;height:13px;fill:currentColor;display:block;transform-origin:center center;will-change:transform;backface-visibility:hidden;transition:transform .35s cubic-bezier(.4,0,.2,1)}.btn-icon-inline:hover svg{transform:rotate(180deg)}.clock-btn-settings{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border-radius:50%;outline:none;transition:color .2s ease;flex-shrink:0}.clock-btn-settings:hover{color:var(--accent-color)}.clock-btn-settings:active{transform:translateY(-50%) scale(.92)}.clock-btn-settings svg{width:16px;height:16px;fill:currentColor;display:block;transform-origin:center center;will-change:transform;backface-visibility:hidden;transition:transform .35s cubic-bezier(.4,0,.2,1)}.clock-btn-settings:hover svg{transform:rotate(45deg)}.clock-btn-settings.opt-gold,#btn-settings.opt-gold{color:#f59e0b}.clock-btn-settings.opt-gold:hover,#btn-settings.opt-gold:hover{color:#fbbf24}.legend-widget{position:absolute;bottom:20px;right:20px;z-index:90;width:215px;background:rgba(var(--widget-bg-rgb),.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(var(--widget-border-rgb),.15);border-radius:10px;padding:6px 10px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--widget-shadow);pointer-events:auto;user-select:none}body[data-clock-pos=bottom-right] .legend-widget{right:auto;left:20px}.legend-title{font-size:.68rem;font-weight:600;color:var(--text-sub);display:flex;justify-content:space-between;align-items:center}.legend-unit{font-size:.62rem;color:var(--text-muted)}.legend-bar-container{display:flex;flex-direction:column;gap:3px}.legend-bar{display:flex;height:7px;border-radius:3px;overflow:hidden;border:1px solid rgba(var(--widget-border-rgb),.22);box-shadow:0 0 0 .5px rgba(var(--widget-border-rgb),.08)}.legend-seg{flex:1;height:100%}.legend-labels{position:relative;width:100%;height:12px;font-size:.6rem;font-family:var(--font-mono);color:var(--text-muted)}.legend-labels span{position:absolute;transform:translate(-50%);top:0;white-space:nowrap}.c-0{background-color:#f2f2ff}.c-1{background-color:#a0d2ff}.c-5{background-color:#218cff}.c-10{background-color:#0041ff}.c-20{background-color:#faf500}.c-30{background-color:#f90}.c-50{background-color:#ff2800}.c-80{background-color:#b40068}.settings-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease;padding:16px}.settings-backdrop.open{opacity:1;pointer-events:auto}.settings-modal{width:100%;max-width:580px;max-height:90vh;background:var(--modal-bg);border:1px solid var(--modal-card-border);border-radius:24px;box-shadow:0 24px 60px #0009,0 1px #ffffff1a inset;display:flex;flex-direction:column;overflow:hidden;transform:scale(.95);transition:transform .25s cubic-bezier(.16,1,.3,1)}.settings-backdrop.open .settings-modal{transform:scale(1)}.modal-header{padding:20px 24px;border-bottom:1px solid var(--modal-card-border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.15rem;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:10px}.btn-close{width:32px;height:32px;border-radius:8px;background:var(--btn-bg);border:none;color:var(--text-sub);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.btn-close:hover{background:var(--btn-hover);color:var(--text-main)}.btn-close svg{width:18px;height:18px;fill:currentColor}.modal-body{padding:20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.setting-section{background:var(--modal-card-bg);border:1px solid var(--modal-card-border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:14px}.section-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-main);display:flex;align-items:center;gap:8px}.setting-item{display:flex;align-items:center;justify-content:space-between;gap:16px}.setting-label-group{display:flex;flex-direction:column;gap:2px}.setting-label{font-size:.88rem;font-weight:500;color:var(--text-main)}.setting-desc{font-size:.75rem;color:var(--text-muted)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--btn-bg);border:1px solid var(--input-border);transition:.25s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.25s;border-radius:50%;box-shadow:0 2px 4px #0000004d}input:checked+.toggle-slider{background-color:var(--accent-color);border-color:var(--accent-color)}input:checked+.toggle-slider:before{transform:translate(20px)}.pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:110px}.pos-btn{aspect-ratio:1;background:var(--btn-bg);border:1px solid var(--input-border);border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0}.pos-btn:hover{background:var(--btn-hover);border-color:var(--accent-color)}.pos-btn.active{background:var(--accent-color);border-color:var(--accent-color)}.pos-btn-dot{width:6px;height:6px;border-radius:50%;background:#fff6}.pos-btn.active .pos-btn-dot{background:#fff}.theme-mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%}.theme-mode-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 4px;border-radius:10px;background:var(--btn-bg);border:1px solid var(--input-border);color:var(--text-sub);cursor:pointer;font-size:.78rem;font-weight:500;transition:all .2s}.theme-mode-btn:hover{background:var(--btn-hover);color:var(--text-main)}.theme-mode-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.theme-mode-btn .theme-icon{font-size:1.1rem}.color-theme-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;width:100%}.color-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 2px;border-radius:8px;background:var(--btn-bg);border:2px solid var(--input-border);color:var(--text-sub);cursor:pointer;font-size:.72rem;font-weight:500;transition:all .2s}.color-btn:hover{background:var(--btn-hover);color:var(--text-main)}.color-btn.active{border-color:var(--accent-color);background:rgba(var(--widget-border-rgb),.12);color:var(--text-main);font-weight:700}.color-btn:disabled{cursor:not-allowed;pointer-events:none}.setting-item.disabled{opacity:.35;filter:grayscale(.5);pointer-events:none;user-select:none;transition:opacity .25s ease,filter .25s ease}.color-chip{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.25);flex-shrink:0;box-sizing:border-box}.theme-status-banner{background:rgba(var(--widget-border-rgb),.05);border:1px dashed var(--input-border);border-radius:10px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;font-size:.76rem;color:var(--text-sub)}.theme-status-text{font-weight:600;color:var(--text-main)}.slider-container{display:flex;align-items:center;gap:10px;width:175px;flex-shrink:0}.range-input{-webkit-appearance:none;appearance:none;flex:1;height:20px;background:transparent;outline:none;cursor:pointer;min-width:0;margin:0;padding:0}.range-input::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--accent-color) 0%,var(--accent-color) var(--progress, 0%),var(--input-border) var(--progress, 0%),var(--input-border) 100%);transition:background .15s ease}.range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-color);border:2px solid #ffffff;margin-top:-5px;box-shadow:0 0 6px var(--accent-glow),0 0 2px #0006;transition:transform .15s ease,box-shadow .15s ease;cursor:pointer}.range-input:hover::-webkit-slider-thumb,.range-input:active::-webkit-slider-thumb{box-shadow:0 0 10px var(--accent-glow),0 0 3px #00000080}.range-input::-moz-range-track{height:6px;border-radius:3px;background:var(--input-border);transition:background .15s ease}.range-input::-moz-range-progress{height:6px;border-radius:3px;background:var(--accent-color);transition:background .15s ease}.range-input::-moz-range-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-color);border:2px solid #ffffff;box-shadow:0 0 6px var(--accent-glow),0 0 2px #0006;transition:transform .15s ease,box-shadow .15s ease;cursor:pointer}.range-input:hover::-moz-range-thumb,.range-input:active::-moz-range-thumb{box-shadow:0 0 10px var(--accent-glow),0 0 3px #00000080}.range-value{font-family:var(--font-mono);font-size:.8rem;color:var(--text-sub);min-width:48px;text-align:right;flex-shrink:0}.slider-container.disabled{opacity:.4;pointer-events:none}.range-input:disabled{cursor:not-allowed;opacity:.4}.location-controls-row{display:flex;align-items:flex-end;gap:10px;width:100%}.geo-btn-group{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.location-divider{width:1px;height:33px;background:var(--input-border);flex-shrink:0;opacity:.6}.location-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1;min-width:0}.select-wrapper{display:flex;flex-direction:column;gap:4px;min-width:0}.select-label{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.btn-geo-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 14px;height:33px;box-sizing:border-box;background:var(--btn-bg);color:var(--text-main);border:1px solid var(--input-border);border-radius:8px;font-size:.82rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease}.btn-geo-action:hover{background:var(--btn-hover);border-color:var(--accent-color);color:var(--accent-color)}.btn-geo-action:active{transform:scale(.98)}.custom-select{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-main);font-size:.85rem;padding:6px 12px;height:33px;box-sizing:border-box;border-radius:8px;outline:none;cursor:pointer;max-width:220px;transition:border-color .2s ease}.custom-select:focus{border-color:var(--accent-color)}.custom-select:disabled{opacity:.5;cursor:not-allowed}.custom-select option{background:var(--modal-bg);color:var(--text-main)}.location-select-grid .custom-select{max-width:100%;width:100%}.coord-details{width:100%;margin-top:4px;font-size:.8rem}.advanced-details{width:100%}.advanced-summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;list-style:none}.advanced-summary::-webkit-details-marker{display:none}.advanced-summary-title{font-size:.82rem;font-weight:700;letter-spacing:.06em;color:var(--text-main);display:flex;align-items:center;gap:8px}.advanced-summary-arrow{font-size:.7rem;color:var(--text-muted);transition:transform .2s ease}.advanced-details[open] .advanced-summary-arrow{transform:rotate(180deg)}.advanced-content{margin-top:14px;display:flex;flex-direction:column;gap:14px}.coord-summary{color:var(--text-muted);cursor:pointer;user-select:none;font-size:.75rem;transition:color .2s ease}.coord-summary:hover{color:var(--accent-color)}.coord-input-row{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.coord-field{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.8rem}.coord-input{width:115px;padding:6px 8px;background:var(--input-bg);color:var(--text-main);border:1px solid var(--input-border);border-radius:6px;font-size:.82rem;font-family:var(--font-mono, monospace);box-sizing:border-box}.coord-input:focus{border-color:var(--accent-color);outline:none}.btn-coord-apply{padding:5px 12px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:opacity .2s ease}.btn-coord-apply:hover{opacity:.9}.modal-action-row{display:flex;gap:10px;width:100%;margin-top:8px}.btn-primary,.btn-secondary{flex:1;padding:10px 16px;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.btn-primary{background:var(--accent-color);border:1px solid var(--accent-color);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--btn-bg);border:1px solid var(--input-border);color:var(--text-main)}.btn-secondary:hover{background:var(--btn-hover)}.modal-footer{padding:16px 24px;border-top:1px solid var(--modal-card-border);display:flex;align-items:center;justify-content:flex-end}.modal-credits{background:rgba(var(--widget-border-rgb),.03);border:1px solid var(--modal-card-border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:var(--text-muted);line-height:1.4}.modal-credits-title{font-weight:600;color:var(--text-sub);margin-bottom:2px}.storage-status-card{background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.storage-info-row{display:flex;align-items:center;justify-content:space-between;font-size:.8rem}.storage-info-label{color:var(--text-muted);font-weight:500}.storage-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:9999px;font-size:.75rem;font-weight:600;background:#94a3b826;color:var(--text-sub);border:1px solid rgba(148,163,184,.25)}.storage-badge.active{background:#10b98126;color:#34d399;border-color:#10b98159}.storage-badge.offline{background:#f59e0b26;color:#fbbf24;border-color:#f59e0b59}.storage-usage-text{font-family:var(--font-mono, monospace);font-size:.82rem;font-weight:600;color:var(--text-main)}.btn-danger-action{color:#f87171}.btn-danger-action:hover{border-color:#f8717166;background:#ef44441a}.pwa-install-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px dashed var(--input-border);border-bottom:1px dashed var(--input-border);margin-top:4px}.btn-pwa-install{padding:8px 16px;background:linear-gradient(135deg,#0284c7,#2563eb);color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 12px #2563eb4d;transition:all .2s ease;white-space:nowrap}.btn-pwa-install:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2563eb73;opacity:.95}.pwa-update-bar{position:fixed;top:16px;left:50%;transform:translate(-50%) translateY(-100px);background:#0f172af2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(56,189,248,.5);box-shadow:0 12px 32px #000000b3,0 0 24px #38bdf840;color:#f8fafc;padding:10px 18px;border-radius:12px;z-index:3100;display:flex;align-items:center;gap:16px;opacity:0;transition:all .35s cubic-bezier(.16,1,.3,1);max-width:calc(100vw - 32px)}.pwa-update-bar.show{transform:translate(-50%) translateY(0);opacity:1}.pwa-update-info{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:500;white-space:nowrap}.pwa-update-actions{display:flex;align-items:center;gap:8px}.btn-pwa-reload{padding:6px 14px;background:#38bdf8;color:#0f172a;border:none;border-radius:6px;font-size:.8rem;font-weight:700;cursor:pointer;transition:opacity .2s ease;white-space:nowrap}.btn-pwa-reload:hover{opacity:.9}.btn-pwa-dismiss{background:transparent;border:none;color:#94a3b8;font-size:1rem;cursor:pointer;padding:4px 6px;border-radius:4px;line-height:1;transition:color .2s ease}.btn-pwa-dismiss:hover{color:#f8fafc}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(100px);background:#0f172af2;border:1px solid rgba(56,189,248,.4);color:#f8fafc;padding:10px 20px;border-radius:9999px;font-size:.85rem;font-weight:500;box-shadow:0 10px 30px #0009,0 0 20px #38bdf833;z-index:3000;display:flex;align-items:center;gap:10px;opacity:0;transition:all .3s cubic-bezier(.16,1,.3,1);pointer-events:none}.toast-container.show{transform:translate(-50%) translateY(0);opacity:1}@media(max-width:640px){.clock-widget{padding:12px 20px;border-radius:16px;max-width:calc(100vw - 32px)}.clock-widget[data-pos=top-left],.clock-widget[data-pos=middle-left],.clock-widget[data-pos=bottom-left]{left:16px}.clock-widget[data-pos=top-right],.clock-widget[data-pos=middle-right],.clock-widget[data-pos=bottom-right]{right:16px}.clock-widget[data-pos=top-left],.clock-widget[data-pos=top-center],.clock-widget[data-pos=top-right]{top:16px}.clock-widget[data-pos=bottom-left],.clock-widget[data-pos=bottom-center],.clock-widget[data-pos=bottom-right]{bottom:16px}.time-display{font-size:calc(var(--time-size) * .75)}.date-display{font-size:calc(var(--date-size) * .85)}.solar-display{font-size:calc(var(--solar-size, 1rem) * .85)}.theme-mode-grid{grid-template-columns:repeat(2,1fr)}.color-theme-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:460px){.location-controls-row{flex-direction:column;align-items:stretch;gap:8px}.location-divider{display:none}.btn-geo-action{width:100%}}
