@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Space+Grotesk:wght@400;700&family=Space+Mono:wght@400;700&display=swap");:root{--global-max-width:1280px;--global-radius:3px;--global-radius-rounded:50%;--global-hyphens:none;--font-family-headline:"Space Grotesk",-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;--font-family-body:"Inter",-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;--font-family-accent:"Space Mono",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-family-monospace:"Space Mono",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-size-base:1.05rem;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--line-height-base:1.6;--line-height-relaxed:1.75;--letter-spacing-wide:0.05em;--font-weight-ultra-thin:100;--font-weight-thin:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semi-bold:600;--font-weight-bold:700;--font-weight-extra-bold:800;--font-weight-black:900;--font-weight-normal:var(--font-weight-regular);--gap:1em;--gap-rem:1rem;--gap-xs:calc(var(--gap) * 0.25);--gap-sm:calc(var(--gap) * 0.5);--gap-lg:calc(var(--gap) * 2);--gap-xl:calc(var(--gap) * 4);--gap-xxl:calc(var(--gap) * 6.5);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--gutter-width:1rem;--outer-margin:1rem;--gutter-compensation:calc(var(--gutter-width) * -1);--half-gutter-width:calc(var(--gutter-width) * 0.5);--animation-name:ease-in-out;--animation-duration:400ms;--animation-duration-lg:800ms;--animation-duration-xl:1200ms;--animation-delay:100ms;--transition-fast:150ms ease;--transition-normal:var(--animation-duration) var(--animation-name);--transition-slow:var(--animation-duration-lg) var(--animation-name);--breakpoint-sm:36em;--breakpoint-md:48em;--breakpoint-lg:62em;--breakpoint-xl:75em;--radius-none:0;--radius-sm:var(--global-radius);--radius-md:calc(var(--global-radius) * 2);--radius-lg:calc(var(--global-radius) * 3);--radius-full:var(--global-radius-rounded);--max-width-content:720px;--max-width-wide:var(--global-max-width);--header-height:72px}.dark-theme,:root,[data-theme=dark]{--color-primary:#91fc4e;--color-primary-lighter:#a8fd73;--color-on-primary:var(--color-dark);--color-black:#000;--color-dark:#000;--color-dark-accent:#111;--color-dark-accent-2:#1a1a1a;--color-dark-accent-3:#2a2a2a;--color-grey-darker:#444;--color-grey-dark:#666;--color-grey:silver;--color-grey-light:#d2d2d2;--color-grey-lighter:#e5e5e5;--color-light-accent:#f2f2f2;--color-light:#fafafa;--color-white:#fff;--color-text:var(--color-light);--color-text-accent-1:var(--color-light-accent);--color-text-accent-2:var(--color-grey-lighter);--color-text-accent-3:var(--color-grey-light);--color-text-reverse:var(--color-dark);--color-text-selection:var(--color-on-primary);--color-bg:var(--color-dark);--color-bg-accent-1:var(--color-dark-accent);--color-bg-accent-2:var(--color-dark-accent-2);--color-bg-accent-3:var(--color-grey-darker);--color-bg-reverse:var(--color-light);--color-bg-selection:var(--color-primary);--color-border:var(--color-dark-accent-3);--color-border-reverse:var(--color-grey-lighter);--color-link:var(--color-white);--color-error:#fc3860;--color-success:#48c774;--color-warning:#fddd57;--color-info:#249cee;--color-background:var(--color-bg);--color-background-alt:var(--color-bg-accent-1);--color-surface:var(--color-bg-accent-2);--color-surface-raised:var(--color-bg-accent-3);--color-text-secondary:var(--color-text-accent-2);--color-text-muted:var(--color-text-accent-3);--color-text-on-primary:var(--color-on-primary);--color-border-subtle:var(--color-dark-accent-2);--color-primary-hover:var(--color-primary-lighter);--color-primary-muted:rgba(145,252,78,0.15);--shadow-sm:0 1px 2px rgba(0,0,0,0.5);--shadow-md:0 4px 6px rgba(0,0,0,0.5);--shadow-lg:0 10px 15px rgba(0,0,0,0.5)}.light-theme,[data-theme=light]{--color-primary:#3b921c;--color-primary-lighter:#3e9a1e;--color-on-primary:var(--color-white);--color-text:var(--color-dark);--color-text-accent-1:var(--color-dark-accent);--color-text-accent-2:var(--color-grey-darker);--color-text-accent-3:var(--color-grey-dark);--color-text-reverse:var(--color-light);--color-bg:var(--color-white);--color-bg-accent-1:var(--color-light);--color-bg-accent-2:var(--color-light-accent);--color-bg-accent-3:var(--color-grey-lighter);--color-bg-reverse:var(--color-dark);--color-border:var(--color-grey-lighter);--color-border-reverse:var(--color-dark-accent-2);--color-link:var(--color-white);--color-background:var(--color-bg);--color-background-alt:var(--color-bg-accent-1);--color-surface:var(--color-bg-accent-2);--color-surface-raised:var(--color-bg-accent-3);--color-text-secondary:var(--color-text-accent-2);--color-text-muted:var(--color-text-accent-3);--color-text-on-primary:var(--color-on-primary);--color-border-subtle:var(--color-bg-accent-2);--color-primary-hover:var(--color-primary-lighter);--color-primary-muted:rgba(59,146,28,0.15);--shadow-sm:0 1px 2px rgba(0,0,0,0.1);--shadow-md:0 4px 6px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px rgba(0,0,0,0.1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;line-height:1.15}body{font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-hyphens:var(--global-hyphens);hyphens:var(--global-hyphens)}::selection{background:var(--color-bg-selection);color:var(--color-text-selection)}a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-decoration-thickness:1px;text-underline-offset:5px}a:active,a:focus,a:hover{-webkit-text-decoration-color:var(--color-text);text-decoration-color:var(--color-text)}.text-mono{font-family:var(--font-family-accent);text-transform:uppercase;letter-spacing:.05em}.text-primary{color:var(--color-primary)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}form{display:flex;flex-direction:column;gap:var(--space-5)}form .btn{margin-top:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-sm);font-family:var(--font-family-accent);font-size:calc(var(--font-size-base) * .8);font-weight:var(--font-weight-regular);line-height:calc(var(--line-height-base) * .8);text-transform:uppercase;text-decoration:none;border:none;border-radius:var(--global-radius);padding:var(--gap);cursor:pointer;transition:filter var(--animation-duration) var(--animation-name);white-space:nowrap;outline:none;-webkit-appearance:button}.btn:active,.btn:focus,.btn:hover{filter:brightness(1.2);text-decoration:none}.btn--xs{font-size:calc(var(--font-size-base) * .8)}.btn--sm,.btn--xs{padding:var(--gap-sm) var(--gap)}.btn--sm{font-size:calc(var(--font-size-base) * .9)}.btn--md{font-size:calc(var(--font-size-base) * .8);padding:var(--gap)}.btn--lg{font-size:calc(var(--font-size-base) * 1.2);padding:var(--gap) var(--gap-lg)}.btn--xl{font-size:calc(var(--font-size-base) * 1.4);padding:var(--gap) var(--gap-xl)}.btn--brand,.btn--primary{background-color:var(--color-primary);color:var(--color-on-primary)}.btn--secondary{background-color:var(--color-bg-accent-2);color:inherit}.btn--dark{color:var(--color-light)}.btn--dark,.btn--dark:active,.btn--dark:focus,.btn--dark:hover{background-color:var(--color-dark)}.btn--light{color:var(--color-dark)}.btn--light,.btn--light:active,.btn--light:focus,.btn--light:hover{background-color:var(--color-light)}.btn--ghost,.btn--opac{background-color:transparent;color:var(--color-text)}.btn--bordered{background-color:transparent;box-shadow:0 0 0 1px var(--color-text-accent-3);color:var(--color-text-accent-3)}.btn--bordered:active,.btn--bordered:focus,.btn--bordered:hover{background-color:transparent;box-shadow:0 0 0 2px var(--color-text-accent-3);filter:none}.btn--bordered.btn--brand{box-shadow:0 0 0 1px var(--color-primary);color:var(--color-primary);background-color:transparent}.btn--bordered.btn--brand:active,.btn--bordered.btn--brand:focus,.btn--bordered.btn--brand:hover{background-color:transparent;box-shadow:0 0 0 2px var(--color-primary)}.btn--bordered.btn--dark{box-shadow:0 0 0 1px var(--color-dark);color:var(--color-dark);background-color:transparent}.btn--bordered.btn--dark:active,.btn--bordered.btn--dark:focus,.btn--bordered.btn--dark:hover{background-color:transparent;box-shadow:0 0 0 2px var(--color-dark)}.btn--rounded{border-radius:calc(var(--font-size-base) * 3)}.btn--wide{padding:var(--gap) var(--gap-xl)}.btn--full{width:100%}.btn--no-transform{text-transform:none}.btn--disabled,.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.text-input{display:flex;flex-direction:column;gap:var(--space-2)}.text-input--full-width{width:100%}.text-input__label{font-family:var(--font-family-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text)}.text-input__required{color:var(--color-primary);margin-left:var(--space-1)}.text-input__field{font-family:var(--font-family-body);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:all var(--transition-fast)}.text-input__field::placeholder{color:var(--color-text-muted);opacity:.5}.text-input__field:hover:not(:disabled){border-color:var(--color-text-muted)}.text-input__field:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-muted)}.text-input__field:disabled{opacity:.5;cursor:not-allowed}.text-input__field--sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.text-input__field--md{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base)}.text-input__field--lg{padding:var(--space-4) var(--space-5);font-size:var(--font-size-lg)}.text-input__field--error{border-color:var(--color-error)}.text-input__field--error:focus{border-color:var(--color-error);box-shadow:0 0 0 2px rgba(252,56,96,.2)}.text-input__helper{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.text-input__helper--error{color:var(--color-error)}.text-input__wrapper{position:relative;display:flex;align-items:center}.text-input__wrapper .text-input__field{width:100%}.text-input__field--has-toggle{padding-right:calc(var(--space-4) + 28px)}.text-input__toggle{position:absolute;right:var(--space-3);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin:0;background:transparent;border:none;cursor:pointer;color:var(--color-text-muted);opacity:.5;transition:opacity var(--transition-fast);border-radius:var(--radius-sm);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.text-input__toggle:hover{opacity:.65}.text-input__toggle:focus{outline:none}.text-input__toggle svg{display:block}.text-input__field:-webkit-autofill,.text-input__field:-webkit-autofill:active,.text-input__field:-webkit-autofill:focus,.text-input__field:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text);box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s;caret-color:var(--color-text)}.checkbox{display:flex;flex-direction:column;gap:var(--space-1)}.checkbox__wrapper{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox__wrapper--disabled{opacity:.5;cursor:not-allowed}.checkbox__input{position:absolute;opacity:0;width:0;height:0}.checkbox__box{position:relative;width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background-color:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0}.checkbox__box,.checkbox__checkmark{transition:all var(--transition-fast)}.checkbox__checkmark{width:14px;height:14px;opacity:0;transform:scale(.5);color:var(--color-text-on-primary)}.checkbox__wrapper:hover:not(.checkbox__wrapper--disabled) .checkbox__box{border-color:var(--color-text-muted)}.checkbox__input:focus-visible+.checkbox__box{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-muted)}.checkbox__input:checked+.checkbox__box{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox__input:checked+.checkbox__box .checkbox__checkmark{opacity:1;transform:scale(1)}.checkbox__box--error{border-color:var(--color-error)}.checkbox__label{font-family:var(--font-family-body);font-size:var(--font-size-base);color:var(--color-text);line-height:1.4}.checkbox__helper{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;padding-left:calc(20px + var(--space-3))}.checkbox__helper--error{color:var(--color-error)}.checkbox__wrapper--inline{gap:var(--space-2)}.checkbox__box--sm{width:16px;height:16px}.checkbox__box--sm .checkbox__checkmark{width:10px;height:10px}.checkbox__label--sm{font-size:var(--font-size-xs)}.checkbox__label--blocked{text-decoration:line-through;opacity:.5}.authenticator-policies{border-top:1px dashed var(--color-border);padding-top:var(--space-4);margin-top:var(--space-4)}.authenticator-policies__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.authenticator-policies__toggle{display:flex;align-items:center;gap:var(--space-2);background:none;border:none;padding:0;cursor:pointer;color:inherit}.authenticator-policies__arrow{font-size:var(--font-size-xs);color:var(--color-text-secondary);transition:transform var(--transition-fast)}.authenticator-policies__arrow--expanded{transform:rotate(90deg)}.authenticator-policies__title{font-family:var(--font-family-accent);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.authenticator-policies__loading{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.authenticator-policies__grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-2) var(--space-4);gap:var(--space-2) var(--space-4)}.select{display:flex;flex-direction:column;gap:var(--space-2)}.select--full-width{width:100%}.select__label{font-family:var(--font-family-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text)}.select__required{color:var(--color-primary);margin-left:var(--space-1)}.select__wrapper{position:relative;display:inline-flex}.select--full-width .select__wrapper{width:100%}.select__field{font-family:var(--font-family-body);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:40px;width:100%;transition:all var(--transition-fast)}.select__field:hover:not(:disabled){border-color:var(--color-text-muted)}.select__field:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-muted)}.select__field:disabled{opacity:.5;cursor:not-allowed}.select__field--sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.select__field--md{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base)}.select__field--lg{padding:var(--space-4) var(--space-5);font-size:var(--font-size-lg)}.select__icon{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center}.select__field--error,.select__field--error:focus{border-color:var(--color-error)}.select__field--error:focus{box-shadow:0 0 0 2px rgba(252,56,96,.2)}.select__helper{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.select__helper--error{color:var(--color-error)}.select__field option{background-color:var(--color-surface);color:var(--color-text);padding:var(--space-2)}.select__field option:disabled{color:var(--color-text-muted)}.textarea{display:flex;flex-direction:column;gap:var(--space-2)}.textarea--full-width{width:100%}.textarea__label{font-family:var(--font-family-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text)}.textarea__required{color:var(--color-primary);margin-left:var(--space-1)}.textarea__field{font-family:var(--font-family-body);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);outline:none;transition:all var(--transition-fast);line-height:var(--line-height-relaxed)}.textarea__field::placeholder{color:var(--color-text-muted)}.textarea__field:hover:not(:disabled){border-color:var(--color-text-muted)}.textarea__field:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-muted)}.textarea__field:disabled{opacity:.5;cursor:not-allowed}.textarea__field--resize-none{resize:none}.textarea__field--resize-vertical{resize:vertical}.textarea__field--resize-horizontal{resize:horizontal}.textarea__field--resize-both{resize:both}.textarea__field--error,.textarea__field--error:focus{border-color:var(--color-error)}.textarea__field--error:focus{box-shadow:0 0 0 2px rgba(252,56,96,.2)}.textarea__footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.textarea__helper{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;flex:1 1}.textarea__helper--error{color:var(--color-error)}.textarea__count{font-family:var(--font-family-accent);font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0}.header{background-color:var(--color-background);border-bottom:1px solid var(--color-border-subtle)}.header__inner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);max-width:var(--max-width-wide);margin:0 auto}.header__left,.header__right{display:flex;align-items:center;gap:var(--space-4);flex:1 1}.header__right{justify-content:flex-end}.header__center,.header__icon-btn{display:flex;justify-content:center}.header__icon-btn{align-items:center;width:40px;height:40px;padding:0;background:transparent;border:none;color:var(--color-text);cursor:pointer;transition:color var(--transition-fast)}.header__icon-btn:hover{color:var(--color-primary)}.header__sign-in{font-family:var(--font-family-accent);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text);text-decoration:none;transition:color var(--transition-fast)}.header__sign-in:hover{color:var(--color-primary)}.header__nav{padding:var(--space-3) var(--space-6);border-top:1px solid var(--color-border-subtle);overflow-x:auto}.header__nav::-webkit-scrollbar{display:none}@media (max-width:768px){.header__nav,.header__sign-in{display:none}}@media (max-width:480px){.header__inner{padding:var(--space-3) var(--space-4);gap:var(--space-3)}.header__left{flex:0 0 auto;min-width:0}.header__right{flex:1 1 auto;min-width:0;gap:var(--space-2)}.header__email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:var(--font-size-xs)}}.footer{background-color:var(--color-background);padding:var(--space-12) var(--space-6);margin-top:auto}.footer__inner{max-width:var(--max-width-content);margin:0 auto}.footer__content{gap:var(--space-8);margin-bottom:var(--space-12)}.footer__content,.footer__nav,.footer__social{display:flex;flex-direction:column}.footer__newsletter{max-width:400px}.footer__bottom{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding-top:var(--space-8);border-top:1px solid var(--color-border-subtle)}.footer__logo{color:var(--color-text)}.footer__copyright{font-family:var(--font-family-accent);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);text-align:center;margin:0}.footer__link{color:var(--color-text);text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-fast)}.footer__link:hover{color:var(--color-primary)}@media (min-width:768px){.footer__content{flex-direction:row;gap:var(--space-16)}}.navigation__list{list-style:none;margin:0;padding:0;display:flex;gap:var(--space-6)}.navigation--vertical .navigation__list{flex-direction:column;gap:var(--space-4)}.navigation__link{font-family:var(--font-family-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text);text-decoration:none;transition:color var(--transition-fast);white-space:nowrap}.navigation__link--active,.navigation__link:hover{color:var(--color-primary)}.navigation--vertical .navigation__link{font-size:var(--font-size-base);text-decoration:underline;text-underline-offset:4px}.logo__link{text-decoration:none;display:inline-block}.logo{font-family:var(--font-family-body);font-weight:var(--font-weight-bold);font-style:italic;color:var(--color-text)}.logo,.logo__text{display:inline-flex}.logo__strike,.logo__text{position:relative}.logo__strike{display:inline-block}.logo__strike:after{content:"";position:absolute;left:-4%;right:-4%;top:35%;height:22%;background-color:var(--color-primary);opacity:.9;transform:rotate(-3deg);transform-origin:center;z-index:1;transition:background-color var(--transition-fast),opacity var(--transition-fast)}.logo__link:hover .logo__strike:after{background-color:var(--color-text)}.logo--sm{font-size:1.5rem}.logo--md{font-size:2.5rem}.logo--lg{font-size:4rem}.article-card{display:flex;flex-direction:column;border-radius:var(--global-radius);position:relative}.article-card__image-link{display:block;text-decoration:none;overflow:hidden}.article-card__image-wrapper{display:flex;align-items:center;justify-content:center;position:relative;aspect-ratio:16/9;border-radius:var(--global-radius);overflow:hidden;max-height:240px;background-color:var(--color-bg-accent-1);z-index:2}.article-card__image{width:100%;height:100%;object-fit:cover;object-position:center;margin:0;transition:transform var(--animation-duration) var(--animation-name)}.article-card__image-link:hover .article-card__image{transform:scale(1.03)}.article-card__content{padding-top:var(--gap);z-index:2}.article-card__header{display:flex;align-items:center;margin-bottom:var(--gap)}.article-card__category{margin-bottom:var(--gap-xs)}.article-card__title{font-family:var(--font-family-headline);font-weight:var(--font-weight-normal);color:var(--color-text);margin:0;margin-bottom:var(--gap-xs);word-break:break-word}.article-card__title a{color:inherit;-webkit-text-decoration-color:transparent;text-decoration-color:transparent}.article-card__title a:active,.article-card__title a:focus,.article-card__title a:hover{-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.article-card__excerpt{font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-accent-3);margin:0;margin-bottom:calc(var(--gap-sm) + 2px)}.article-card__meta{margin-top:var(--gap-sm)}.article-card__title{font-size:calc(var(--font-size-base) * 1.5);line-height:calc(var(--line-height-base) * .8)}.article-card__title a{text-underline-offset:3.5px}.article-card--featured{flex-direction:column;margin:var(--gap-xl) 0;max-width:none;justify-content:center;background-color:var(--color-bg)}@media (min-width:48em){.article-card--featured{flex-direction:row-reverse;align-items:center}}.article-card--featured .article-card__image-wrapper{flex:0 0 55%;max-height:50vh;min-height:calc(var(--gap) * 28)}@media (min-width:48em){.article-card--featured .article-card__image-wrapper{margin-left:var(--gap)}}.article-card--featured .article-card__content{padding-left:0;padding-right:var(--gap)}@media (min-width:48em){.article-card--featured .article-card__content{flex:1 1}.article-card--featured .article-card__title{font-size:calc(var(--font-size-base) * 2.5);line-height:calc(var(--line-height-base) * .7);margin-bottom:var(--gap-xs)}.article-card--featured .article-card__title a{text-underline-offset:6.5px}.article-card--featured .article-card__excerpt{font-size:calc(var(--font-size-base) * 1.1)}}.article-card--compact{flex-direction:column;border-radius:var(--global-radius)}@media (min-width:48em){.article-card--compact{flex-direction:row}}.article-card--compact .article-card__image-wrapper{width:100%;aspect-ratio:16/9}@media (min-width:48em){.article-card--compact .article-card__title{font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);margin:0;margin-bottom:var(--gap-sm)}.article-card--compact .article-card__title a{-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.article-card--compact .article-card__title a:active,.article-card--compact .article-card__title a:focus,.article-card--compact .article-card__title a:hover{-webkit-text-decoration-color:var(--color-text);text-decoration-color:var(--color-text)}.article-card--compact .article-card__excerpt{display:none;margin:0}}.article-card.no-img{border-top:1px solid var(--color-border);height:100%}@media (min-width:48em){.article-card.no-img{border:1px solid var(--color-border);border-radius:var(--global-radius)}.article-card.no-img .article-card__content{padding:var(--gap-lg)}}.author-byline{display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-sm);font-family:var(--font-family-accent);font-size:calc(var(--font-size-base) * .8);font-weight:var(--font-weight-regular);line-height:calc(var(--line-height-base) * .8);text-transform:uppercase;color:var(--color-text-accent-3);margin:0}.author-byline__authors{flex-wrap:wrap;gap:var(--gap-xs)}.author-byline__author,.author-byline__authors{display:inline-flex;align-items:center}.author-byline__avatar{width:20px;height:20px;border-radius:var(--global-radius-rounded);object-fit:cover;object-position:center;overflow:hidden;margin-right:var(--gap-sm);display:block}.author-byline__name{color:var(--color-text);-webkit-text-decoration-color:transparent;text-decoration-color:transparent}a.author-byline__name:active,a.author-byline__name:focus,a.author-byline__name:hover{-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.author-byline__separator{color:var(--color-text-accent-3);margin-right:var(--gap-xs)}.author-byline__dot{margin:0 var(--gap-xs)}.author-byline__date,.author-byline__dot{color:var(--color-text-accent-3)}.author-byline--compact .author-byline__avatar{display:none}.category-tag{display:inline-block;font-family:var(--font-family-accent);font-size:calc(var(--font-size-base) * .8);font-weight:var(--font-weight-regular);line-height:calc(var(--line-height-base) * .8);text-transform:uppercase;color:var(--color-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-decoration-thickness:1px;text-underline-offset:2.5px;transition:-webkit-text-decoration-color var(--animation-duration) var(--animation-name);transition:text-decoration-color var(--animation-duration) var(--animation-name);transition:text-decoration-color var(--animation-duration) var(--animation-name),-webkit-text-decoration-color var(--animation-duration) var(--animation-name)}.category-tag:active,.category-tag:focus,.category-tag:hover{-webkit-text-decoration-color:var(--color-text);text-decoration-color:var(--color-text)}a.category-tag{cursor:pointer}.newsletter-signup{display:flex;flex-direction:column;gap:var(--space-4)}.newsletter-signup__heading{font-size:var(--font-size-base);color:var(--color-text);margin:0}.newsletter-signup__form{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-surface)}.newsletter-signup__input{flex:1 1;padding:var(--space-4);font-family:var(--font-family-body);font-size:var(--font-size-base);color:var(--color-text);background:transparent;border:none;outline:none}.newsletter-signup__input::placeholder{color:var(--color-text-muted)}.newsletter-signup__button{display:flex;align-items:center;justify-content:center;width:56px;padding:var(--space-4);background:transparent;border:none;border-left:1px solid var(--color-border);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.newsletter-signup__button:hover{background-color:var(--color-primary);color:var(--color-text-on-primary)}.promo-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background-color:var(--color-background);border-bottom:1px solid var(--color-border-subtle)}.promo-banner__content{text-align:center}.promo-banner__text{font-family:var(--font-family-accent);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text)}.promo-banner__link{color:var(--color-text);text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-fast)}.promo-banner__link:hover{color:var(--color-primary)}.promo-banner__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;color:var(--color-text);cursor:pointer;transition:color var(--transition-fast)}.promo-banner__close:hover{color:var(--color-primary)}.dashboard-title{font-family:var(--font-family-headline);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--space-6) 0}.dashboard-section{margin-bottom:var(--space-6)}.dashboard-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.dashboard-description--italic{font-style:italic}.account-info{display:flex;align-items:center;gap:var(--space-4)}.account-info__label{font-family:var(--font-family-accent);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary)}.account-info__value{color:var(--color-text)}.section-divider{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.toggle-row__content{flex:1 1}.toggle-row__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0 0 var(--space-1) 0;color:var(--color-text)}.toggle-row__description{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0}.status-box{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background-color:var(--color-bg-accent-2);border:1px solid var(--color-border);padding:var(--space-4);border-radius:var(--radius-sm)}.status-box__content{flex:1 1}.status-box__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.status-box__icon{font-size:var(--font-size-sm);color:var(--color-primary)}.status-box__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0;color:var(--color-text)}.status-box__description{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0}.setup-box{display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-bg-accent-2);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);animation:setup-box-open .3s ease-out;transition:opacity .4s ease,transform .4s ease}@keyframes setup-box-open{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.setup-box--closing{opacity:0;transform:scale(.95)}.setup-box__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.setup-box__qr-container{display:flex;justify-content:center;background:white;padding:var(--space-2);border-radius:var(--radius-sm);align-self:center;width:min-content}.setup-box__qr-image{display:block}.setup-box__secret{font-size:var(--font-size-xs);color:var(--color-text-secondary);word-break:break-all}.setup-box__secret code{color:var(--color-primary);font-weight:700}.setup-box__divider{border-top:1px solid var(--color-border);padding-top:var(--space-4)}.setup-box__input-row{display:flex;gap:var(--space-2);align-items:flex-end}.setup-box__input-row>div:first-child{flex:1 1}.setup-box__fallback{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.form-actions--column{flex-direction:column;gap:var(--space-4)}.form-actions--centered{text-align:center}.otp-helper{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-2);margin-bottom:var(--space-4)}.otp-helper__text{margin:0}.otp-helper__countdown,.otp-helper__text{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.otp-helper__link{font-size:var(--font-size-xs);color:var(--color-primary);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.otp-helper__link:hover{color:var(--color-primary-hover)}.password-instructions{margin-bottom:var(--space-3)}.password-fallback-link,.password-instructions{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.password-fallback-link{background:none;border:none;text-decoration:none;cursor:pointer;font-family:var(--font-family-accent);font-weight:var(--font-weight-normal);text-transform:none;padding:0;letter-spacing:0}.password-fallback-link:hover{color:var(--color-primary);text-decoration:underline}.empty-state,.loading-state{text-align:center;padding:var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.empty-state{font-style:italic}.passkey-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.passkey-item{padding:var(--space-4);background-color:var(--color-bg-accent-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.passkey-item__wrapper{display:flex;align-items:flex-start;gap:var(--space-3)}.passkey-item__icon{width:32px;height:32px;flex-shrink:0;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center}.passkey-item__icon svg{width:24px;height:24px}.passkey-item__content{flex:1 1;min-width:0}.passkey-item__edit-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.passkey-item__edit-input{flex:1 1;padding:var(--space-2);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-family-body);font-size:var(--font-size-sm)}.passkey-item__name{font-weight:var(--font-weight-medium);font-size:var(--font-size-base);color:var(--color-text);margin-bottom:var(--space-1)}.passkey-item__metadata{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.passkey-item__metadata-label{font-family:var(--font-family-accent);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.passkey-item__details{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex;flex-direction:column;gap:var(--space-2)}.passkey-item__actions{display:flex;gap:var(--space-2);flex-shrink:0}.passkey-item__action-btn{padding:var(--space-1)}.passkey-item__action-btn--delete{color:var(--color-error)}.session-list{flex-direction:column}.session-item,.session-list{display:flex;gap:var(--space-3)}.session-item{background-color:var(--color-bg-accent-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-4);justify-content:space-between;align-items:center;flex-wrap:wrap}.session-item__content{flex:1 1;min-width:200px}.session-item__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.session-item__icon{font-size:1.2rem}.session-item__badge,.session-item__device{font-weight:var(--font-weight-medium)}.session-item__badge{font-size:var(--font-size-xs);background-color:transparent;color:var(--color-text-secondary);padding:2px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}.session-item__metadata{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.session-item__metadata>div{margin-bottom:var(--space-1)}.session-item__metadata>div:last-child{margin-bottom:0}.session-item__action{white-space:nowrap}.session-revoke-all{margin-top:var(--space-4);text-align:right}.session-revoke-all__btn{color:var(--color-error);border-color:var(--color-error)}.event-timeline{display:flex;flex-direction:column;gap:var(--space-4)}.event-item{padding-left:var(--space-4);position:relative;padding-bottom:var(--space-3);border-left:2px solid var(--color-border);margin-left:8px}.event-item__dot{position:absolute;left:-5px;top:6px;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 4px var(--color-bg)}.event-item__dot--success{background-color:var(--color-success)}.event-item__dot--error{background-color:var(--color-error)}.event-item__dot--warning{background-color:var(--color-warning,#f59e0b)}.event-item__dot--primary{background-color:var(--color-primary)}.event-item__header{cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.event-item__time{font-family:var(--font-family-accent);font-size:var(--font-size-xs);color:var(--color-text-secondary);min-width:110px}.event-item__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-item__device{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.event-item__details{margin-top:var(--space-2);background-color:var(--color-bg-accent-2);padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);border:1px solid var(--color-border)}.event-item__details-grid{display:grid;grid-template-columns:80px 1fr;grid-gap:4px;gap:4px}.event-item__details-label{color:var(--color-text-secondary)}.event-item__details-value{word-break:break-all}.event-item__details-value--error{color:var(--color-error);font-weight:var(--font-weight-bold)}.event-item__details-metadata{white-space:pre-wrap}.event-timeline__load-more{text-align:center;margin-top:var(--space-4)}.admin-user-list{display:flex;flex-direction:column;gap:var(--space-3)}.admin-user-item{background-color:var(--color-bg-accent-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-4)}.admin-user-item--disabled{background-color:rgba(239,68,68,.05);border-color:rgba(239,68,68,.3)}.admin-user-item__header{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.admin-user-item__info{flex:1 1;min-width:0}.admin-user-item__email-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap}.admin-user-item__email{font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-item__badge{font-size:var(--font-size-xs);padding:2px 6px;border-radius:var(--radius-full);font-weight:700;text-transform:uppercase}.admin-user-item__badge--disabled{background-color:rgba(252,56,96,.1);color:var(--color-error)}.admin-user-item__badge--temp-password{background:none;color:var(--color-warning)}.admin-user-item__metadata{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex;gap:var(--space-3);flex-wrap:wrap}.admin-user-item__details{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.admin-user-item__actions{margin-bottom:var(--space-3)}.admin-user-item__actions,.admin-user-item__secondary-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.admin-passkey-list{margin-top:var(--space-3);padding:var(--space-3);background-color:var(--color-bg-accent-2);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.admin-passkey-list__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.admin-passkey-list__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.admin-passkey-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2);margin-bottom:var(--space-2);background-color:var(--color-bg);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.admin-passkey-item:last-child{margin-bottom:0}.admin-passkey-item__name{font-weight:var(--font-weight-medium)}.admin-passkey-item__metadata{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.btn--danger{color:var(--color-error);border-color:var(--color-error)}.btn--warning{color:var(--color-warning,#f59e0b)}.admin-events-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.admin-events-section__header{font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.admin-events-section__empty,.admin-events-section__loading{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic}.admin-events-list{display:flex;flex-direction:column;gap:var(--space-2)}.admin-event-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);padding:var(--space-2);background-color:var(--color-bg);border-radius:var(--radius-sm)}.admin-event-item__dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-text-secondary);flex-shrink:0}.admin-event-item__dot.event-item__dot--success{background-color:var(--color-primary)}.admin-event-item__dot.event-item__dot--error{background-color:var(--color-error)}.admin-event-item__dot.event-item__dot--warning{background-color:var(--color-warning,#f59e0b)}.admin-event-item__type{flex:1 1;font-weight:var(--font-weight-medium)}.admin-event-item__ip,.admin-event-item__time{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.admin-event-item__ip{font-family:var(--font-family-mono,monospace)}.admin-temp-password-modal__field{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.admin-temp-password-modal__input{flex:1 1;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-md);font-family:var(--font-family-mono,monospace);background:transparent;color:var(--color-text);text-align:center}.admin-temp-password-modal__input:focus{outline:none;border-color:var(--color-primary)}.admin-temp-password-modal__regenerate{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text);cursor:pointer;font-size:var(--font-size-lg);transition:border-color .2s,color .2s,background-color .2s}.admin-temp-password-modal__regenerate:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-bg-accent-2)}.admin-temp-password-modal__regenerate-icon{display:inline-block;transition:transform .3s ease}.admin-temp-password-modal__regenerate-icon.spin{animation:spinIcon .4s ease}@keyframes spinIcon{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.qr-approval-options{display:flex;flex-direction:column;gap:var(--space-2)}.qr-approval-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;background-color:var(--color-bg)}.qr-approval-option:hover{border-color:var(--color-primary);background-color:var(--color-bg-accent-2)}.qr-approval-option--selected{border-color:var(--color-primary);background-color:rgba(var(--color-primary-rgb,76,175,80),.08)}.qr-approval-option input[type=radio]{margin-top:2px;accent-color:var(--color-primary);width:18px;height:18px;flex-shrink:0}.qr-approval-option__content{display:flex;flex-direction:column;gap:var(--space-1)}.qr-approval-option__label{font-weight:var(--font-weight-medium);color:var(--color-text)}.qr-approval-option__description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.qr-approval-divider{height:1px;background:var(--color-border);margin:var(--space-2) 0;position:relative}.qr-approval-divider:after{content:"Optional";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--color-bg-accent);padding:0 var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.qr-modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.qr-modal{background-color:rgba(0,0,0,.9);border-radius:var(--radius-md);padding:var(--space-6);max-width:400px;width:100%;text-align:center}.qr-modal__branding{font-size:var(--font-size-xl);margin-bottom:var(--space-3)}.qr-modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--space-4)}.qr-modal__qr-container{background-color:white;padding:var(--space-4);border-radius:var(--radius-sm);display:inline-block;margin-bottom:var(--space-4)}.qr-modal__qr-image{width:200px;height:200px;display:block}.qr-modal__timer{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.qr-modal__progress{height:4px;background-color:var(--color-border);border-radius:var(--radius-full);margin-bottom:var(--space-4);overflow:hidden}.qr-modal__progress-bar{height:100%;background-color:var(--color-primary);border-radius:var(--radius-full);transition:width 1s linear}.qr-modal__instructions{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.qr-modal__instructions ol{text-align:left;padding-left:var(--space-4);margin:var(--space-2) 0}.qr-modal__instructions li{margin-bottom:var(--space-1)}.qr-modal__status{padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.qr-modal__status--scanned{background-color:rgba(76,175,80,.1);color:var(--color-primary)}.qr-modal__status--expired{background-color:rgba(239,68,68,.1);color:var(--color-error)}.qr-modal__status--success{background-color:rgba(76,175,80,.1);color:var(--color-primary)}.qr-approve-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4)}.qr-approve-card{background-color:var(--color-bg-accent);border-radius:var(--radius-md);padding:var(--space-6);max-width:400px;width:100%}.qr-approve-card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-align:center;margin-bottom:var(--space-4)}.qr-approve-card__device-info{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-4);margin-bottom:var(--space-4)}.qr-approve-card__device-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.qr-approve-card__device-icon{font-size:var(--font-size-xl)}.qr-approve-card__device-name{font-weight:var(--font-weight-medium)}.qr-approve-card__device-meta{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.qr-approve-card__message{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--space-4)}.qr-approve-card__auth-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.qr-approve-card__auth-tab{flex:1 1;padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .15s ease}.qr-approve-card__auth-tab:hover{border-color:var(--color-text-secondary)}.qr-approve-card__auth-tab--active{background:var(--color-primary);border-color:var(--color-primary);color:white}.qr-approve-card__link{display:block;background:none;border:none;padding:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-decoration:underline;cursor:pointer}.qr-approve-card__link:hover{color:var(--color-text)}.qr-approve-card__auth-section{padding-top:var(--space-4)}.qr-approve-card__auth-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:var(--space-3)}.qr-approve-card__timer{color:var(--color-text-secondary)}.qr-approve-card__danger-link,.qr-approve-card__timer{text-align:center;font-size:var(--font-size-sm);margin-top:var(--space-4)}.qr-approve-card__danger-link{display:block;color:var(--color-error);cursor:pointer;background:none;border:none;text-decoration:underline}.qr-approve-card__danger-link:hover{opacity:.8}.login-qr-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0}.login-qr-divider:after,.login-qr-divider:before{content:"";flex:1 1;height:1px;background-color:var(--color-border)}.login-qr-divider span{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.login-qr-button{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.login-qr-button__icon{font-size:var(--font-size-lg)}.loader{box-sizing:border-box;position:relative;width:48px;height:48px}.loader,.loader:after,.loader:before{animation:loader-spin 1s linear infinite}.loader:after,.loader:before{content:"";width:20px;height:20px;position:absolute;border-radius:50%;background:var(--color-brand,#a3e635);transform-origin:0 100%}.loader:before{transform-origin:0 50%;background:var(--color-brand-dim,rgba(163,230,53,.3))}@keyframes loader-spin{to{transform:rotate(1turn)}}.loader--sm{width:24px;height:24px}.loader--sm:after,.loader--sm:before{width:10px;height:10px}.loader--lg{width:64px;height:64px}.loader--lg:after,.loader--lg:before{width:26px;height:26px}.loader-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg,#0a0a0a);z-index:9999}.loader-inline{display:inline-flex;align-items:center;gap:var(--space-3,12px)}.loader-inline .loader{width:24px;height:24px}.loader-inline .loader:after,.loader-inline .loader:before{width:10px;height:10px}.loader-inline__text{color:var(--color-text-secondary,#a1a1aa);font-size:var(--font-size-sm,.875rem)}.page-transition{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--space-4,16px)}.page-transition__text{color:var(--color-text-secondary,#a1a1aa);font-size:var(--font-size-base,1rem)}