:root{--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bg:#f5f6f8;--surface:#fff;--surface-2:#f8f9fb;--border:#e4e7ec;--border-strong:#cfd4dc;--text:#121826;--text-2:#475467;--text-3:#667085;--text-4:#98a2b3;--accent:#2457e6;--accent-hover:#1c47c4;--accent-soft:#eaf0fe;--accent-text:#1a3fa8;--success:#12753a;--success-soft:#e6f5ec;--warning:#a35a06;--warning-soft:#fdf1dc;--danger:#b42318;--danger-soft:#fdeceb;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #1018280d;--shadow:0 1px 3px #10182814, 0 1px 2px #1018280a;--shadow-lg:0 12px 32px #10182829;--focus:0 0 0 3px #2457e638;--accent-solid:#2457e6;--accent-solid-hover:#1c47c4;--muted-bg:#eef0f3;--hover-bg:#fafbfc;--track:#eceef2;--scrim:#10182873;--glass:#ffffffb3;--nav-bg:#ffffffeb;--topbar-bg:#f5f6f8e6;--danger-border:#f1b9b4;--banner-error-border:#f5c7c3;--banner-error-text:#8a1c13;--banner-warning-border:#f3d9a4;--banner-warning-text:#7a4305;--toast-bg:#101828;--toast-text:#fff;--skeleton-a:#eceef2;--skeleton-b:#f4f5f8;--orange:#c2410c;--orange-soft:#ffedd5;--chart-high:#e0803a;--chart-low:#2457e6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0d1017;--surface:#161a23;--surface-2:#1c212c;--border:#2a303c;--border-strong:#3a4252;--text:#e8ebf1;--text-2:#b6bece;--text-3:#8f99ab;--text-4:#6c7689;--accent:#6c9bff;--accent-hover:#8bb0ff;--accent-soft:#1b2a50;--accent-text:#b0c7ff;--success:#4cc38a;--success-soft:#14301f;--warning:#f0b04a;--warning-soft:#33260f;--danger:#ff7b72;--danger-soft:#3a1816;--shadow-sm:0 1px 2px #00000059;--shadow:0 1px 3px #00000073, 0 1px 2px #0000004d;--shadow-lg:0 12px 32px #0000008c;--focus:0 0 0 3px #6c9bff59;--accent-solid:#3f6fe6;--accent-solid-hover:#5584f0;--muted-bg:#272d39;--hover-bg:#1a1f29;--track:#2a303c;--scrim:#000000a6;--glass:#161a23bf;--nav-bg:#161a23eb;--topbar-bg:#0d1017e6;--danger-border:#6b2a26;--banner-error-border:#6b2a26;--banner-error-text:#ffb4ae;--banner-warning-border:#6b4d14;--banner-warning-text:#f5cf8a;--toast-bg:#2a303c;--toast-text:#e8ebf1;--skeleton-a:#212733;--skeleton-b:#2a313f;--orange:#fb923c;--orange-soft:#3a1f0b;--chart-high:#f0a066;--chart-low:#6c9bff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0;font-size:14px;line-height:1.5}h1,h2,h3,h4,p,ul,dl,dd{margin:0}ul{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}svg{flex-shrink:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--text-3)}.small{font-size:12.5px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.block{display:block}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.stack{flex-direction:column;gap:16px;display:flex}.center-pad{justify-content:center;padding:48px 0;display:flex}.chips,.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pad{padding:16px 20px}.pad-x{padding:0 20px}.fullpage-center{place-items:center;min-height:100vh;display:grid}.dot{opacity:.55;background:currentColor;border-radius:50%;width:3px;height:3px;margin:0 8px;display:inline-block}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:.7s linear infinite spin;display:inline-block}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn{border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;height:38px;padding:0 16px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{border-radius:8px;height:32px;padding:0 12px;font-size:13px}.btn--lg{height:44px;font-size:15px}.btn--block{width:100%}.btn--primary{background:var(--accent-solid);color:#fff;box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){background:var(--accent-solid-hover)}.btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.btn--secondary:hover:not(:disabled){background:var(--surface-2)}.btn--ghost{color:var(--text-2)}.btn--ghost:hover:not(:disabled){background:var(--muted-bg)}.btn--danger{color:#fff;background:#c0382d}.btn--danger:hover:not(:disabled){filter:brightness(.9)}.btn--danger-outline{color:var(--danger);border-color:var(--danger-border);background:var(--surface)}.btn--danger-text{color:var(--danger)}.btn--danger-text:hover:not(:disabled){background:var(--danger-soft)}.btn:focus-visible{box-shadow:var(--focus);outline:none}a.btn:hover{text-decoration:none}.icon-btn{width:32px;height:32px;color:var(--text-3);border-radius:8px;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn:hover{background:var(--muted-bg);color:var(--text)}.icon-btn--danger:hover{background:var(--danger-soft);color:var(--danger)}.link-sm{font-size:13px;font-weight:500}.link-btn{color:var(--accent);margin-left:10px;font-weight:600}.field{flex-direction:column;gap:6px;display:flex}.field__label{color:var(--text-2);font-size:13px;font-weight:500}.field__hint{color:var(--text-3);font-size:12.5px}.field--full{grid-column:1/-1}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-error{color:var(--danger);margin-top:12px;font-size:13px}.input{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;height:40px;box-shadow:var(--shadow-sm);padding:0 12px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-4)}.input:hover:not(:disabled){border-color:var(--text-4)}.input:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}.input:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}.textarea{resize:vertical;height:auto;min-height:84px;padding:10px 12px;line-height:1.5}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;width:auto;min-width:140px;padding-right:32px}.input-wrap{position:relative}.input-wrap .input{padding-right:42px}.input-wrap__btn{width:32px;height:32px;color:var(--text-3);border-radius:8px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.input-wrap__btn:hover{color:var(--text);background:var(--muted-bg)}.switch-row{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;display:flex}.switch-row strong{font-weight:600;display:block}.switch-row span{color:var(--text-3);font-size:13px}.switch{appearance:none;background:var(--border-strong);cursor:pointer;border-radius:999px;flex-shrink:0;width:40px;height:24px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch:focus-visible{box-shadow:var(--focus);outline:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0;padding:20px}.card--pad{padding:20px}.card--flush{padding:0;overflow:hidden}.card__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card--flush>.card__head{margin:0;padding-bottom:0}.card__title{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.card__foot{border-top:1px solid var(--border);justify-content:flex-end;margin-top:20px;padding-top:16px;display:flex}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:22px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.badge--neutral{background:var(--muted-bg);color:var(--text-2)}.badge--accent{background:var(--accent-soft);color:var(--accent-text)}.badge--success{background:var(--success-soft);color:var(--success)}.badge--danger{background:var(--danger-soft);color:var(--danger)}.badge--live{background:var(--success-soft);color:var(--success)}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.tone-neutral{background:var(--muted-bg);color:var(--text-2)}.tone-accent{background:var(--accent-soft);color:var(--accent-text)}.tone-success{background:var(--success-soft);color:var(--success)}.tone-warning{background:var(--warning-soft);color:var(--warning)}.tone-danger{background:var(--danger-soft);color:var(--danger)}.live-dot{background:#1fa65a;border-radius:50%;width:7px;height:7px;margin-right:6px;animation:1.8s infinite pulse;display:inline-block;box-shadow:0 0 #1fa65a80}.live-dot--inline{margin-left:6px;margin-right:0}@keyframes pulse{70%{box-shadow:0 0 0 6px #1fa65a00}to{box-shadow:0 0 #1fa65a00}}.avatar{color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.logo{align-items:center;gap:10px;display:inline-flex}.logo__text{letter-spacing:-.01em;color:var(--text);font-size:17px;font-weight:700}.banner{border-radius:var(--radius);border:1px solid;padding:11px 14px;font-size:13.5px}.banner--error{background:var(--danger-soft);border-color:var(--banner-error-border);color:var(--banner-error-text)}.banner--warning{background:var(--warning-soft);border-color:var(--banner-warning-border);color:var(--banner-warning-text)}.empty{text-align:center;flex-direction:column;align-items:center;padding:56px 24px;display:flex}.empty__icon{background:var(--muted-bg);width:48px;height:48px;color:var(--text-3);border-radius:12px;place-items:center;margin-bottom:14px;display:grid}.empty__title{font-size:15px;font-weight:600}.empty__text{color:var(--text-3);max-width:380px;margin-top:4px}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--skeleton-a) 25%, var(--skeleton-b) 37%, var(--skeleton-a) 63%);background-size:400% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}.tbl-skel{gap:10px;display:grid}.segmented{background:var(--track);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.segmented__btn{height:30px;color:var(--text-3);border-radius:8px;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.segmented__btn:hover{color:var(--text)}.segmented__btn.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.segmented--sm .segmented__btn{height:26px;padding:0 10px;font-size:12.5px}.tabs{border-bottom:1px solid var(--border);gap:4px;padding:0 24px;display:flex}.tabs__tab{color:var(--text-3);border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px;font-size:13.5px;font-weight:600}.tabs__tab:hover{color:var(--text)}.menu{z-index:40;background:var(--surface);border:1px solid var(--border);min-width:220px;box-shadow:var(--shadow-lg);border-radius:12px;padding:6px;animation:.12s ease-out pop;position:absolute;top:calc(100% + 6px);right:0}.menu--right{min-width:180px}@keyframes pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.menu__header{border-bottom:1px solid var(--border);flex-direction:column;margin-bottom:6px;padding:10px 10px 12px;display:flex}.menu__header span{color:var(--text-3);text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.menu__item{width:100%;color:var(--text);text-align:left;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;font-weight:500;display:flex}.menu__item:hover{background:var(--surface-2);text-decoration:none}.menu__item svg{color:var(--text-3)}.menu__item--danger,.menu__item--danger svg{color:var(--danger)}.menu__sep{background:var(--border);height:1px;margin:6px 0}.modal-backdrop{z-index:100;background:var(--scrim);place-items:center;padding:20px;animation:.15s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:16px;width:100%;max-width:440px;padding:24px;animation:.15s ease-out pop}.modal--sm{max-width:400px}.modal__icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:50%;place-items:center;margin-bottom:14px;display:grid}.modal__icon--danger{background:var(--danger-soft);color:var(--danger)}.modal__title{font-size:17px;font-weight:600}.modal__text{color:var(--text-2);margin-top:6px}.modal__actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.toast-stack{z-index:200;flex-direction:column;gap:10px;width:min(360px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--toast-bg);color:var(--toast-text);box-shadow:var(--shadow-lg);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;animation:.2s ease-out slide;display:flex}@keyframes slide{0%{opacity:0;transform:translateY(8px)}}.toast__icon{margin-top:1px}.toast--success .toast__icon{color:#4ade80}.toast--error .toast__icon{color:#f87171}.toast--info .toast__icon{color:#7dd3fc}.toast__text{flex:1;font-size:13.5px}.toast__close{color:var(--text-4);padding:2px}.toast__close:hover{color:var(--toast-text)}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.pagination__info{color:var(--text-3);font-size:13px}.pagination__buttons{gap:8px;display:flex}.chart__label{fill:var(--text-3);font-size:11px;font-family:var(--font)}.chart__label--strong{fill:var(--text);font-weight:600}.chart__tip{background:var(--toast-bg);color:var(--toast-text);pointer-events:none;white-space:nowrap;border-radius:8px;flex-direction:column;align-items:center;padding:6px 10px;font-size:12px;display:flex;position:absolute;top:0;transform:translate(-50%)}.chart__tip span{color:var(--text-4);font-size:11px}.columns{align-items:stretch;gap:4px;display:flex}.columns__col{flex-direction:column;flex:1;min-width:0;display:flex}.columns__bar-wrap{flex:1;align-items:flex-end;display:flex}.columns__bar{background:var(--accent);opacity:.85;border-radius:4px 4px 0 0;width:100%}.columns__col:hover .columns__bar{opacity:1}.columns__label{color:var(--text-3);white-space:nowrap;height:18px;padding-top:4px;font-size:10.5px;overflow:visible}.barlist{flex-direction:column;gap:14px;display:flex}.barlist__row{justify-content:space-between;gap:12px;font-size:13.5px;display:flex}.barlist__label{font-weight:500}.barlist__value{color:var(--text-2);font-variant-numeric:tabular-nums}.barlist__track{background:var(--track);border-radius:999px;height:6px;margin-top:6px;overflow:hidden}.barlist__fill{background:var(--accent);border-radius:999px;height:100%}.barlist__sub{color:var(--text-3);font-size:12px}.feed{flex-direction:column;gap:14px;display:flex}.feed--roomy{gap:16px}.feed__item{align-items:flex-start;gap:12px;display:flex}.feed__icon{border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.feed__body{flex-direction:column;flex:1;min-width:0;display:flex}.feed__text{font-size:13.5px}.feed__time{color:var(--text-3);font-size:12px}.mini-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.mini-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:2px;padding:12px;display:flex}.mini-stat svg{color:var(--accent);margin-bottom:4px}.mini-stat strong{letter-spacing:-.01em;font-size:17px;font-weight:700}.mini-stat span{color:var(--text-3);font-size:12px}.kv{flex-direction:column;display:flex}.kv>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:20px;padding:10px 0;display:flex}.kv dt{color:var(--text-3);flex-shrink:0}.kv dd{text-align:right;word-break:break-word;font-weight:500}.plain-list{flex-direction:column;display:flex}.plain-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:9px 0;display:flex}.plain-list span{color:var(--text-3);font-size:13px}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 16px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr.is-clickable{cursor:pointer}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .cell-actions{text-align:right;white-space:nowrap;width:1%}.table .cell-wide{min-width:240px;max-width:460px}.profile{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.profile__main,.profile__aside{flex-direction:column;gap:20px;min-width:0;display:flex}.photo-row{align-items:center;gap:20px;display:flex}.photo-row__avatar{display:grid;position:relative}.photo-row__busy{background:var(--glass);color:var(--accent);border-radius:50%;place-items:center;display:grid;position:absolute;inset:0}.profile-id{align-items:center;gap:14px;display:flex}.profile-id__text{flex-direction:column;min-width:0;display:flex}.profile-id__text span{text-overflow:ellipsis;overflow:hidden}@media (width<=960px){.profile{grid-template-columns:1fr}}@media (width<=640px){.form-grid{grid-template-columns:1fr}.photo-row{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.icon-btn--lg{width:36px;height:36px}.mb-12{margin-bottom:12px}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.select--sm{min-width:0;height:34px;padding-top:0;padding-bottom:0}.input--sm{height:32px;font-size:14px}.input--code{letter-spacing:.25em;text-align:center;font-variant-numeric:tabular-nums;font-size:20px}.input--inline{width:240px;max-width:100%}.input-suffix{position:relative}.input-suffix .input{padding-right:44px}.input-suffix span{color:var(--text-3);pointer-events:none;font-size:13px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.field--inline{flex-direction:row;align-items:center;gap:12px}.field__label--row{justify-content:space-between;align-items:baseline;display:flex}.link-btn--plain{margin-left:0;font-size:13px}.rule{border:0;border-top:1px solid var(--border);margin:16px 0}.card--danger{border-color:var(--danger-border)}.mini-flag{vertical-align:middle;color:var(--accent);margin-left:6px;display:inline-flex}.mini-flag--warn{color:var(--warning)}.page--narrow{max-width:760px;margin:0 auto}.chip-place{background:var(--accent-soft);height:34px;color:var(--accent-text);border-radius:999px;align-items:center;gap:8px;padding:0 6px 0 12px;font-weight:600;display:inline-flex}.chip-place small{opacity:.8;font-weight:400}.chip-place button{border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.chip-place button:hover{background:#0000001f}.chip-place--lg{height:40px}.tip{background:var(--muted-bg);height:28px;color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:13px;font-weight:500;display:inline-flex}.tip svg{color:var(--accent)}.divider{color:var(--text-4);align-items:center;gap:12px;margin:22px 0 16px;font-size:13px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.google-btn{justify-content:center;min-height:44px;display:flex}.notice-card{text-align:center;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);flex-direction:column;align-items:center;gap:14px;padding:28px 16px;display:flex}.auth__tools{align-items:center;gap:8px;display:flex;position:absolute;top:20px;right:24px}.auth2{--sky-a:#dbeafe;--sky-b:#ede9fe;--sky-c:#cffafe;isolation:isolate;background:linear-gradient(180deg, var(--sky-a) 0%, var(--sky-b) 55%, var(--sky-c) 100%);grid-template-rows:auto 1fr auto;justify-items:center;gap:12px;min-height:100dvh;padding:22px 24px 18px;display:grid;position:relative;overflow:hidden}.auth2--dark{--sky-a:#0b1026;--sky-b:#151a3d;--sky-c:#1d1f4a}.auth2__bg{z-index:-1;position:absolute;inset:0;overflow:hidden}.auth2__blob{filter:blur(70px);opacity:.55;border-radius:50%;animation:18s ease-in-out infinite alternate drift;position:absolute}.auth2__blob--a{background:#818cf8;width:46vmax;height:46vmax;top:-16vmax;left:-14vmax}.auth2__blob--b{background:#22d3ee;width:40vmax;height:40vmax;animation-delay:-6s;top:-10vmax;right:-12vmax}.auth2__blob--c{background:#f0abfc;width:44vmax;height:44vmax;animation-delay:-11s;bottom:-26vmax;left:28vw}.auth2--dark .auth2__blob{opacity:.32}@keyframes drift{to{transform:translate(5vmax,4vmax)scale(1.12)}}.auth2__top{justify-content:center;padding-top:4px;animation:.7s both rise;display:flex}.auth2__grid{grid-template-columns:minmax(0,1fr) minmax(340px,440px) minmax(0,1fr);align-self:center;align-items:center;gap:36px;width:100%;max-width:1180px;display:grid}.auth2__side{flex-direction:column;gap:16px;display:flex}.auth2__side--left{align-items:flex-end}.auth2__side--right{align-items:flex-start}.achip{--c:#6366f1;z-index:4;background:color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(14px)saturate(160%);backdrop-filter:blur(14px)saturate(160%);border:1px solid color-mix(in srgb, var(--c) 28%, var(--border));width:250px;box-shadow:0 10px 30px -12px color-mix(in srgb, var(--c) 45%, transparent);animation:chipIn .8s calc(var(--i) * .14s + .25s) both cubic-bezier(.2,.9,.3,1.2), bob 6s calc(var(--i) * -1.3s) ease-in-out infinite;border-radius:18px;align-items:center;gap:12px;padding:14px 16px;transition:transform .25s;display:flex;position:relative}.achip:hover{transform:translateY(-4px)scale(1.03)}.achip__icon{color:#fff;background:linear-gradient(135deg, var(--c), color-mix(in srgb, var(--c) 55%, #fff));width:42px;height:42px;box-shadow:0 6px 14px -4px var(--c);border-radius:13px;place-items:center;display:grid}.achip__text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.achip__text strong{font-size:14px}.achip__text small{color:var(--text-3);font-size:12px}.achip--indigo{--c:#6366f1}.achip--amber{--c:#f59e0b}.achip--cyan{--c:#06b6d4}.achip--emerald{--c:#10b981}.achip--pink{--c:#ec4899}.achip--violet{--c:#8b5cf6}@keyframes chipIn{0%{opacity:0;transform:translateX(calc(var(--side) * 40px)) scale(.9)}}@keyframes bob{50%{translate:0 -7px}}.auth2__side .achip:nth-child(2){transform-origin:50%;margin-inline:0}.auth2__side--left .achip:nth-child(2){margin-right:28px}.auth2__side--right .achip:nth-child(2){margin-left:28px}.auth2__card{z-index:5;background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(22px)saturate(170%);backdrop-filter:blur(22px)saturate(170%);border:1px solid color-mix(in srgb, #fff 55%, var(--border));border-radius:28px;padding:34px 32px 28px;animation:.8s cubic-bezier(.2,.9,.3,1.15) both pop-in;position:relative;box-shadow:0 30px 80px -30px #4f46e573,inset 0 2px #fff9}.auth2__card:before{content:"";border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--spin,0deg), transparent 0 60%, #818cf8, #22d3ee, #f0abfc, transparent 100%);-webkit-mask-composite:xor;opacity:.75;padding:1.5px;animation:7s linear infinite spin-border;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@property --spin{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes spin-border{to{--spin:360deg}}@keyframes pop-in{0%{opacity:0;transform:translateY(26px)scale(.95)}}.auth__title{letter-spacing:-.03em;text-align:center;background:linear-gradient(135deg, var(--text), var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:800}.auth__subtitle{color:var(--text-3);text-align:center;margin:6px 0 24px;font-size:15px}.auth__form{flex-direction:column;gap:16px;display:flex}.auth__footer{text-align:center;color:var(--text-3);margin-top:22px}.auth__footer a{font-weight:700}.auth2__foot{justify-content:center;align-items:center;gap:10px;animation:.7s .4s both rise;display:flex}.strength{align-items:center;gap:10px;margin-top:2px;display:flex}.strength__bars{flex:1;gap:4px;display:flex}.strength__bars span{background:var(--track);border-radius:999px;flex:1;height:5px;transition:background .3s}.strength__bars .on--1{background:#ef4444}.strength__bars .on--2{background:#f59e0b}.strength__bars .on--3{background:#22c55e}.strength__bars .on--4{background:#059669}.roamer{z-index:3;pointer-events:none;will-change:transform;transition:transform 3.6s cubic-bezier(.45,.05,.25,1);position:fixed;top:0;left:0}.roamer__hop{transition:none}.roamer__hop.is-hopping{animation:.6s ease-in-out infinite hop}@keyframes hop{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.puffy{filter:drop-shadow(0 10px 18px #4f46e540);overflow:visible}.puffy__shadow{fill:#1e295a29}.puffy__cloud{fill:#fff;stroke:#c9d6ff;stroke-width:3px}.auth2--dark .puffy__cloud{fill:#e9eeff}.puffy__shine{fill:none;stroke:#eaf0ff;stroke-width:4px;stroke-linecap:round;opacity:.9}.puffy__cheek{fill:#ffb3c1;opacity:.85}.puffy__leg{fill:#c9d6ff}.puffy__body{transform-origin:70px 104px;animation:3.2s ease-in-out infinite breathe}@keyframes breathe{50%{transform:scale(1.025,.975)}}.puffy__sprout{transform-origin:70px 32px;animation:2.8s ease-in-out infinite sway}@keyframes sway{50%{transform:rotate(9deg)}}.puffy__pupil{transition:transform .18s ease-out}.puffy__lid{fill:#fff;stroke:#27324f;stroke-width:2px;transform-box:fill-box;transform-origin:top;animation:5s infinite blink;transform:scaleY(0)}@keyframes blink{0%,92%,to{transform:scaleY(0)}95%{transform:scaleY(1)}}.puffy--curious .puffy__body{animation:1.6s ease-in-out infinite breathe}.puffy__tear{fill:#7dd3fc;animation:1.6s ease-in infinite tear}@keyframes tear{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(14px)}}.puffy--sad{animation:.5s sadshake}.puffy--sad .puffy__body{animation:none;transform:translateY(3px)}@keyframes sadshake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.puffy--happy .puffy__body{animation:.45s ease-in-out infinite cheer}@keyframes cheer{50%{transform:translateY(-10px)scale(1.04)}}.puffy__paws{opacity:0;transition:transform .35s cubic-bezier(.3,1.5,.5,1),opacity .2s;transform:translateY(46px)}.puffy__paws.is-up{opacity:1;transform:translateY(0)}.puffy__paw{fill:#dfe7ff;stroke:#b7c6f5;stroke-width:2.5px}.puffy__leg--a{transform-origin:53px 98px}.puffy__leg--b{transform-origin:86px 98px}.puffy.is-walking .puffy__leg--a{animation:.3s ease-in-out infinite step}.puffy.is-walking .puffy__leg--b{animation:.3s ease-in-out -.15s infinite step}@keyframes step{50%{transform:rotate(22deg)}}.buddy{z-index:1;pointer-events:none;opacity:.95;position:fixed}.buddy--drop{animation:26s ease-in-out infinite alternate roamA;top:0;left:0}.buddy--sun{animation:30s ease-in-out infinite alternate roamB;top:0;right:0}.buddy--bird{animation:34s linear infinite roamC;bottom:0;left:0}.buddy--drop svg{animation:2.4s ease-in-out infinite wobble}.buddy--sun svg{animation:14s linear infinite spin-slow}.buddy__wing{transform-origin:30px 22px;animation:.35s ease-in-out infinite alternate flap}@keyframes roamA{0%{transform:translate(8vw,70vh)}33%{transform:translate(30vw,18vh)}66%{transform:translate(60vw,62vh)}to{transform:translate(86vw,24vh)}}@keyframes roamB{0%{transform:translate(-8vw,18vh)}50%{transform:translate(-30vw,70vh)}to{transform:translate(-70vw,28vh)}}@keyframes roamC{0%{transform:translate(-6vw,-62vh)scaleX(1)}49%{transform:translate(104vw,-38vh)scaleX(1)}50%{transform:translate(104vw,-38vh)scaleX(-1)}99%{transform:translate(-6vw,-66vh)scaleX(-1)}to{transform:translate(-6vw,-62vh)scaleX(1)}}@keyframes wobble{50%{transform:rotate(-10deg)scale(1.06)}}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes flap{to{transform:rotate(-26deg)}}@media (width<=1080px){.auth2__grid{grid-template-columns:minmax(0,1fr);max-width:460px}.auth2__side{display:none}}@media (width<=520px){.auth2{padding:16px 12px}.auth2__card{border-radius:22px;padding:26px 20px 22px}.buddy--bird{display:none}}@media (prefers-reduced-motion:reduce){.roamer,.buddy{display:none}}.wsite{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.wnav{z-index:30;background:var(--nav-bg);-webkit-backdrop-filter:saturate(160%)blur(10px);backdrop-filter:saturate(160%)blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.wnav__inner{align-items:center;gap:28px;max-width:1180px;height:64px;margin:0 auto;padding:0 24px;display:flex}.wnav__brand:hover{text-decoration:none}.wnav__links{flex:1;gap:4px;display:flex}.wnav__link{color:var(--text-2);border-radius:8px;padding:8px 14px;font-weight:500}.wnav__link:hover{background:var(--muted-bg);color:var(--text);text-decoration:none}.wnav__link.is-active{color:var(--accent-text);background:var(--accent-soft)}.wnav__right{align-items:center;gap:14px;display:flex}.usermenu{position:relative}.usermenu__trigger{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:4px 8px 4px 4px;display:flex}.usermenu__trigger:hover{background:var(--surface-2)}.usermenu__name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-weight:500;overflow:hidden}.usermenu__chevron{color:var(--text-3);transition:transform .15s}.usermenu__chevron.is-open{transform:rotate(180deg)}.announce{background:var(--accent-soft);color:var(--accent-text);text-align:center;justify-content:center;align-items:center;gap:10px;padding:9px 16px;font-size:13.5px;font-weight:500;display:flex}.wmain{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:32px 24px 56px}.wfooter{border-top:1px solid var(--border);width:100%;max-width:1180px;color:var(--text-3);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 auto;padding:20px 24px 28px;font-size:13px;display:flex}.page-head,.home-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.eyebrow{color:var(--text-3);align-items:center;gap:5px;font-size:13.5px;font-weight:500;display:flex}.page-title{letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1.2}.section-title{margin-bottom:12px;font-size:15px;font-weight:600}.is-refreshing{opacity:.55;pointer-events:none;transition:opacity .15s}.home-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.home-main{flex-direction:column;gap:28px;min-width:0;display:flex}.home-aside{flex-direction:column;gap:16px;display:flex;position:sticky;top:88px}.searchbar{background:var(--surface);border:1px solid var(--border-strong);width:440px;max-width:100%;box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:4px;padding:4px 4px 4px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.searchbar:focus-within{border-color:var(--accent);box-shadow:var(--focus)}.searchbar__icon{color:var(--text-4)}.searchbar__input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:36px;padding:0 8px}.searchbar__input::placeholder{color:var(--text-4)}.searchbar__locate{width:36px;height:36px;color:var(--text-3);border-radius:8px;place-items:center;display:grid}.searchbar__locate:hover{background:var(--surface-2);color:var(--accent)}.searchbar .btn{height:36px}.current{color:#fff;border-radius:20px;padding:28px 32px;transition:background .4s;position:relative;overflow:hidden;box-shadow:0 10px 30px #243c6e2e}.current:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff38,#0000 65%);border-radius:50%;width:380px;height:380px;position:absolute;top:-160px;right:-120px}.current--night{background:linear-gradient(145deg,#121c3d 0%,#243567 60%,#3a4a85 100%)}.current__top{z-index:1;justify-content:space-between;align-items:flex-start;gap:16px;display:flex;position:relative}.current__place{align-items:center;gap:6px;font-size:19px;font-weight:600;display:flex}.current__place span{opacity:.8;font-weight:400}.current__time{opacity:.8;margin-top:2px;font-size:13.5px}.pill-btn{color:#fff;white-space:nowrap;background:#ffffff2e;border:1px solid #ffffff4d;border-radius:999px;align-items:center;gap:7px;height:34px;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.pill-btn:hover{background:#ffffff47}.pill-btn.is-saved{color:#1d3f94;background:#fff;border-color:#fff}.current__main{z-index:1;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:26px;display:flex;position:relative}.current__temp{letter-spacing:-.04em;align-items:flex-start;font-size:88px;font-weight:600;line-height:1;display:flex}.current__temp span{opacity:.85;letter-spacing:0;margin:8px 0 0 4px;font-size:28px;font-weight:500}.current__label{margin-top:10px;font-size:21px;font-weight:500}.current__meta{opacity:.88;flex-wrap:wrap;align-items:center;gap:3px;margin-top:6px;font-size:14px;display:flex}.current__meta .dot{margin:0 6px}.current__icon{opacity:.95;filter:drop-shadow(0 6px 14px #0000002e);flex-shrink:0}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:2px;padding:16px;display:flex}.metric__head{color:var(--text-3);align-items:center;gap:7px;margin-bottom:8px;font-size:12.5px;font-weight:500;display:flex}.metric__head svg{color:var(--accent)}.metric__value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:21px;font-weight:700}.metric__sub{color:var(--text-3);font-size:12.5px}.hourly{scrollbar-width:thin;gap:10px;padding:2px 2px 10px;display:flex;overflow-x:auto}.hour{background:var(--surface);border:1px solid var(--border);color:var(--text-2);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;flex:0 0 74px;align-items:center;gap:9px;padding:14px 6px;display:flex}.hour.is-now{background:var(--accent);border-color:var(--accent);color:#fff}.hour__time{white-space:nowrap;font-size:12.5px;font-weight:500}.hour__temp{color:inherit;font-size:16px;font-weight:700}.hour:not(.is-now) .hour__temp{color:var(--text)}.hour__rain{opacity:.85;align-items:center;gap:3px;font-size:11.5px;display:flex}.daily{padding:4px 20px}.day{border-bottom:1px solid var(--border);grid-template-columns:96px 28px minmax(0,1fr) 56px minmax(150px,220px);align-items:center;gap:14px;padding:13px 0;display:grid}.day:last-child{border-bottom:0}.day__name{font-weight:600}.day.is-today .day__name{color:var(--accent)}.day__cond{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.day__rain{color:var(--text-3);justify-content:flex-end;align-items:center;gap:4px;font-size:13px;display:flex}.day__range{align-items:center;gap:10px;display:flex}.day__low{color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums;width:32px}.day__high{font-variant-numeric:tabular-nums;width:32px;font-weight:600}.range{background:var(--track);border-radius:999px;flex:1;height:6px;position:relative}.range__fill{background:linear-gradient(90deg,#5aa0f2,#f2a33c);border-radius:999px;position:absolute;top:0;bottom:0}.side{padding:18px}.side .card__head{margin-bottom:10px}.side__loading{justify-content:center;padding:18px 0;display:flex}.place-list{flex-direction:column;gap:2px;margin:0 -8px;display:flex}.place-row{align-items:center;display:flex}.place{text-align:left;min-width:0;color:var(--text-2);border-radius:10px;flex:1;align-items:center;gap:12px;padding:9px 8px;display:flex}.place:hover{background:var(--surface-2)}.place__pin{color:var(--text-4)}.place__text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.place__text strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.place__text span{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.place__temp{color:var(--text);font-size:16px;font-weight:700}.place-row .icon-btn{opacity:0;transition:opacity .15s}.place-row:hover .icon-btn,.place-row .icon-btn:focus-visible{opacity:1}.fav-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.fav{flex-direction:column;gap:18px;transition:box-shadow .15s,transform .15s;display:flex}.fav__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.fav__city{font-size:17px;font-weight:600}.fav__country{color:var(--text-3);align-items:center;gap:4px;margin-top:2px;font-size:13px;display:flex}.fav__icon{color:var(--accent)}.fav__temp{letter-spacing:-.03em;flex-direction:column;gap:6px;font-size:40px;font-weight:600;line-height:1;display:flex}.fav__temp span{color:var(--text-3);letter-spacing:0;font-size:13.5px;font-weight:500}.fav__actions{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.list{padding:4px 0}.list__row{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:12px 20px;display:flex}.list__row:last-child{border-bottom:0}.list__row:hover{background:var(--hover-bg)}.list__icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.list__main{text-align:left;flex-direction:column;flex:1;min-width:0;line-height:1.35;display:flex}.list__main span{color:var(--text-3);font-size:13px}.list__main:hover strong{color:var(--accent)}.list__meta{color:var(--text-2);flex-direction:column;align-items:flex-end;font-size:13px;display:flex}@media (width<=1020px){.home-grid{grid-template-columns:1fr}.home-aside{grid-template-columns:1fr 1fr;display:grid;position:static}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.wnav__inner{flex-wrap:wrap;gap:10px 12px;height:auto;padding:10px 16px 0}.wnav__brand{order:1}.wnav__right{order:2;margin-left:auto}.wnav__links{flex:0 0 100%;order:3;padding-bottom:8px;overflow-x:auto}.usermenu__name{display:none}.wmain{padding:20px 16px 40px}.page-title{font-size:24px}.searchbar{width:100%}.current{padding:22px 20px}.current__temp{font-size:68px}.current__icon{width:76px;height:76px}.home-aside{grid-template-columns:1fr}.day{grid-template-columns:78px 26px minmax(0,1fr) minmax(120px,150px);gap:10px}.day__rain,.day__cond,.list__meta{display:none}}.wnav__right{gap:6px}.verify-banner{background:var(--warning-soft);color:var(--banner-warning-text);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:9px 16px;font-size:13.5px;display:flex}.verify-banner .link-btn{color:inherit;text-decoration:underline}.placesearch{z-index:100;width:440px;max-width:100%;position:relative}.placesearch .searchbar{width:100%}.suggest{z-index:101;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);max-height:340px;box-shadow:var(--shadow-lg);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.suggest__item{cursor:pointer;color:var(--text-3);border-radius:8px;align-items:center;gap:12px;padding:9px 10px;display:flex}.suggest__item.is-active{background:var(--accent-soft)}.suggest__text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.suggest__text strong{color:var(--text);font-weight:600}.suggest__text span{font-size:12.5px}.suggest__note{color:var(--text-3);padding:10px;font-size:13px}.alerts{flex-direction:column;gap:8px;display:flex}.alert{border:1px solid;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.alert--watch{background:var(--warning-soft);border-color:var(--banner-warning-border);color:var(--banner-warning-text)}.alert--warning{background:var(--orange-soft);border-color:var(--orange);color:var(--orange)}.alert--severe{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.alert__body{min-width:0}.alert__title{flex-wrap:wrap;align-items:center;gap:8px;font-weight:700;display:flex}.alert__level{text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:999px;padding:2px 8px;font-size:11px}.alert__text{color:var(--text);margin-top:1px;font-size:13.5px}.alerts__note{color:var(--text-3);align-items:center;gap:6px;font-size:12px;display:flex}.current__home{background:#ffffff38;border-radius:999px;align-items:center;gap:4px;margin-left:10px;padding:2px 8px;font-size:11.5px;font-style:normal;font-weight:600;display:inline-flex}.insights__summary{margin-top:10px;font-size:16px;line-height:1.55}.insights__rows{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:16px;padding-top:14px;display:flex}.insights__row{align-items:flex-start;gap:12px;display:flex}.insights__row>svg{color:var(--accent);margin-top:3px}.insights__row div{flex-direction:column;display:flex}.insights__row span{color:var(--text-3);font-size:13.5px}.recs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rec{background:var(--surface);border:1px solid var(--border);border-left-width:4px;border-radius:12px;padding:14px 16px}.rec--good{border-left-color:var(--success)}.rec--fair{border-left-color:var(--warning)}.rec--poor{border-left-color:var(--danger)}.rec__head{align-items:center;gap:10px;margin-bottom:4px;display:flex}.rec__head svg{color:var(--text-3)}.rec p{color:var(--text-3);font-size:13px}.rating{border-radius:999px;margin-left:auto;padding:2px 9px;font-size:12px;font-weight:700}.rating--good{background:var(--success-soft);color:var(--success)}.rating--fair{background:var(--warning-soft);color:var(--warning)}.rating--poor{background:var(--danger-soft);color:var(--danger)}.nowcast__headline{font-size:17px;font-weight:600}.nowcast__bars{align-items:flex-end;gap:6px;height:70px;margin-top:14px;display:flex}.nowcast__col{flex:1;align-items:flex-end;height:100%;display:flex}.nowcast__bar{background:var(--accent);opacity:.85;border-radius:4px 4px 0 0;width:100%}.nowcast--dry .nowcast__bar{background:var(--track)}.nowcast__axis{color:var(--text-3);justify-content:space-between;margin-top:4px;font-size:12px;display:flex}.air__top{align-items:center;gap:16px;margin:6px 0 14px;display:flex}.air__score{color:#fff;border-radius:18px;place-items:center;min-width:76px;height:76px;font-size:30px;font-weight:700;display:grid}.air__category{font-size:17px}.aqi--good{background:#2e9e57}.aqi--moderate{background:#e3b007;color:#2b2300!important}.aqi--sensitive{background:#ef8a1f}.aqi--unhealthy{background:#dc3c42}.aqi--veryUnhealthy{background:#8a3fb0}.aqi--hazardous{background:#7d1d3f}.aqi-pill{text-align:center;color:#fff;border-radius:999px;min-width:40px;padding:2px 10px;font-weight:700;display:inline-block}.aqi-scale{background:linear-gradient(90deg,#2e9e57 0 10%,#e3b007 10% 20%,#ef8a1f 20% 30%,#dc3c42 30% 40%,#8a3fb0 40% 60%,#7d1d3f 60% 100%);border-radius:999px;height:8px;position:relative}.aqi-scale__marker{background:var(--text);width:4px;height:16px;box-shadow:0 0 0 2px var(--surface);border-radius:2px;position:absolute;top:-4px;transform:translate(-50%)}.air__sub{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;margin:18px 0 8px;font-size:12.5px;font-weight:600}.pollutants{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.pollutants div{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:8px 10px}.pollutants dt{color:var(--text-3);font-size:12px}.pollutants dd{font-variant-numeric:tabular-nums;font-weight:700}.pollen{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;display:grid}.pollen li{justify-content:space-between;font-size:13.5px;display:flex}.level{font-size:12.5px;font-weight:600}.level--low{color:var(--success)}.level--moderate{color:var(--warning)}.level--high,.level--veryHigh{color:var(--danger)}.sunarc{width:100%;margin-top:8px}.sunarc__track{fill:none;stroke:var(--border-strong);stroke-width:2px;stroke-dasharray:4 5}.sunarc__horizon{stroke:var(--border-strong);stroke-width:1px}.sunarc__sun{fill:#f5b82e;stroke:var(--surface);stroke-width:2px}.sunarc__sun.is-down{fill:var(--text-4)}.sunarc__times{justify-content:space-between;margin-top:2px;font-weight:600;display:flex}.sunarc__times span{align-items:center;gap:6px;display:inline-flex}.golden{border-top:1px solid var(--border);flex-direction:column;gap:2px;margin-top:14px;padding-top:12px;font-size:13.5px;display:flex}.moon{border-top:1px solid var(--border);align-items:center;gap:14px;margin-top:16px;padding-top:14px;display:flex}.moon div{flex-direction:column;display:flex}.moon__dark{fill:var(--muted-bg);stroke:var(--border-strong);stroke-width:1px}.moon__lit{fill:#f1e7c4}.tempchart-wrap{position:relative}.tc-grid{stroke:var(--border);stroke-dasharray:3 4}.tc-line{fill:none;stroke-width:2.4px;stroke-linejoin:round;stroke-linecap:round}.tc-high{stroke:var(--chart-high)}.tc-low{stroke:var(--chart-low)}.tc-rain{fill:var(--chart-low);opacity:.3}.tc-cursor{stroke:var(--border-strong)}.tc-dot{fill:var(--surface);stroke-width:2px}.tc-dot--high{stroke:var(--chart-high)}.tc-dot--low{stroke:var(--chart-low)}.legend{color:var(--text-3);justify-content:center;gap:18px;margin-top:8px;font-size:12.5px;display:flex}.swatch{border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.swatch--high{background:var(--chart-high)}.swatch--low{background:var(--chart-low)}.swatch--rain{background:var(--chart-low);opacity:.35}.tempchart__temp{fill:var(--text);font-size:12px;font-weight:600;font-family:var(--font)}.radar__map{border:1px solid var(--border);z-index:0;border-radius:12px;height:420px;overflow:hidden}:root[data-theme=dark] .map-base{filter:invert()hue-rotate(180deg)brightness(.92)contrast(.95)}.radar__controls{align-items:center;gap:12px;margin-top:12px;display:flex}.radar__controls input[type=range]{accent-color:var(--accent-solid);flex:1}.radar__time{text-align:right;font-variant-numeric:tabular-nums;min-width:72px;font-weight:600}.radar__legend{color:var(--text-3);align-items:center;gap:10px;margin-top:10px;font-size:12px;display:flex}.radar__legend i{background:linear-gradient(90deg,#8de,#09f,#0c4,#fe0,#f70,#e00);border-radius:999px;flex:0 0 120px;height:8px}.fav{cursor:grab}.fav.is-dragging{opacity:.45}.fav__titles{flex:1;min-width:0}.fav__home{vertical-align:middle;margin-left:8px}.fav__grip{color:var(--text-4);flex-shrink:0}.fav__temp{flex-flow:wrap;align-items:center;gap:12px}.fav__number{letter-spacing:-.03em;font-size:40px;font-weight:600;line-height:1}.fav__cond{color:var(--text-3);letter-spacing:0;width:100%;font-size:13.5px;font-weight:500}.fav__tools{gap:2px;display:flex}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.place__home{color:var(--accent);vertical-align:middle}.compare__picker{flex-direction:column;gap:12px;display:flex}.compare__chips{flex-wrap:wrap;gap:8px;display:flex}.compare__add{flex-wrap:wrap;gap:12px;display:flex}.cmp th,.cmp td{white-space:nowrap}.cmp thead th{text-transform:none;letter-spacing:0;color:var(--text);font-size:14px}.cmp thead small{color:var(--text-3);font-weight:400;display:block}.cmp tbody th{text-align:left;color:var(--text-3);text-transform:none;letter-spacing:0;background:0 0;border-top:0;font-size:13px;font-weight:500}.cmp__big{font-size:22px}.cmp__cond{align-items:center;gap:8px;display:inline-flex}.cmp__section th{background:var(--surface-2);color:var(--text-2);font-weight:600}.trip__form{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:16px;display:grid}.trip__day{gap:16px}.trip__date{flex-direction:column;min-width:110px;display:flex}.trip__date span{color:var(--text-3);font-size:13px}.trip__summary{flex-direction:column;flex:1;display:flex}.bell,.bell .icon-btn{position:relative}.bell__count{background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:2px;right:2px}.menu--wide{width:360px;max-width:calc(100vw - 24px)}.menu__header--row{flex-direction:row;justify-content:space-between;align-items:center}.bell__list{max-height:380px;overflow-y:auto}.bell__item{text-align:left;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:10px;display:flex}.bell__item:hover{background:var(--surface-2)}.bell__item.is-unread{background:var(--accent-soft)}.bell__item span{color:var(--text-2);font-size:13px}.bell__item small{color:var(--text-3);font-size:12px}.bell__empty{text-align:center;padding:16px 10px}.pref{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.pref:last-child{border-bottom:0}.pref__label{font-weight:500}.rules{flex-direction:column;margin-bottom:16px;display:flex}.rules li{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.rules li>div{flex-direction:column;flex:1;display:flex}.rules li.is-off{opacity:.55}.rules__form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:center;gap:10px;display:grid}.devices{flex-direction:column;display:flex}.devices li{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:12px 0;display:flex}.devices li:last-child{border-bottom:0}.devices li>div{flex-direction:column;flex:1;display:flex}.devices svg{color:var(--text-3)}.twofa{flex-wrap:wrap;gap:20px;display:flex}.twofa img{border:1px solid var(--border);background:#fff;border-radius:10px;padding:6px}.secret{background:var(--surface-2);border:1px solid var(--border);letter-spacing:.08em;word-break:break-all;border-radius:8px;margin-top:4px;padding:8px 10px;font-size:13px;display:block}.backup{border:1px dashed var(--border-strong);background:var(--surface-2);border-radius:12px;padding:14px}.backup__codes{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:12px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;display:grid}@media (width<=1020px){.recs{grid-template-columns:1fr}.trip__form{grid-template-columns:1fr 1fr}.trip__go{grid-column:1/-1}}@media (width<=760px){.pollutants{grid-template-columns:repeat(2,minmax(0,1fr))}.radar__map{height:320px}.placesearch{width:100%}.trip__form{grid-template-columns:1fr}}.admin{--side-w:256px;background:var(--bg);min-height:100vh}.admin.is-collapsed{--side-w:72px}.admin__main{margin-left:var(--side-w);min-width:0;transition:margin-left .2s}.admin__content{max-width:1320px;padding:28px 32px 56px}.sidebar{z-index:50;width:var(--side-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;transition:width .2s,transform .25s;display:flex;position:fixed;inset:0 auto 0 0}.sidebar__brand{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;height:64px;padding:0 20px;display:flex}.is-collapsed .sidebar__brand{justify-content:center;padding:0}.sidebar__brand-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.sidebar__brand-text strong{letter-spacing:-.01em;font-size:15px}.sidebar__brand-text span{color:var(--text-3);font-size:12px}.sidebar__close{display:none}.sidebar__nav{flex:1;padding:8px 12px 16px;overflow-y:auto}.sidebar__group{flex-direction:column;gap:2px;display:flex}.sidebar__section{text-transform:uppercase;letter-spacing:.06em;color:var(--text-4);padding:18px 10px 6px;font-size:11.5px;font-weight:600}.sidebar__divider{background:var(--border);height:1px;margin:12px 8px}.sidebar__group:first-child .sidebar__divider{display:none}.sidebar__link{height:38px;color:var(--text-2);white-space:nowrap;border-radius:9px;align-items:center;gap:12px;padding:0 10px;font-weight:500;transition:background .12s,color .12s;display:flex}.sidebar__link svg{color:var(--text-3);transition:color .12s}.sidebar__link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.sidebar__link.is-active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.is-collapsed .sidebar__link{justify-content:center;padding:0}.sidebar__foot{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:12px;display:flex}.sidebar__me{align-items:center;gap:10px;padding:4px;display:flex}.is-collapsed .sidebar__me{flex-direction:column}.sidebar__me-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.sidebar__me-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.sidebar__me-text span{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sidebar__collapse{height:34px;color:var(--text-3);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.sidebar__collapse:hover{background:var(--surface-2);color:var(--text)}.scrim{z-index:45;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity .2s;position:fixed;inset:0}.topbar{z-index:20;background:var(--topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);align-items:center;gap:12px;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.topbar__menu{display:none}.topbar__title{flex:1;font-size:15px;font-weight:600}.ahead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.ahead__title{letter-spacing:-.02em;font-size:24px;font-weight:700}.ahead__sub{color:var(--text-3);margin-top:2px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.stats--4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:flex-start;gap:14px;padding:18px;display:flex}.stat__icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.stat__body{flex-direction:column;min-width:0;display:flex}.stat__label{color:var(--text-3);font-size:13px;font-weight:500}.stat__value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.2}.stat__sub{color:var(--text-3);align-items:center;font-size:12.5px;display:flex}.grid-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:16px;margin-top:16px;display:grid}.grid-1-2{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;padding:14px 20px;display:flex}.toolbar--wrap{row-gap:10px}.toolbar__note{margin-left:auto}.search-field{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);max-width:340px;height:40px;box-shadow:var(--shadow-sm);color:var(--text-4);flex:240px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-field:focus-within{border-color:var(--accent);box-shadow:var(--focus);color:var(--accent)}.search-field input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.search-field button{color:var(--text-3);place-items:center;display:grid}.date-field{color:var(--text-3);align-items:center;gap:8px;font-size:13px;display:flex}.date-field .input{width:150px}.usercell{text-align:left;align-items:center;gap:12px;min-width:0;display:flex}.usercell--btn:hover strong{color:var(--accent)}.usercell__text{flex-direction:column;min-width:0;line-height:1.35;display:flex}.usercell__text strong{align-items:center;font-weight:600;display:flex}.usercell__text span{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.rowmenu{display:inline-block;position:relative}.device{align-items:center;gap:6px;display:inline-flex}.device svg{color:var(--text-3)}.drawer-backdrop{z-index:90;background:var(--scrim);animation:.15s fade;position:fixed;inset:0}.drawer{background:var(--surface);width:min(520px,100%);box-shadow:var(--shadow-lg);flex-direction:column;animation:.22s ease-out slide-in;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}@keyframes slide-in{0%{opacity:0;transform:translate(40px)}}.drawer__close{z-index:2;position:absolute;top:14px;right:14px}.drawer__head{align-items:center;gap:16px;padding:28px 24px 8px;display:flex}.drawer__id{min-width:0}.drawer__id h2{letter-spacing:-.01em;font-size:20px;font-weight:700}.drawer__id p{color:var(--text-3);text-overflow:ellipsis;margin-bottom:8px;overflow:hidden}.drawer__actions{padding:12px 24px 4px}.drawer__stats{grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 24px 20px;display:grid}.drawer__body{padding:20px 24px 32px}.drawer__h{color:var(--text-2);margin:24px 0 12px;font-size:13px;font-weight:600}.drawer .banner{margin:56px 24px 0}@media (width<=1100px){.stats,.stats--4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2-1,.grid-1-2{grid-template-columns:1fr}}@media (width<=900px){.admin__main{margin-left:0}.sidebar{width:272px;box-shadow:var(--shadow-lg);transform:translate(-100%)}.sidebar.is-open{transform:none}.sidebar.is-collapsed{width:272px}.scrim.is-open{opacity:1;pointer-events:auto}.sidebar__close{display:inline-grid}.topbar{padding:0 16px}.topbar__menu{display:inline-grid}.admin__content{padding:20px 16px 48px}}@media (width<=560px){.stats,.stats--4{grid-template-columns:1fr}.topbar__site{display:none}.drawer__stats{grid-template-columns:1fr}}:root{--font:"Inter", "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bg:#f4f5fb;--surface:#fff;--surface-2:#f7f8fd;--border:#e6e8f3;--border-strong:#d3d7ea;--text:#0f1330;--text-2:#3d4466;--text-3:#636a8c;--text-4:#959bb8;--accent:#5b5df0;--accent-hover:#4a4cdc;--accent-soft:#ececff;--accent-text:#3c3ec9;--accent-solid:#5b5df0;--accent-solid-hover:#4a4cdc;--grad:linear-gradient(135deg, #6366f1 0%, #8b5cf6 52%, #06b6d4 100%);--grad-warm:linear-gradient(135deg, #f59e0b, #ec4899);--radius-sm:8px;--radius:12px;--radius-lg:18px;--shadow-sm:0 1px 2px #1f21500d;--shadow:0 6px 20px -8px #3c3e8c40;--shadow-lg:0 24px 60px -20px #1f216466;--focus:0 0 0 4px #5b5df038;--muted-bg:#eceefa;--hover-bg:#f9faff;--track:#e8eaf6;--glass:#ffffffb8;--nav-bg:#ffffffb8;--topbar-bg:#f4f5fbb8;--chart-high:#f59e0b;--chart-low:#6366f1;--ease:cubic-bezier(.2, .8, .2, 1)}:root[data-theme=dark]{--bg:#090c1c;--surface:#12162e;--surface-2:#181d3a;--border:#262c52;--border-strong:#363e6c;--text:#eef0ff;--text-2:#c3c8e6;--text-3:#959cc4;--text-4:#6d749e;--accent:#8b8dff;--accent-hover:#a5a7ff;--accent-soft:#232763;--accent-text:#c4c6ff;--accent-solid:#6b6df5;--accent-solid-hover:#8284ff;--shadow:0 6px 24px -8px #0009;--shadow-lg:0 24px 70px -20px #000c;--muted-bg:#1f2447;--hover-bg:#161b36;--track:#232850;--glass:#12162eb8;--nav-bg:#0e1126bd;--topbar-bg:#090c1cbd;--focus:0 0 0 4px #8b8dff47}html{scroll-behavior:smooth}body{background:var(--bg);letter-spacing:-.003em}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60vmax 40vmax at 8% -10%,#6366f129,#0000 60%),radial-gradient(50vmax 36vmax at 105% 0,#06b6d421,#0000 60%),radial-gradient(50vmax 40vmax at 50% 115%,#ec489917,#0000 60%);animation:26s ease-in-out infinite alternate aurora;position:fixed;inset:0}:root[data-theme=dark] body:before{opacity:.9}@keyframes aurora{to{filter:hue-rotate(18deg);transform:translateY(-2vmax)scale(1.06)}}::selection{background:#6366f140}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}@keyframes fadein{0%{opacity:0}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes growY{0%{transform:scaleY(0)}}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes shine{to{transform:translate(220%)skew(-18deg)}}@keyframes floaty{50%{transform:translateY(-6px)}}@keyframes ping{75%,to{opacity:0;transform:scale(2.2)}}.page>*,.stats>*,.home-main>*,.home-aside>*,.metrics>*,.recs>*,.fav-grid>*,.stack>*,.grid-2-1>*,.kpis>*,.tiles>*,.awards>*{animation:rise .6s var(--ease) both;animation-delay:calc(var(--n,0) * 55ms)}:is(.page,.stats,.home-main,.home-aside,.metrics,.recs,.fav-grid,.stack,.grid-2-1,.kpis,.tiles,.awards)>:first-child{--n:0}:is(.page,.stats,.home-main,.home-aside,.metrics,.recs,.fav-grid,.stack,.grid-2-1,.kpis,.tiles,.awards)>:nth-child(2){--n:1}:is(.page,.stats,.home-main,.home-aside,.metrics,.recs,.fav-grid,.stack,.grid-2-1,.kpis,.tiles,.awards)>:nth-child(3){--n:2}:is(.page,.stats,.home-main,.home-aside,.metrics,.recs,.fav-grid,.stack,.grid-2-1,.kpis,.tiles,.awards)>:nth-child(4){--n:3}:is(.page,.stats,.home-main,.home-aside,.metrics,.recs,.fav-grid,.stack,.grid-2-1,.kpis,.tiles,.awards)>:nth-child(5){--n:4}:is(.page,.stats,.home-main,.home-aside,.metrics,.recs,.fav-grid,.stack,.grid-2-1,.kpis,.tiles,.awards)>:nth-child(6){--n:5}:is(.page,.stats,.home-main,.home-aside,.metrics,.recs,.fav-grid,.stack,.grid-2-1,.kpis,.tiles,.awards)>:nth-child(7){--n:6}:is(.page,.stats,.home-main,.home-aside,.metrics,.recs,.fav-grid,.stack,.grid-2-1,.kpis,.tiles,.awards)>:nth-child(8){--n:7}:is(.page,.stats,.home-main,.home-aside,.metrics,.recs,.fav-grid,.stack,.grid-2-1,.kpis,.tiles,.awards)>:nth-child(n+9){--n:8}.reveal{opacity:0;transition:opacity .7s var(--ease) var(--d,0s), transform .7s var(--ease) var(--d,0s);transform:translateY(22px)}.reveal.is-in{opacity:1;transform:none}.is-refreshing{opacity:.6;filter:saturate(.7)}.btn{height:40px;transition:transform .18s var(--ease), box-shadow .25s, background .2s, border-color .2s, color .2s;border-radius:12px;font-weight:650;position:relative;overflow:hidden}.btn:active:not(:disabled){transform:scale(.97)}.btn--sm{border-radius:10px;height:34px}.btn--lg{border-radius:14px;height:48px;font-size:15.5px}.btn--primary{background:var(--grad);color:#fff;background-position:0 0;background-size:140% 100%;box-shadow:0 8px 20px -8px #6366f1bf}.btn--primary:hover:not(:disabled){background:var(--grad);background-position:100% 0;background-size:140% 100%;transform:translateY(-1px);box-shadow:0 12px 26px -8px #6366f1d9}.btn--primary:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);width:40%;position:absolute;inset:0 auto 0 -60%;transform:skew(-18deg)}.btn--primary:hover:not(:disabled):after{animation:.9s shine}.btn--secondary{background:var(--surface);border-color:var(--border-strong)}.btn--secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text);box-shadow:var(--shadow);transform:translateY(-1px)}.btn--danger{background:linear-gradient(135deg,#ef4444,#db2777)}.icon-btn{border-radius:10px;transition:background .15s,color .15s,transform .15s}.icon-btn:hover{transform:translateY(-1px)}.input{background:color-mix(in srgb, var(--surface) 92%, transparent);border-color:var(--border-strong);border-radius:12px;height:44px;transition:border-color .2s,box-shadow .25s,background .2s,transform .2s}.input:focus{border-color:var(--accent);box-shadow:var(--focus);transform:translateY(-1px)}.input--sm,.select--sm{height:36px}.field__label{font-size:13px;font-weight:600}.switch{background:var(--border-strong);width:46px;height:26px;transition:background .25s}.switch:after{width:22px;height:22px;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}.switch:checked{background:var(--grad)}.switch:checked:after{transform:translate(20px)}.card{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-color:var(--border);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .3s;position:relative}.card:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--accent) 26%, var(--border))}.card__title{letter-spacing:-.01em;font-size:15.5px;font-weight:700}.card--lift:hover{transform:translateY(-4px)}.section-title{letter-spacing:-.015em;align-items:center;gap:8px;font-size:16px;font-weight:750;display:flex}.section-title:before{content:"";background:var(--grad);border-radius:4px;width:4px;height:16px}.page-title,.ahead__title{letter-spacing:-.035em;font-weight:800}.page-title{font-size:32px}.eyebrow{text-transform:none;color:var(--accent-text);font-weight:600}.badge,.pill{font-weight:650}.segmented{background:var(--track);border-radius:12px;padding:4px}.segmented__btn{transition:all .25s var(--ease);border-radius:9px}.segmented__btn.is-active{background:var(--surface);color:var(--accent-text);transform:scale(1.02);box-shadow:0 4px 12px -4px #3c3e8c59}.tabs__tab.is-active{color:var(--accent-text);border-bottom-color:var(--accent)}.menu{box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb, var(--surface) 92%, transparent);border-radius:16px}.menu__item{border-radius:10px;transition:background .15s,transform .15s}.menu__item:hover{transform:translate(2px)}.modal{animation:pop-in .35s var(--ease);border-radius:22px}.toast{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px}.banner{animation:rise .4s var(--ease);border-radius:14px}.skeleton{border-radius:14px}.table th{background:color-mix(in srgb, var(--surface-2) 90%, transparent);letter-spacing:.07em;border-top:0;font-size:11.5px}.table tbody tr{transition:background .15s,transform .15s;animation:.5s both fadein}.table tbody tr:hover{background:var(--accent-soft)}.table tbody tr.is-selected{background:color-mix(in srgb, var(--accent-soft) 80%, transparent)}.wnav{background:var(--nav-bg);-webkit-backdrop-filter:saturate(180%)blur(18px);backdrop-filter:saturate(180%)blur(18px);border-bottom-color:color-mix(in srgb, var(--border) 70%, transparent)}.wnav__inner{max-width:1280px}.wnav__link{border-radius:999px;font-weight:600;transition:color .2s,background .2s;position:relative}.wnav__link:after{content:"";background:var(--grad);width:0;height:3px;transition:width .3s var(--ease);border-radius:3px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.wnav__link:hover:after,.wnav__link.is-active:after{width:18px}.wnav__link.is-active{background:var(--accent-soft)}.wmain{max-width:1280px;padding-top:28px}.wsite{background:0 0;position:relative}.wfooter{border-top-color:var(--border);max-width:1280px}.announce{background:var(--grad);color:#fff;animation:.5s both rise}.logo__text{letter-spacing:-.03em;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:800}.usermenu__trigger{transition:box-shadow .2s,transform .2s}.usermenu__trigger:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.searchbar{background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:box-shadow .3s, border-color .3s, transform .3s var(--ease);border-radius:16px}.searchbar:focus-within{transform:translateY(-2px)scale(1.01)}.suggest{animation:pop .2s var(--ease);border-radius:16px}.suggest__item{transition:background .12s,transform .12s}.suggest__item:hover,.suggest__item.is-active{transform:translate(3px)}.scene{pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.scene__sun{background:radial-gradient(circle at 35% 35%,#fff7c2,#ffd23f 55%,#ffab00);border-radius:50%;width:92px;height:92px;animation:6s ease-in-out infinite sunpulse;position:absolute;top:14%;right:9%;box-shadow:0 0 80px 28px #ffc82880}.scene__rays{background:repeating-conic-gradient(from 0deg, #ffe67847 0 6deg, transparent 6deg 18deg);border-radius:50%;width:232px;height:232px;animation:40s linear infinite spin-slow;position:absolute;top:calc(14% - 70px);right:calc(9% - 70px);-webkit-mask:radial-gradient(circle,#0000 38%,#000 40%,#0000 70%);mask:radial-gradient(circle,#0000 38%,#000 40%,#0000 70%)}@keyframes sunpulse{50%{transform:scale(1.07)}}.scene__moon{background:radial-gradient(circle at 35% 35%,#fffbe6,#e8e2c4 60%,#cfc89f);border-radius:50%;width:74px;height:74px;position:absolute;top:12%;right:12%;box-shadow:0 0 60px 18px #f0ecbe47}.scene__moon:after{content:"";background:var(--moon-cut,#141a3c);opacity:.9;border-radius:50%;width:74px;height:74px;position:absolute;top:-4px;left:18px}.scene__star{background:#fff;border-radius:50%;animation:3s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{50%{opacity:.15;transform:scale(.6)}}.scene__cloud{filter:blur(.3px);background:#fff;border-radius:999px;width:150px;height:44px;animation:linear infinite cloudmove;position:absolute;left:-30%}.scene__cloud:before,.scene__cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.scene__cloud:before{width:62px;height:62px;top:-30px;left:22px}.scene__cloud:after{width:46px;height:46px;top:-20px;left:74px}@keyframes cloudmove{to{left:120%}}.scene__drop{background:linear-gradient(#0000,#bee1ffe6);border-radius:2px;width:2px;animation:linear infinite rainfall;position:absolute;top:-40px}@keyframes rainfall{to{transform:translateY(420px)translate(-26px)}}.scene__flash{opacity:0;background:#fff;animation:7s infinite lightning;position:absolute;inset:0}@keyframes lightning{0%,91%,to{opacity:0}92%{opacity:.5}93%{opacity:0}94.5%{opacity:.35}96%{opacity:0}}.scene__flake{opacity:.9;background:#fff;border-radius:50%;animation:linear infinite snowfall;position:absolute;top:-10px}@keyframes snowfall{to{transform:translate(var(--drift), 420px) rotate(180deg)}}.scene__fog{filter:blur(20px);background:linear-gradient(90deg,#0000,#fff6,#0000);height:40%;animation:16s ease-in-out infinite alternate fogmove;position:absolute;top:40%;left:-20%;right:-20%}.scene__fog--b{animation-duration:22s;animation-direction:alternate-reverse;top:62%}@keyframes fogmove{to{transform:translate(14%)}}.current{color:#fff;isolation:isolate;border-radius:28px;min-height:270px;padding:30px 34px 26px;box-shadow:0 30px 60px -28px #28328c99}.current:after{display:none}.current>:not(.scene){z-index:2;position:relative}.current--sunny{background:linear-gradient(150deg,#2563eb 0%,#3b9bf5 55%,#7dd3fc 100%)}.current--night{--moon-cut:#1a2352;background:linear-gradient(150deg,#0b1030 0%,#1b2457 55%,#34408a 100%)}.current--cloudy{background:linear-gradient(150deg,#4b5d7a 0%,#6b7f9c 55%,#98aac4 100%)}.current--rain{background:linear-gradient(150deg,#232f4a 0%,#3b4f72 55%,#5a7096 100%)}.current--storm{background:linear-gradient(150deg,#151a2b 0%,#2a3150 55%,#46507a 100%)}.current--snow{background:linear-gradient(150deg,#5f7aa3 0%,#8ea6c8 55%,#c1d2e8 100%)}.current--fog{background:linear-gradient(150deg,#66727f 0%,#8f9aa7 55%,#bcc5cf 100%)}.current__temp{letter-spacing:-.06em;text-shadow:0 6px 30px #00000038;font-size:clamp(72px,11vw,112px);font-weight:750}.current__icon{filter:drop-shadow(0 10px 24px #00000047);animation:5s ease-in-out infinite floaty}.current__label{font-size:22px;font-weight:650}.chips-row{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.glass-chip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:32px;transition:transform .2s var(--ease), background .2s;background:#ffffff2b;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:600;display:inline-flex}.glass-chip:hover{background:#ffffff47;transform:translateY(-2px)}.pill-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .2s var(--ease), background .2s}.pill-btn:hover{transform:scale(1.05)}.pill-btn.is-saved{animation:pop .35s var(--ease)}.metric,.hour,.rec,.stat,.mini-stat{transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;border-radius:18px}.metric{background:color-mix(in srgb, var(--surface) 90%, transparent);position:relative;overflow:hidden}.metric:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%);opacity:0;border-radius:50%;width:90px;height:90px;transition:opacity .35s;position:absolute;top:-30px;right:-30px}.metric:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--accent) 35%, var(--border));transform:translateY(-5px)rotate(-.4deg)}.metric:hover:after{opacity:1}.metric__head svg{box-sizing:content-box;background:var(--accent-soft);border-radius:9px;width:16px;height:16px;padding:5px}.metric__value{letter-spacing:-.03em;font-size:24px;font-weight:800}.hour{transition:transform .25s var(--ease), box-shadow .25s}.hour:hover{box-shadow:var(--shadow);transform:translateY(-6px)}.hour.is-now{background:var(--grad);border-color:#0000;box-shadow:0 12px 24px -10px #6366f1cc}.range__fill{animation:grow .9s var(--ease) both;transform-origin:0;background:linear-gradient(90deg,#38bdf8,#f59e0b)}.day{border-radius:12px;transition:background .2s,padding .2s}.day:hover{background:var(--accent-soft);padding-left:10px;padding-right:10px}.rec{transition:transform .3s var(--ease)}.rec:hover{transform:translateY(-3px)}.nowcast__bar{transform-origin:bottom;animation:growY .8s var(--ease) both;animation-delay:calc(var(--i,0) * 45ms);background:linear-gradient(#818cf8,#22d3ee);border-radius:6px 6px 0 0}.barlist__fill{background:var(--grad);transform-origin:0;animation:grow 1s var(--ease) both}.barlist__track{height:8px}.columns__bar{transform-origin:bottom;animation:growY .8s var(--ease) both;background:linear-gradient(#818cf8,#6366f1);border-radius:6px 6px 0 0}.air__score{animation:pop-in .6s var(--ease) both;border-radius:22px}.aqi-scale__marker{transition:left .9s var(--ease)}.fav{transition:transform .35s var(--ease), box-shadow .35s}.fav:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)scale(1.01)}.fav__icon{animation:5s ease-in-out infinite floaty}.list__row{transition:background .2s,padding-left .2s}.list__row:hover{padding-left:26px}.stat{background:color-mix(in srgb, var(--surface) 90%, transparent);position:relative;overflow:hidden}.stat:before{content:"";background:var(--grad);opacity:.8;width:4px;position:absolute;inset:0 auto 0 0}.stat:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.stat__icon{background:var(--grad);color:#fff;border-radius:14px;width:44px;height:44px;box-shadow:0 8px 18px -8px #6366f1e6}.stat__value{letter-spacing:-.04em;font-size:28px;font-weight:800}.live-dot{position:relative}.live-dot:after{content:"";background:inherit;border-radius:50%;animation:1.8s infinite ping;position:absolute;inset:0}.sidebar{color:#c9cdf0;background:linear-gradient(190deg,#12163a 0%,#0c0f27 70%);border-right:0;box-shadow:8px 0 40px -20px #0009}.sidebar__brand{border-bottom-color:#ffffff12}.sidebar__brand-text strong{color:#fff}.sidebar__brand-text span{color:#8f95c4}.sidebar__section{color:#6f76ab}.sidebar__link{color:#b4b9e0;transition:background .2s, color .2s, transform .2s var(--ease);border-radius:12px;position:relative}.sidebar__link svg{color:#858cc0}.sidebar__link:hover{color:#fff;background:#ffffff12;transform:translate(3px)}.sidebar__link:hover svg{color:#c4c8ff}.sidebar__link.is-active{color:#fff;background:linear-gradient(90deg,#6366f161,#6366f114)}.sidebar__link.is-active svg{color:#a5a8ff}.sidebar__link.is-active:before{content:"";background:var(--grad);border-radius:0 4px 4px 0;width:4px;position:absolute;top:8px;bottom:8px;left:-12px;box-shadow:0 0 14px #818cf8}.sidebar__foot{border-top-color:#ffffff12}.sidebar__me-text strong{color:#fff}.sidebar__me-text span{color:#8f95c4}.sidebar .icon-btn{color:#9aa0d0}.sidebar .icon-btn:hover{color:#fff;background:#ffffff14}.sidebar__collapse{color:#8f95c4}.sidebar__collapse:hover{color:#fff;background:#ffffff12}.sidebar__badge{color:#fff;min-width:20px;height:20px;animation:pop .4s var(--ease);background:#ef4444;border-radius:999px;place-items:center;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:grid}.topbar{background:var(--topbar-bg);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px)}.topbar__title{letter-spacing:-.02em;font-size:16px;font-weight:750}.admin__content{max-width:1440px}.viz{width:100%}.viz__stage{position:relative}.viz__svg{touch-action:pan-y;display:block;overflow:visible}.viz__grid{stroke:var(--border);stroke-dasharray:3 5}.viz__crosshair{stroke:var(--text-4);stroke-dasharray:3 3}.viz__line.is-draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw 1.3s var(--ease) forwards;animation-delay:calc(var(--i,0) * .12s)}.viz__area{animation:1.2s .3s both fadein}.viz__bar{animation:growY .8s var(--ease) both;animation-delay:calc(var(--i,0) * 35ms);transform-box:view-box;transition:filter .2s,opacity .2s}.viz__bar.is-hot{filter:brightness(1.15)drop-shadow(0 4px 8px #6366f173)}.viz__tip{background:var(--toast-bg,#101433);color:#fff;min-width:130px;box-shadow:var(--shadow-lg);pointer-events:none;z-index:3;border-radius:12px;flex-direction:column;gap:3px;padding:9px 12px;font-size:12.5px;animation:.15s fadein;display:flex;position:absolute;top:0;transform:translate(-50%,-4px)}.viz__tip-title{color:#a9aed8;font-size:11.5px;font-weight:600}.viz__tip-row{align-items:center;gap:8px;display:flex}.viz__tip-row b{font-variant-numeric:tabular-nums;margin-left:auto;padding-left:14px}.viz__tip-row i,.viz__chip i,.donut__legend i{border-radius:3px;flex-shrink:0;width:9px;height:9px;display:inline-block}.viz__legend{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;display:flex}.viz__chip{height:28px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);transition:all .2s var(--ease);border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}button.viz__chip:hover{border-color:var(--accent);transform:translateY(-2px)}.viz__chip.is-off{opacity:.45;text-decoration:line-through}.viz__chip.is-static{cursor:default}.donut{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;display:flex}.donut__chart{flex-shrink:0;position:relative}.donut__slice{transition:stroke-width .25s var(--ease), opacity .25s;cursor:pointer;animation:.8s both fadein;animation-delay:calc(var(--i) * 90ms)}.donut__center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:0 30px;display:flex;position:absolute;inset:0}.donut__center strong{letter-spacing:-.04em;font-size:26px;font-weight:800;line-height:1.1}.donut__center span{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:12px;overflow:hidden}.donut__center em{color:var(--accent-text);font-size:12px;font-style:normal;font-weight:700}.donut__legend{flex-direction:column;flex:1;gap:4px;min-width:150px;display:flex}.donut__legend li{border-radius:9px;align-items:center;gap:9px;padding:5px 8px;font-size:13px;transition:background .15s,transform .15s;display:flex}.donut__legend li.is-active,.donut__legend li:hover{background:var(--accent-soft);transform:translate(3px)}.donut__legend b{font-variant-numeric:tabular-nums;margin-left:auto}.heat__grid{flex-direction:column;gap:3px;display:flex}.heat__row,.heat__axis{grid-template-columns:38px repeat(var(--cols), minmax(0, 1fr));align-items:center;gap:3px;display:grid}.heat__rowlabel{color:var(--text-3);font-size:11px}.heat__cell{aspect-ratio:1;background:color-mix(in srgb, var(--accent) calc(var(--a) * 100%), var(--track));min-height:12px;transition:transform .15s var(--ease), box-shadow .15s;animation:.6s both fadein;animation-delay:calc(var(--i) * 40ms);cursor:pointer;border-radius:5px}.heat__cell:hover,.heat__cell.is-hot{z-index:2;box-shadow:0 6px 14px -4px var(--accent);position:relative;transform:scale(1.5)}.heat__axis{margin-top:4px}.heat__axis span{color:var(--text-3);text-align:center;white-space:nowrap;font-size:10.5px;overflow:visible}.heat__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.heat__scale{color:var(--text-3);align-items:center;gap:8px;display:inline-flex}.heat__scale i{background:linear-gradient(90deg, var(--track), var(--accent));border-radius:999px;width:90px;height:8px}.gauge{margin:0 auto;position:relative}.gauge__read{flex-direction:column;align-items:center;margin-top:-6px;line-height:1.1;display:flex}.gauge__read strong{letter-spacing:-.03em;font-size:22px;font-weight:800}.gauge__read span{color:var(--text-3);font-size:12px}.gauge__arc,.ring__arc{animation:arcin 1.4s var(--ease) both}@keyframes arcin{0%{stroke-dashoffset:var(--len)}}.gauge__needle{transition:transform 1.2s cubic-bezier(.3,1.4,.5,1);animation:1.2s cubic-bezier(.3,1.4,.5,1) both needle}@keyframes needle{0%{transform:rotate(-90deg)}}.ring{flex-shrink:0;position:relative}.ring__inner{letter-spacing:-.02em;text-align:center;place-items:center;font-size:15px;font-weight:800;line-height:1.1;display:grid;position:absolute;inset:0}.compass{margin:0 auto;position:relative}.compass__dir{fill:var(--text-3);font-size:11px;font-weight:700}.compass__arrow{transition:transform 1.4s cubic-bezier(.3,1.4,.5,1);animation:1.4s cubic-bezier(.3,1.4,.5,1) both needle2}@keyframes needle2{0%{transform:rotate(0)}}.compass__read{justify-content:center;align-items:baseline;gap:4px;margin-top:2px;line-height:1.05;display:flex}.compass__read strong{font-size:18px;font-weight:800}.compass__read span{color:var(--text-3);font-size:10.5px}.spark{display:block;overflow:visible}.empty__icon{background:var(--accent-soft);width:64px;height:64px;color:var(--accent);border-radius:20px;animation:4s ease-in-out infinite floaty}.avatar{box-shadow:0 0 0 2px var(--surface), 0 4px 12px -4px #00000059}.chart__tip{box-shadow:var(--shadow-lg);border-radius:12px}.drawer{border-radius:24px 0 0 24px}.divider{color:var(--text-4)}@media (width<=760px){.page-title{font-size:26px}.current{border-radius:22px;padding:22px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-16{margin-bottom:16px}.card--center{text-align:center;flex-direction:column;align-items:center;display:flex}.card--center .card__head{align-self:stretch}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn--danger-outline{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn--danger-outline:hover:not(:disabled){background:var(--danger-soft)}.textarea{resize:vertical;height:auto;min-height:110px;padding:12px 14px;font-family:inherit;line-height:1.5}.chips{flex-wrap:wrap;gap:8px;display:flex}.viz__chip.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.viz__legend--inline{justify-content:flex-end;margin:0}.count-pill{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:8px;padding:0 6px;font-size:11px;display:inline-grid}.bignum{letter-spacing:-.04em;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;margin:18px 0 4px;font-size:38px;font-weight:800;display:block}.nowrap{white-space:nowrap}td.check,th.check{width:40px;padding-right:0}td.check input,th.check input{width:16px;height:16px;accent-color:var(--accent-solid);cursor:pointer}.wsky{z-index:-1;pointer-events:none;opacity:.5;height:520px;transition:opacity .6s;position:fixed;inset:0 0 auto;-webkit-mask:linear-gradient(#000 20%,#0000);mask:linear-gradient(#000 20%,#0000)}.wsky--sunny{background:linear-gradient(#7dd3fc,#0000)}.wsky--night{background:linear-gradient(#1e2a6b,#0000)}.wsky--cloudy,.wsky--fog{background:linear-gradient(#94a3b8,#0000)}.wsky--rain{background:linear-gradient(#64748b,#0000)}.wsky--storm{background:linear-gradient(#475569,#0000)}.wsky--snow{background:linear-gradient(#bfdbfe,#0000)}:root[data-theme=dark] .wsky{opacity:.38}.aqi-dot{border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 2px #ffffff80}.explorer__tabs{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.explorer__tab{border:1px solid var(--border);background:var(--surface-2);height:32px;color:var(--text-2);transition:all .25s var(--ease);border-radius:999px;padding:0 14px;font-size:13px;font-weight:600}.explorer__tab:hover{border-color:var(--c);transform:translateY(-2px)}.explorer__tab.is-active{background:var(--c);border-color:var(--c);color:#fff;box-shadow:0 8px 18px -8px var(--c)}.explorer__stats{border-top:1px solid var(--border);flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:14px;padding-top:14px;display:flex}.explorer__stats>div{background:var(--surface-2);border-radius:14px;flex-direction:column;flex:110px;padding:10px 14px;display:flex}.explorer__stats span,.explorer__stats small{color:var(--text-3);font-size:12px}.explorer__stats strong{letter-spacing:-.03em;font-size:20px;font-weight:800}.explorer__toggle{align-items:center;gap:10px;padding:0 6px;font-size:13px;font-weight:600;display:flex}.metrics--rich{grid-template-columns:repeat(4,minmax(0,1fr))}.metric--viz{text-align:center;align-items:center;gap:8px}.metric--viz .metric__head{align-self:flex-start;margin-bottom:0}.metric--viz .metric__sub{min-height:32px}.bar{background:var(--track);border-radius:999px;height:7px;margin:8px 0 4px;overflow:hidden}.bar i{border-radius:inherit;background:var(--grad);height:100%;animation:grow 1s var(--ease) both;transform-origin:0;display:block}.trend{border-radius:999px;align-items:center;gap:4px;width:fit-content;margin-top:4px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.trend--rising{background:var(--success-soft);color:var(--success)}.trend--falling{background:var(--danger-soft);color:var(--danger)}.trend--steady{background:var(--muted-bg);color:var(--text-2)}.pollen-index{flex-direction:column;gap:8px;display:flex}.pollen-index li{grid-template-columns:70px 1fr 40px;align-items:center;gap:10px;font-size:13.5px;display:grid}.pollen-index .bar{margin:0}.official{flex-direction:column;gap:10px;display:flex}.official__item{animation:rise .5s var(--ease) both;border:1px solid;border-radius:16px;padding:12px 16px}.official__item--minor,.official__item--moderate{background:var(--warning-soft);border-color:var(--banner-warning-border);color:var(--banner-warning-text)}.official__item--severe{background:var(--orange-soft);border-color:var(--orange);color:var(--orange)}.official__item--extreme{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.official__item summary{cursor:pointer;align-items:center;gap:12px;list-style:none;display:flex}.official__item summary::-webkit-details-marker{display:none}.official__title{flex-direction:column;flex:1;line-height:1.3;display:flex}.official__title small{opacity:.8;font-weight:400}.official__item p{color:var(--text);margin-top:10px;font-size:14px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.kpis--2{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis--6{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width>=1700px){.kpis--6{grid-template-columns:repeat(6,minmax(0,1fr))}}.kpi{background:color-mix(in srgb, var(--surface) 90%, transparent);border:1px solid var(--border);transition:transform .3s var(--ease), box-shadow .3s;border-radius:18px;align-items:center;gap:14px;padding:16px;display:flex}.kpi:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.kpi>div{flex-direction:column;min-width:0;display:flex}.kpi strong{letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:800;overflow:hidden}.kpi span:not(.kpi__icon){color:var(--text-3);font-size:12.5px}.kpi__icon{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:18px;display:grid;box-shadow:0 8px 18px -8px #6366f1}.kpi__icon--cyan{box-shadow-color:#06b6d4;background:linear-gradient(135deg,#06b6d4,#3b82f6)}.kpi__icon--pink{background:linear-gradient(135deg,#ec4899,#f43f5e)}.kpi__icon--amber{background:linear-gradient(135deg,#f59e0b,#f97316)}.fav-summary{margin-bottom:18px}.topplaces{flex-direction:column;gap:4px;display:flex}.topplaces button{text-align:left;border-radius:12px;grid-template-columns:30px minmax(120px,200px) 1fr auto;align-items:center;gap:14px;width:100%;padding:9px 10px;transition:background .15s,transform .15s;display:grid}.topplaces button:hover{background:var(--accent-soft);transform:translate(4px)}.topplaces__name{flex-direction:column;min-width:0;line-height:1.25;display:flex}.topplaces__name small{color:var(--text-3)}.topplaces__bar{background:var(--track);border-radius:999px;height:8px;overflow:hidden}.topplaces__bar i{background:var(--grad);border-radius:inherit;height:100%;animation:grow 1s var(--ease) both;transform-origin:0;display:block}.rank{background:var(--accent-soft);width:26px;height:26px;color:var(--accent-text);border-radius:9px;place-items:center;font-size:12px;font-weight:800;display:grid}.toolbar--plain{margin:18px 0 10px;padding:0}.timeline{margin-bottom:18px}.timeline__label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);align-items:center;gap:10px;margin:8px 0 8px 4px;font-size:13px;font-weight:700;display:flex}.timeline__label:after{content:"";background:var(--border);flex:1;height:1px}.hero-profile{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 50%,#0891b2 100%);border-radius:28px;flex-wrap:wrap;align-items:center;gap:22px;padding:28px 32px;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 60px -30px #4f46e5cc}.hero-profile__glow{background:radial-gradient(circle,#ffffff4d,#0000 65%);border-radius:50%;width:380px;height:380px;animation:8s ease-in-out infinite floaty;position:absolute;top:-160px;right:-100px}.hero-profile>:not(.hero-profile__glow){position:relative}.hero-profile__text{flex:1;min-width:220px}.hero-profile h2{letter-spacing:-.03em;font-size:28px;font-weight:800}.hero-profile p{opacity:.88}.hero-profile .eyebrow{color:#c7d2fe}.hero-profile .ring__inner{color:#fff;font-size:14px}.hero-profile .avatar{box-shadow:0 0 0 4px #ffffff59,0 12px 28px -8px #00000080}.awards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.award{--c:#6366f1;background:var(--surface-2);border:1px solid var(--border);transition:transform .3s var(--ease), box-shadow .3s;filter:grayscale(.85);opacity:.85;border-radius:18px;flex-direction:column;gap:4px;padding:18px;display:flex;position:relative;overflow:hidden}.award.is-done{filter:none;opacity:1;border-color:color-mix(in srgb, var(--c) 45%, var(--border));box-shadow:0 14px 30px -18px var(--c)}.award:hover{transform:translateY(-4px)}.award__icon{color:#fff;background:linear-gradient(135deg, var(--c), color-mix(in srgb, var(--c) 55%, #fff));border-radius:15px;place-items:center;width:46px;height:46px;margin-bottom:6px;display:grid}.award.is-done .award__icon{animation:4s ease-in-out infinite floaty}.award small{color:var(--text-3)}.award em{color:var(--c);font-size:12px;font-style:normal;font-weight:700}.award--indigo{--c:#6366f1}.award--pink{--c:#ec4899}.award--cyan{--c:#06b6d4}.award--amber{--c:#f59e0b}.award--violet{--c:#8b5cf6}.award--slate{--c:#64748b}.push{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.push__icon{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:13px;place-items:center;display:grid}.push__text{flex-direction:column;flex:1;min-width:180px;display:flex}.push__text span{color:var(--text-3);font-size:13px}.tickets{flex-direction:column;gap:10px;display:flex}.ticket{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;overflow:hidden}.ticket__head,.ticket-card__head{text-align:left;flex-wrap:wrap;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.ticket__head strong{flex:1}.ticket__body{flex-direction:column;gap:10px;padding:4px 16px 16px;display:flex}.bubble{background:var(--surface);border:1px solid var(--border);max-width:82%;animation:pop .3s var(--ease);border-radius:16px;padding:10px 14px}.bubble small{color:var(--text-3);font-size:11.5px}.bubble p{white-space:pre-wrap;margin-top:2px}.bubble--user{background:var(--accent-soft);border-color:#0000;border-bottom-right-radius:4px;align-self:flex-end}.bubble--admin{border-bottom-left-radius:4px}.ticket__reply{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ticket__reply .input{flex:1;min-width:160px}.ticket-card{padding:0}.ticket-card__subject{flex-direction:column;flex:1;min-width:160px;display:flex}.ticket-card__subject span{color:var(--text-3);font-size:12.5px}.ticket-card--open{border-left:4px solid var(--accent)}.admin-hero{color:#fff;animation:rise .6s var(--ease) both;background:linear-gradient(120deg,#312e81 0%,#4f46e5 45%,#0ea5e9 100%);border-radius:26px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:26px 30px;display:flex;position:relative;overflow:hidden;box-shadow:0 26px 50px -28px #312e81e6}.admin-hero:before{content:"";pointer-events:none;background:radial-gradient(500px 220px at 90% 0,#ffffff40,#0000 70%),repeating-linear-gradient(120deg,#ffffff0d 0 2px,#0000 2px 22px);position:absolute;inset:0}.admin-hero>*{position:relative}.admin-hero h1{letter-spacing:-.035em;font-size:26px;font-weight:800}.admin-hero p{opacity:.9;margin-top:2px}.admin-hero .eyebrow{color:#c7d2fe}.admin-hero a{color:#fde68a;font-weight:700}.admin-hero .segmented{background:#ffffff29}.admin-hero .segmented__btn{color:#e0e7ff}.admin-hero .segmented__btn.is-active{color:#3730a3;background:#fff}.kpi-card{--c:#6366f1;background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--border);transition:transform .3s var(--ease), box-shadow .3s;border-radius:18px;flex-direction:column;gap:8px;padding:16px 16px 14px;display:flex;position:relative;overflow:hidden}.kpi-card:after{content:"";background:var(--c);opacity:.8;transform-origin:0;height:3px;animation:grow 1s var(--ease) both;position:absolute;bottom:0;left:0;right:0}.kpi-card:hover{box-shadow:0 18px 36px -18px var(--c);transform:translateY(-5px)}.kpi-card__top{align-items:center;gap:8px;display:flex}.kpi-card__icon{width:30px;height:30px;color:var(--c);background:color-mix(in srgb, var(--c) 14%, transparent);border-radius:10px;place-items:center;display:grid}.kpi-card__label{color:var(--text-3);flex:1;font-size:12.5px;font-weight:600}.kpi-card__body{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.kpi-card__body strong{letter-spacing:-.04em;font-size:28px;font-weight:800;line-height:1.1}.kpi-card__sub{color:var(--text-3);font-size:12px}.delta{border-radius:999px;align-items:center;gap:2px;padding:2px 7px;font-size:11.5px;font-weight:700;display:inline-flex}.delta--up{background:var(--success-soft);color:var(--success)}.delta--down{background:var(--danger-soft);color:var(--danger)}.tiles{gap:10px;display:grid}.tiles--2{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{--c:#6366f1;background:var(--surface-2);border:1px solid var(--border);color:var(--text);transition:transform .25s var(--ease), box-shadow .25s, border-color .25s;border-radius:14px;align-items:center;gap:12px;padding:14px;font-weight:650;display:flex}.tile span{color:#fff;background:linear-gradient(135deg, var(--c), color-mix(in srgb, var(--c) 55%, #fff));width:38px;height:38px;transition:transform .3s var(--ease);border-radius:12px;place-items:center;display:grid}.tile:hover{border-color:var(--c);box-shadow:0 14px 26px -16px var(--c);text-decoration:none;transform:translateY(-3px)}.tile:hover span{transform:rotate(-8deg)scale(1.1)}.podium{flex-direction:column;gap:6px;display:flex}.podium li{background:var(--surface-2);animation:rise .5s var(--ease) both;animation-delay:calc(var(--i) * 70ms);border-radius:12px;grid-template-columns:30px 1fr auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.podium small{color:var(--text-3)}.podium li:first-child{background:linear-gradient(90deg,#f59e0b2e,#0000)}.bulkbar{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);animation:pop .25s var(--ease);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 20px 12px;padding:10px 14px;display:flex}.bulkbar strong{color:var(--accent-text);margin-right:6px}.cohort{flex-direction:column;gap:4px;display:flex;overflow-x:auto}.cohort__row{grid-template-columns:110px 70px repeat(6,minmax(54px,1fr));align-items:center;gap:4px;min-width:560px;font-size:13px;display:grid}.cohort__row--head{color:var(--text-3);font-size:11.5px;font-weight:600}.cohort__cell{text-align:center;background:color-mix(in srgb, var(--accent) calc(var(--a) * 100%), var(--track));color:#fff;animation:pop .5s var(--ease) both;border-radius:8px;padding:9px 0;font-size:12.5px;font-weight:700}.cohort__cell.is-empty{background:0 0}.checklist{flex-direction:column;gap:6px;display:flex}.checklist li{background:var(--surface-2);color:var(--text-3);animation:rise .5s var(--ease) both;animation-delay:calc(var(--i) * 60ms);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.checklist li>div{flex-direction:column;flex:1;line-height:1.3;display:flex}.checklist strong{color:var(--text)}.checklist span{font-size:12px}.checklist em{font-size:12px;font-style:normal;font-weight:700}.checklist li.is-on,.checklist li.is-on em{color:var(--success)}.maint{z-index:999;background:linear-gradient(#dbeafe,#ede9fe);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.maint__card{text-align:center;background:var(--surface);max-width:420px;box-shadow:var(--shadow-lg);animation:pop-in .6s var(--ease);border-radius:28px;flex-direction:column;align-items:center;gap:10px;padding:32px;display:flex}.maint__card h1{letter-spacing:-.03em;font-weight:800}.maint__card p{color:var(--text-3);margin-bottom:8px}.aqi--good.aqi-dot{background:#2e9e57}.aqi--moderate.aqi-dot{background:#e3b007}.aqi--sensitive.aqi-dot{background:#ef8a1f}.aqi--unhealthy.aqi-dot{background:#dc3c42}.aqi--veryUnhealthy.aqi-dot{background:#8a3fb0}.aqi--hazardous.aqi-dot{background:#7d1d3f}@media (width<=1100px){.kpis,.metrics--rich{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:1fr}.awards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.grid-2{grid-template-columns:1fr}.kpis--6,.kpis--2{grid-template-columns:repeat(2,minmax(0,1fr))}.awards{grid-template-columns:1fr}.admin-hero{padding:20px}.topplaces button{grid-template-columns:26px 1fr auto}.topplaces__bar{display:none}.hero-profile{padding:22px}}@media (width<=520px){.kpis,.kpis--6,.kpis--2,.metrics--rich{grid-template-columns:1fr}}.hero-profile{flex:none;align-content:center;align-self:stretch;height:auto;min-height:0}.page>.kpis,.page>.reveal{margin-bottom:16px}.page>.reveal.is-in:last-child{margin-bottom:0}.fav__actions{flex-wrap:wrap;gap:6px}.fav__actions .btn{white-space:nowrap;flex-shrink:0}.page-head,.home-head,:is(.page,.stack,.grid-2,.grid-2-1,.home-main,.home-aside,.card)>:focus-within,.card:focus-within{z-index:20;position:relative}.placesearch{z-index:20}.task-form-card,.task-list-card{box-sizing:border-box;background:#fff;border:1px solid #e8e8e8;border-radius:18px;width:min(700px,90%);margin:30px auto;padding:25px;box-shadow:0 8px 30px #0000000f}.task-form-header{margin-bottom:20px}.task-form-header h2{color:#171717;margin:0;font-size:24px}.task-form-header p{color:#777;margin:6px 0 0;font-size:14px}.task-form{flex-direction:column;gap:12px;display:flex}.task-form input{box-sizing:border-box;border:1px solid #ddd;border-radius:10px;outline:none;width:100%;padding:14px 16px;font-size:15px;transition:all .2s}.task-form input:focus{border-color:#111;box-shadow:0 0 0 3px #00000012}.task-form button{color:#fff;cursor:pointer;background:#111;border:none;border-radius:10px;padding:13px 18px;font-size:15px;font-weight:600;transition:all .2s}.task-form button:hover{background:#292929;transform:translateY(-1px)}.task-preview{color:#666;background:#f7f7f7;border-radius:8px;min-height:20px;margin:5px 0 0;padding:10px 12px;font-size:14px}.task-list-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.task-list-header h2{color:#171717;margin:0;font-size:24px}.task-list-header p{color:#777;margin:6px 0 0;font-size:14px}.task-count{color:#fff;background:#111;border-radius:50%;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 8px;font-size:14px;font-weight:600;display:flex}.tasks-container{flex-direction:column;gap:10px;display:flex}.task-item{background:#f8f8f8;border:1px solid #eee;border-radius:12px;align-items:center;gap:12px;padding:15px;transition:all .2s;display:flex}.task-item:hover{border-color:#d8d8d8;transform:translateY(-2px);box-shadow:0 5px 15px #0000000d}.task-check{border:2px solid #aaa;border-radius:50%;flex-shrink:0;width:18px;height:18px}.task-item p{color:#222;word-break:break-word;margin:0;font-size:15px}
