: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;--bg-subtle:#ffffff0a;--bg-input:#ffffff12;--text-primary:#fff;--text-secondary:#e2e8f0;--text-tertiary:#cbd5e0;--border-subtle:#ffffff14;--border-card:#ffffff1a;--border-section:#ffffff0f;--border-medium:#fff3;--border-input:#ffffff8c;--accent:#7c92f5;--accent-end:#8b5ecf;--accent-bg:#7c92f526;--accent-border:#7c92f54d;--accent-bg-subtle:#7c92f514;--accent-gradient-start:#7c92f5;--accent-gradient-end:#8b5ecf;--success:#68d391;--success-bg:#68d39126;--success-border:#68d3914d;--danger:#fc8181;--danger-bg:#fc818114;--danger-border:#fc81814d;--danger-bg-subtle:#fc81810a;--nav-bg:#16162efa;--nav-border:#ffffff1a;--nav-text:#e2e8f0;--nav-text-muted:#94a3b8;--nav-active-bg:#7c92f524;--nav-active-text:#c5d0ff;--nav-admin-text:#fc8181;--nav-btn-border:#1a6ab5;--nav-btn-color:#7c92f5;--nav-signup-bg:#7c92f5d9;--nav-signup-color:#fff;--nav-dropdown-bg:#1e1e38fa;--nav-dropdown-border:#ffffff1f;--nav-lang-active-bg:#7c92f52e;--nav-lang-active-text:#c5d0ff;--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}html.light{--bg-gradient-start:#eef4fb;--bg-gradient-end:#dce8f5;--card-bg:#fff;--card-hover-shadow:#0000001a;--bg-subtle:#00000005;--bg-input:#fff;--text-primary:#1a202c;--text-secondary:#2d3748;--text-tertiary:#4a5568;--border-subtle:#00000012;--border-card:#0000001a;--border-section:#0000000f;--border-medium:#0003;--border-input:#00000047;--accent:#1a6ab5;--accent-end:#6b46a3;--accent-bg:#1a6ab51a;--accent-border:#1a6ab540;--accent-bg-subtle:#1a6ab50f;--accent-gradient-start:#5b6fd8;--accent-gradient-end:#6b46a3;--success:#276749;--success-bg:#27674917;--success-border:#27674933;--danger:#c53030;--danger-bg:#c5303012;--danger-border:#c5303040;--danger-bg-subtle:#c5303008;--nav-bg:#fff;--nav-border:#ccdcee;--nav-text:#0a2440;--nav-text-muted:#4a6280;--nav-active-bg:#eef4fb;--nav-active-text:#0f3d6e;--nav-admin-text:#c53030;--nav-btn-border:#1a6ab5;--nav-btn-color:#1a6ab5;--nav-signup-bg:#1a6ab5;--nav-signup-color:#fff;--nav-dropdown-bg:#fff;--nav-dropdown-border:#c0d4e8;--nav-lang-active-bg:#ddeefb;--nav-lang-active-text:#1a6ab5;--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;--focus-color:#1a6ab5}@media (prefers-color-scheme:light){:root:not(.dark){--bg-gradient-start:#eef4fb;--bg-gradient-end:#dce8f5;--card-bg:#fff;--card-hover-shadow:#0000001a;--bg-subtle:#00000005;--bg-input:#fff;--text-primary:#1a202c;--text-secondary:#2d3748;--text-tertiary:#4a5568;--border-subtle:#00000012;--border-card:#0000001a;--border-section:#0000000f;--border-medium:#0003;--border-input:#00000047;--accent:#1a6ab5;--accent-end:#6b46a3;--accent-bg:#1a6ab51a;--accent-border:#1a6ab540;--accent-bg-subtle:#1a6ab50f;--accent-gradient-start:#5b6fd8;--accent-gradient-end:#6b46a3;--success:#276749;--success-bg:#27674917;--success-border:#27674933;--danger:#c53030;--danger-bg:#c5303012;--danger-border:#c5303040;--danger-bg-subtle:#c5303008;--nav-bg:#fff;--nav-border:#ccdcee;--nav-text:#0a2440;--nav-text-muted:#4a6280;--nav-active-bg:#eef4fb;--nav-active-text:#0f3d6e;--nav-admin-text:#c53030;--nav-btn-border:#1a6ab5;--nav-btn-color:#1a6ab5;--nav-signup-bg:#1a6ab5;--nav-signup-color:#fff;--nav-dropdown-bg:#fff;--nav-dropdown-border:#c0d4e8;--nav-lang-active-bg:#ddeefb;--nav-lang-active-text:#1a6ab5;--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;--focus-color:#1a6ab5}}#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}.app-container input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):focus,.app-container textarea:focus,.app-container select:focus,.auth-card input:not([type=checkbox]):not([type=radio]):not([type=file]):focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-bg)!important;outline:none!important}html.dark .auth-page{background-color:var(--bg-primary)!important}html.dark .auth-card{background-color:var(--card-bg)!important;color:var(--text-primary)!important;box-shadow:0 2px 20px #00000080!important}html.dark .auth-card h2,html.dark .auth-card p,html.dark .auth-card label{color:var(--text-primary)!important}html.dark .auth-card input{background:var(--bg-input)!important;border-color:var(--border-input)!important;color:var(--text-primary)!important}html.dark .auth-card button[type=submit]{background-color:var(--accent)!important}
