*{box-sizing:border-box} :root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#213a49;background:#f5f7f6;font-synthesis:none}body{margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #e0a851;outline-offset:3px}input:focus,textarea:focus{outline:none}input:focus-visible,textarea:focus-visible{box-shadow:inset 0 -2px #3e788b}a{color:inherit}.shell{max-width:1184px;margin:auto;padding:0 38px}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe5e5}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:23px;font-weight:700;letter-spacing:2px}.logo{display:grid;place-items:center;background:#dbe9e9;color:#477c86;width:38px;height:38px;border-radius:12px;font-size:26px}.brand-sub{font-size:12px;color:#778993;letter-spacing:1px;border-left:1px solid #cad5d9;padding-left:13px;margin-left:3px;font-weight:400}.live{font-size:12px;color:#819098;display:flex;align-items:center;gap:8px}.live i{width:5px;height:5px;border-radius:100%;background:#74a69b}main{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);gap:42px;padding:40px 0 48px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#739098;font-weight:600;margin:0 0 18px}.intro h1{font-size:42px;line-height:1.35;font-weight:500;letter-spacing:-1px;margin:0}.intro>p:last-child{font-size:14px;color:#839099;margin:18px 0 27px}.search{display:flex;align-items:center;gap:10px;background:white;border:1px solid #dee6e8;border-radius:15px;padding:7px 8px 7px 17px;box-shadow:0 5px 18px #233e4910}.search>span{font-size:27px;color:#8a9ba4}.search input{border:0;background:none;min-width:0;width:100%;font-size:13px;color:#213a49;height:36px}.search button{flex-shrink:0;border:0;border-radius:9px;background:#edf2f3;color:#486474;padding:10px 14px;font-size:12px}#locate-btn{background:#e8f1ef;font-size:21px;padding:5px 10px}.status{font-size:12px;color:#6f858e;line-height:1.6;min-height:20px;margin:13px 4px 18px}.status.error{color:#a8513d}.places{display:grid;gap:4px}.places:not(:empty){padding:8px;background:#fff;border:1px solid #e3eaeb;border-radius:12px;margin-top:8px}.places button{background:none;border:0;padding:10px;text-align:left;border-radius:7px;color:#315363}.places button:hover{background:#edf4f3}.weather-card{padding:28px 27px 18px;background:linear-gradient(125deg,#dcebf2,#eaf1f3 65%,#f1ece2);border:1px solid #d4e2e9;border-radius:24px;position:relative;overflow:hidden}.card-top{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:1}.small-label{font-size:10px;letter-spacing:2px;color:#6f8995;margin:0 0 8px}.card-top h2{font-size:23px;font-weight:500;margin:0 0 7px}.muted{color:#718a97;font-size:12px;line-height:1.5;margin:0}.icon-btn{border:1px solid #bacdd755;background:#ffffff55;border-radius:50%;width:32px;height:32px;color:#5f8192;font-size:20px}.current{display:flex;position:relative;justify-content:space-between;align-items:center;min-height:180px}.temperature{font-size:86px;line-height:1.1;font-weight:300;letter-spacing:-5px;margin-top:12px}.degree{font-size:52px;vertical-align:top;line-height:1.35;font-weight:300}.current p{font-size:14px;margin:6px 0}.current .muted{font-size:12px}.sky-art{position:relative;width:178px;height:150px;flex-shrink:0}.sun{position:absolute;top:13px;right:14px;width:85px;height:85px;background:linear-gradient(145deg,#fce4a7,#e9b766);border-radius:50%;box-shadow:0 0 45px #f5dba745}.cloud{position:absolute;width:136px;height:46px;bottom:24px;left:8px;background:linear-gradient(#fff,#e8eff2);border-radius:40px;filter:drop-shadow(0 12px 9px #6c92a41a)}.cloud:before,.cloud:after{content:"";position:absolute;background:#fff;border-radius:50%;width:70px;height:70px;left:18px;bottom:8px}.cloud:after{width:50px;height:50px;left:72px;bottom:8px;background:#f9fcfc}.cloud-back{transform:scale(.6);left:66px;bottom:50px;opacity:.6}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #b9ced766;padding-top:20px;margin-top:16px;gap:8px}.metrics span{display:block;font-size:11px;color:#6e8793;margin-bottom:9px}.metrics strong{font-size:17px;font-weight:500;white-space:nowrap}.data-note{font-size:10px;color:#7f959f;margin:20px 0 0}.panel{background:#fff;border:1px solid #e1e8e8;border-radius:20px}.forecast{padding:23px 22px;margin-top:20px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:21px}.section-title h2{font-size:14px;margin:0;font-weight:600}.section-title>span{font-size:10px;color:#91a0a6}.hourly{display:flex;overflow-x:auto;gap:23px;padding-bottom:7px;scrollbar-width:thin;scrollbar-color:#dce5e8 transparent}.hour{display:grid;justify-items:center;gap:12px;min-width:38px;flex-shrink:0;font-size:12px}.hour>span:first-child{font-size:10px;color:#8799a1}.weather-symbol{font-size:21px}.rain-text{font-size:9px;color:#6e99ad}.day{display:grid;grid-template-columns:60px 27px 38px 1fr 35px;align-items:center;gap:12px;font-size:12px;padding:11px 0;border-bottom:1px solid #f0f3f4}.day:last-child{border:0}.bar{height:5px;border-radius:4px;background:linear-gradient(90deg,#c6dce8,#e9cf9f);min-width:20px}.low{color:#9aabb2;text-align:right}.high{text-align:right}.empty{font-size:12px;color:#95a5ad;margin:10px 0}.assistant-column{padding-top:8px}.assistant{position:sticky;top:24px;overflow:hidden}.assistant-head{padding:24px 24px 21px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #edf0f0}.ai-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#eff4ef;color:#688d79;font-size:26px}.assistant-head h2{font-size:17px;letter-spacing:.4px;margin:0 0 6px;font-weight:500}.assistant-head p{font-size:10px;color:#90a098;margin:0}.badge{margin-left:auto;border:1px solid #dce8e2;border-radius:6px;padding:3px 6px;font-size:9px;color:#7b9687}.messages{height:350px;overflow:auto;padding:25px 22px;display:flex;flex-direction:column;gap:17px;scrollbar-width:thin}.message{max-width:100%;font-size:13px;line-height:1.9}.sender{font-size:10px;color:#91a299;display:block;margin:0 0 9px}.message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.message.bot p{background:#f3f6f3;border:1px solid #e8eee7;padding:15px 17px;border-radius:0 14px 14px 14px;color:#567064}.message.user{align-self:flex-end;max-width:90%}.message.user p{background:#e5eff4;color:#486a7e;border-radius:14px 0 14px 14px;padding:10px 14px}.message.error p{color:#a36350;background:#fbf4ef}.source-line{display:block;font-size:10px;color:#9aa89f;margin:6px 0}.suggestions{display:flex;flex-wrap:wrap;gap:7px;padding:0 20px 20px}.suggestions button{border:1px solid #e3e9e7;background:white;border-radius:20px;font-size:11px;color:#758b7e;padding:8px 10px}.suggestions button:hover{background:#f1f5ef}#chat-form{padding:0 20px 19px}.compose{border:1px solid #d9e3e5;border-radius:13px;background:#fbfcfc;display:flex;gap:8px;padding:13px 11px 11px 14px;align-items:flex-end}.compose textarea{resize:none;width:100%;min-width:0;background:none;border:0;color:#3c5967;font-size:12px;line-height:1.7}.compose textarea::placeholder{color:#a2b0b5}.compose button{border:0;color:#fff;background:#446c80;width:32px;height:32px;flex-shrink:0;border-radius:10px;font-size:22px}.chat-foot{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#9ba8ad;margin-top:11px;gap:6px}.quiet-note{display:flex;gap:13px;color:#97a49e;font-size:11px;line-height:1.9;padding:15px 10px}.quiet-note>span{font-size:25px;line-height:2}.quiet-note p{margin:5px 0}footer{border-top:1px solid #e1e7e7;padding:26px 0 34px;display:flex;justify-content:space-between;gap:15px;color:#9aa7ab;font-size:10px;line-height:1.8}footer a{text-underline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:820px){.shell{padding:0 22px}main{gap:24px}.intro h1{font-size:35px}.sky-art{transform:scale(.8);width:140px}.metrics strong{font-size:14px}.assistant-head{padding:21px 18px}.messages{padding:20px 16px}.suggestions{padding:0 15px 16px}#chat-form{padding:0 15px 17px}.weather-card{padding:24px 20px 17px}}@media(max-width:650px){.shell{padding:0 20px}header{height:78px}.brand{font-size:21px}.live{display:none}main{display:block;padding-top:28px}.intro h1{font-size:33px;line-height:1.35}.intro h1 br{display:initial}.intro>p:last-child{margin:13px 0 24px}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:14px}.weather-card{border-radius:23px}.temperature{font-size:82px}.sky-art{transform:none;width:158px}.metrics strong{font-size:16px}.metrics span{font-size:10px}.forecast{padding:21px 18px}.assistant-column{padding-top:24px}.assistant{position:static}.assistant-head{padding:23px}.messages{height:290px;padding:24px 21px}.suggestions{padding:0 20px 18px}#chat-form{padding:0 20px 20px}.compose textarea{font-size:16px}.search input,.quiet-note{padding-bottom:0}footer{flex-direction:column;gap:7px;padding-top:22px}.day{grid-template-columns:54px 27px 35px 1fr 32px;gap:10px}.brand-sub{font-size:11px}}@media(prefers-reduced-motion:no-preference){button{transition:background .2s,opacity .2s}.sun{animation:breathe 6s ease-in-out infinite}@keyframes breathe{50%{transform:translateY(-4px)}}}

.weather-card[data-sky=cloudy] .sun{visibility:hidden}.weather-card[data-sky=night] .sun{background:#eff4dc;box-shadow:inset -15px -3px 0 #d3e4ec,0 0 30px #ffffff30}.high{font-size:11px;white-space:nowrap}
.compose button{width:54px;height:40px;font-size:13px;white-space:nowrap}.chat-city-search{display:flex;gap:8px;margin:12px 0}.chat-city-search input{width:100%;min-width:0;padding:10px;border:1px solid #d9e3e5;border-radius:9px;font-size:16px}.chat-city-search button,.chat-retry{border:1px solid #d9e3e5;background:#edf4f3;border-radius:9px;color:#446c80;padding:8px 12px;font-size:12px;white-space:nowrap}.chat-retry{margin-top:10px}.message .places{font-size:12px}.message .places button{font-size:12px}
