:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*,:before,:after{box-sizing:border-box}html{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}body{width:100%;min-height:100vh;margin:0;padding:0;overflow-x:hidden}h1{margin:0}button{cursor:pointer;font-family:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--bg-gradient-start:#1a1a2e;--bg-gradient-end:#16213e;--card-bg:#1e1e2ef2;--card-hover-shadow:#0000004d;--text-primary:#fff;--text-secondary:#e2e8f0;--text-tertiary:#cbd5e0;--accent-gradient-start:#7c92f5;--accent-gradient-end:#8b5ecf;--weather-card-bg:#2d2d3ccc;--weather-card-border:#ffffff1a;--section-title-color:#f7fafc;--date-color:#cbd5e0;--summary-color:#f7fafc;--temp-unit-color:#e2e8f0;--divider-color:#4a5568;--error-bg:#dc26261a;--error-border:#ef4444;--error-text:#fca5a5;--skeleton-bg-1:#ffffff0d;--skeleton-bg-2:#ffffff1a;--tile-min-height:120px;--tile-gap:.75rem;--cta-height:3rem;--card-inner-gap:1rem;--focus-color:#a78bfa}@media (prefers-color-scheme:light){:root{--bg-gradient-start:#f0f4ff;--bg-gradient-end:#e0e7ff;--card-bg:#fffffffa;--card-hover-shadow:#00000026;--text-primary:#1a202c;--text-secondary:#2d3748;--text-tertiary:#4a5568;--accent-gradient-start:#5b6fd8;--accent-gradient-end:#6b46a3;--weather-card-bg:#ffffffe6;--weather-card-border:#667eea26;--section-title-color:#1a202c;--date-color:#2d3748;--summary-color:#1a202c;--temp-unit-color:#4a5568;--divider-color:#cbd5e0;--error-bg:#fee;--error-border:#dc2626;--error-text:#991b1b;--skeleton-bg-1:#f0f0f0;--skeleton-bg-2:#e0e0e0;--tile-min-height:120px;--tile-gap:.75rem;--cta-height:3rem;--card-inner-gap:1rem;--focus-color:#5b21b6}}#root{flex-direction:column;width:100%;min-height:100vh;display:flex;overflow-x:hidden}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-container{background:linear-gradient(135deg, var(--bg-gradient-start) 0%, var(--bg-gradient-end) 100%);width:100%;min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex}.app-header{text-align:center;padding:2.5rem 2rem 1.5rem;animation:.6s ease-out fadeInDown}.logo-link{border-radius:.5rem;display:inline-block}.logo-link:focus-visible{outline:3px solid var(--accent-gradient-end);outline-offset:8px}.logo{filter:drop-shadow(0 4px 8px #0003);width:auto;height:5rem;transition:transform .3s,filter .3s}.logo:hover{filter:drop-shadow(0 8px 16px #0000004d);transform:scale(1.1)rotate(5deg)}.app-title{background:linear-gradient(135deg, var(--text-primary) 0%, var(--text-secondary) 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;margin:1.25rem 0 .5rem;font-size:2.75rem;font-weight:700}.app-subtitle{color:var(--text-tertiary);margin:0;font-size:1.05rem;font-weight:300}.main-content{flex:1;justify-content:center;align-items:center;width:100%;max-width:1400px;margin:0 auto;padding:0 2rem 2rem;display:flex}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-primary);border:1px solid var(--weather-card-border);gap:var(--card-inner-gap);border-radius:1rem;flex-direction:column;padding:1.25rem 1.5rem;animation:.6s ease-out fadeInUp;display:flex;box-shadow:0 8px 32px #0000001a}.demo-section{animation:.6s ease-out fadeInUp}.weather-section{flex:1;width:100%;max-width:1200px;animation:.6s ease-out .1s fadeInUp}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:0;display:flex}.header-actions{align-items:center;gap:.75rem;display:flex}.section-title{color:var(--section-title-color);margin:0;font-size:1.25rem;font-weight:600}.counter-card .section-header{margin-bottom:0}.counter-panel{background:var(--weather-card-bg);border:1px solid var(--weather-card-border);gap:var(--tile-gap);min-height:var(--tile-min-height);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.75rem;flex-direction:column;flex:1;padding:1.25rem;display:flex}.counter-value-group{margin-bottom:var(--tile-gap);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;display:flex}.counter-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);font-size:.75rem;font-weight:600}.counter-value{background:linear-gradient(135deg, var(--accent-gradient-start) 0%, var(--accent-gradient-end) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.25rem;font-weight:700;line-height:1}.increment-button{background:linear-gradient(135deg, var(--accent-gradient-start) 0%, var(--accent-gradient-end) 100%);color:#fff;height:var(--cta-height);cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:auto;padding:0 1.5rem;font-size:.875rem;font-weight:600;transition:all .3s;display:flex;box-shadow:0 2px 8px #667eea4d}.increment-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.increment-button:active{transform:translateY(0)}.increment-button:focus-visible{outline:3px solid var(--accent-gradient-end);outline-offset:2px}.increment-icon{transition:transform .3s}.increment-button:hover .increment-icon{transform:scale(1.1)}.toggle-switch{border:1px solid var(--weather-card-border);background:#ffffff1a;border-radius:.5rem;gap:.25rem;min-width:0;margin:0;padding:.25rem;display:flex}.toggle-switch legend{padding:0}@media (prefers-color-scheme:light){.toggle-switch{background:#667eea14}}.toggle-option{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;min-width:3rem;height:2.5rem;padding:0 1rem;font-size:.875rem;font-weight:600;transition:all .3s;display:flex;position:relative}.toggle-option[aria-pressed=true]{background:linear-gradient(135deg, var(--accent-gradient-start) 0%, var(--accent-gradient-end) 100%);color:#fff;box-shadow:0 2px 8px #667eea4d}.toggle-option[aria-pressed=false]:hover{color:var(--text-primary);background:#ffffff0d}@media (prefers-color-scheme:light){.toggle-option[aria-pressed=false]:hover{background:#667eea1a}}.toggle-option:focus-visible{outline:3px solid var(--focus-color);outline-offset:2px;z-index:1}.refresh-button{background:linear-gradient(135deg, var(--accent-gradient-start) 0%, var(--accent-gradient-end) 100%);color:#fff;height:var(--cta-height);cursor:pointer;white-space:nowrap;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;min-width:140px;padding:0 1.5rem;font-size:.875rem;font-weight:600;transition:transform .3s,box-shadow .3s,opacity .3s;display:flex;box-shadow:0 2px 8px #667eea4d}.refresh-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.refresh-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.refresh-button:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px}.refresh-icon{transition:transform .3s}.refresh-icon.spinning{animation:1s linear infinite spin}.error-message{background-color:var(--error-bg);border-left:4px solid var(--error-border);color:var(--error-text);border-radius:.5rem;align-items:center;gap:.75rem;margin:1rem 0;padding:1rem;animation:.3s ease-out slideIn;display:flex}.loading-skeleton{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.skeleton-row{background:linear-gradient(90deg, var(--skeleton-bg-1) 25%, var(--skeleton-bg-2) 50%, var(--skeleton-bg-1) 75%);background-size:200% 100%;border-radius:.5rem;height:80px;animation:1.5s infinite shimmer}.weather-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:.75rem;display:grid}.weather-card{background:var(--weather-card-bg);border:1px solid var(--weather-card-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:var(--tile-min-height);border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1.25rem;transition:all .3s;display:flex}.weather-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #0003}.weather-card:focus-within{outline:2px solid var(--focus-color);outline-offset:2px}.weather-date{color:var(--date-color);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.875rem;font-weight:600}.weather-summary{color:var(--summary-color);min-height:1.5rem;margin:0;font-size:1.125rem;font-weight:500}.weather-temps{border-top:1px solid var(--weather-card-border);justify-content:center;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:.75rem;display:flex}.temp-group{flex-direction:column;align-items:center;width:100%;display:flex}.temp-value{background:linear-gradient(135deg, var(--accent-gradient-start) 0%, var(--accent-gradient-end) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.temp-unit{color:var(--temp-unit-color);margin-top:.125rem;font-size:.75rem}@media (width<=1024px){.main-content{padding:1rem}}.app-footer{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0003;padding:1.5rem}.app-footer nav{justify-content:center;align-items:center;gap:1.5rem;display:flex}.app-footer a{color:var(--text-secondary);border-bottom:2px solid #0000;padding-bottom:.125rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .3s,border-color .3s}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (width<=1024px){.main-content{grid-template-columns:1fr;gap:1rem;padding:1rem}}.app-footer{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0003;justify-content:center;align-items:center;padding:1.5rem 0;display:flex}.app-footer>*{justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:1400px;padding:0 2rem;display:flex}.app-footer a{color:var(--text-secondary);border-bottom:2px solid #0000;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .3s,transform .3s}.app-footer a:hover{color:var(--text-primary);border-bottom-color:var(--text-primary)}.app-footer a:focus-visible{outline:2px solid var(--text-primary);outline-offset:4px;border-radius:2px}.github-link{align-items:center;gap:.5rem;display:inline-flex;border-bottom:none!important}.github-link:focus-visible{outline:3px solid var(--focus-color);outline-offset:4px;border-radius:4px}.github-link img{filter:brightness(0)invert();transition:transform .3s,opacity .3s}@media (prefers-color-scheme:light){.github-link img{filter:brightness(0)invert(0);opacity:.7}.github-link:hover img{opacity:1}}.github-link:hover img{transform:scale(1.1)}@media (width<=768px){:root{--cta-height:2.75rem}.app-header{padding:1.5rem 1rem 1rem}.logo{height:3rem}.app-title{font-size:1.5rem}.app-subtitle{font-size:.875rem}.main-content{padding:.75rem}.card{padding:1rem}.section-title{font-size:1.125rem}.section-header{flex-direction:column;align-items:stretch;gap:.75rem}.header-actions{width:100%}.toggle-switch,.toggle-option{flex:1}.refresh-button{flex:1;justify-content:center;padding:0 1.25rem}.weather-grid{grid-template-columns:1fr;gap:.75rem}.weather-card{padding:1.25rem}.app-footer{padding:1rem 0}.app-footer>*{flex-direction:column;padding:0 1.5rem}.github-link{order:-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:high){.card{border:2px solid}.weather-card{border:1px solid}}:focus-visible{outline:3px solid var(--accent-gradient-end);outline-offset:2px}
