@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0;transition:background-color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1)}html,body{overflow-x:hidden;width:100%;height:100%;margin:0;padding:0;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--color-text-primary);text-rendering:optimizelegibility;background:var(--color-bg-primary);background-image:var(--bg-pattern);transition:background-color .4s cubic-bezier(.4,0,.2,1),background-image .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,textarea,select,button,svg,img,video,iframe{transition:background-color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1),opacity .2s ease,transform .2s ease}.theme-transitioning{pointer-events:none}.theme-transitioning *{transition-duration:.4s!important}:root{--font-family-base: "Inter", -apple-system, blinkmacsystemfont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "SF Mono", monaco, "Cascadia Code", "Roboto Mono", consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--line-height-base: var(--line-height-relaxed);--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--header-height: 64px;--color-bg-primary: #f8fafc;--color-bg-secondary: #fff;--color-bg-tertiary: #f1f5f9;--color-bg-hover: #f8fafc;--bg-pattern: radial-gradient( circle at 20% 50%, rgb(59 130 246 / .03) 0%, transparent 50% ), radial-gradient( circle at 80% 80%, rgb(139 92 246 / .03) 0%, transparent 50% );--color-text-primary: #0f172a;--color-text-secondary: #64748b;--color-text-tertiary: #475569;--color-border-primary: #e2e8f0;--color-border-secondary: #cbd5e1;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-light: #818cf8;--color-primary-focus: rgb(99 102 241 / .2);--color-primary-focus-light: rgb(99 102 241 / .1);--color-primary-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--color-success: #10b981;--color-success-bg: #ecfdf5;--color-success-border: #a7f3d0;--color-success-text: #065f46;--color-error: #ef4444;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-error-text: #991b1b;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-warning-text: #92400e;--color-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--color-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -1px rgb(0 0 0 / .06);--color-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -2px rgb(0 0 0 / .05);--color-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 10px 10px -5px rgb(0 0 0 / .04);--color-shadow-focus: 0 0 0 4px rgb(99 102 241 / .1);--color-shadow-primary: 0 4px 14px 0 rgb(99 102 241 / .25)}.dark{--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-bg-hover: #334155;--bg-pattern: radial-gradient( circle at 20% 50%, rgb(99 102 241 / .08) 0%, transparent 50% ), radial-gradient( circle at 80% 80%, rgb(139 92 246 / .08) 0%, transparent 50% );--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-tertiary: #cbd5e1;--color-border-primary: #334155;--color-border-secondary: #475569;--color-primary: #818cf8;--color-primary-hover: #a5b4fc;--color-primary-light: #c7d2fe;--color-primary-focus: rgb(129 140 248 / .2);--color-primary-focus-light: rgb(129 140 248 / .15);--color-primary-gradient: linear-gradient(135deg, #818cf8 0%, #a78bfa 100%);--color-success: #34d399;--color-success-bg: #064e3b;--color-success-border: #065f46;--color-success-text: #6ee7b7;--color-error: #f87171;--color-error-bg: #7f1d1d;--color-error-border: #991b1b;--color-error-text: #fca5a5;--color-warning-bg: #78350f;--color-warning-border: #92400e;--color-warning-text: #fde68a;--color-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--color-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -1px rgb(0 0 0 / .3);--color-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -2px rgb(0 0 0 / .3);--color-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .4), 0 10px 10px -5px rgb(0 0 0 / .3);--color-shadow-focus: 0 0 0 4px rgb(129 140 248 / .2);--color-shadow-primary: 0 4px 14px 0 rgb(99 102 241 / .4)}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-family-base);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-4xl);font-feature-settings:"cv02","cv03","cv04","cv11";font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-tight)}h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-normal)}h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal)}h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wide)}p{margin:0;font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary)}a{font-family:var(--font-family-base);color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-hover)}button,input,textarea,select{font-family:var(--font-family-base)}@keyframes button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button{cursor:pointer;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:none;border-radius:.625rem;font-family:var(--font-family-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);text-decoration:none;letter-spacing:var(--letter-spacing-wide);transition:all .2s cubic-bezier(.4,0,.2,1)}.button:disabled{cursor:not-allowed;transform:none;opacity:.7}.button__inner{position:relative;display:inline-grid;place-items:center center}.button__content{display:inline-flex;grid-area:1/1/2/2;gap:.5rem;align-items:center;justify-content:center}.button-loading{pointer-events:none;display:inline-flex;grid-area:1/1/2/2;gap:.5rem;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);white-space:nowrap;opacity:0}.button--loading{position:relative}.button--loading__content{pointer-events:none;opacity:0}.button--loading-loading{opacity:1}.button__label,.button__icon{display:inline-flex;align-items:center;justify-content:center}.button__icon--left{margin-right:.375rem}.button__icon--right{margin-left:.375rem}.button--sm{padding:.625rem 1rem;font-size:var(--font-size-sm)}.button--md{padding:.875rem 1.5rem;font-size:var(--font-size-base)}.button--lg{padding:1rem 2rem;font-size:var(--font-size-lg)}.button--full-width{width:100%}.button--primary{color:#fff;background:var(--color-primary-gradient);box-shadow:var(--color-shadow-primary)}.button--primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.button--primary:focus{outline:none;box-shadow:var(--color-shadow-focus),var(--color-shadow-primary)}.button--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #6366f159}.button--primary:hover:not(:disabled):before{left:100%}.button--primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #6366f14d}.button--primary-loading{color:#fff!important}.button--secondary{border:1px solid var(--color-border-primary);color:var(--color-text-primary);background-color:var(--color-bg-tertiary)}.button--secondary:focus{outline:none;box-shadow:var(--color-shadow-focus)}.button--secondary:hover:not(:disabled){transform:translateY(-1px);border-color:var(--color-border-secondary);background-color:var(--color-bg-hover)}.button--secondary:active:not(:disabled){transform:translateY(0)}.button--secondary-loading{color:var(--color-text-primary)!important}.button--secondary--not-filled{background-color:transparent}.button--secondary--not-filled:hover:not(:disabled){border-color:var(--color-border-secondary);background-color:var(--color-bg-tertiary)}.button--outline{border:2px solid var(--color-primary);color:var(--color-primary);background-color:transparent}.button--outline:focus{outline:none;box-shadow:var(--color-shadow-focus)}.button--outline:hover:not(:disabled){transform:translateY(-1px);color:#fff;background-color:var(--color-primary)}.button--outline:active:not(:disabled){transform:translateY(0)}.button--outline-loading{color:var(--color-primary)!important}.button--ghost{border:1px solid transparent;color:var(--color-text-secondary);background-color:transparent}.button--ghost:focus{outline:none;box-shadow:var(--color-shadow-focus)}.button--ghost:hover:not(:disabled){color:var(--color-text-primary);background-color:var(--color-bg-hover)}.button--ghost:active:not(:disabled){background-color:var(--color-bg-tertiary)}.button--ghost-loading{color:var(--color-text-secondary)!important}.button--danger{color:#fff;background-color:var(--color-error);box-shadow:0 4px 14px #f8717140}.button--danger:focus{outline:none;box-shadow:0 0 0 4px #f8717133}.button--danger:hover:not(:disabled){transform:translateY(-1px);background-color:#ef4444;box-shadow:0 6px 20px #f8717159}.button--danger:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #f871714d}.button--danger-loading{color:#fff!important}.button__spinner{display:inline-flex;width:1rem;height:1rem;border:2px solid currentcolor;border-right-color:transparent;border-radius:9999px;animation:button-spin .75s linear infinite}@media(max-height:768px){.button--sm{padding:.5rem 1rem}.button--md{padding:.75rem 1.25rem}.button--lg{padding:.875rem 1.75rem}}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.card{box-sizing:border-box;width:100%;border-radius:1rem;background-color:var(--color-bg-secondary);transition:all .2s cubic-bezier(.4,0,.2,1);animation:slide-up .4s ease-out}.card--default{border:1px solid var(--color-border-primary);box-shadow:var(--color-shadow-md)}.card--elevated{border:1px solid var(--color-border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--color-shadow-xl)}.card--outlined{border:2px solid var(--color-border-primary);box-shadow:none}.card--flat{border:none;background-color:transparent;box-shadow:none}.card--padding-none{padding:0}.card__divider{width:100%;height:1px;margin-top:1.5rem;background-color:var(--color-border-primary)}.card--padding-sm{padding:1rem}.card--padding-sm__divider{margin-top:1rem}.card--padding-md{padding:2rem}.card--padding-md__divider{margin-top:1.5rem}.card--padding-lg{padding:3rem 2.5rem}.card--padding-lg__divider{margin-top:2rem}.card__header{margin-bottom:1.5rem}.card__header--align-left{text-align:left}.card__header--align-center{text-align:center}.card__header--align-right{text-align:right}.card__title{margin:0 0 .75rem;font-feature-settings:"cv02","cv03","cv04","cv11";font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);background:var(--color-primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.card__title--size-sm{font-size:var(--font-size-sm)}.card__title--size-md{font-size:var(--font-size-lg)}.card__title--size-lg{font-size:var(--font-size-xl)}.card__title--size-xl,.card__title--size-2xl{font-size:var(--font-size-2xl)}.card__title--size-3xl{font-size:var(--font-size-3xl)}.card__title--size-4xl{font-size:var(--font-size-4xl)}.card__title--size-5xl{font-size:var(--font-size-5xl)}.card__description{margin:0;font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.card__description--size-xs{font-size:var(--font-size-xs)}.card__description--size-sm{font-size:var(--font-size-sm)}.card__description--size-base{font-size:var(--font-size-base)}.card__description--size-lg{font-size:var(--font-size-lg)}.card__description--size-xl{font-size:var(--font-size-xl)}.card__description--size-2xl{font-size:var(--font-size-2xl)}@media(max-height:768px){.card--padding-sm{padding:.5rem}.card--padding-sm__divider{margin-top:.75rem}.card--padding-md{padding:1rem}.card--padding-md__divider{margin-top:1rem}.card--padding-lg{padding:1.5rem 1rem}.card--padding-lg__divider{margin-top:1.25rem}.card__title--size-sm{font-size:var(--font-size-xs)}.card__title--size-md{font-size:var(--font-size-base)}.card__title--size-lg{font-size:var(--font-size-lg)}.card__title--size-xl,.card__title--size-2xl{font-size:var(--font-size-xl)}.card__title--size-3xl{font-size:var(--font-size-2xl)}.card__title--size-4xl{font-size:var(--font-size-3xl)}.card__title--size-5xl{font-size:var(--font-size-4xl)}.card__description--size-xs,.card__description--size-sm{font-size:var(--font-size-xs)}.card__description--size-base{font-size:var(--font-size-sm)}.card__description--size-lg{font-size:var(--font-size-base)}.card__description--size-xl{font-size:var(--font-size-lg)}.card__description--size-2xl{font-size:var(--font-size-xl)}}.divider{flex-shrink:0;margin:0;border:none}.divider--horizontal{width:100%;height:1px}.divider--vertical{width:1px;height:100%}.divider--vertical--spacing-sm{margin:0 .75rem}.divider--vertical--spacing-md{margin:0 1.5rem}.divider--vertical--spacing-lg{margin:0 2.5rem}.divider--solid{background-color:var(--color-border-primary)}.divider--dashed{background:repeating-linear-gradient(to right,var(--color-border-primary) 0,var(--color-border-primary) 4px,transparent 4px,transparent 8px)}.divider--dotted{background:repeating-linear-gradient(to right,var(--color-border-primary) 0,var(--color-border-primary) 2px,transparent 2px,transparent 4px)}.divider--gradient{background:linear-gradient(to right,transparent,var(--color-border-primary),transparent)}.divider--spacing-none{margin:0}.divider--spacing-sm{margin:.75rem 0}.divider--spacing-md{margin:1.5rem 0}.divider--spacing-lg{margin:2.5rem 0}@media(max-height:768px){.divider--spacing-sm{margin:.5rem 0}.divider--spacing-md{margin:1rem 0}.divider--spacing-lg{margin:1.5rem 0}}.input-wrapper{display:flex;flex-direction:column;gap:.625rem;width:100%}.input-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-wide)}.input-required{margin-left:.25rem;font-weight:var(--font-weight-semibold);color:var(--color-error)}.input-error-message{display:flex;gap:.375rem;align-items:center;margin-top:-.125rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-error);letter-spacing:var(--letter-spacing-normal)}.input-error-message:before{content:"⚠";font-size:.875rem}.input{box-sizing:border-box;width:100%;padding:.875rem 1.125rem;border:2px solid var(--color-border-primary);border-radius:.625rem;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-normal);background-color:var(--color-bg-secondary);transition:all .2s cubic-bezier(.4,0,.2,1)}.input::placeholder{color:var(--color-text-secondary);opacity:.6}.input:focus{transform:translateY(-1px);border-color:var(--color-primary);background-color:var(--color-bg-secondary);outline:none;box-shadow:var(--color-shadow-focus)}.input:hover:not(:disabled):not(:focus){border-color:var(--color-border-secondary);background-color:var(--color-bg-tertiary)}.input--error{border-color:var(--color-error);background-color:var(--color-error-bg)}.input--error:focus{transform:translateY(-1px);border-color:var(--color-error);box-shadow:0 0 0 4px #ef444426}.input--error:hover:not(:disabled):not(:focus){border-color:var(--color-error)}.input--disabled{cursor:not-allowed;border-color:var(--color-border-primary);opacity:.6;background-color:var(--color-bg-tertiary)}@media(max-height:768px){.input{padding:.75rem 1rem;font-size:var(--font-size-sm)}}.link{position:relative;display:inline-block;font-size:var(--font-size-sm);color:var(--color-primary)!important;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.link:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:0;height:1px;opacity:.6;background:linear-gradient(to right,transparent 0%,transparent 10%,var(--color-primary) 50%,transparent 90%,transparent 100%);transition:width .3s cubic-bezier(.4,0,.2,1),opacity .2s ease}.link:hover:after{width:100%;opacity:1}.link:hover:not(.link:hover--no-interactive){transform:translateY(-1px);color:var(--color-primary-hover)!important}.link--no-interactive:hover{transform:none;color:var(--color-primary)!important}.link--no-underline:after{display:none}.app-header{position:fixed;z-index:1000;top:1rem;right:1rem;left:1rem;display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border:1px solid var(--color-border-primary);border-radius:.75rem;background-color:var(--color-bg-secondary);box-shadow:var(--color-shadow-sm);transition:background-color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1)}.app-header__nav{display:flex;flex:1;align-items:center;min-width:0}.app-header__nav-links{display:flex;flex-wrap:wrap;gap:1rem;width:100%}.app-header__nav-desktop{display:flex;flex-wrap:wrap;gap:1rem}.app-header__nav-mobile-select{display:none}.app-header__nav-link{cursor:pointer;display:inline-block;padding:.25rem .5rem;border:none;font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-text-secondary);text-decoration:none;letter-spacing:var(--letter-spacing-normal);white-space:nowrap;background:none;transition:color .15s ease-in-out}.app-header__nav-link:hover{color:var(--color-primary)}.app-header__nav-link--active{font-weight:500;color:var(--color-primary)}@media(max-width:900px){.app-header{top:auto;bottom:1rem;gap:.75rem;margin:0}.app-header__nav{width:100%}.app-header__nav-links{flex:1;width:100%}.app-header__nav-desktop{display:none}.app-header__nav-mobile-select{cursor:pointer;display:block;box-sizing:border-box;width:100%;min-width:0;padding:.5rem 2rem .5rem .75rem;border:1px solid var(--color-border-primary);border-radius:.5rem;font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.5;color:var(--color-text-secondary);appearance:none;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%23999' d='M5 7L1 3h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;transition:color .15s ease-in-out,border-color .15s ease-in-out,background-color .15s ease-in-out}.app-header__nav-mobile-select:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-bg-hover, rgba(0, 0, 0, .05))}.app-header__nav-mobile-select:focus{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-bg-hover, rgba(0, 0, 0, .05));outline:none}.app-header__nav-mobile-select option{padding:.5rem;color:var(--color-text-primary);background-color:var(--color-bg-secondary)}}@media(max-height:800px){.app-header{top:auto;bottom:1rem}}@keyframes moon-fade-in{0%{transform:rotate(-90deg) scale(.8);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}@keyframes sun-fade-in{0%{transform:rotate(90deg) scale(.8);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}.theme-icon{position:relative;z-index:1;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1)}.theme-toggle{cursor:pointer;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--color-border-primary);border-radius:.5rem;color:var(--color-text-secondary);background-color:transparent;transition:background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.theme-toggle:before{content:"";position:absolute;z-index:0;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;border-radius:50%;opacity:0;background:var(--color-primary-gradient);transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease}.theme-toggle:hover{transform:scale(1.05);border-color:var(--color-border-secondary);color:var(--color-text-primary);background-color:var(--color-bg-hover)}.theme-toggle:hover:before{width:100%;height:100%;opacity:.1}.theme-toggle:hover .theme-icon{transform:rotate(15deg) scale(1.1)}.theme-toggle:active{transform:scale(.95)}.theme-toggle:focus{outline:none;box-shadow:var(--color-shadow-focus)}.theme-icon-moon{animation:moon-fade-in .4s cubic-bezier(.4,0,.2,1)}.theme-icon-sun{animation:sun-fade-in .4s cubic-bezier(.4,0,.2,1)}.form{display:flex;flex-direction:column;width:100%}.form--disabled{pointer-events:none;opacity:.6}.form__general-error{display:flex;gap:.5rem;align-items:center;margin-bottom:1.25rem;padding:.875rem 1.125rem;border:1px solid var(--color-error, #f87171);border-radius:.625rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-error, #f87171);background-color:var(--color-error-bg, rgba(248, 113, 113, .1))}.form__general-error:before{content:"⚠";flex-shrink:0;font-size:1rem}.form__field{display:flex;flex-direction:column;gap:.625rem}.form__field-group{display:flex;flex-direction:column;gap:1.25rem}.form__field-row{display:flex;flex-wrap:wrap;gap:1rem}.form__field-row__field{flex:1;min-width:0}.form__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.form__actions--left{justify-content:flex-start}.form__actions--center{justify-content:center}.form__actions--right{justify-content:flex-end}.form__actions--space-between{justify-content:space-between}@media(max-width:640px){.form__field-row,.form__actions{flex-direction:column}.form__actions>*{width:100%}}@keyframes dialog-enter{0%{transform:scale(.95) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.dialog{position:relative;transform:scale(.95) translateY(20px);overflow:hidden;display:flex;flex-direction:column;width:100%;max-width:100%;max-height:calc(100vh - 3rem);border:1px solid var(--color-border-primary);border-radius:1rem;opacity:0;background-color:var(--color-bg-secondary);box-shadow:var(--color-shadow-xl);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);animation:dialog-enter .3s cubic-bezier(.4,0,.2,1) forwards}.dialog__overlay{position:fixed;z-index:1000;inset:0;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:1.5rem;visibility:hidden;opacity:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility .3s cubic-bezier(.4,0,.2,1)}.dialog__overlay--open{visibility:visible;opacity:1}.dialog__overlay--open .dialog{transform:scale(1) translateY(0);opacity:1}.dialog--size-sm{max-width:24rem}.dialog--size-md{max-width:32rem}.dialog--size-lg{max-width:48rem}.dialog--size-xl{max-width:64rem}.dialog__content{overflow-y:auto;flex:1;min-height:0;padding:1.5rem}.dialog__footer{display:flex;flex-shrink:0;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid var(--color-border-primary)}.dialog--size-fullscreen{width:calc(100% - 2rem);max-width:calc(100% - 2rem);height:calc(100vh - 2rem);max-height:calc(100vh - 2rem);margin:1rem;border-radius:1rem}.dialog--size-fullscreen__content{padding:2rem}.dialog--size-fullscreen__footer{padding:1.5rem 2rem}.dialog__header{display:flex;flex-shrink:0;gap:1.5rem;align-items:flex-start;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--color-border-primary)}.dialog__header-content{display:flex;flex:1;flex-direction:column;gap:.5rem;min-width:0}.dialog__title-wrapper{display:flex;gap:.5rem;align-items:center}.dialog__title{margin:0;font-size:var(--font-size-xl);font-feature-settings:"cv02","cv03","cv04","cv11";font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-normal);background:var(--color-primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dialog__title-help{position:relative;display:inline-flex;align-items:center;justify-content:center}.dialog__title-help__help-icon{cursor:help;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;color:var(--color-text-secondary);background-color:var(--color-bg-tertiary, rgba(156, 163, 175, .2));transition:all .2s ease}.dialog__title-help__help-tooltip{pointer-events:none;position:absolute;z-index:999999;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%) translateY(-.25rem);max-width:20rem;padding:.625rem .875rem;border:1px solid var(--color-border-primary);border-radius:.5rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary);overflow-wrap:break-word;white-space:normal;visibility:hidden;opacity:0;background-color:var(--color-bg-tertiary);box-shadow:var(--color-shadow-lg);transition:opacity .2s ease,visibility .2s ease,transform .2s ease}.dialog__title-help__help-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-top:.375rem solid var(--color-text-primary);border-right:.375rem solid transparent;border-left:.375rem solid transparent;filter:drop-shadow(0 2px 2px rgba(0,0,0,.1))}.dialog__title-help:hover__help-icon{color:#fff;background-color:var(--color-primary, #6366f1)}.dialog__title-help:hover__help-tooltip{transform:translate(-50%) translateY(0);visibility:visible;opacity:1}.dialog__description{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-normal)}.dialog__close-button{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:2rem;min-width:auto;height:2rem;margin-top:-.25rem;margin-right:-.5rem;padding:0;border-radius:.5rem}.dialog__close-button__close-icon{font-size:1.5rem;font-weight:var(--font-weight-bold);line-height:1;color:var(--color-text-secondary);transition:color .2s ease}.dialog__close-button:hover__close-icon{color:var(--color-text-primary)}@media(max-width:640px){.dialog{max-height:100vh;margin:0;border-radius:0}.dialog__overlay{padding:0}.dialog--size-sm,.dialog--size-md,.dialog--size-lg,.dialog--size-xl{max-width:100%}.dialog--size-fullscreen{width:calc(100% - 1rem);max-width:calc(100% - 1rem);height:calc(100vh - 1rem);max-height:calc(100vh - 1rem);margin:.5rem;border-radius:.75rem}.dialog__header{padding:1.5rem 1.5rem 1.25rem}.dialog__title{font-size:var(--font-size-lg)}.dialog__title:after{width:2rem}.dialog__title-help__help-icon{width:1.125rem;height:1.125rem;font-size:.625rem}.dialog__title-help__help-tooltip{max-width:calc(100vw - 3rem);padding:.5rem .75rem;font-size:var(--font-size-xs)}.dialog__content{padding:1rem}.dialog__footer{flex-direction:column;padding:.75rem 1rem 1rem}.dialog__footer>*{width:100%}}@media(max-height:768px){.dialog__header{padding:1.5rem 1.5rem 1rem}.dialog__title{font-size:var(--font-size-lg)}.dialog__title-help__help-icon{width:1.125rem;height:1.125rem;font-size:.625rem}.dialog__title-help__help-tooltip{max-width:16rem;padding:.5rem .75rem;font-size:var(--font-size-xs)}.dialog__description{font-size:var(--font-size-xs)}.dialog__content{padding:1rem 1.5rem}.dialog__footer{padding:.75rem 1.5rem 1rem}}.tooltip-wrapper{position:relative;display:inline-flex;align-items:center}.tooltip-wrapper--interactive{cursor:help}.tooltip-wrapper__question-icon{cursor:help;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;margin-left:.375rem;border-radius:50%;font-size:.75rem;font-weight:var(--font-weight-bold, 600);line-height:1;color:var(--color-text-secondary, #6b7280);background-color:var(--color-bg-tertiary, rgba(0, 0, 0, .05));transition:background-color .2s ease,color .2s ease}.tooltip-wrapper__question-icon:hover{color:var(--color-text-primary, #111827);background-color:var(--color-bg-quaternary, rgba(0, 0, 0, .1))}.tooltip{pointer-events:none;position:absolute;z-index:9999;transform:scale(.95);max-width:200px;padding:.5rem .75rem;border-radius:.5rem;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-normal, 400);line-height:var(--line-height-normal, 1.5);color:var(--color-text-inverse, #fff);overflow-wrap:break-word;opacity:0;background-color:var(--color-bg-inverse, #1f2937);box-shadow:var(--color-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05));transition:opacity .2s ease,transform .2s ease}.tooltip--visible{pointer-events:auto;transform:scale(1);opacity:1}.tooltip__content{position:relative}.tooltip__arrow{pointer-events:none;position:absolute;z-index:2;width:0;height:0;border-style:solid}.tooltip__arrow--top{bottom:-6px;left:50%;transform:translate(-50%);border-color:var(--color-bg-inverse, #1f2937) transparent transparent transparent;border-width:6px 6px 0}.tooltip__arrow--bottom{top:-6px;left:50%;transform:translate(-50%);border-color:transparent transparent var(--color-bg-inverse, #1f2937) transparent;border-width:0 6px 6px}.tooltip__arrow--left{top:50%;right:-6px;transform:translateY(-50%);border-color:transparent transparent transparent var(--color-bg-inverse, #1f2937);border-width:6px 0 6px 6px}.tooltip__arrow--right{top:50%;left:-6px;transform:translateY(-50%);border-color:transparent var(--color-bg-inverse, #1f2937) transparent transparent;border-width:6px 6px 6px 0}[data-theme=dark] .tooltip-wrapper__question-icon{color:var(--color-text-secondary, #9ca3af);background-color:var(--color-bg-tertiary, rgba(255, 255, 255, .1))}[data-theme=dark] .tooltip-wrapper__question-icon:hover{color:var(--color-text-primary, #f9fafb);background-color:var(--color-bg-quaternary, rgba(255, 255, 255, .15))}[data-theme=dark] .tooltip{color:var(--color-text-inverse, #f9fafb);background-color:var(--color-bg-inverse, #374151)}[data-theme=dark] .tooltip__arrow--top{border-color:var(--color-bg-inverse, #374151) transparent transparent transparent}[data-theme=dark] .tooltip__arrow--bottom{border-color:transparent transparent var(--color-bg-inverse, #374151) transparent}[data-theme=dark] .tooltip__arrow--left{border-color:transparent transparent transparent var(--color-bg-inverse, #374151)}[data-theme=dark] .tooltip__arrow--right{border-color:transparent var(--color-bg-inverse, #374151) transparent transparent}#app{display:flex;flex-direction:column;height:100vh;overflow:hidden;color:var(--color-text-primary);transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.app-content{height:100vh;width:100vw;background:var(--bg-pattern);position:relative;left:0;right:0;top:calc(var(--header-height) - 1.5rem);bottom:0}@media(max-width:900px)or (max-height:800px){.app-content{top:auto;bottom:calc(var(--header-height) - 1.5rem)}}
