:root{color-scheme:light;--color-primary:#0077b3;--color-primary-hover:#006ea6;--color-primary-active:#069;--color-primary-light:#0af;--color-primary-dark:#069;--color-secondary:#e6c200;--color-secondary-light:gold;--color-secondary-dark:#a68c00;--color-error:#dc2d1b;--color-success:#3e8044;--color-warning:#bf7100;--color-info:var(--color-primary);--color-bg:#f2f4f7;--color-bg-surface:#fff;--color-bg-elevated:#fff;--color-bg-alt:#f2f4f7;--color-bg-hover:#ebedf0;--color-bg-active:#dfe2e6;--color-bg-disabled:#f2f4f7;--color-segment-track:#e3e5e9;--color-segment-thumb:#fff;--color-text:#1c1c1e;--color-text-muted:#6e6e73;--color-text-subtle:#8e8e93;--color-text-alt:var(--color-text-subtle);--color-text-disabled:#aeaeb2;--color-text-on-primary:#fff;--color-text-on-secondary:#1c1c1e;--color-text-on-accent:#fff;--color-text-on-warning:#1c1c1e;--color-border:#d9dbe0;--color-border-light:#e8eaee;--color-border-strong:#8e8e93;--color-border-dark:var(--color-border-strong);--color-border-hover:var(--color-border-strong);--color-border-focus:var(--color-primary);--shadow-sm:0 1px 2px rgba(0,0,0,.04),0 1px 3px rgba(0,0,0,.06);--shadow-md:0 2px 8px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.06);--shadow-lg:0 8px 24px rgba(0,0,0,.08),0 16px 48px rgba(0,0,0,.08);--shadow-xl:0 24px 64px rgba(0,0,0,.16);--shadow-card:var(--shadow-sm);--primary-400:var(--color-primary-light);--primary-500:var(--color-primary);--primary-700:var(--color-primary-dark);--primary-text:var(--color-primary-dark);--primary-soft:color-mix(in srgb,var(--color-primary) 12%,transparent);--primary-faint:color-mix(in srgb,var(--color-primary) 8%,transparent);--primary-line:color-mix(in srgb,var(--color-primary) 35%,transparent);--gray-soft:color-mix(in srgb,var(--color-text-muted) 12%,transparent);--error-text:var(--color-error);--color-bg-field:var(--color-bg-elevated);--color-bg-zebra-row1:var(--color-bg-hover);--chart-series:var(--color-primary);--chart-comparison:var(--color-secondary);--chart-grid:var(--color-border-light);--gray-50:#f2f4f7;--gray-100:#e8eaee;--gray-200:#d9dbe0;--gray-300:#c7c7cc;--gray-400:#aeaeb2;--gray-500:#8e8e93;--gray-600:#636366;--gray-700:#48484a;--gray-800:#3a3a3c;--gray-900:#2c2c2e;--gray-950:#1c1c1e}:root.dark{color-scheme:dark;--color-primary:#3bf;--color-primary-hover:#4dc3ff;--color-primary-active:#1ab2ff;--color-primary-light:#6cf;--color-primary-dark:#1ab2ff;--color-secondary:gold;--color-secondary-light:#ffe033;--color-secondary-dark:#e6c200;--color-error:#ff6b5b;--color-success:#6fc777;--color-warning:#ffb340;--color-info:var(--color-primary);--color-bg:#000;--color-bg-surface:#1c1c1e;--color-bg-elevated:#2c2c2e;--color-bg-alt:#2c2c2e;--color-bg-hover:#2c2c2e;--color-bg-active:#3a3a3c;--color-bg-disabled:#1c1c1e;--color-segment-track:#2c2c2e;--color-segment-thumb:#636366;--color-text:#f5f5f7;--color-text-muted:#aeaeb2;--color-text-subtle:#8e8e93;--color-text-alt:var(--color-text-subtle);--color-text-disabled:#636366;--color-text-on-primary:#0b1a24;--color-text-on-secondary:#0b1a24;--color-text-on-accent:#fff;--color-text-on-warning:#0b1a24;--color-border:#38383a;--color-border-light:#2c2c2e;--color-border-strong:#7c7c80;--color-border-dark:var(--color-border-strong);--color-border-hover:var(--color-border-strong);--color-border-focus:var(--color-primary);--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 8px 24px rgba(0,0,0,.5);--shadow-lg:0 16px 48px rgba(0,0,0,.6);--shadow-xl:0 24px 64px rgba(0,0,0,.7);--shadow-card:none;--primary-400:var(--color-primary-light);--primary-500:var(--color-primary);--primary-700:var(--color-primary-dark);--primary-text:var(--color-primary-light);--primary-soft:color-mix(in srgb,var(--color-primary) 12%,transparent);--primary-faint:color-mix(in srgb,var(--color-primary) 8%,transparent);--primary-line:color-mix(in srgb,var(--color-primary) 35%,transparent);--gray-soft:color-mix(in srgb,var(--color-text-muted) 12%,transparent);--error-text:var(--color-error);--color-bg-field:var(--color-bg-elevated);--color-bg-zebra-row1:var(--color-bg-hover);--chart-series:var(--color-primary);--chart-comparison:var(--color-secondary);--chart-grid:var(--color-border-light)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert{align-items:center;animation:slideInDown .3s ease;border-radius:12px;display:grid;gap:16px;grid-template-columns:20px 1fr;margin-bottom:24px;padding:24px;text-align:left}.alert i{font-size:1.2rem;margin-top:2px}.alert-success{background:color-mix(in srgb,var(--color-success) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-success) 30%,transparent);color:var(--color-success)}.alert-error{background:color-mix(in srgb,var(--color-error) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 25%,transparent);color:var(--color-error)}.alert-error p{color:var(--color-error);margin:0;padding:0}.btn{align-items:center;border:1px solid transparent;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:12px;justify-content:center;max-width:100%;padding:12px 24px;text-decoration:none;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);white-space:nowrap}.btn i{font-size:1.1em}.btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.btn-primary{background:var(--color-primary);color:var(--color-text-on-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:active{background:var(--color-primary-active)}.btn-outline{background:transparent;border-color:var(--color-border-strong);color:var(--color-text)}.btn-outline:hover{background:var(--color-bg-hover)}.btn-outline:active{background:var(--color-bg-active)}.btn-block{display:flex;text-align:center;width:100%}theme-switcher-button{display:inline-flex;min-height:36px}.theme-switcher{background:var(--color-segment-track);border-radius:8px;display:inline-flex;gap:2px;padding:2px}.theme-switcher__option{align-items:center;background:transparent;border:none;border-radius:5px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.75rem;font-weight:500;gap:4px;line-height:1;min-height:30px;padding:0 8px;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.theme-switcher__option:hover{background:var(--color-bg-hover);color:var(--color-text)}.theme-switcher__option:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:1px}.theme-switcher__option--selected,.theme-switcher__option--selected:hover{background:var(--color-segment-thumb);box-shadow:var(--shadow-sm);color:var(--color-text)}@media(pointer:coarse){.theme-switcher__option{min-height:38px}}.theme-switcher__icon{fill:currentColor;flex-shrink:0;height:16px;width:16px}@media(pointer:coarse){theme-switcher-button{min-height:44px}}@media(prefers-reduced-motion:reduce){.theme-switcher__option{transition:none}}.auth-card{animation:fadeIn .45s cubic-bezier(.4,0,.2,1);container-type:inline-size;width:100%}.auth-card__header{margin-bottom:24px;text-align:center}.auth-card__brand{align-items:center;display:flex;gap:12px;justify-content:center}.auth-card__logo{display:inline-flex;flex-shrink:0;height:36px;width:36px}.auth-card__logo svg{height:100%;width:100%}.auth-card__title{color:var(--color-text);font-size:1.5rem;font-weight:600;line-height:1.25;margin:0}@media(max-width:576px){.auth-card__title{font-size:1.25rem}}.auth-card__subtitle{color:var(--color-text-subtle);font-size:.875rem;line-height:1.5;margin:4px 0 0}.auth-card__subtitle strong{color:var(--color-text);font-weight:600;overflow-wrap:anywhere}.auth-card__header--status{align-items:center;display:flex;flex-direction:column}.auth-card__status{background:color-mix(in srgb,var(--color-success) 12%,transparent);border-radius:50%;color:var(--color-success);display:grid;font-size:1.25rem;height:48px;margin-bottom:12px;place-items:center;width:48px}.auth-card__link{border-radius:5px;color:var(--color-primary);font-weight:500;text-decoration:none}.auth-card__link:hover{text-decoration:underline;text-underline-offset:2px}.auth-card__link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-card__link i{font-size:.85em;margin-right:4px}.auth-card__divider{align-items:center;color:var(--color-text-subtle);display:flex;font-size:.75rem;gap:12px;margin:24px 0}.auth-card__divider:after,.auth-card__divider:before{background:var(--color-border);content:"";flex:1;height:1px}.auth-card__footer{color:var(--color-text-subtle);font-size:.875rem;line-height:1.5;margin:24px 0 0;text-align:center}.auth-card .alert{align-items:flex-start;background:color-mix(in srgb,var(--color-error) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 25%,transparent);border-radius:8px;color:color-mix(in srgb,var(--color-error) 80%,var(--color-text));display:flex;font-size:.875rem;gap:8px;line-height:1.5;margin-bottom:16px;padding:8px 12px}.auth-card .alert i{color:inherit;flex-shrink:0;font-size:.875rem;margin-top:4px}.auth-card .alert p{color:inherit;margin:0}.auth-card .alert.alert-success{background:color-mix(in srgb,var(--color-success) 8%,transparent);border-color:color-mix(in srgb,var(--color-success) 30%,transparent);color:color-mix(in srgb,var(--color-success) 80%,var(--color-text))}.auth-card__inline-form{display:inline;margin:0}.auth-card__link--button{background:none;border:none;cursor:pointer;font:inherit;font-weight:500;padding:0}.auth-steps{display:grid;gap:8px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;list-style:none;margin:0 0 24px;padding:0}.auth-steps__item{align-items:center;color:var(--color-text-subtle);display:flex;font-size:.75rem;gap:6px;min-width:0;padding-top:12px;position:relative}.auth-steps__item:before{background:var(--color-border);border-radius:2px;content:"";height:4px;left:0;position:absolute;right:0;top:0;transition:background-color .3s cubic-bezier(.4,0,.2,1)}.auth-steps__item--current:before,.auth-steps__item--done:before{background:var(--color-primary)}.auth-steps__item--current{color:var(--color-text);font-weight:600}.auth-steps__marker{border:1.5px solid var(--color-border-strong);border-radius:50%;color:var(--color-text-subtle);display:grid;flex-shrink:0;font-size:.6875rem;font-weight:600;height:18px;line-height:1;place-items:center;width:18px}.auth-steps__item--current .auth-steps__marker{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.auth-steps__item--done .auth-steps__marker{background:var(--color-success);border-color:var(--color-success);color:var(--color-text-on-primary);font-size:.5625rem}.auth-steps__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-form{gap:16px}.auth-form,.auth-form .form-group{display:flex;flex-direction:column}.auth-form .form-group{gap:8px;min-width:0}.auth-form .form-label{color:var(--color-text);font-size:.875rem;font-weight:500;line-height:1.4}.auth-form .form-input{background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:8px;color:var(--color-text);font-family:inherit;font-size:1rem;height:44px;padding:0 16px;transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);width:100%}.auth-form .form-input:hover{border-color:var(--color-text-muted)}.auth-form .form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent);outline:2px solid transparent}.auth-form .form-input[aria-invalid=true]{border-color:var(--color-error)}.auth-form .form-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error) 20%,transparent)}.auth-form .form-input:-webkit-autofill{-webkit-text-fill-color:var(--color-text);box-shadow:inset 0 0 0 100px var(--color-bg-elevated);caret-color:var(--color-text)}.auth-form .form-input:-webkit-autofill:focus{box-shadow:inset 0 0 0 100px var(--color-bg-elevated),0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent)}.auth-form .form-input::-ms-reveal{display:none}.auth-form .form-error,.auth-form .form-hint{font-size:.75rem;line-height:1.4;margin:0}.auth-form .form-hint{color:var(--color-text-subtle)}.auth-form .form-error{color:var(--color-error)}.auth-form__row{display:grid;gap:16px}@container (min-width: 400px){.auth-form__row{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}}.auth-form__password{position:relative}.auth-form__password .form-input{padding-right:44px}.auth-form__toggle{align-items:center;background:transparent;border:none;border-radius:5px;color:var(--color-text-subtle);cursor:pointer;display:inline-flex;font-size:1rem;height:36px;justify-content:center;padding:0;position:absolute;right:4px;top:50%;transform:translateY(-50%);transition:color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);width:36px}.auth-form__toggle:hover{background:var(--color-bg-hover);color:var(--color-text)}.auth-form__toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:0}.auth-form__check{align-items:flex-start;color:var(--color-text);cursor:pointer;display:inline-flex;font-size:.875rem;gap:8px;line-height:1.45}.auth-form__checkbox{appearance:none;background:var(--color-bg-elevated);border:1.5px solid var(--color-border-strong);border-radius:5px;cursor:pointer;display:grid;flex-shrink:0;height:18px;margin:1px 0 0;place-content:center;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1);width:18px}.auth-form__checkbox:before{background:var(--color-text-on-primary);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);content:"";height:10px;transform:scale(0);transition:transform .15s cubic-bezier(.4,0,.2,1);width:10px}.auth-form__checkbox:checked{background:var(--color-primary);border-color:var(--color-primary)}.auth-form__checkbox:checked:before{transform:scale(1)}.auth-form__checkbox:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(forced-colors:active){.auth-form__checkbox:before{background:CanvasText}}.auth-form__meta{align-items:center;color:var(--color-text-subtle);display:flex;font-size:.875rem;gap:6px;justify-content:center;margin:-4px 0 0}.auth-form__meta .countdown-timer{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:600}.auth-form__meta .countdown-timer--expired{color:var(--color-error)}.auth-card__action,.auth-form__submit{align-items:center;border-radius:8px;display:flex;font-family:inherit;font-size:1rem;height:44px;justify-content:center;padding:0 24px;transition:background-color .15s cubic-bezier(.4,0,.2,1)}.auth-card__action:focus-visible,.auth-form__submit:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-form__submit{margin-top:4px}.form-group--code{align-items:center;text-align:center}.code-field{display:grid;gap:8px;grid-auto-columns:minmax(0,52px);grid-auto-flow:column;justify-content:center;width:100%}.code-field__input{background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:8px;caret-color:var(--color-primary);color:var(--color-text);font-family:inherit;font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:600;height:52px;padding:0;text-align:center;transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);width:100%}.code-field__input.filled,.code-field__input:hover{border-color:var(--color-text-muted)}.code-field__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent);outline:2px solid transparent}.code-field__input[aria-invalid=true]{border-color:var(--color-error)}.strength-meter{display:flex;flex-direction:column;gap:4px}.strength-meter__bar{display:grid;gap:4px;grid-template-columns:repeat(4,minmax(0,1fr))}.strength-meter__segment{background:var(--color-border);border-radius:2px;height:3px;transition:background-color .3s cubic-bezier(.4,0,.2,1)}.strength-meter__segment.weak{background:var(--color-error)}.strength-meter__segment.fair{background:var(--color-warning)}.strength-meter__segment.good,.strength-meter__segment.strong{background:var(--color-success)}.strength-meter__text{color:var(--color-text-subtle);font-size:.75rem;line-height:1.4;margin:0}@media(max-height:768px){.auth-card__header{margin-bottom:16px}.auth-card__footer{margin-top:16px}.auth-card__divider{margin:16px 0}.auth-steps{margin-bottom:16px}}@media(max-height:640px){.auth-card__header{margin-bottom:12px}.auth-card__footer{margin-top:12px}.auth-card__divider{margin:12px 0}.auth-card .alert,.auth-steps{margin-bottom:12px}.auth-form,.auth-form__row{gap:12px}}@media(prefers-reduced-motion:reduce){.auth-card,.auth-card .alert{animation:none}}.login-options{align-items:center;display:flex;flex-wrap:wrap;font-size:.875rem;gap:8px 16px;justify-content:space-between}.social-login{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.social-login__btn{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:8px;color:var(--color-text);display:inline-flex;font-size:.875rem;font-weight:500;gap:8px;height:40px;justify-content:center;padding:0 16px;text-decoration:none;transition:background-color .15s cubic-bezier(.4,0,.2,1)}.social-login__btn:hover{background:var(--color-bg-hover)}.social-login__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:768px){.social-login__btn{height:44px}}.social-login__icon{flex-shrink:0;font-size:18px;height:18px;line-height:1;text-align:center;width:18px}.error-card{align-items:center;animation:fadeIn .45s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;text-align:center}.error-card__icon{background:color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:50%;color:var(--color-primary);display:grid;font-size:1.5rem;height:56px;margin-bottom:16px;place-items:center;width:56px}.error-card__code{color:var(--color-text-subtle);font-size:.75rem;font-weight:600;letter-spacing:.08em;margin:0 0 4px;text-transform:uppercase}.error-card__title{color:var(--color-text);font-size:1.5rem;font-weight:600;line-height:1.25;margin:0}@media(max-width:576px){.error-card__title{font-size:1.25rem}}.error-card__message{color:var(--color-text-subtle);font-size:.875rem;line-height:1.5;margin:8px 0 24px;max-width:36ch}.error-card__actions{display:grid;gap:12px;width:100%}.error-card__actions .btn{font-family:inherit;height:44px}.error-card__footer{font-size:.875rem;line-height:1.5;margin:24px 0 0}.error-card__link{border-radius:5px;color:var(--color-primary);font-weight:500;text-decoration:none}.error-card__link:hover{text-decoration:underline;text-underline-offset:2px}.error-card__link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.error-card__link i{font-size:.85em;margin-right:4px}@media(max-height:640px){.error-card__icon{margin-bottom:12px}.error-card__message{margin-bottom:16px}.error-card__footer{margin-top:16px}}@media(prefers-reduced-motion:reduce){.error-card{animation:none}}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:1rem;line-height:1.6;overflow-x:hidden;transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:16px}h1{font-size:2rem}@media(max-width:768px){h1{font-size:1.5rem}}h2{font-size:1.5rem}@media(max-width:768px){h2{font-size:1.25rem}}h3{font-size:1.25rem}p{color:var(--color-text-alt);margin-bottom:16px}.container{margin:0 auto;max-width:1200px;padding:0 32px;position:relative;width:100%;z-index:1}@media(max-width:768px){.container{padding:0 16px}}.auth-page{background:var(--color-bg);display:flex;flex-direction:column;min-height:100vh}.auth-main{align-items:center;display:flex;flex:1;padding:24px 16px}.auth-main .auth-container{background:var(--color-bg-surface);border-radius:16px;box-shadow:var(--shadow-card);margin:0 auto;max-width:420px;padding:32px;width:100%}@media(max-height:768px){.auth-main{padding-block:16px}.auth-main .auth-container{padding-block:24px}}@media(max-height:640px){.auth-main{padding-block:12px}.auth-main .auth-container{padding-block:16px}}@media(max-width:576px){.auth-main{background:var(--color-bg-surface)}.auth-main .auth-container{box-shadow:none;padding:0}}.auth-page--wide .auth-main .auth-container{max-width:480px}.auth-footer{background:var(--color-bg);border-top:1px solid var(--color-border);padding:12px 0}.auth-footer .footer-content{align-items:center;display:flex;gap:8px 16px;justify-content:space-between}@media(max-width:768px){.auth-footer .footer-content{flex-wrap:wrap;justify-content:center;text-align:center}}.auth-footer .footer-content p{color:var(--color-text-subtle);font-size:.75rem;margin:0}.auth-footer .footer-content .footer-links{display:flex;gap:16px}.auth-footer .footer-content .footer-links a{color:var(--color-text-subtle);font-size:.75rem;text-decoration:none;transition:color .3s cubic-bezier(.4,0,.2,1)}.auth-footer .footer-content .footer-links a:hover{color:var(--color-primary)}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}