:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}:root{--weather-bg:#252b2e;--weather-panel:#fbfaf7;--weather-panel-muted:#f0f1ed;--weather-ink:#1f2929;--weather-muted:#687272;--weather-accent:#276b65;--weather-accent-dark:#1c4f4a;--weather-border:#d9ded9;--weather-shadow:0 24px 60px #0a121247;color:var(--weather-ink);background:var(--weather-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Avenir Next,Trebuchet MS,sans-serif}body{background:var(--weather-bg);min-width:320px}#app{text-align:left;box-sizing:border-box;border:0;width:100%;max-width:1180px;min-height:100svh;margin:0 auto;padding:0 40px 56px}#weather-app{width:min(100%,1040px);margin:0 auto}#app-footer{color:#ffffff9e;text-align:center;width:min(100%,1040px);margin:28px auto 0;font-size:.8rem}#search-region{background:0 0;padding:48px 0 32px}#search-form{align-items:end;gap:12px;display:flex}#search-form label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#city-input{color:#fff;min-width:0;height:48px;font:inherit;box-sizing:border-box;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:10px;outline:none;flex:1;padding:0 16px}#city-input::placeholder{color:#ffffffad}#city-input:focus-visible,#search-form button:focus-visible{outline-offset:3px;outline:3px solid #93d5cc}#search-form button{color:#fff;background:var(--weather-accent);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 18px;font-family:inherit;font-size:.95rem;font-weight:600;display:inline-flex}#search-form button:hover:not(:disabled){background:#34847b}#search-form button:disabled,#city-input:disabled{cursor:wait;opacity:.6}#search-form svg,#weather-result svg{stroke-width:1.8px;flex:none;width:19px;height:19px}#search-status,#loading-indicator{color:#ffffffc7;margin:-18px 0 20px;font-size:.9rem}#search-status[role=alert]{color:#ffb4a8}#empty-state{color:var(--weather-muted);background:var(--weather-panel);box-shadow:var(--weather-shadow);text-align:center;border-radius:20px;padding:64px 48px}#empty-state h1{color:var(--weather-ink);letter-spacing:0;margin:0 0 12px;font-size:clamp(1.6rem,3vw,2rem)}#weather-result{background:var(--weather-panel);box-shadow:var(--weather-shadow);border-radius:20px;grid-template-columns:300px minmax(0,1fr);display:grid;overflow:hidden}#weather-result[hidden],#loading-indicator[hidden]{display:none}#result-title{color:var(--weather-ink);letter-spacing:0;grid-column:1/-1;margin:0;padding:26px 30px 0;font-size:1.1rem}#weather-summary{color:#e9f4f0;background:var(--weather-accent-dark);box-sizing:border-box;min-height:320px;padding:28px 26px 32px}#weather-summary h3{overflow-wrap:anywhere;color:#fff;margin:0 0 4px;font-size:1.2rem;line-height:1.2}#weather-summary>p:not(.summary-temperature){color:#e9f4f0bf}#weather-summary .summary-temperature{color:#fff;align-items:center;gap:9px;margin:28px 0;font-size:2.35rem;font-weight:600;line-height:1;display:flex}#weather-summary .summary-temperature svg{width:29px;height:29px}#weather-summary dl{grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:12px 10px;margin:0;font-size:.88rem;display:grid}#weather-summary dt{color:#e9f4f0ad;align-items:center;gap:7px;min-width:0;display:flex}#weather-summary dd{overflow-wrap:anywhere;color:#fff;text-align:left;min-width:0;margin:0}#weather-details{background:var(--weather-panel);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:28px 30px 32px;display:grid}#details-title{color:var(--weather-ink);letter-spacing:0;grid-column:1/-1;margin:0 0 4px;font-size:1.1rem}.weather-detail{border:1px solid var(--weather-border);background:var(--weather-panel-muted);border-radius:10px;min-width:0;padding:16px}.weather-detail h4{color:var(--weather-muted);overflow-wrap:anywhere;align-items:center;gap:8px;margin:0 0 12px;font-size:.78rem;font-weight:600;display:flex}.weather-detail p{overflow-wrap:anywhere;color:var(--weather-ink);margin:0;font-size:1.3rem;font-weight:600}@media (width<=720px){#app{padding:0 16px 32px}#search-region{padding:28px 0 24px}#search-form{gap:8px}#search-form button{min-width:48px;padding:0 13px}#search-status,#loading-indicator{margin-top:-10px}#empty-state{padding:44px 24px}#weather-result{grid-template-columns:1fr}#result-title{padding:22px 20px 0}#weather-summary{color:#e9f4f0;background-color:var(--weather-accent-dark);width:100%;min-height:auto;padding:24px 20px 26px}#weather-summary .summary-temperature{margin:22px 0;font-size:2.1rem}#weather-details{grid-template-columns:1fr;padding:24px 20px 26px}}
