:root{font-family:MiSans,"PingFang SC","Microsoft Yahei",system-ui,sans-serif;color:#fff;font-synthesis:none;--card:rgba(255,255,255,.105);--muted:rgba(255,255,255,.67)}*{box-sizing:border-box}body{margin:0;background:#334e75;min-width:320px}button,input,select{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #a8d4ff;outline-offset:4px}button:disabled{opacity:.5;cursor:wait}img{object-fit:contain}#sky{position:fixed;inset:0;background:linear-gradient(#325379,#628bb3 70%,#7398b8);z-index:-1;overflow:hidden;transition:background 1.3s}#particles{position:absolute;inset:0;width:100%;height:100%}.sky-shade{position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(10,24,44,.18))}.cloud{position:absolute;left:-15%;top:-3%;width:130%;height:65%;background:center top/cover no-repeat;opacity:.7;animation:cloud-drift 65s ease-in-out infinite alternate}.cloud-b{top:10%;left:-35%;width:160%;opacity:.25;animation-duration:100s;transform:scaleX(-1)}@keyframes cloud-drift{to{translate:8% 3%}}#sun{position:absolute;right:20%;top:12%;width:95px;height:95px;border-radius:50%;background:#fff7da;box-shadow:0 0 100px 55px #fff2b532;filter:blur(2px)}#moon{display:none;position:absolute;right:23%;top:12%;width:45px;height:45px;border-radius:50%;background:#f6f4df;box-shadow:0 0 60px #d9e4ff50}#app{max-width:1100px;margin:auto;padding:35px 40px 24px}header{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;height:65px}#city-title{text-align:center;font-size:25px;font-weight:500}.city-sub{display:block;font-size:12px;opacity:.6;margin-top:5px;font-weight:400}.icon-button{width:42px;height:42px;display:grid;place-items:center;font-size:29px;border-radius:50%}.icon-button:hover{background:#ffffff18}.icon-button img{width:27px;height:27px;filter:brightness(0) invert(1)}.dots{text-align:center;height:16px;display:flex;justify-content:center;gap:6px}.dots button{padding:0;width:4px;height:4px;border-radius:50%;background:#ffffff60}.dots button.active{background:#fff}.hero{text-align:center;padding-top:36px}.temperature{font-size:142px;line-height:1.1;font-weight:200;letter-spacing:-8px;position:relative;display:inline-block}.temperature sup{position:absolute;font-size:65px;top:13px;line-height:1;font-weight:200;margin-left:6px}#condition{font-size:25px;font-weight:400;margin-top:8px}.high-low{margin-top:12px;color:#ffffffe0;font-size:16px}.aqi-chip{font-size:12px;border-radius:20px;background:#ffffff20;padding:7px 14px;margin-top:18px}.hero-spacer{height:87px}.hero-bottom{display:flex;text-align:left;justify-content:space-between;align-items:center;margin-bottom:23px;font-size:17px}.hero-bottom small{display:block;font-size:11px;color:var(--muted);margin-top:7px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{background:var(--card);border-radius:24px;padding:24px;backdrop-filter:blur(18px);min-width:0;border:1px solid #ffffff08}h2{font-size:15px;font-weight:500;margin:0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.section-heading button{font-size:13px;color:var(--muted)}.section-heading span{font-size:22px;margin-left:6px}.daily-row{display:grid;grid-template-columns:70px 32px 1fr auto;align-items:center;gap:12px;padding:12px 0;font-size:14px}.daily-row img{width:29px;height:29px}.daily-row .muted{font-size:12px}.daily-row .range{white-space:nowrap;font-size:17px}.daily-row .range span{color:var(--muted);margin-left:18px}.wide-link{width:100%;border-radius:13px;background:#ffffff12;padding:11px;margin-top:16px;font-size:13px}.wide-link span{float:right}.hourly{display:flex;gap:24px;overflow-x:auto;padding-bottom:14px;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent}.hour{min-width:39px;text-align:center;font-size:13px}.hour small{white-space:nowrap;font-size:11px;color:var(--muted)}.hour img{width:28px;height:28px;margin:24px 0 12px}.hour b{display:block;font-weight:400;font-size:20px}.hour .wind-small{display:block;margin-top:29px}.card-link{padding:0;display:flex;width:100%;justify-content:space-between;align-items:center;font-size:15px}.card-link span:first-child{display:flex;align-items:center;gap:8px}.card-link img{width:22px;height:22px}#rain-text{font-size:18px;margin-top:25px}.rain-line{display:flex;justify-content:space-between;border-top:1px dashed #ffffff55;padding-top:12px;margin-top:55px;font-size:11px;color:var(--muted)}.air-overview{display:flex;justify-content:space-between;align-items:center;margin:15px 0 26px}.air-overview strong{font-size:45px;font-weight:300;margin-right:13px}.air-overview span{font-size:14px}.air-overview img{width:45px;height:45px;opacity:.7}.aqi-scale{height:4px;border-radius:4px;background:linear-gradient(90deg,#a8da90 0 16%,#ead777 16% 32%,#eea471 32% 49%,#ee7d7c 49% 66%,#b77d9e 66% 83%,#a06684 83%);position:relative}#aqi-marker{display:none;position:absolute;top:-4px;width:3px;height:12px;background:white;box-shadow:0 0 0 2px #4d7091;border-radius:3px}.scale-labels{display:flex;justify-content:space-between;margin-top:10px;font-size:10px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 14px;grid-column:1/-1}.metrics>div{position:relative;min-height:100px}.metrics span,.metrics small{display:block;font-size:12px;color:var(--muted)}.metrics strong{display:block;font-size:28px;font-weight:400;margin:10px 0 4px}.metrics img{width:30px;height:30px;position:absolute;bottom:4px;right:10px;opacity:.7}.sun-arc{height:80px;max-width:260px;margin:32px auto 0;border:1px dashed #ffffff65;border-radius:160px 160px 0 0;border-bottom:0;position:relative}.sun-arc div{position:absolute;top:-17px;left:calc(50% - 15px);color:#ffe6b9;font-size:28px}.sun-times{display:flex;justify-content:space-between;border-top:1px solid #ffffff35;padding-top:12px}.sun-times small,.sun-times b{display:block;font-weight:400;font-size:12px}.sun-times b{font-size:17px;margin-top:5px}#alerts{font-size:14px;line-height:1.8;color:var(--muted)}footer{text-align:center;font-size:11px;color:var(--muted);padding:28px 0 0}footer button{display:block;margin:9px auto;font-size:11px;text-decoration:underline}.notice{padding:15px 18px;border-radius:16px;background:#19365285;font-size:12px;line-height:1.8;margin-bottom:18px}.notice button{background:#ffffff20;border-radius:8px;margin:10px 8px 0 0;padding:7px 11px}.muted{color:var(--muted)}dialog{border:0;padding:0;background:#f5f6f8;color:#222;border-radius:27px;width:min(580px,calc(100% - 24px));max-height:90dvh;box-shadow:0 20px 80px #0004}dialog::backdrop{background:#10213e66;backdrop-filter:blur(8px)}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:20px 18px;position:sticky;top:0;background:#f5f6f8;z-index:2}.sheet-header h2{font-size:19px}.sheet-header button{font-size:30px;line-height:30px;width:34px}#sheet-content{padding:0 24px 28px;line-height:1.7}#sheet-content .muted{color:#7c8189}#sheet-content .daily-row{grid-template-columns:75px 30px 1fr auto;border-bottom:1px solid #e7e8ed;font-size:13px}#sheet-content .range span{color:#9095a0;margin-left:10px}#sheet-content input,#sheet-content select{background:#fff;border:1px solid #e7e8eb;border-radius:12px;padding:12px;width:100%;color:#222}#sheet-content label{font-size:14px;display:block;margin:18px 0 8px}.setting-row{background:white;padding:17px;border-radius:15px;margin:10px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.setting-row select{width:auto!important;max-width:190px}.primary{background:#3478f6!important;color:white!important;border-radius:12px;padding:12px 20px}.secondary{background:#e6eaf0;border-radius:12px;padding:11px 16px;color:#345;display:inline-block}.city-card{display:flex;align-items:center;gap:10px;background:linear-gradient(120deg,#6081a2,#91adc6);color:white;border-radius:19px;margin:13px 0;padding:16px}.city-card>button:first-child{text-align:left;flex:1}.city-card strong{display:block;font-size:20px;font-weight:500}.city-card small{opacity:.75}.city-card .remove{font-size:23px}.search-results button{padding:12px 0;border-bottom:1px solid #ddd;display:block;text-align:left;width:100%}.chips{display:flex;flex-wrap:wrap;gap:10px}.chips button{background:white;border-radius:11px;padding:10px 16px}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.weather-option{border-radius:16px;padding:15px 4px;background:white}.weather-option img{display:block;margin:0 auto 8px;width:42px;height:42px}.detail-big{font-size:65px;font-weight:250;text-align:center;padding:20px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-grid div{background:white;border-radius:15px;padding:16px}.detail-grid b{display:block;font-size:25px;font-weight:400}.detail-grid small{color:#888}.chart{width:100%;height:160px;overflow:visible}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table td,.data-table th{text-align:left;padding:10px 5px;border-bottom:1px solid #ddd}.empty{color:var(--muted);padding:26px 0;text-align:center;font-size:14px}#sheet-content .empty{color:#89919c}#toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);max-width:85vw;background:#172332e8;color:white;font-size:13px;padding:12px 22px;border-radius:12px;z-index:10;display:none}#preview-label{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);white-space:nowrap;z-index:5;background:#172332df;padding:10px 16px;font-size:12px;border-radius:30px}#preview-label button{text-decoration:underline;margin-left:8px}@media(min-width:760px){.hero{padding-top:20px}.hero-spacer{height:55px}.temperature{font-size:160px}.hero-bottom{margin-top:5px}.forecast-card{grid-row:span 1}}@media(max-width:759px){#app{max-width:540px;padding:calc(16px + env(safe-area-inset-top)) 22px 24px}header{height:60px}#city-title{font-size:22px}.cards{grid-template-columns:1fr;gap:16px}.card{padding:22px;border-radius:24px}.hero{padding-top:36px}.hero-spacer{height:105px}.hero-bottom{font-size:15px}.temperature{font-size:128px}.temperature sup{font-size:57px;top:12px}.metrics{grid-template-columns:1fr 1fr;gap:26px}.metrics>div:nth-child(odd){border-right:1px solid #ffffff18}.metrics strong{font-size:30px}.metrics>div{padding-left:3px}.daily-row{grid-template-columns:63px 30px 1fr auto;gap:10px}.cloud{width:200%;left:-50%;height:55%}#sun{right:19%;top:18%;width:65px;height:65px}#moon{right:20%;top:17%}.hero-bottom small{font-size:10px}dialog{max-height:92dvh}.hourly{gap:25px}.city-sub{font-size:11px}}@media(prefers-reduced-motion:reduce){.cloud{animation:none}*{scroll-behavior:auto!important}}
