.ui-spinner{display:inline-flex;align-items:center;gap:8px;color:var(--accent)}.ui-spinner__svg{animation:ui-spinner-rotate .9s linear infinite}.ui-spinner__text{font-size:var(--font-size-sm);color:var(--text-muted)}@keyframes ui-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.currency-selector{display:flex;align-items:center;gap:var(--spacing-2);min-width:220px;justify-content:flex-end;flex-shrink:0}.currency-selector__label{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.currency-selector__select{min-width:180px}.currency-selector .react-select-container{font-size:var(--font-size-sm);font-family:var(--font-family-base)}.currency-selector .react-select__control{min-height:36px;border-radius:var(--radius-sm);border-color:var(--border-default);background-color:var(--surface)!important;color:var(--text-primary)!important;box-shadow:none;font-family:var(--font-family-base)}.currency-selector .react-select__control:hover{border-color:var(--border-strong)}.currency-selector .react-select__control--is-focused{border-color:var(--brand-gold);box-shadow:0 0 0 2px var(--overlay-light)}.currency-selector .react-select__single-value{color:var(--text-primary)!important;font-family:var(--font-family-base)}.currency-selector .react-select__placeholder{font-family:var(--font-family-base)}.currency-selector .react-select__input-container{color:var(--text-primary)!important;font-family:var(--font-family-base)}.currency-selector .react-select__dropdown-indicator{color:var(--text-secondary)}.currency-selector .react-select__dropdown-indicator:hover{color:var(--text-primary)}.currency-selector .react-select__option{color:var(--text-primary)!important;font-size:var(--font-size-sm);font-family:var(--font-family-base)}.currency-selector .react-select__option--is-selected{background-color:var(--brand-gold-muted)!important;color:var(--text-primary)!important;font-weight:var(--font-weight-medium)}.currency-selector .react-select__option--is-focused{background-color:var(--brand-gold-muted)!important;color:var(--text-primary)!important}.currency-selector .react-select__menu{background:var(--surface)!important;z-index:var(--z-popover);border:1px solid var(--border-default);box-shadow:var(--shadow-md);font-family:var(--font-family-base)}.currency-selector__spinner-wrap{display:inline-flex;align-items:center;justify-content:center;margin-left:4px}.currency-selector--compact{width:auto;min-width:0;justify-content:flex-end;gap:var(--spacing-1)}.currency-selector--compact .currency-selector__label{color:var(--text-muted);font-size:var(--font-size-xs)}.currency-selector--compact .currency-selector__select{min-width:var(--currency-selector-compact-width, 112px);width:var(--currency-selector-compact-width, 112px)}.currency-selector--compact .react-select__control{min-height:28px;height:28px;font-size:var(--font-size-xs)}.currency-selector--compact .react-select__single-value{font-size:var(--font-size-xs)}.currency-selector--compact .react-select__value-container{min-height:26px;padding-left:var(--spacing-1);padding-right:var(--spacing-1);padding-top:0;padding-bottom:0}.currency-selector--compact .react-select__indicator{padding:2px}.currency-selector--compact .react-select__menu{font-size:var(--font-size-xs)}.currency-selector--compact .react-select__option{font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-2)}.currency-selector--compact .react-select__input-container{font-size:var(--font-size-xs)}.settings-modal-overlay{position:fixed;inset:0;background-color:var(--overlay-dark);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-4);overflow-y:auto}.settings-modal__shell{display:flex;flex-direction:column;position:relative;width:100%;max-width:520px;max-height:calc(var(--vh, 100vh) - var(--spacing-8));background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);z-index:var(--z-modal);overflow:hidden}.settings-modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--border-default);flex-shrink:0}.settings-modal__title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.settings-modal__close{background:none;border:none;padding:var(--spacing-2);cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-lg);line-height:1;border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast)}.settings-modal__close:hover{color:var(--text-primary);background-color:var(--hover-surface)}.settings-modal__body{flex:1;overflow-y:auto;padding:var(--spacing-5)}.settings-modal__section{margin-bottom:var(--spacing-6)}.settings-modal__section:last-child{margin-bottom:0}.settings-modal__section--centered{display:flex;flex-direction:column;align-items:center;text-align:center}.settings-modal__section-title{margin:0 0 var(--spacing-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:none;letter-spacing:0}.settings-modal__section-desc{margin:0 0 var(--spacing-3);font-size:var(--font-size-sm);color:var(--text-muted)}.settings-modal__section--centered .settings-modal__section-desc{max-width:360px}.settings-modal__row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.settings-modal__row:last-child{margin-bottom:0}.settings-modal__row--currency{align-items:center}.settings-modal__row--palette{align-items:flex-start}.settings-modal__label{display:inline-flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.settings-modal__label-icon{color:var(--text-muted)}.settings-modal__palette-group{display:inline-flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap;justify-content:flex-end}.settings-modal__palette-btn{border:1px solid var(--border-default);background:var(--surface-muted);color:var(--text-primary);border-radius:var(--radius-sm);padding:var(--spacing-1) var(--spacing-3);min-height:36px;display:inline-flex;align-items:center;gap:var(--spacing-2);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.settings-modal__palette-btn:hover{border-color:var(--border-strong);background:var(--hover-surface)}.settings-modal__palette-btn--active{border-color:var(--accent);background:var(--surface)}.settings-modal__palette-swatch{width:12px;height:12px;border-radius:var(--radius-full);border:1px solid var(--border-strong);flex-shrink:0}.settings-modal__toggle{position:relative;width:50px;height:28px;flex-shrink:0;border:none;border-radius:var(--radius-full);background:var(--border-strong);cursor:pointer;transition:background-color var(--transition-fast)}.settings-modal__toggle:hover{background:var(--border-strong)}.settings-modal__toggle--on{background:var(--accent)}.settings-modal__toggle--on:hover{background:var(--accent-hover)}.settings-modal__toggle-thumb{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.settings-modal__toggle--on .settings-modal__toggle-thumb{transform:translate(22px)}.settings-modal__button{display:inline-flex;align-items:center;gap:var(--spacing-2);min-height:36px;padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.settings-modal__button--secondary{background:transparent;border:1px solid var(--border-strong);color:var(--text-primary)}.settings-modal__button--secondary:hover{background-color:var(--hover-surface)}.settings-modal__row--currency .currency-selector{flex:1;min-width:0}@media (max-width: 768px){.settings-modal-overlay{padding:var(--spacing-3)}.settings-modal__shell{max-width:none;max-height:calc(var(--vh, 100vh) - 56px - var(--spacing-6))}.settings-modal__header{padding:var(--spacing-3) var(--spacing-4)}.settings-modal__body{padding:var(--spacing-4)}.settings-modal__row{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.settings-modal__row--palette{align-items:flex-start}.settings-modal__palette-group{justify-content:flex-start}}.loading-block{width:100%;min-height:120px;display:flex;align-items:center;justify-content:center}.personal-info-modal-overlay{position:fixed;inset:0;background-color:var(--overlay-dark);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-4);overflow-y:auto}.personal-info-modal__shell{display:flex;flex-direction:column;position:relative;width:100%;max-width:520px;max-height:calc(var(--vh, 100vh) - var(--spacing-8));background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);z-index:var(--z-modal);overflow:hidden}.personal-info-modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--border-default);flex-shrink:0}.personal-info-modal__title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.personal-info-modal__close{background:none;border:none;padding:var(--spacing-2);cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-lg);line-height:1;border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast)}.personal-info-modal__close:hover{color:var(--text-primary);background-color:var(--hover-surface)}.personal-info-modal__body{flex:1;overflow-y:auto;padding:var(--spacing-5)}.personal-info-modal__intro{margin:0 0 var(--spacing-4);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal)}.personal-info-modal__link{color:var(--accent);text-decoration:underline}.personal-info-modal__link:hover{color:var(--accent-hover)}.personal-info-modal__loading{margin:0;color:var(--text-muted)}.personal-info-modal__loading-wrap{position:relative;z-index:var(--z-loading-overlay);display:flex;align-items:center;justify-content:center}.personal-info-modal__form{display:flex;flex-direction:column;gap:var(--spacing-4)}.personal-info-modal__form-group{display:flex;flex-direction:column;gap:var(--spacing-1)}.personal-info-modal__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.personal-info-modal__input,.personal-info-modal__select{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);color:var(--text-primary);width:100%}.personal-info-modal__input:focus,.personal-info-modal__select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.personal-info-modal__consent{margin-top:var(--spacing-2)}.personal-info-modal__checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer}.personal-info-modal__checkbox{flex-shrink:0;margin-top:2px}.personal-info-modal__error{margin:0;font-size:var(--font-size-sm);color:var(--color-error)}.personal-info-modal__footer{display:flex;justify-content:flex-end;gap:var(--spacing-3);margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--border-default)}.personal-info-modal__button{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.personal-info-modal__button--secondary{background:transparent;border:1px solid var(--border-strong);color:var(--text-primary)}.personal-info-modal__button--secondary:hover{background-color:var(--hover-surface)}.personal-info-modal__button--primary{background:var(--accent);border:none;color:var(--text-inverse)}.personal-info-modal__button--primary:hover:not(:disabled){background:var(--accent-hover)}.personal-info-modal__button--primary:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 768px){.personal-info-modal-overlay{padding:var(--spacing-3)}.personal-info-modal__shell{max-width:none;max-height:calc(var(--vh, 100vh) - 56px - var(--spacing-6))}.personal-info-modal__header{padding:var(--spacing-3) var(--spacing-4)}.personal-info-modal__body{padding:var(--spacing-4)}.personal-info-modal__footer{flex-direction:column}.personal-info-modal__button{width:100%;justify-content:center;text-align:center}}.change-password-modal-overlay{position:fixed;inset:0;background-color:var(--overlay-dark);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-4);overflow-y:auto}.change-password-modal__shell{display:flex;flex-direction:column;position:relative;width:100%;max-width:440px;max-height:calc(var(--vh, 100vh) - var(--spacing-8));background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);z-index:var(--z-modal);overflow:hidden}.change-password-modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--border-default);flex-shrink:0}.change-password-modal__title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.change-password-modal__close{background:none;border:none;padding:var(--spacing-2);cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-lg);line-height:1;border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast)}.change-password-modal__close:hover{color:var(--text-primary);background-color:var(--hover-surface)}.change-password-modal__body{flex:1;overflow-y:auto;padding:var(--spacing-5)}.change-password-modal__form{display:flex;flex-direction:column;gap:var(--spacing-4)}.change-password-modal__form-group{display:flex;flex-direction:column;gap:var(--spacing-1)}.change-password-modal__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.change-password-modal__input-wrap{position:relative;display:flex;align-items:center}.change-password-modal__input{padding:var(--spacing-2) var(--spacing-3);padding-right:2.5rem;font-size:var(--font-size-sm);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);color:var(--text-primary);width:100%}.change-password-modal__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.change-password-modal__toggle-password{position:absolute;right:var(--spacing-2);background:none;border:none;padding:var(--spacing-1);cursor:pointer;color:var(--text-muted);font-size:var(--font-size-sm)}.change-password-modal__toggle-password:hover{color:var(--text-secondary)}.change-password-modal__hint{margin:0;font-size:var(--font-size-xs);color:var(--text-muted)}.change-password-modal__error{margin:0;font-size:var(--font-size-sm);color:var(--color-error)}.change-password-modal__success{margin:0;font-size:var(--font-size-sm);color:var(--color-success-text)}.change-password-modal__footer{display:flex;justify-content:flex-end;gap:var(--spacing-3);margin-top:var(--spacing-2)}.change-password-modal__button{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.change-password-modal__button--secondary{background:transparent;border:1px solid var(--border-strong);color:var(--text-primary)}.change-password-modal__button--secondary:hover{background-color:var(--hover-surface)}.change-password-modal__button--primary{background:var(--accent);border:none;color:var(--text-inverse)}.change-password-modal__button--primary:hover:not(:disabled){background:var(--accent-hover)}.change-password-modal__button--primary:disabled{opacity:.7;cursor:not-allowed}.delete-account-modal-overlay{position:fixed;inset:0;background-color:var(--overlay-dark);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-4);overflow-y:auto}.delete-account-modal__shell{display:flex;flex-direction:column;position:relative;width:100%;max-width:440px;max-height:calc(var(--vh, 100vh) - var(--spacing-8));background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);z-index:var(--z-modal);overflow:hidden}.delete-account-modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--border-default);flex-shrink:0}.delete-account-modal__title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.delete-account-modal__close{background:none;border:none;padding:var(--spacing-2);cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-lg);line-height:1;border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast)}.delete-account-modal__close:hover{color:var(--text-primary);background-color:var(--hover-surface)}.delete-account-modal__body{flex:1;overflow-y:auto;padding:var(--spacing-5)}.delete-account-modal__warning{margin:0 0 var(--spacing-4);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal)}.delete-account-modal__form{display:flex;flex-direction:column;gap:var(--spacing-3)}.delete-account-modal__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.delete-account-modal__input{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);color:var(--text-primary);width:100%}.delete-account-modal__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.delete-account-modal__error{margin:0;font-size:var(--font-size-sm);color:var(--color-error)}.delete-account-modal__footer{display:flex;justify-content:flex-end;gap:var(--spacing-3);margin-top:var(--spacing-2)}.delete-account-modal__button{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.delete-account-modal__button--secondary{background:transparent;border:1px solid var(--border-strong);color:var(--text-primary)}.delete-account-modal__button--secondary:hover{background-color:var(--hover-surface)}.delete-account-modal__button--danger{background:var(--color-error);border:none;color:var(--text-inverse)}.delete-account-modal__button--danger:hover:not(:disabled){background:var(--color-error-dark, #b91c1c)}.delete-account-modal__button--danger:disabled{opacity:.6;cursor:not-allowed}:root{--navbar-bg: rgba(255, 255, 255, .82);--navbar-border: rgba(0, 0, 0, .06)}[data-theme=dark]{--navbar-bg: rgba(26, 28, 30, .88);--navbar-border: rgba(255, 255, 255, .08)}.navbar{position:sticky;top:0;z-index:var(--z-navbar, 100);height:56px;display:flex;justify-content:space-between;align-items:center;width:100%;margin:0;padding:0;overflow:visible;font-family:var(--font-family-base);background:var(--navbar-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--navbar-border);color:var(--text-primary)}.navbar .navbar__link svg,.navbar .navbar__profile-trigger svg,.navbar .navbar__hamburger-btn svg,.navbar .navbar__mobile-item svg,.navbar .navbar__profile-dropdown-item svg{color:inherit}.navbar__container{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 var(--spacing-6);position:relative;gap:var(--spacing-6)}.navbar__logo{color:var(--text-primary);font-weight:var(--font-weight-bold);font-size:1.25rem;letter-spacing:-.02em;display:flex;align-items:center;text-decoration:none;flex-shrink:0;transition:opacity var(--transition-fast)}.navbar__logo:hover{opacity:.9;color:var(--text-primary)}.navbar__links{display:flex;align-items:center;flex:1;min-width:0;margin-left:var(--spacing-8);white-space:nowrap;gap:var(--spacing-2)}.navbar__list{display:flex;align-items:center;list-style:none;margin:0;padding:0}.navbar__list--explore{gap:var(--spacing-1)}.navbar__list--secondary{gap:var(--spacing-1);margin-left:var(--spacing-2)}.navbar__list--utils{gap:var(--spacing-1);margin-left:auto}.navbar__divider{display:inline-block;width:1px;height:16px;margin:0 var(--spacing-3);background:var(--text-secondary);opacity:.35;flex-shrink:0}.navbar__spacer{flex:1;min-width:var(--spacing-4)}.navbar__item{position:relative;display:inline-flex;align-items:center}.navbar__link{color:var(--text-primary);text-decoration:none;font-size:14px;font-weight:500;letter-spacing:.01em;opacity:.9;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-sm);transition:color var(--transition-fast),opacity var(--transition-fast);position:relative}.navbar__link:link,.navbar__link:visited{color:var(--text-primary);opacity:.9}.navbar__link:after{content:"";position:absolute;left:var(--spacing-3);right:var(--spacing-3);bottom:6px;height:2px;background:currentColor;transform:scaleX(0);transition:transform var(--transition-fast);border-radius:1px}.navbar__link:hover{opacity:1;color:var(--text-primary)}.navbar__link:hover:after{transform:scaleX(1)}.navbar__link--active{font-weight:600;opacity:1}.navbar__link--active:link,.navbar__link--active:visited{color:var(--text-primary);opacity:1}.navbar__link--active:after{transform:scaleX(1)}.navbar__button{background:none;border:none;color:var(--text-primary);font-size:14px;font-weight:500;letter-spacing:.01em;opacity:.9;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);font-family:inherit;transition:opacity var(--transition-fast)}.navbar__button:hover{opacity:1}.navbar__logout-btn{font-size:14px}.navbar__profile-trigger,.navbar__appearance-toggle,.navbar__settings-trigger{background:none;border:none;color:var(--text-primary);font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);opacity:.7;transition:opacity var(--transition-fast)}.navbar__profile-trigger:hover,.navbar__appearance-toggle:hover,.navbar__settings-trigger:hover{opacity:1}.navbar__item--profile{position:relative}.navbar__profile-dropdown{position:absolute;top:100%;right:0;margin-top:var(--spacing-1);min-width:200px;background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-2) 0;z-index:var(--z-dropdown);border:1px solid var(--border-subtle)}.navbar__profile-dropdown-item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-4);background:none;border:none;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:inherit;text-decoration:none;cursor:pointer;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast)}.navbar__profile-dropdown-item:hover{background:var(--hover-surface);color:var(--text-primary)}.navbar__profile-dropdown-item--danger{color:var(--color-coral)}.navbar__profile-dropdown-item--danger:hover{background:#e07a5f1a;color:var(--color-coral)}.navbar__profile-dropdown-divider{height:1px;background:var(--border-subtle);margin:var(--spacing-2) 0}.navbar__hamburger-btn{background:none;border:none;color:var(--text-primary);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;opacity:.85;transition:opacity var(--transition-fast)}.navbar__hamburger-btn:hover{opacity:1}.navbar__mobile-menu{position:absolute;top:56px;right:0;background:var(--surface);width:220px;box-shadow:var(--shadow-lg);border-radius:0 0 var(--radius-md) var(--radius-md);padding:var(--spacing-2) 0;z-index:1000;display:none;border:1px solid var(--border-subtle);border-top:none}.navbar__mobile-menu--open{display:block}.navbar__mobile-item{width:100%;text-align:left;background:none;border:none;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;padding:var(--spacing-3) var(--spacing-5);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-2);font-family:inherit;text-decoration:none;transition:background-color var(--transition-fast)}.navbar__mobile-item:hover{background:var(--hover-surface);color:var(--text-primary)}.navbar__mobile-item--active{font-weight:600;background:var(--hover-surface)}.navbar__mobile-item--login{font-weight:var(--font-weight-semibold);border-bottom:1px solid var(--border-subtle)}.navbar__mobile-item--danger{color:var(--color-coral)}.navbar__mobile-item--danger:hover{background:#e07a5f1a;color:var(--color-coral)}@media (max-width: 768px){.navbar__container{padding:0 var(--spacing-3)}.navbar__logo{font-size:1.125rem}.navbar__links{display:none}.navbar__hamburger{display:inline-flex}.navbar__mobile-menu{width:100%;border-radius:0;box-shadow:var(--shadow-lg)}}@media (min-width: 769px){.navbar__hamburger{display:none}.navbar__mobile-menu{display:none!important}}.app-shell{min-height:100dvh;background:var(--surface)}.app-shell__topbar{position:sticky;top:0;z-index:var(--z-sticky)}.app-shell__page{padding:var(--spacing-8) var(--spacing-6) var(--spacing-12)}.app-shell__page--dashboard,.app-shell__page--fullscreen{padding:0}.app-shell__container{margin:0 auto}.container--default{max-width:1200px}.container--dashboard{max-width:none;width:100%;box-sizing:border-box;padding:0 var(--spacing-6);background:var(--surface-muted)}.app-shell__page--fullscreen{height:calc(100dvh - 56px)}.container--fullscreen{max-width:none;padding:0;height:100%}@media (max-width: 768px){.app-shell__page{padding:var(--spacing-4) var(--spacing-3) var(--spacing-6)}.app-shell__page--dashboard,.app-shell__page--fullscreen{padding:0}.container--dashboard{padding-left:0;padding-right:0}}.container--dashboard .profile,.container--dashboard .role-page,.container--dashboard .explore-page,.container--dashboard .explore-page__navigator{background:transparent}.profile-grid{display:grid;grid-template-columns:minmax(560px,1.35fr) minmax(480px,1fr);gap:24px;align-items:start}@media (max-width: 1100px){.profile-grid{grid-template-columns:1fr}}.role-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:24px}@media (max-width: 1100px){.role-grid{grid-template-columns:1fr}}.global-loading-overlay{position:fixed;inset:0;background-color:var(--overlay-dark);display:flex;justify-content:center;align-items:center;z-index:9999;backdrop-filter:blur(2px)}.global-loading-overlay__content{background-color:var(--surface);padding:var(--spacing-8);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);min-width:200px}.global-loading-overlay__message{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center}.global-loading-overlay__active-keys{font-size:var(--font-size-xs);color:var(--text-secondary);text-align:center}@media (max-width: 768px){.global-loading-overlay__content{padding:var(--spacing-5);min-width:auto;max-width:90%;margin:var(--spacing-4)}}.route-loading-fallback{display:flex;align-items:center;justify-content:center;min-height:200px;padding:var(--spacing-6)}:root{--brand-gold: #a67c00;--brand-gold-hover: #c4940a;--brand-gold-dark: #8b6914;--brand-gold-muted: rgba(166, 124, 0, .1);--gray-50: #fcfcfc;--gray-100: #fafafa;--gray-200: #f4f4f5;--gray-300: #e4e4e7;--gray-400: #a1a1aa;--gray-500: #71717a;--gray-600: #52525b;--gray-700: #3f3f46;--gray-800: #27272a;--gray-900: #18181b;--surface: #ffffff;--surface-muted: #fcfcfc;--surface-elevated: #fafafa;--surface-overlay: rgba(255, 255, 255, .98);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-muted: var(--gray-500);--text-inverse: #ffffff;--text-dark: var(--gray-900);--text-light: #fafafa;--border-subtle: var(--gray-200);--border-default: var(--gray-300);--border-strong: var(--gray-400);--panel-border: 1px solid var(--brand-gold-muted);--accent: #3b82f6;--accent-hover: #2563eb;--accent-bg-subtle: rgba(59, 130, 246, .08);--hover-surface: var(--gray-100);--hover-border: var(--gray-300);--color-success: #22c55e;--color-error: #ef4444;--color-warning: #f59e0b;--color-info: var(--accent);--color-coral: #f87171;--color-disabled: var(--gray-400);--color-error-background: #fef2f2;--color-error-shadow: rgba(239, 68, 68, .2);--color-warning-text: #92400e;--color-warning-background: #fffbeb;--color-warning-border: #f59e0b;--color-success-background: #f0fdf4;--background-warm: #fff7ed;--color-user: #0891b2;--color-user-dark: #0e7490;--focus-ring: rgba(59, 130, 246, .5);--overlay-light: rgba(255, 255, 255, .1);--overlay-dark: rgba(0, 0, 0, .4);--tooltip-text-color: #ffffff;--tooltip-background-color: var(--gray-800);--tooltip-margin: 10px;--tooltip-arrow-size: 6px;--chart-tooltip-bg: #ffffff;--chart-tooltip-text: #18181b;--chart-tooltip-font: var(--font-family-base);--chart-tooltip-border: rgba(0, 0, 0, .1);--chart-tooltip-font-size: 11px;--chart-grid-stroke: rgba(0, 0, 0, .06);--chart-axis-fill: var(--text-muted);--chart-axis-font-size: 11px;--chart-line-primary: var(--color-user);--chart-line-secondary: var(--gray-500);--chart-line-width: 2;--chart-line-width-primary: 2.5;--chart-marker-stroke: var(--border-strong);--chart-hover-dot-fill: var(--surface);--chart-area-opacity: .08;--profile-rail-height: calc(var(--spacing-2) + var(--spacing-1) / 2);--profile-rail-gradient: linear-gradient( 90deg, color-mix(in srgb, var(--color-error) 38%, var(--surface)) 0%, color-mix(in srgb, var(--text-muted) 18%, var(--surface)) 50%, color-mix(in srgb, var(--color-success) 38%, var(--surface)) 100% );--profile-rail-border: var(--profile-chart-border);--profile-rail-midline-bg: var(--border-strong);--profile-rail-median-tick-bg: var(--border-strong);--profile-rail-padding-x: 56px;--profile-rail-marker-size: calc(var(--spacing-3) - 2px);--profile-rail-marker-bg: var(--text-primary);--profile-rail-marker-ring: 2px solid var(--surface);--profile-rail-label-size: var(--profile-caption-size);--profile-rail-label-color: var(--text-muted);--profile-rail-caption-size: var(--profile-caption-size);--profile-rail-caption-color: var(--text-secondary);--profile-rail-hover-line: var(--border-strong);--profile-tile-elevation: 0 1px 3px rgba(0, 0, 0, .04);--profile-tile-user-border: 1px solid var(--color-user);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 6px 20px rgba(0, 0, 0, .06);--shadow-xl: 0 10px 40px rgba(0, 0, 0, .08);--shadow-overlay: 0 4px 24px rgba(0, 0, 0, .12);--shadow-uniform: 0 0 0 1px rgba(0, 0, 0, .05);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px;--spacing-0: 0;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 28px;--spacing-8: 32px;--spacing-9: 40px;--spacing-10: 48px;--spacing-12: 64px;--spacing-16: 96px;--control-height-xs: 28px;--control-height-sm: 36px;--control-height-md: 40px;--experience-location-width: 220px;--edit-icon-width: 1.25rem;--rail-width: var(--spacing-10);--profile-list-col1: 22rem;--profile-list-col2: 14rem;--profile-list-col3: 12rem;--profile-list-gap-row: var(--spacing-2);--profile-list-gap-col: var(--spacing-3);--profile-list-inset: var(--spacing-2);--font-family-base: "Poppins", sans-serif;--font-family-heading: "Poppins", sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-size-5xl: 48px;--font-size-6xl: 56px;--font-size-7xl: 64px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-loading-overlay: 9999;--vh: 100vh;--profile-card-radius: 16px;--profile-card-radius-inner: 12px;--profile-card-padding: var(--spacing-4);--profile-card-gap: var(--spacing-3);--profile-card-border: 1px solid rgba(0, 0, 0, .06);--profile-card-shadow-tight: 0 1px 3px rgba(0, 0, 0, .04);--profile-card-shadow-soft: 0 4px 16px rgba(0, 0, 0, .06);--profile-card-shadow-hover: 0 6px 24px rgba(0, 0, 0, .08);--profile-strip-height: 3px;--profile-strip-bg: var(--border-subtle);--profile-title-size: 15px;--profile-title-weight: var(--font-weight-semibold);--profile-kpi-size: 46px;--profile-kpi-label-size: 13px;--profile-kpi-tracking: -.02em;--profile-caption-size: 12px;--profile-meta-size: var(--font-size-xs);--profile-chart-bg: var(--surface);--profile-chart-border: 1px solid var(--border-subtle);--profile-chart-padding: var(--spacing-3);--profile-tile-bg: var(--surface);--profile-tile-border: 1px solid var(--border-subtle);--wc-radius: var(--profile-card-radius);--wc-radius-inner: var(--profile-card-radius-inner);--wc-padding: var(--profile-card-padding);--wc-gap: var(--profile-card-gap);--wc-border: var(--profile-card-border);--wc-shadow-rest: var(--profile-card-shadow-tight), var(--profile-card-shadow-soft);--wc-shadow-hover: var(--profile-card-shadow-tight), var(--profile-card-shadow-hover);--wc-strip-height: var(--profile-strip-height);--wc-strip-bg: var(--profile-strip-bg);--wc-title-size: 11px;--wc-title-weight: var(--font-weight-semibold);--wc-title-tracking: .04em;--wc-title-transform: uppercase;--wc-title-color: var(--text-muted);--wc-statement-size: var(--profile-title-size);--wc-statement-weight: var(--profile-title-weight);--wc-kpi-size: var(--profile-kpi-size);--wc-kpi-tracking: var(--profile-kpi-tracking);--wc-meta-size: var(--profile-meta-size);--wc-kpi-label-size: var(--profile-kpi-label-size);--wc-chart-bg: var(--profile-chart-bg);--wc-chart-border: var(--profile-chart-border);--wc-chart-padding: var(--profile-chart-padding);--wc-min-height: 380px;--wc-hover-lift: -2px}:root{--graph-link-base: #94a3b8;--graph-link-hover: #64748b;--graph-link-selected: var(--accent);--graph-hover-blue-accent: var(--accent-hover);--graph-hover-blue-glow-strong: rgba(59, 130, 246, .35);--graph-hover-blue-glow-soft: rgba(59, 130, 246, .18);--graph-hover-green-accent: var(--color-success);--graph-hover-green-glow-strong: rgba(34, 197, 94, .35);--graph-hover-green-glow-soft: rgba(34, 197, 94, .18);--graph-hover-user-accent: var(--color-user-dark);--graph-hover-user-glow-strong: rgba(8, 145, 178, .35);--graph-hover-user-glow-soft: rgba(8, 145, 178, .18);--graph-hover-accent: var(--graph-hover-blue-accent);--graph-hover-glow-strong: var(--graph-hover-blue-glow-strong);--graph-hover-glow-soft: var(--graph-hover-blue-glow-soft);--graph-node-fill: var(--surface-muted);--graph-node-stroke: var(--border-subtle);--graph-node-hover-fill: var(--surface);--graph-node-hover-stroke: var(--accent);--graph-node-root-fill: #e0f2fe;--graph-node-root-stroke: #0284c7;--graph-node-selected-fill: var(--accent);--graph-node-selected-stroke: var(--accent-hover);--graph-overlay-border-strong: var(--border-default);--graph-shadow-node-hover: 0 4px 12px rgba(0, 0, 0, .08);--graph-shadow-node-selected: 0 2px 8px rgba(59, 130, 246, .25);--graph-shadow-node-selected-hover: 0 4px 12px rgba(59, 130, 246, .3);--graph-shadow-tooltip: 0 4px 16px rgba(0, 0, 0, .12);--graph-shadow-overlay-soft: 0 1px 4px rgba(0, 0, 0, .06);--graph-shadow-notice: 0 1px 3px rgba(0, 0, 0, .06);--graph-legend-edge-grad-start: rgba(148, 163, 184, .35);--graph-legend-edge-grad-mid: rgba(148, 163, 184, .6);--graph-legend-edge-grad-end: rgba(148, 163, 184, .9);--graph-legend-edge-border: rgba(100, 116, 139, .25);--graph-discipline-swatch-border: rgba(0, 0, 0, .08);--text-inverse-muted: rgba(255, 255, 255, .86)}[data-theme=dark]{--brand-gold: #c4940a;--brand-gold-hover: #d4a31a;--brand-gold-dark: #a67c00;--brand-gold-muted: rgba(196, 148, 10, .12);--gray-50: #27272a;--gray-100: #2f2f33;--gray-200: #3f3f46;--gray-300: #52525b;--gray-400: #71717a;--gray-500: #a1a1aa;--gray-600: #d4d4d8;--gray-700: #e4e4e7;--gray-800: #f4f4f5;--gray-900: #fafafa;--surface: #18181b;--surface-muted: #27272a;--surface-elevated: #2f2f33;--surface-overlay: rgba(24, 24, 27, .96);--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-inverse: #18181b;--text-dark: #fafafa;--text-light: #18181b;--border-subtle: #3f3f46;--border-default: #52525b;--border-strong: #71717a;--accent: #60a5fa;--accent-hover: #93c5fd;--accent-bg-subtle: rgba(96, 165, 250, .15);--hover-surface: var(--gray-100);--hover-border: var(--gray-300);--color-success: #4ade80;--color-error: #f87171;--color-warning: #fbbf24;--color-info: var(--accent);--color-coral: #fca5a5;--color-disabled: var(--gray-500);--color-error-background: #3f1f1f;--color-warning-text: #fef3c7;--color-warning-background: #3f3420;--color-warning-border: #f59e0b;--color-success-background: #1e3320;--background-warm: #3d3528;--color-user: #22d3ee;--color-user-dark: #06b6d4;--focus-ring: rgba(96, 165, 250, .5);--overlay-light: rgba(255, 255, 255, .05);--overlay-dark: rgba(0, 0, 0, .6);--tooltip-text-color: #ffffff;--tooltip-background-color: var(--gray-200);--chart-tooltip-bg: var(--gray-200);--chart-tooltip-text: #ffffff;--chart-tooltip-border: rgba(255, 255, 255, .12);--chart-grid-stroke: rgba(255, 255, 255, .08);--chart-axis-fill: var(--text-muted);--chart-marker-stroke: var(--border-strong);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 6px 20px rgba(0, 0, 0, .3);--shadow-xl: 0 10px 40px rgba(0, 0, 0, .35);--shadow-overlay: 0 4px 24px rgba(0, 0, 0, .4);--shadow-uniform: 0 0 0 1px rgba(255, 255, 255, .06);--profile-card-border: 1px solid rgba(255, 255, 255, .06);--profile-card-shadow-tight: 0 1px 3px rgba(0, 0, 0, .2);--profile-card-shadow-soft: 0 4px 16px rgba(0, 0, 0, .25);--profile-card-shadow-hover: 0 6px 24px rgba(0, 0, 0, .3);--profile-strip-bg: var(--border-subtle);--profile-chart-border: 1px solid var(--border-subtle);--profile-tile-border: 1px solid var(--border-subtle)}[data-theme=dark] .react-tooltip{color:#fff!important;background-color:var(--gray-200)!important;border:1px solid var(--border-default)}[data-theme=dark]{--graph-link-base: #64748b;--graph-link-hover: #94a3b8;--graph-link-selected: #60a5fa;--graph-hover-blue-accent: #93c5fd;--graph-node-fill: #27272a;--graph-node-stroke: #3f3f46;--graph-node-hover-fill: #2f2f33;--graph-node-hover-stroke: var(--accent);--graph-node-root-fill: #0c4a6e;--graph-node-root-stroke: #38bdf8;--graph-node-selected-fill: #2563eb;--graph-node-selected-stroke: #93c5fd;--graph-overlay-border-strong: #52525b;--graph-shadow-node-hover: 0 4px 12px rgba(0, 0, 0, .35);--graph-shadow-node-selected: 0 2px 8px rgba(96, 165, 250, .3);--graph-shadow-node-selected-hover: 0 4px 12px rgba(96, 165, 250, .35);--graph-shadow-tooltip: 0 6px 20px rgba(0, 0, 0, .45);--graph-shadow-overlay-soft: 0 1px 4px rgba(0, 0, 0, .25);--graph-shadow-notice: 0 1px 3px rgba(0, 0, 0, .2);--graph-legend-edge-border: rgba(148, 163, 184, .3);--graph-discipline-swatch-border: rgba(255, 255, 255, .12);--text-inverse-muted: rgba(0, 0, 0, .7)}*{box-sizing:border-box;margin:0;padding:0}ul{list-style:none}img{width:100%;height:auto}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus,select:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:inherit!important;transition:background-color 5000s ease-in-out 0s}*{font-family:var(--font-family-base);box-sizing:border-box}html,body{overflow-x:hidden}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);background:var(--surface);color:var(--text-primary)}a{text-decoration:none;color:var(--text-secondary);transition:color var(--transition-base)}a:hover{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary)}button{font-family:var(--font-family-base);font-size:var(--font-size-base);cursor:pointer;border:none;transition:all var(--transition-base)}input,select,textarea{font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--text-primary)}button:focus,input:focus,select:focus,textarea:focus{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.react-tooltip{background-color:var(--surface)!important;color:var(--text-primary)!important;border:1px solid var(--border-default)!important;max-width:250px!important;white-space:normal!important;word-wrap:break-word!important;line-height:var(--line-height-normal)!important;padding:var(--spacing-2) var(--spacing-3)!important;font-family:var(--font-family-base)!important;font-size:var(--font-size-xs)!important;border-radius:4px!important;box-shadow:0 2px 8px #0000001f!important;opacity:1!important;z-index:var(--z-tooltip)!important}.error-message{color:var(--color-error);font-size:var(--font-size-xs);background-color:var(--color-error-background);padding:var(--spacing-1) var(--spacing-2);border-left:4px solid var(--color-error);border-radius:var(--radius-sm);display:block}.warning-message{color:var(--color-warning-text);font-size:var(--font-size-xs);background-color:var(--color-warning-background);padding:var(--spacing-1) var(--spacing-2);border-left:4px solid var(--color-warning-border);border-radius:var(--radius-sm);display:block;margin-top:var(--spacing-1)}.tooltip-trigger,.tooltip-icon{margin-left:5px;color:var(--text-muted);cursor:help;font-size:var(--font-size-xs);display:inline-block;transition:color var(--transition-fast),transform var(--transition-fast)}.tooltip-icon:hover{color:var(--accent);transform:scale(1.1)}
