:root{--color-black: #000000;--color-white: #FFFFFF;--color-gray-50: #FAFAFA;--color-gray-100: #F5F5F5;--color-gray-200: #E5E5E5;--color-gray-300: #D4D4D4;--color-gray-400: #A3A3A3;--color-gray-500: #808080;--color-gray-600: #525252;--color-gray-700: #404040;--color-gray-800: #262626;--color-gray-900: #1A1A1A;--color-background: #FFFFFF;--color-surface: #FAFAFA;--color-text-primary: #000000;--color-text-secondary: #404040;--color-text-tertiary: #808080;--color-border: #E5E5E5;--color-border-focus: #000000;--color-overlay: rgba(0, 0, 0, .5);--color-blue-100: #DBEAFE;--color-blue-300: #93C5FD;--color-blue-800: #1E40AF;--color-yellow-100: #FEF3C7;--color-yellow-300: #FCD34D;--color-yellow-800: #92400E;--color-green-100: #D1FAE5;--color-green-300: #6EE7B7;--color-green-800: #065F46;--color-red-50: #FEF2F2;--color-red-100: #FEE2E2;--color-red-200: #FECACA;--color-red-300: #FCA5A5;--color-red-700: #B91C1C;--color-red-800: #991B1B;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Inter";--font-mono: "SF Mono", "Monaco", "Cascadia Code", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem;--border-radius-sm: .25rem;--border-radius: .375rem;--border-radius-lg: .5rem;--border-width: 1px;--border-width-thick: 2px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}.dark-mode{--color-background: #0a0a0a;--color-surface: #1a1a1a;--color-text-primary: #FFFFFF;--color-text-secondary: #D4D4D4;--color-text-tertiary: #A3A3A3;--color-border: #404040;--color-border-focus: #FFFFFF;--color-overlay: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .5), 0 1px 2px -1px rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -2px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -4px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5);--color-blue-100: #1E3A8A;--color-blue-300: #3B82F6;--color-blue-800: #DBEAFE;--color-yellow-100: #78350F;--color-yellow-300: #F59E0B;--color-yellow-800: #FEF3C7;--color-green-100: #064E3B;--color-green-300: #10B981;--color-green-800: #D1FAE5;--color-red-100: #7F1D1D;--color-red-300: #EF4444;--color-red-800: #FEE2E2}html,body{transition:background-color var(--transition-base),color var(--transition-base)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-background);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:var(--spacing-md)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-black);text-decoration:none;transition:opacity var(--transition-fast)}a:hover{opacity:.7}code,pre{font-family:var(--font-mono);font-size:var(--text-sm)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.container-narrow{width:100%;max-width:800px;margin:0 auto;padding:0 var(--spacing-md)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:600}.font-normal{font-weight:400}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.text-black{color:var(--color-black)}.text-white{color:var(--color-white)}.text-gray{color:var(--color-gray-600)}.bg-white{background-color:var(--color-white)}.bg-black{background-color:var(--color-black)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.border{border:var(--border-width) solid var(--color-gray-200)}.border-top{border-top:var(--border-width) solid var(--color-gray-200)}.border-bottom{border-bottom:var(--border-width) solid var(--color-gray-200)}.border-black{border-color:var(--color-black)}.site-header{background-color:var(--color-white);border-bottom:1px solid var(--color-gray-200);position:sticky;top:0;z-index:var(--z-sticky)}.logo-link{display:flex;align-items:center;text-decoration:none;transition:opacity var(--transition-fast)}.logo-link:hover{opacity:.8}.nav-links{display:flex;gap:var(--spacing-lg);align-items:center}.nav-link{color:var(--color-gray-700);text-decoration:none;font-weight:500;transition:color var(--transition-fast);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius)}.nav-link:hover{color:var(--color-black);background-color:var(--color-gray-50);opacity:1}@media (max-width: 479px){:root{--text-5xl: 1.875rem;--text-4xl: 1.5rem;--text-3xl: 1.25rem;--text-2xl: 1.125rem;--spacing-3xl: 2rem;--spacing-4xl: 3rem}body{font-size:var(--text-sm)}.container{padding:0 var(--spacing-sm);max-width:100%}.container-narrow{padding:0 var(--spacing-sm)}.button{min-height:44px;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-sm)}.input,.select{min-height:44px;font-size:16px}.form-row{grid-template-columns:1fr!important}.site-header nav{padding:var(--spacing-sm)!important}.site-header .logo-link img{height:28px!important}.nav-links{gap:var(--spacing-xs)}.nav-link{font-size:var(--text-xs);padding:var(--spacing-xs)}.card{padding:var(--spacing-md)}.modal{width:calc(100% - var(--spacing-md))!important;max-width:100%!important;margin:var(--spacing-sm)}table{display:block;overflow-x:auto;white-space:nowrap}}@media (min-width: 480px) and (max-width: 767px){:root{--text-5xl: 2rem;--text-4xl: 1.75rem;--text-3xl: 1.375rem}.container{padding:0 var(--spacing-md)}}@media (max-width: 768px){:root{--text-5xl: 2.25rem;--text-4xl: 1.875rem;--text-3xl: 1.5rem}.container{padding:0 var(--spacing-md)}.nav-links{gap:var(--spacing-sm)}.nav-link{font-size:var(--text-sm);padding:var(--spacing-xs)}.site-header nav{padding:var(--spacing-md) var(--spacing-sm)!important}.site-header .logo-link img{height:32px!important}.form-row{grid-template-columns:1fr}}@media (orientation: landscape) and (max-height: 500px){:root{--spacing-3xl: 2rem;--spacing-4xl: 3rem}.hero__container{padding:var(--spacing-2xl) var(--spacing-md)!important}}.button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;line-height:1.5;text-align:center;border:var(--border-width) solid var(--color-black);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.button:hover{opacity:1;transform:translateY(-1px);box-shadow:var(--shadow-md)}.button:active{transform:translateY(0)}.button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.button--primary{background-color:var(--color-black);color:var(--color-white)}.button--primary:hover{background-color:var(--color-gray-900)}.button--secondary{background-color:var(--color-white);color:var(--color-black)}.button--secondary:hover{background-color:var(--color-gray-50)}.button--outline{background-color:transparent;color:var(--color-black)}.button--outline:hover{background-color:var(--color-gray-50)}.button--large{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--text-lg)}.button--small{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-sm)}.button--full-width{width:100%}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-overlay)}.input:disabled{opacity:.6;cursor:not-allowed}.input--error{border-color:var(--color-black)}.input__label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--text-sm);font-weight:500;color:var(--color-gray-700)}.input__error{display:block;margin-top:var(--spacing-xs);font-size:var(--text-sm);color:var(--color-gray-700)}.input__hint{display:block;margin-top:var(--spacing-xs);font-size:var(--text-sm);color:var(--color-gray-500)}.form-group{margin-bottom:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media (max-width: 479px){.form-row{grid-template-columns:1fr;gap:var(--spacing-sm)}.input,.select,.button{font-size:16px}.card,.modal{padding:var(--spacing-md)}}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.select{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--color-black);background-color:var(--color-white);border:var(--border-width) solid var(--color-gray-300);border-radius:var(--border-radius);cursor:pointer;transition:border-color var(--transition-fast)}.select:focus{outline:none;border-color:var(--color-black);box-shadow:0 0 0 3px #0000001a}.card{background-color:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.card__header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--color-border)}.card__title{font-size:var(--text-xl);font-weight:600;margin-bottom:0}.card__body{margin-bottom:var(--spacing-md)}.card__footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:var(--border-width) solid var(--color-gray-200)}.spinner{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--spacing-sm)}.spinner__circle{width:40px;height:40px;border:4px solid var(--color-gray-200);border-top-color:var(--color-black);border-radius:50%;animation:spin .8s linear infinite}.spinner__text{font-size:var(--text-sm);color:var(--color-gray-600);position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.spinner--sm .spinner__circle{width:20px;height:20px;border-width:2px}.spinner--md .spinner__circle{width:40px;height:40px;border-width:4px}.spinner--lg .spinner__circle{width:60px;height:60px;border-width:6px}.button--loading{position:relative;color:transparent;pointer-events:none}.button__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.button__spinner .spinner__circle{width:16px;height:16px;border-width:2px;border-top-color:currentColor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.button--primary .button__spinner .spinner__circle{border-top-color:var(--color-white)}.spinner-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fffffff2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-base)}.spinner-overlay__message{font-size:var(--text-lg);color:var(--color-gray-700);font-weight:500;margin:0}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--border-radius-sm)}.badge--default{background-color:var(--color-gray-200);color:var(--color-gray-700)}.badge--primary{background-color:var(--color-black);color:var(--color-white)}.badge--success{background-color:var(--color-gray-700);color:var(--color-white)}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-base)}.modal{background-color:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:600px;width:90%;max-height:90vh;overflow-y:auto;z-index:var(--z-modal);animation:slideUp var(--transition-base)}.modal__header{padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-gray-200);display:flex;align-items:center;justify-content:space-between}.modal__title{font-size:var(--text-2xl);font-weight:600;margin-bottom:0}.modal__close{background:none;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--color-gray-600);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast)}.modal__close:hover{color:var(--color-black);background-color:var(--color-gray-100)}.modal__close:focus{outline:2px solid var(--color-black);outline-offset:2px}.modal__body{padding:var(--spacing-lg)}.modal__footer{padding:var(--spacing-lg);border-top:var(--border-width) solid var(--color-gray-200);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.progress{width:100%;height:8px;background-color:var(--color-gray-200);border-radius:4px;overflow:hidden}.progress__bar{height:100%;background-color:var(--color-black);transition:width var(--transition-slow)}.toast{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);background-color:var(--color-black);color:var(--color-white);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:var(--z-tooltip);animation:slideInRight var(--transition-base)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.site-header{background-color:var(--color-background);border-bottom:var(--border-width) solid var(--color-border);position:sticky;top:0;z-index:var(--z-sticky);transition:background-color var(--transition-base),border-color var(--transition-base)}.nav-link{color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-base);font-weight:500;transition:color var(--transition-fast)}.nav-link:hover{color:var(--color-text-primary)}.logo-link img{transition:filter var(--transition-base)}.dark-mode .logo-link img{filter:invert(1) brightness(1.2)}.hamburger-menu{display:none;flex-direction:column;justify-content:space-around;width:44px;height:44px;background:transparent;border:none;cursor:pointer;padding:var(--spacing-xs);z-index:calc(var(--z-sticky) + 2)}.hamburger-line{width:100%;height:2px;background-color:var(--color-text-primary);transition:all var(--transition-base);border-radius:2px}.hamburger-menu--open .hamburger-line:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger-menu--open .hamburger-line:nth-child(2){opacity:0}.hamburger-menu--open .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(8px,-8px)}@media (max-width: 768px){.hamburger-menu{display:flex}.nav-links{position:fixed;top:0;right:-100%;width:80%;max-width:300px;height:100vh;background-color:var(--color-background);border-left:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-xl);padding:calc(60px + var(--spacing-xl)) var(--spacing-lg) var(--spacing-xl);transition:right var(--transition-base);z-index:calc(var(--z-sticky) + 1);overflow-y:auto;flex-direction:column!important;align-items:stretch!important;gap:var(--spacing-md)!important}.nav-links--open{right:0}.nav-link{padding:var(--spacing-md);border-bottom:var(--border-width) solid var(--color-border);display:block;text-align:left}.nav-link:last-of-type{border-bottom:none}.nav-links .button{width:100%;justify-content:center;margin-top:var(--spacing-md)}#theme-toggle-container{padding:var(--spacing-md);border-bottom:var(--border-width) solid var(--color-border);display:flex;justify-content:center}}@media (max-width: 479px){.nav-links{width:85%;max-width:none}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:var(--spacing-xs);background:none;border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;color:var(--color-text-primary);transition:all var(--transition-fast)}.theme-toggle:hover{background-color:var(--color-surface);border-color:var(--color-border-focus);transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0)}.theme-toggle svg{width:20px;height:20px;transition:transform var(--transition-base)}.theme-toggle:hover svg{transform:rotate(15deg)}.dark-mode .theme-toggle{border-color:var(--color-border)}.dark-mode .theme-toggle:hover{background-color:var(--color-surface);border-color:var(--color-border-focus)}.table{width:100%;border-collapse:collapse}.table__header{background-color:var(--color-gray-50);border-bottom:var(--border-width-thick) solid var(--color-gray-300)}.table__header-cell{padding:var(--spacing-md);text-align:left;font-size:var(--text-sm);font-weight:600;color:var(--color-gray-700);text-transform:uppercase;letter-spacing:.5px}.table__row{border-bottom:var(--border-width) solid var(--color-gray-200)}.table__row:hover{background-color:var(--color-gray-50)}.table__cell{padding:var(--spacing-md);font-size:var(--text-base)}.error-boundary{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-base)}.error-boundary__content{position:relative;background-color:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:500px;width:90%;padding:var(--spacing-2xl);text-align:center;animation:slideUp var(--transition-base)}.error-boundary__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto var(--spacing-lg);color:var(--color-black)}.error-boundary__title{font-size:var(--text-2xl);font-weight:600;margin:0 0 var(--spacing-md);color:var(--color-black)}.error-boundary__message{font-size:var(--text-base);color:var(--color-gray-700);margin:0 0 var(--spacing-xl);line-height:1.6}.error-boundary__actions{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:stretch}.error-boundary__close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:none;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--color-gray-500);transition:color var(--transition-fast)}.error-boundary__close:hover{color:var(--color-black)}.error-toast{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);background-color:var(--color-black);color:var(--color-white);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:var(--z-tooltip);opacity:0;transform:translateY(20px);transition:opacity var(--transition-base),transform var(--transition-base);max-width:400px}.error-toast--visible{opacity:1;transform:translateY(0)}@media (max-width: 479px){.error-boundary__content{width:calc(100% - var(--spacing-md));padding:var(--spacing-md);margin:var(--spacing-sm)}.error-boundary__title{font-size:var(--text-xl)}.error-toast{bottom:var(--spacing-sm);right:var(--spacing-sm);left:var(--spacing-sm);max-width:none;padding:var(--spacing-sm)}}@media (max-width: 768px){.error-boundary__content{width:95%;padding:var(--spacing-xl)}.error-toast{bottom:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);max-width:none}}.account-nav{position:relative;display:inline-flex;align-items:center;gap:var(--spacing-md)}.account-trigger{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:transparent;border:var(--border-width) solid transparent;border-radius:var(--border-radius);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.account-trigger:hover,.account-trigger--open{background-color:var(--color-surface);border-color:var(--color-border)}.account-trigger__email{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-trigger__icon{width:16px;height:16px;transition:transform var(--transition-fast)}.account-trigger--open .account-trigger__icon{transform:rotate(180deg)}.account-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));right:0;min-width:240px;background-color:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);z-index:var(--z-dropdown)}.account-dropdown--open{opacity:1;visibility:visible;transform:translateY(0)}.account-dropdown__header{padding:var(--spacing-md);border-bottom:var(--border-width) solid var(--color-border)}.account-dropdown__email{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);margin:0 0 var(--spacing-xs);word-break:break-word}.account-dropdown__role{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:0}.account-dropdown__menu{list-style:none;padding:var(--spacing-xs) 0;margin:0}.account-dropdown__item{margin:0}.account-dropdown__link,.account-dropdown__button{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-primary);text-align:left;text-decoration:none;background:none;border:none;cursor:pointer;transition:background-color var(--transition-fast)}.account-dropdown__link:hover,.account-dropdown__button:hover{background-color:var(--color-surface)}.account-dropdown__divider{height:var(--border-width);background-color:var(--color-border);margin:var(--spacing-xs) 0}.auth-actions{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.auth-actions__link{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);text-decoration:none;border-radius:var(--border-radius);transition:background-color var(--transition-fast)}.auth-actions__link:hover{background-color:var(--color-surface)}@media (max-width: 768px){.account-trigger__email{max-width:120px}.account-dropdown{min-width:200px}}@media (max-width: 479px){.account-trigger__email{display:none}.account-trigger{padding:var(--spacing-xs)}.account-dropdown{right:calc(var(--spacing-md) * -1);min-width:180px}}.home-page{color:var(--color-text-primary)}.hero{background-color:var(--color-background);transition:background-color var(--transition-base)}.hero__container{text-align:center;padding:var(--spacing-4xl) var(--spacing-md)}.hero__logo{max-width:400px;width:100%;margin-bottom:var(--spacing-xl);transition:filter var(--transition-base)}.dark-mode .hero__logo{filter:invert(1) brightness(1.2)}.hero__subtitle{font-size:var(--text-xl);color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl);max-width:600px;margin-left:auto;margin-right:auto}.how-it-works{background-color:var(--color-surface);padding:var(--spacing-4xl) 0;transition:background-color var(--transition-base)}.how-it-works__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-xl)}.how-it-works__step{text-align:center}.how-it-works__number{width:60px;height:60px;background:var(--color-text-primary);color:var(--color-background);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);font-weight:600;margin:0 auto var(--spacing-md);transition:background-color var(--transition-base),color var(--transition-base)}.how-it-works__step h3{margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.how-it-works__step p{color:var(--color-text-secondary);font-size:var(--text-sm)}.features{padding:var(--spacing-4xl) 0;background-color:var(--color-background)}.features__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl)}.features__card{background-color:var(--color-surface)}.features__card h3{color:var(--color-text-primary)}.features__card p{color:var(--color-text-secondary)}.cta-section{background-color:var(--color-text-primary);color:var(--color-background);padding:var(--spacing-4xl) 0;text-align:center;transition:background-color var(--transition-base),color var(--transition-base)}.cta-section h2{color:var(--color-background);margin-bottom:var(--spacing-lg)}.cta-section .button{background-color:var(--color-background);color:var(--color-text-primary);border-color:var(--color-background)}.cta-section .button:hover{opacity:.9;transform:translateY(-2px)}.section-heading{text-align:center;margin-bottom:var(--spacing-3xl);color:var(--color-text-primary)}@media (max-width: 479px){.hero__container{padding:var(--spacing-xl) var(--spacing-sm)}.hero__logo{max-width:200px}.hero__subtitle{font-size:var(--text-base);padding:0 var(--spacing-xs)}.how-it-works,.features,.cta-section{padding:var(--spacing-xl) 0}.how-it-works__grid,.features__grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.how-it-works__number{width:48px;height:48px;font-size:var(--text-xl)}.section-heading{font-size:var(--text-2xl);margin-bottom:var(--spacing-xl)}.cta-section h2{font-size:var(--text-2xl)}.button--large{font-size:var(--text-base)}}@media (max-width: 768px){.hero__container{padding:var(--spacing-2xl) var(--spacing-md)}.hero__logo{max-width:300px}.hero__subtitle{font-size:var(--text-lg)}.how-it-works,.features,.cta-section{padding:var(--spacing-2xl) 0}}.auth-page{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-md);background-color:var(--color-surface)}.auth-page__content{width:100%;max-width:420px;background-color:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-md)}.auth-page__header{text-align:center;margin-bottom:var(--spacing-2xl)}.auth-page__title{font-size:var(--text-3xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.auth-page__subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin:0}.auth-page__footer{margin-top:var(--spacing-xl);text-align:center;padding-top:var(--spacing-lg);border-top:var(--border-width) solid var(--color-border)}.auth-page__link-text{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.auth-page__link{color:var(--color-text-primary);font-weight:500;text-decoration:none;border-bottom:var(--border-width) solid transparent;transition:border-color var(--transition-fast)}.auth-page__link:hover{border-bottom-color:var(--color-text-primary)}.auth-form{width:100%}.auth-form .form-group{margin-bottom:var(--spacing-lg)}.auth-form .form-label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}.auth-form .form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-form .form-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #0000000d}.auth-form .form-input--error{border-color:var(--color-red-700)}.auth-form .form-error{display:block;margin-top:var(--spacing-xs);font-size:var(--text-sm);color:var(--color-red-700);min-height:1.25rem}.auth-form .form-error--general{margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-red-50);border:var(--border-width) solid var(--color-red-200);border-radius:var(--border-radius);text-align:center}.auth-form .form-success{display:block;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-sm);color:var(--color-green-800);background-color:var(--color-green-100);border:var(--border-width) solid var(--color-green-300);border-radius:var(--border-radius);text-align:center}.auth-form .form-help{display:block;margin-top:var(--spacing-xs);font-size:var(--text-sm);color:var(--color-text-tertiary)}.auth-form .form-links{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-md)}.auth-form .form-link{font-size:var(--text-sm);color:var(--color-text-primary);text-decoration:none;border-bottom:var(--border-width) solid transparent;transition:border-color var(--transition-fast)}.auth-form .form-link:hover{border-bottom-color:var(--color-text-primary)}.auth-form .form-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:var(--border-width) solid var(--color-border);text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-form .btn{width:100%;padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;line-height:1.5;text-align:center;border:var(--border-width) solid var(--color-black);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast)}.auth-form .btn--primary{background-color:var(--color-black);color:var(--color-white)}.auth-form .btn--primary:hover:not(:disabled){background-color:var(--color-gray-900);transform:translateY(-1px);box-shadow:var(--shadow-md)}.auth-form .btn--primary:active:not(:disabled){transform:translateY(0)}.auth-form .btn--primary:disabled{opacity:.5;cursor:not-allowed}.auth-form .btn--full-width{width:100%}.password-strength{margin-top:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-gray-50);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius)}.password-strength__title{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.password-strength__requirements{list-style:none;padding:0;margin:0}.password-strength__requirement{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--spacing-xs) 0}.password-strength__requirement:before{content:"○";color:var(--color-gray-400);font-weight:700}.password-strength__requirement--met{color:var(--color-green-800)}.password-strength__requirement--met:before{content:"●";color:var(--color-green-800)}.account-page{max-width:960px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-md)}.account-page__header{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border)}.account-page__title{font-size:var(--text-4xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.account-page__subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin:0}.account-page__content{display:grid;gap:var(--spacing-2xl)}.account-section{background-color:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-xl)}.account-section__title{font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:var(--border-width) solid var(--color-border)}.account-section__content{color:var(--color-text-secondary)}.account-section__placeholder{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);font-style:italic}.profile-info{display:grid;gap:var(--spacing-md)}.profile-info__item{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--border-radius)}.profile-info__label{font-weight:500;color:var(--color-text-primary);min-width:140px}.profile-info__value{color:var(--color-text-secondary)}.change-password-form{max-width:480px}.change-password-form .form-group{margin-bottom:var(--spacing-lg)}.change-password-form .form-label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}.change-password-form .form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.change-password-form .form-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #0000000d}.change-password-form .form-error{display:block;margin-top:var(--spacing-xs);font-size:var(--text-sm);color:var(--color-red-700);min-height:1.25rem}.change-password-form .form-actions{margin-top:var(--spacing-xl)}.change-password-form .form-message{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-sm);border-radius:var(--border-radius);text-align:center}.change-password-form .form-message--error{color:var(--color-red-800);background-color:var(--color-red-50);border:var(--border-width) solid var(--color-red-200)}.change-password-form .form-message--success{color:var(--color-green-800);background-color:var(--color-green-100);border:var(--border-width) solid var(--color-green-300)}@media (max-width: 479px){.auth-page{padding:var(--spacing-md) var(--spacing-sm)}.auth-page__content{padding:var(--spacing-lg)}.auth-page__title{font-size:var(--text-2xl)}.account-page{padding:var(--spacing-lg) var(--spacing-sm)}.account-page__title{font-size:var(--text-2xl)}.account-section{padding:var(--spacing-md)}.profile-info__item{flex-direction:column;gap:var(--spacing-xs)}.profile-info__label{min-width:auto}}@media (max-width: 768px){.auth-page__content{max-width:100%}.account-page__title{font-size:var(--text-3xl)}}
