.animate-fade-in{opacity:0;animation:fadeIn .4s ease-out forwards}.animate-slide-up{opacity:0;transform:translateY(20px);animation:slideUp .4s ease-out forwards}.animate-slide-in{opacity:0;transform:translateY(30px);transition:all .5s cubic-bezier(.4,0,.2,1)}.animate-slide-in.visible{opacity:1;transform:translateY(0)}.animate-stagger>*{opacity:0;transform:translateY(20px);animation:slideUp .4s ease-out forwards}.animate-stagger>*:nth-child(1){animation-delay:.05s}.animate-stagger>*:nth-child(2){animation-delay:.1s}.animate-stagger>*:nth-child(3){animation-delay:.15s}.animate-stagger>*:nth-child(4){animation-delay:.2s}.animate-stagger>*:nth-child(5){animation-delay:.25s}.animate-stagger>*:nth-child(6){animation-delay:.3s}.animate-scale-in{opacity:0;transform:scale(.9);animation:scaleIn .3s ease-out forwards}.animate-hover-lift{transition:transform .2s ease,box-shadow .2s ease}.animate-hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.animate-hover-grow{transition:transform .2s ease}.animate-hover-grow:hover{transform:scale(1.02)}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-shimmer{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-hover) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.section-animate{opacity:0;transform:translateY(30px);transition:all .5s cubic-bezier(.4,0,.2,1)}.section-animate.in-view{opacity:1;transform:translateY(0)}.card-animate{opacity:0;transform:translateY(20px) scale(.98);transition:all .4s cubic-bezier(.4,0,.2,1)}.card-animate.in-view{opacity:1;transform:translateY(0) scale(1)}.fade-quick{animation:fadeQuick .2s ease-out}@keyframes fadeQuick{0%{opacity:0}to{opacity:1}}.slide-in-left{animation:slideInLeft .3s ease-out}.slide-in-right{animation:slideInRight .3s ease-out}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.animate-slide-down{animation:slideDown .3s ease-out}select,.select-input,.form-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-right:var(--spacing-xl);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-base);font-family:var(--font-sans);font-weight:var(--font-normal);background-color:var(--bg-primary);background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666663' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-md) center;background-size:12px;color:var(--text-primary);line-height:var(--leading-normal);transition:all var(--transition);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}select:hover:not(:disabled),.select-input:hover:not(:disabled),.form-select:hover:not(:disabled){border-color:var(--border-dark);background-color:var(--bg-hover)}select:focus,.select-input:focus,.form-select:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 2px var(--primary-light);background-color:var(--bg-primary)}select:disabled,.select-input:disabled,.form-select:disabled{background-color:var(--bg-disabled);background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' opacity='0.3'/%3E%3C/svg%3E");color:var(--text-disabled);cursor:not-allowed;opacity:.7}select option,.select-input option,.form-select option{padding:var(--spacing-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans)}select option:hover,.select-input option:hover,.form-select option:hover{background:var(--bg-hover)}select optgroup,.select-input optgroup,.form-select optgroup{font-weight:var(--font-semibold);color:var(--text-secondary)}.dropdown-container{position:relative;width:100%}.dropdown-trigger{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-right:var(--spacing-xl);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-base);font-family:var(--font-sans);font-weight:var(--font-normal);background-color:var(--bg-primary);background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' opacity='0.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-md) center;background-size:12px;color:var(--text-primary);line-height:var(--leading-normal);transition:all var(--transition);cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between}.dropdown-trigger:hover{border-color:var(--border-dark);background-color:var(--bg-hover)}.dropdown-trigger:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 2px var(--primary-light);background-color:var(--bg-primary)}.dropdown-trigger.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--primary-light)}.dropdown-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-dark);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:240px;overflow-y:auto;z-index:50;animation:dropdownSlide .2s ease}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:background var(--transition);font-family:var(--font-sans);font-size:var(--font-base);color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.dropdown-item:hover{background:var(--bg-hover)}.dropdown-item:focus{background:var(--bg-hover);outline:none}.dropdown-item.selected{background:var(--accent-gold-lighter);color:var(--text-primary);font-weight:var(--font-medium)}.dropdown-item.disabled{color:var(--text-disabled);cursor:not-allowed;opacity:.6}.dropdown-item.disabled:hover{background:transparent}input[type=text],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=url],textarea,.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-base);font-family:var(--font-sans);font-weight:var(--font-normal);background-color:var(--bg-primary);color:var(--text-primary);line-height:var(--leading-normal);transition:all var(--transition)}input:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus),.form-input:hover:not(:disabled):not(:focus){border-color:var(--border-dark);background-color:var(--bg-hover)}input:focus,textarea:focus,.form-input:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 2px var(--primary-light);background-color:var(--bg-primary)}input:disabled,textarea:disabled,.form-input:disabled{background-color:var(--bg-disabled);color:var(--text-disabled);cursor:not-allowed;opacity:.7}label,.form-label{font-weight:var(--font-medium);color:var(--text-primary);font-family:var(--font-sans);display:block;font-size:var(--font-sm);letter-spacing:var(--tracking-normal);margin-bottom:var(--spacing-xs)}.field-description,.form-help{font-weight:var(--font-normal);color:var(--text-secondary);font-size:var(--font-xs);font-family:var(--font-sans);line-height:var(--leading-normal);margin-top:var(--spacing-xs)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}input[type=checkbox],input[type=radio]{width:auto;margin-right:var(--spacing-xs);cursor:pointer}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}@media (max-width: 968px){select,.select-input,.form-select,input,textarea,.form-input{font-size:16px}}:root{font-family:var(--font-sans);font-size:var(--font-base);line-height:var(--leading-normal);font-weight:var(--font-normal);color-scheme:light;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}svg{vertical-align:middle;flex-shrink:0}button svg,a svg,.btn svg,.toggle-btn svg{display:inline-block;vertical-align:middle}button,.btn,.toggle-btn,.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}button>span,.btn>span,.toggle-btn>span{display:inline-flex;align-items:center}html{width:100%;height:100%}body{margin:0;font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;background-color:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overscroll-behavior:none;touch-action:manipulation}body:before{content:"";position:fixed;top:-50%;right:-50%;width:200%;height:200%;background:var(--gradient-hero-1);animation:floatBackground 30s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes floatBackground{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.loading-container{min-height:var(--viewport-height);display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.loading-spinner{text-align:center}:root{color-scheme:light;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;--color-slate-dark: #191919;--color-slate-darker: #0a0a0a;--color-slate-medium: #262625;--color-gray-dark: #404040;--color-gray-medium: #666663;--color-cloud-medium: #91918d;--color-cloud-light: #bfbfba;--color-cloud-lighter: #7a7a77;--color-warm-light: #fafaf7;--color-warm-lighter: #f7f7f4;--color-warm-lightest: #f5f5f2;--color-warm-subtle: #f8f8f5;--color-warm-pale: #f0f0ed;--color-book-cloth: #cc785c;--color-book-cloth-hover: #b86b50;--color-button-hover: #2a2a2a;--color-gold-accent: #d39f5f;--color-gold-accent-dark: #b8895a;--color-success-green: #10b981;--color-success-green-dark: #059669;--opacity-info-bg: #0a0a0a03;--opacity-subtle: #0a0a0a05;--opacity-border-subtle: #0a0a0a08;--opacity-light: #0a0a0a0a;--opacity-border-light: #0a0a0a0a;--opacity-cloud-lighter: #91918d0a;--opacity-shadow-sm: #0a0a0a08;--opacity-shadow: #0a0a0a0a;--opacity-shadow-md: #0a0a0a0d;--opacity-border: #0a0a0a0f;--opacity-shadow-lg: #0a0a0a0f;--opacity-cloud-light: #91918d14;--opacity-border-dark: #0a0a0a14;--opacity-shadow-xl: #0a0a0a14;--opacity-gradient-hero-1-start: #cc785c1a;--opacity-gradient-hero-2-start: #91918d1a;--opacity-gradient-hero-1-end: #b86b500d;--opacity-gradient-hero-2-end: #7a7a770d;--opacity-border-focus: #0a0a0a1f;--opacity-overlay: #0a0a0a80;--disabled-opacity: .7;--opacity-divider: .2;--opacity-white-medium: rgba(255, 255, 255, .3);--primary-color: var(--color-slate-dark);--primary-dark: var(--color-slate-darker);--primary-light: var(--opacity-border);--primary-hover: var(--opacity-border-dark);--slate-medium: var(--color-slate-medium);--cloud-medium: var(--color-cloud-medium);--accent-gold: var(--color-cloud-medium);--accent-gold-hover: var(--color-cloud-lighter);--accent-gold-light: var(--opacity-cloud-light);--accent-gold-lighter: var(--opacity-cloud-lighter);--bg-primary: var(--color-warm-light);--bg-secondary: var(--color-warm-lighter);--bg-tertiary: var(--color-warm-lightest);--bg-quaternary: var(--color-warm-lighter);--bg-hover: var(--opacity-subtle);--bg-active: var(--opacity-light);--bg-disabled: var(--color-warm-pale);--card-bg: var(--color-warm-light);--surface-bg: var(--color-warm-subtle);--text-primary: var(--color-slate-dark);--text-secondary: var(--color-gray-dark);--text-tertiary: var(--color-gray-medium);--text-muted: var(--color-cloud-medium);--text-disabled: var(--color-cloud-light);--text-on-primary: var(--color-warm-light);--text-white: var(--text-on-primary);--text-link: var(--color-book-cloth);--text-link-hover: var(--color-book-cloth-hover);--border-color: var(--opacity-border);--border-light: var(--opacity-border-light);--border-dark: var(--opacity-border-dark);--border-focus: var(--opacity-border-focus);--border-subtle: var(--opacity-border-subtle);--border-width: 1px;--border-width-thick: 2px;--border-width-accent: 3px;--accent-primary: var(--color-book-cloth);--accent-indigo: #4f46e5;--accent-green: #10b981;--accent-amber: #f59e0b;--accent-red: #ef4444;--accent-blue: var(--color-cloud-medium);--accent-purple: var(--color-cloud-medium);--accent-pink: var(--color-cloud-medium);--accent-orange: var(--color-book-cloth);--accent-yellow: var(--color-cloud-medium);--accent-gray: var(--color-cloud-medium);--status-success: var(--color-success-green);--status-success-bg: #d1fae5;--status-success-border: var(--color-success-green);--status-error: #dc2626;--status-error-bg: #fee2e2;--status-error-border: #dc2626;--status-warning: var(--accent-amber);--status-info: var(--accent-blue);--shadow-color: var(--opacity-shadow);--shadow-color-sm: var(--opacity-shadow-sm);--shadow-color-md: var(--opacity-shadow-md);--shadow-color-lg: var(--opacity-shadow-lg);--shadow-color-xl: var(--opacity-shadow-xl);--overlay-dark: var(--opacity-overlay);--white-overlay-low: rgba(255, 255, 255, .1);--white-overlay-medium: rgba(255, 255, 255, .3);--white-overlay-high: rgba(255, 255, 255, .5);--code-bg: #282c34;--code-text: #abb2bf;--icon-stroke-width: 1;--icon-stroke-width-thin: .8;--icon-stroke-width-thick: 1.2;--icon-opacity-primary: .85;--icon-opacity-secondary: .7;--icon-opacity-tertiary: .6;--icon-color-primary: var(--text-primary);--icon-color-secondary: var(--text-secondary);--icon-color-accent: var(--accent-primary);--icon-color-muted: var(--text-muted);--gradient-primary: linear-gradient( 135deg, var(--color-book-cloth) 0%, var(--color-book-cloth-hover) 100% );--gradient-hero-1: linear-gradient( 135deg, var(--opacity-gradient-hero-1-start) 0%, var(--opacity-gradient-hero-1-end) 100% );--gradient-hero-2: linear-gradient( 135deg, var(--opacity-gradient-hero-2-start) 0%, var(--opacity-gradient-hero-2-end) 100% );--gradient-subtle: linear-gradient( 180deg, var(--bg-primary) 0%, var(--bg-secondary) 100% );--gradient-card: linear-gradient( 135deg, var(--card-bg) 0%, var(--bg-secondary) 100% );--success-color: var(--color-cloud-lighter);--success-bg: var(--opacity-subtle);--success-border: var(--opacity-border);--warning-color: var(--color-cloud-medium);--warning-bg: var(--opacity-subtle);--warning-border: var(--opacity-border);--danger-color: var(--color-gray-medium);--danger-bg: var(--opacity-border-subtle);--danger-border: var(--opacity-border-dark);--info-color: var(--color-cloud-medium);--info-bg: var(--opacity-info-bg);--info-border: var(--opacity-border-light);--shadow-xs: 0 1px 2px var(--opacity-subtle);--shadow-sm: 0 1px 3px var(--opacity-shadow-sm);--shadow: 0 2px 8px var(--opacity-shadow);--shadow-md: 0 4px 12px var(--opacity-shadow-md);--shadow-lg: 0 8px 24px var(--opacity-shadow-lg);--shadow-xl: 0 16px 48px var(--opacity-shadow-xl);--card-shadow: 0 2px 4px var(--opacity-subtle);--overlay-bg: var(--opacity-overlay);--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "SF Pro Display", "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--font-mono: "SF Mono", "Monaco", "Cascadia Code", "Roboto Mono", "Menlo", "Courier New", monospace;--font-2xs: .625rem;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-md: 1.125rem;--font-lg: 1.25rem;--font-xl: 1.5rem;--font-2xl: 1.875rem;--font-3xl: 2.25rem;--font-hero: 1.75rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--leading-loose: 1.85;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .1em;--spacing-xs: .375rem;--spacing-sm: .625rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--touch-target-min: 44px;--touch-target-secondary: 40px;--touch-target-icon: 32px;--safe-area-top: env(safe-area-inset-top, 0);--safe-area-bottom: env(safe-area-inset-bottom, 0);--safe-area-left: env(safe-area-inset-left, 0);--safe-area-right: env(safe-area-inset-right, 0);--viewport-height: 100dvh;--mobile-menu-width: 280px;--mobile-header-height: 60px;--mobile-footer-padding: calc(20px + var(--safe-area-bottom));--icon-size-xs: 10px;--icon-size-sm: 12px;--icon-size-md: 16px;--icon-size-lg: 20px;--icon-size-xl: 24px;--spinner-sm: 16px;--spinner-md: 24px;--spinner-lg: 32px;--toggle-width: 52px;--toggle-height: 28px;--toggle-thumb-size: 24px;--modal-width-sm: 400px;--modal-width-md: 600px;--modal-width-lg: 900px;--modal-max-height: 85vh;--dropdown-max-height: 240px;--dropdown-offset: 8px;--content-padding-x: 3rem;--content-padding-y: 2rem;--section-spacing: 2.5rem;--content-max-width: 900px;--readable-max-width: 75ch;--readable-text-size: 1.0625rem;--radius-xs: 3px;--radius-sm: 4px;--radius: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--focus-ring-width: 2px;--blur-light: blur(10px);--blur-heavy: blur(20px);--transition-fast: .1s ease;--transition: .15s ease;--transition-slow: .25s ease;--transition-smooth: .3s ease;--animation-slow: 2s;--animation-medium: 1.5s;--duration-ripple: .4s;--transition-colors: background-color .15s ease, color .15s ease, border-color .15s ease;--transition-transform: transform .15s ease;--transition-opacity: opacity .2s ease;--transition-all: all .15s ease;--transition-sidebar: .1s ease-out;--transition-width: width 50ms ease-out;--transition-height: height .25s ease, max-height .25s ease;--transition-spring: cubic-bezier(.68, -.55, .265, 1.55);--transition-drawer: .28s cubic-bezier(.4, 0, .2, 1);--transition-modal: .25s cubic-bezier(.4, 0, .2, 1);--transition-swipe: .2s cubic-bezier(.25, .46, .45, .94);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-popover: 500;--z-tooltip: 600;--z-notification: 700}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.border-primary{border-color:var(--border-color)}.border-light{border-color:var(--border-light)}.card{background:var(--card-bg);border-radius:12px;padding:1.5rem;border:1px solid var(--border-subtle);transition:all .2s ease;position:relative}.card:hover{box-shadow:0 4px 12px var(--opacity-shadow);border-color:var(--accent-gold-light)}.card-flat{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;border:1px solid var(--border-subtle);transition:all .2s ease}.card-flat:hover{border-color:var(--accent-gold)}.card-elevated{background:var(--card-bg);border-radius:12px;box-shadow:0 2px 8px var(--opacity-shadow);padding:1.5rem;border:none;transition:all .2s ease}.card-elevated:hover{box-shadow:0 8px 20px var(--opacity-shadow-lg);transform:translateY(-2px)}.card-header{padding:1rem 1.5rem;background:var(--bg-quaternary);border-bottom:1px solid var(--border-subtle);border-radius:12px 12px 0 0;margin:-1.5rem -1.5rem 1.5rem}.card-title{font-size:1rem;font-weight:500;color:var(--text-primary);letter-spacing:-.01em;margin:0}.btn{padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;display:inline-flex;align-items:center;justify-content:center;gap:.625rem;text-decoration:none;min-height:36px;line-height:1.2;position:relative;white-space:nowrap;font-family:var(--font-sans)}.btn-primary{background:var(--primary-color);color:var(--text-white);box-shadow:0 2px 4px var(--opacity-shadow)}.btn-primary:hover{background:var(--color-button-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--opacity-shadow-md)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-color);transform:translateY(-1px)}.btn-accent{background:var(--accent-gold);color:var(--text-white)}.btn-accent:hover{background:var(--accent-gold-hover);transform:translateY(-2px);box-shadow:0 4px 12px #d39f5f33}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-link:hover{color:var(--text-link-hover);text-decoration:underline;transform:none}.page-container{width:100%;max-width:1400px;margin:0 auto;min-height:var(--viewport-height);padding:var(--spacing-3xl) var(--content-padding-x) var(--spacing-3xl);box-sizing:border-box;overflow-y:auto;animation:fadeIn .3s ease}.page-container.centered{max-width:var(--content-max-width)}.page-container.fixed-height{height:var(--viewport-height);overflow:hidden;display:flex;flex-direction:column;padding-top:var(--spacing-2xl)}.page-container.fixed-height .main-content{flex:1;overflow:hidden}.page-header{margin-bottom:var(--spacing-3xl);padding:0;flex-shrink:0}.page-header h1,.page-header h2{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;letter-spacing:-.02em;line-height:1.3}.page-header p{font-size:.9375rem;color:var(--text-secondary);margin:0;line-height:1.6;max-width:600px;font-weight:400}.page-subtitle{font-size:.875rem;color:var(--text-tertiary);font-weight:400;margin-top:var(--spacing-xs)}.page-actions{display:flex;gap:var(--spacing-sm);align-items:center;margin-top:var(--spacing-md)}.section-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--border-color);margin-bottom:var(--spacing-lg)}.form-field{margin-bottom:var(--spacing-xl)}.form-field label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-xs);font-size:.875rem;letter-spacing:.01em}.spinner{width:40px;height:40px;border:4px solid var(--border-light);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.button-spinner{width:16px;height:16px;border:2px solid #ffffff4d;border-top:2px solid #ffffff;border-radius:50%;animation:spin .6s linear infinite;display:inline-block;margin-right:var(--spacing-sm)}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:.9375rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-2xl) 0}.divider{width:100%;height:1px;background:var(--border-light);margin:var(--spacing-xl) 0}.surface{background:var(--surface-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.surface-elevated{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.hoverable{transition:all var(--transition);cursor:pointer}.hoverable:hover{background:var(--bg-hover)}.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--transition-fast)}.clickable:active{transform:scale(.98)}@media (max-width: 968px){:root{--content-padding-x: 1.5rem;--content-padding-y: 1.5rem;--section-spacing: 2rem;--spacing-3xl: 3rem;--mobile-active: true}}@media (max-width: 968px){:root{--content-padding-x: 1.25rem;--content-padding-y: 1.25rem;--section-spacing: 1.75rem}.page-header h1,.page-header h2{font-size:1.75rem}}@media (max-width: 480px){:root{--content-padding-x: 1rem;--content-padding-y: 1rem;--section-spacing: 1.5rem;--spacing-3xl: 2rem;--mobile-menu-width: 100vw}.page-header h1,.page-header h2{font-size:1.5rem}}[data-theme=dark]{color-scheme:dark;--color-primary-light: #e5e5e5;--color-primary-lighter: #fafafa;--color-slate-light: #d4d4d3;--color-cloud-dark: #a1a1a0;--color-cloud-mid: #b8b8b5;--color-gray-muted: #8c8c89;--color-gray-dimmed: #6e6e6b;--color-bg-dark: #0a0a0a;--color-bg-darker: #0f0f0f;--color-bg-medium: #121212;--color-bg-light: #141414;--color-bg-lighter: #1a1a1a;--color-bg-lightest: #1f1f1f;--color-bg-disabled: #262626;--color-book-cloth-light: #d99880;--color-book-cloth-lighter: #e8a890;--color-book-cloth-dim: #c8876e;--opacity-white-subtle: #ffffff05;--opacity-white-light: #ffffff0a;--opacity-white-border: #ffffff0d;--opacity-white-medium: #ffffff14;--opacity-white-focus: #ffffff29;--opacity-primary-light: #e5e5e514;--opacity-primary-lighter: #e5e5e51f;--opacity-cloud-light: #a1a1a026;--opacity-cloud-lighter: #b8b8b514;--opacity-gradient-hero-1-start: #d9988026;--opacity-gradient-hero-1-end: #c8876e14;--opacity-gradient-hero-2-start: #a1a1a026;--opacity-gradient-hero-2-end: #b8b8b514;--opacity-shadow-xs: #0000004d;--opacity-shadow-sm: #00000066;--opacity-shadow: #00000080;--opacity-shadow-md: #00000099;--opacity-shadow-lg: #000000b3;--opacity-shadow-xl: #000000cc;--primary-color: var(--color-primary-light);--primary-dark: var(--color-primary-lighter);--primary-light: var(--opacity-primary-light);--primary-hover: var(--opacity-primary-lighter);--slate-medium: var(--color-slate-light);--cloud-medium: var(--color-cloud-dark);--accent-gold: var(--color-cloud-dark);--accent-gold-hover: var(--color-cloud-mid);--accent-gold-light: var(--opacity-cloud-light);--accent-gold-lighter: var(--opacity-cloud-lighter);--bg-primary: var(--color-bg-dark);--bg-secondary: var(--color-bg-light);--bg-tertiary: var(--color-bg-lighter);--bg-quaternary: var(--color-bg-lightest);--bg-hover: var(--opacity-white-light);--bg-active: var(--opacity-white-border);--bg-disabled: var(--color-bg-disabled);--card-bg: var(--color-bg-darker);--surface-bg: var(--color-bg-medium);--text-primary: var(--color-primary-light);--text-secondary: var(--color-cloud-mid);--text-tertiary: var(--color-gray-muted);--text-muted: var(--color-gray-dimmed);--text-disabled: var(--color-gray-dark);--text-on-primary: var(--color-bg-dark);--text-white: var(--text-on-primary);--text-link: var(--color-book-cloth-light);--text-link-hover: var(--color-book-cloth-lighter);--border-color: var(--opacity-white-border);--border-light: var(--opacity-white-subtle);--border-dark: var(--opacity-white-medium);--border-focus: var(--opacity-white-focus);--border-subtle: var(--opacity-white-light);--accent-primary: var(--color-book-cloth-light);--accent-blue: var(--color-cloud-dark);--accent-purple: var(--color-cloud-dark);--accent-pink: var(--color-cloud-dark);--accent-orange: var(--color-book-cloth-light);--accent-yellow: var(--color-cloud-dark);--accent-green: var(--color-cloud-mid);--accent-gray: var(--color-cloud-dark);--gradient-primary: linear-gradient( 135deg, var(--color-book-cloth-light) 0%, var(--color-book-cloth-dim) 100% );--gradient-hero-1: linear-gradient( 135deg, var(--opacity-gradient-hero-1-start) 0%, var(--opacity-gradient-hero-1-end) 100% );--gradient-hero-2: linear-gradient( 135deg, var(--opacity-gradient-hero-2-start) 0%, var(--opacity-gradient-hero-2-end) 100% );--gradient-subtle: linear-gradient( 180deg, var(--bg-primary) 0%, var(--bg-secondary) 100% );--gradient-card: linear-gradient( 135deg, var(--card-bg) 0%, var(--bg-secondary) 100% );--success-color: var(--color-cloud-mid);--success-bg: var(--opacity-white-light);--success-border: var(--opacity-white-border);--warning-color: var(--color-cloud-dark);--warning-bg: var(--opacity-white-light);--warning-border: var(--opacity-white-border);--danger-color: var(--color-gray-muted);--danger-bg: var(--opacity-white-medium);--danger-border: var(--opacity-white-medium);--info-color: var(--color-cloud-dark);--info-bg: var(--opacity-white-subtle);--info-border: var(--opacity-white-medium);--shadow-xs: 0 1px 2px var(--opacity-shadow-xs);--shadow-sm: 0 1px 3px var(--opacity-shadow-sm);--shadow: 0 2px 8px var(--opacity-shadow);--shadow-md: 0 4px 12px var(--opacity-shadow-md);--shadow-lg: 0 8px 24px var(--opacity-shadow-lg);--shadow-xl: 0 16px 48px var(--opacity-shadow-xl);--card-shadow: 0 2px 4px var(--opacity-shadow-sm)}[data-theme=dark] .btn-primary{background:var(--text-primary);color:var(--bg-primary)}[data-theme=dark] .btn-primary:hover{background:var(--text-secondary)}[data-theme=dark] .population-info h4,[data-theme=dark] .population-description,[data-theme=dark] .overview-title,[data-theme=dark] .stat-label,[data-theme=dark] .stat-content h3,[data-theme=dark] .summary-label,[data-theme=dark] .breakdown-title,[data-theme=dark] .breakdown-label,[data-theme=dark] .header-info h1,[data-theme=dark] .population-description-section h2,[data-theme=dark] .statistics-section h2,[data-theme=dark] .action-title{color:var(--text-primary)}[data-theme=dark] .population-meta,[data-theme=dark] .stat-percent,[data-theme=dark] .breakdown-value,[data-theme=dark] .header-meta,[data-theme=dark] .meta-label,[data-theme=dark] .population-full-description,[data-theme=dark] .action-desc{color:var(--text-secondary)}[data-theme=dark] .section-title,[data-theme=dark] .summary-label,[data-theme=dark] .breakdown-title{color:var(--text-tertiary)}[data-theme=dark] .nav-btn:hover:not(:disabled){color:var(--text-primary);border-bottom-color:#d998804d}[data-theme=dark] .nav-btn.active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}[data-theme=dark] .landing-header{background:#0a0a0af2}[data-theme=dark] .nav-link:hover{color:var(--text-primary)}[data-theme=dark] .sign-in-button{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}[data-theme=dark] .sign-in-button:hover{background:var(--text-secondary);border-color:var(--text-secondary)}[data-theme=dark] .landing-footer{background:var(--bg-tertiary);border:1px solid var(--border-color)}[data-theme=dark] .footer-section h3,[data-theme=dark] .footer-section h4{color:var(--text-primary)}[data-theme=dark] .footer-section p,[data-theme=dark] .footer-section a,[data-theme=dark] .footer-link{color:var(--text-secondary)}[data-theme=dark] .footer-section a:hover,[data-theme=dark] .footer-link:hover{color:var(--text-primary)}[data-theme=dark] .footer-bottom{border-top-color:var(--border-color)}[data-theme=dark] .footer-bottom p{color:var(--text-tertiary)}*{box-sizing:border-box;margin:0;padding:0}html{width:100%;height:100%;font-size:16px}body{width:100%;min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6}#root{width:100%;min-height:var(--viewport-height);margin:0;padding:0;padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left);padding-right:var(--safe-area-right);display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary);letter-spacing:var(--tracking-tight)}h1{font-size:var(--font-2xl);font-weight:var(--font-bold);margin-bottom:var(--spacing-md)}h2{font-size:var(--font-xl);font-weight:var(--font-semibold);margin-bottom:var(--spacing-md)}h3{font-size:var(--font-lg);margin-bottom:var(--spacing-sm)}h4{font-size:var(--font-md);margin-bottom:var(--spacing-sm)}h5{font-size:var(--font-base);margin-bottom:var(--spacing-xs)}h6{font-size:var(--font-sm);font-weight:var(--font-medium);margin-bottom:var(--spacing-xs)}p{font-family:var(--font-sans);font-size:var(--font-base);line-height:var(--leading-relaxed);color:var(--text-secondary);margin-bottom:var(--spacing-md)}a{color:var(--text-link);text-decoration:none;transition:var(--transition-fast)}a:hover{text-decoration:underline}code,pre,kbd,samp{font-family:var(--font-mono);font-size:var(--font-sm)}small,.text-sm{font-size:var(--font-sm)}.text-lg{font-size:var(--font-lg);line-height:var(--leading-normal)}.label,.badge{font-size:var(--font-xs);font-weight:var(--font-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase}button,input,select,textarea{min-height:var(--touch-target-min);font-family:var(--font-sans);touch-action:manipulation}input[type=text],input[type=number],input[type=email],input[type=password],textarea,select{font-size:var(--font-base);font-family:var(--font-sans)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:var(--radius-full);border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:var(--primary-light);color:var(--text-primary)}::-moz-selection{background:var(--primary-light);color:var(--text-primary)}.landing-page{min-height:var(--viewport-height);display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--spacing-xl)}.hero{max-width:800px;margin:0 auto;text-align:center;animation:fadeIn .6s ease}.title{font-size:3.5rem;font-weight:700;margin-bottom:var(--spacing-lg);color:var(--text-primary);letter-spacing:-.03em;line-height:1.1}.subtitle{font-size:1.125rem;line-height:1.7;color:var(--text-secondary);margin:0 auto var(--spacing-2xl);max-width:600px;font-weight:400}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@media (max-width: 968px){.title{font-size:2.5rem}.subtitle{font-size:1rem}}.breadcrumbs{padding:var(--spacing-xs) 0;font-size:var(--font-xs);color:var(--text-tertiary);opacity:.8}.breadcrumbs-list{display:flex;align-items:center;flex-wrap:wrap;list-style:none;margin:0;padding:0;gap:var(--spacing-xs)}.breadcrumb-item{display:flex;align-items:center;gap:var(--spacing-xs)}.breadcrumb-icon{display:flex;align-items:center;color:var(--text-muted)}.breadcrumb-text{padding:var(--spacing-xs) var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast);position:relative}.breadcrumb-link{color:var(--text-tertiary);text-decoration:none;cursor:pointer}.breadcrumb-link:hover{color:var(--text-secondary);background:transparent}.breadcrumb-link:focus-visible{outline:var(--border-width-thick) solid var(--primary-color);outline-offset:var(--spacing-xs)}.breadcrumb-current{color:var(--text-primary);font-weight:var(--font-medium);cursor:default}.breadcrumb-separator{color:var(--text-muted);margin:0 var(--spacing-xs);-webkit-user-select:none;user-select:none}@media (max-width: 640px){.breadcrumbs{font-size:var(--font-xs)}.breadcrumbs-list{gap:var(--spacing-xs)}.breadcrumb-separator{margin:0 var(--spacing-xs)}}.free-trial-banner{position:fixed;top:0;left:0;right:0;z-index:var(--z-notification);background:var(--bg-secondary);border-bottom:var(--border-width) solid var(--border-light);box-shadow:none;animation:slideDown var(--transition-smooth) ease-out}.free-trial-banner.minimizing{animation:fadeUp var(--transition-slow) ease-out forwards}@keyframes fadeUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.free-trial-banner-content{max-width:1200px;margin:0 auto;padding:var(--spacing-xs) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm)}.free-trial-icon{flex-shrink:0;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center}.free-trial-message{flex:1;font-size:var(--font-xs);line-height:var(--leading-tight);color:var(--text-secondary)}.free-trial-message strong{font-weight:var(--font-medium);color:var(--text-primary);margin-right:var(--spacing-xs)}.upgrade-link{color:var(--text-link);font-weight:var(--font-medium);text-decoration:none;margin-left:var(--spacing-xs);transition:color var(--transition)}.upgrade-link:hover{color:var(--text-link-hover);text-decoration:underline}.free-trial-dismiss{flex-shrink:0;background:none;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--text-tertiary);transition:all var(--transition);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.free-trial-dismiss:hover{background:var(--bg-hover);color:var(--text-primary)}.free-trial-dismiss:active{transform:scale(.95)}@media (max-width: 968px){.free-trial-banner-content{padding:.25rem var(--spacing-sm);gap:var(--spacing-xs)}.free-trial-message{font-size:.7rem;line-height:1.2}.free-trial-message strong{display:inline;margin-right:.25rem}.free-trial-icon{display:none}.free-trial-dismiss{padding:.25rem}.free-trial-dismiss svg{width:14px;height:14px}.upgrade-link{display:inline;margin-left:.25rem}.free-trial-banner-minimized{padding:.25rem var(--spacing-xs)}.minimized-content{gap:var(--spacing-xs);font-size:.65rem}.minimized-badge{padding:.125rem .25rem;font-size:.6rem}.minimized-text{font-size:.65rem}.app-container-with-banner{padding-top:28px}}.free-trial-banner-minimized{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:var(--z-notification);background:var(--bg-secondary);border-bottom-left-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border:var(--border-width) solid var(--border-light);border-top:none;box-shadow:none;padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;transition:background var(--transition);animation:zoomIn var(--transition-smooth) ease-out}@keyframes zoomIn{0%{transform:translate(-50%) scale(.8);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.free-trial-banner-minimized:hover{background:var(--bg-hover)}.minimized-content{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-xs)}.minimized-badge{background:var(--bg-tertiary);color:var(--text-primary);padding:.25rem var(--spacing-xs);border-radius:var(--radius-xs);font-weight:var(--font-medium);font-size:var(--font-xs);letter-spacing:var(--tracking-wide)}.minimized-text{color:var(--text-secondary);font-size:var(--font-xs)}.app-container-with-banner{padding-top:36px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:var(--font-sans);position:relative;white-space:nowrap;overflow:hidden;transform:translateZ(0);backface-visibility:hidden;letter-spacing:.01em;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:padding-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:var(--primary-light);transform:translate(-50%,-50%);transition:width .4s,height .4s}.btn:active:before{width:300px;height:300px}.btn-small{padding:.375rem .875rem;font-size:.8125rem;min-height:var(--touch-target-secondary)}.btn-medium{padding:.625rem 1.25rem;font-size:.875rem;min-height:var(--touch-target-min)}.btn-large{padding:.75rem 1.5rem;font-size:.9375rem;min-height:var(--touch-target-min)}.btn-primary{background:var(--text-primary);color:var(--text-white);box-shadow:none;border:var(--border-width) solid transparent}.btn-primary:hover:not(:disabled){background:var(--text-secondary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:var(--border-width) solid var(--border-dark)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-focus);transform:translateY(-1px)}.btn-accent{background:var(--text-secondary);color:var(--text-white)}.btn-accent:hover:not(:disabled){background:var(--text-tertiary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-success{background:var(--success-bg);color:var(--success-color);border:var(--border-width) solid var(--success-border)}.btn-success:hover:not(:disabled){background:var(--bg-hover);border-color:var(--success-border);transform:translateY(-1px)}.btn-danger{background:var(--danger-bg);color:var(--danger-color);border:var(--border-width) solid var(--danger-border)}.btn-danger:hover:not(:disabled){background:var(--bg-hover);border-color:var(--danger-border);transform:translateY(-1px)}.btn-warning{background:var(--warning-bg);color:var(--warning-color);border:var(--border-width) solid var(--warning-border)}.btn-warning:hover:not(:disabled){background:var(--bg-hover);border-color:var(--warning-border);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:.5rem 1rem}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-link{background:transparent;color:var(--text-link);padding:0;text-decoration:none;box-shadow:none;min-height:auto;font-weight:400}.btn-link:hover:not(:disabled){color:var(--text-link-hover);text-decoration:underline;transform:none}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn:active:not(:disabled){transform:translateY(0)}.btn-full-width{width:100%;display:flex}.btn-loading{color:transparent}.btn-spinner{position:absolute;width:16px;height:16px;border:var(--border-width-thick) solid var(--border-light);border-top:var(--border-width-thick) solid currentColor;border-radius:50%;animation:spin .6s linear infinite}.btn-primary .btn-spinner,.btn-accent .btn-spinner,.btn-success .btn-spinner,.btn-danger .btn-spinner,.btn-warning .btn-spinner{border-color:var(--primary-light);border-top-color:var(--text-white)}.btn-secondary .btn-spinner,.btn-ghost .btn-spinner{border-color:var(--border-color);border-top-color:var(--text-primary)}.btn-icon{display:inline-flex;align-items:center}@supports (-webkit-touch-callout: none){.btn{-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.btn>span{pointer-events:none;display:inline-flex;align-items:center;gap:.625rem}.btn svg{pointer-events:none;display:block}}.card{background:var(--card-bg);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition);transform:translateZ(0);backface-visibility:hidden;position:relative}.card-default{border:1px solid var(--border-light)}.card-bordered{border:1px solid var(--border-color)}.card-elevated{box-shadow:var(--shadow-sm);border:none}.card:hover{box-shadow:var(--shadow-sm)}.card-bordered:hover{border-color:var(--border-dark)}.card-elevated:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-padding-none .card-body{padding:0}.card-padding-small .card-body{padding:var(--spacing-md)}.card-padding-medium .card-body{padding:var(--spacing-lg)}.card-padding-large .card-body{padding:var(--spacing-xl)}.card-header{padding:var(--spacing-xl);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.card-header-content{flex:1}.card-title{margin:0;color:var(--text-primary);font-size:var(--font-base);font-weight:var(--font-semibold);line-height:var(--leading-normal);letter-spacing:var(--tracking-tight)}.card-subtitle{margin:var(--spacing-xs) 0 0 0;color:var(--text-tertiary);font-size:var(--font-xs);line-height:var(--leading-normal);font-weight:var(--font-normal)}.card-header-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.card-body{flex:1}.card-footer{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--border-light);background:var(--bg-tertiary)}@media (max-width: 968px){.card{border-left:none;border-right:none;border-radius:0}.card-header{flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-sm)}.card-header-actions{width:100%;justify-content:flex-start}.card-body,.card-padding-small .card-body{padding:var(--spacing-sm)}.card-padding-medium .card-body{padding:var(--spacing-md) var(--spacing-sm)}.card-padding-large .card-body{padding:var(--spacing-lg) var(--spacing-sm)}.card-footer{padding:var(--spacing-md) var(--spacing-sm)}}.collapsible-section{background:var(--card-bg);border-radius:var(--radius-xl);border:1px solid var(--border-color);overflow:hidden;margin-bottom:var(--spacing-lg);transition:all var(--transition-slow);box-shadow:var(--shadow-sm)}.collapsible-section:hover{box-shadow:var(--shadow);border-color:var(--border-dark)}.collapsible-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(to bottom,var(--bg-primary),var(--bg-secondary));transition:all var(--transition-slow);position:relative}.collapsible-header:after{content:"";position:absolute;bottom:0;left:var(--spacing-xl);right:var(--spacing-xl);height:var(--border-width);background:linear-gradient(to right,transparent,var(--border-color),transparent);opacity:0;transition:opacity var(--transition-slow)}.collapsible-section.expanded .collapsible-header:after{opacity:1}.collapsible-header:hover{background:linear-gradient(to bottom,var(--bg-secondary),var(--bg-disabled))}.collapsible-header-left{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.collapsible-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--primary-light);border-radius:var(--radius-sm);color:var(--primary-color);font-size:var(--font-xs);transition:all var(--transition-slow);flex-shrink:0}.collapsible-icon.expanded{transform:rotate(90deg);background:var(--primary-color);color:var(--text-white)}.collapsible-title{margin:0;color:var(--text-primary);font-size:var(--font-md);font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.collapsible-badge{background:var(--primary-light);color:var(--primary-color);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:var(--font-semibold);min-width:28px;text-align:center;transition:all var(--transition-slow)}.collapsible-section.expanded .collapsible-badge{background:var(--primary-color);color:var(--text-white)}.collapsible-header-actions{display:flex;gap:var(--spacing-sm)}.collapsible-content{padding:var(--spacing-xl);animation:slideDown var(--transition-smooth);background:var(--bg-primary)}@media (max-width: 968px){.collapsible-header{padding:var(--spacing-md) var(--spacing-lg);flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.collapsible-header-left{width:100%}.collapsible-header-actions{width:100%;flex-direction:column}.collapsible-header-actions>button{width:100%;justify-content:center;min-height:44px}.collapsible-content{padding:var(--spacing-lg)}.collapsible-title{font-size:var(--font-base)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--primary-light);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-2xl);animation:fadeIn .2s ease}.modal-content{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:var(--border-width) solid var(--border-light);width:100%;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .25s cubic-bezier(.4,0,.2,1)}.modal-small{max-width:400px}.modal-medium{max-width:600px}.modal-large{max-width:900px}.modal-xlarge{max-width:1000px;min-width:min(900px,95vw)}.modal-header{padding:var(--spacing-xl);border-bottom:var(--border-width) solid var(--border-light);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h3{margin:0;color:var(--text-primary);font-size:1.125rem;font-weight:600;letter-spacing:-.01em}.modal-close{background:transparent;border:none;font-size:1.25rem;color:var(--text-tertiary);cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition)}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:var(--spacing-xl);overflow-y:auto;flex:1}.modal-footer{padding:var(--spacing-lg) var(--spacing-xl);border-top:var(--border-width) solid var(--border-light);background:var(--bg-tertiary);display:flex;justify-content:flex-end;gap:var(--spacing-sm);flex-shrink:0}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 968px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-width:100%!important;max-height:85vh;border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:0}.modal-body{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;padding-bottom:calc(var(--spacing-xl) + env(safe-area-inset-bottom,20px))}.modal-header{position:-webkit-sticky;position:sticky;top:0;background:var(--bg-primary);z-index:1;flex-shrink:0}.modal-footer{position:-webkit-sticky;position:sticky;bottom:0;flex-shrink:0;padding-bottom:calc(var(--spacing-lg) + env(safe-area-inset-bottom,20px))}}.custom-tags-builder{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.tags-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.tags-header-content{flex:1}.tags-header h3{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.tags-description{margin:0;font-size:var(--font-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.tags-content{margin-top:var(--spacing-md)}.tags-empty{text-align:center;padding:var(--spacing-2xl) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius);color:var(--text-secondary)}.tags-empty p{margin:0 0 var(--spacing-xs) 0}.tags-empty-hint{font-size:var(--font-sm);color:var(--text-muted)}.tags-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.tag-item{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius);padding:var(--spacing-md)}.tag-item-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.tag-label-input{flex:1;font-size:var(--font-md);font-weight:var(--font-medium);padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary)}.tag-label-input:focus{outline:none;border-color:var(--accent-primary)}.tag-remove-btn{background:transparent;border:none;color:var(--text-muted);font-size:var(--font-2xl);line-height:1;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition);min-width:var(--touch-target-secondary);min-height:var(--touch-target-secondary);display:flex;align-items:center;justify-content:center}.tag-remove-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tag-remove-btn:disabled{opacity:.5;cursor:not-allowed}.tag-item-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.tag-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tag-field-full{grid-column:1 / -1}.tag-field label{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.tag-field input,.tag-field select,.tag-field textarea{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-base);font-family:inherit}.tag-field input:focus,.tag-field select:focus,.tag-field textarea:focus{outline:none;border-color:var(--accent-primary)}.tag-field input:disabled,.tag-field select:disabled,.tag-field textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-tertiary)}.tag-field textarea{resize:vertical;min-height:calc(var(--spacing-2xl) * 2);line-height:var(--leading-normal)}.tag-field-checkbox{grid-column:1 / -1;display:flex;align-items:center}.tag-field-checkbox label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.tag-field-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.tag-field-checkbox input[type=checkbox]:disabled{cursor:not-allowed}.required{color:var(--accent-red);margin-left:2px}.tags-actions{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}@media (max-width: 968px){.custom-tags-builder{padding:var(--spacing-md);border-left:none;border-right:none;border-radius:0}.tags-header{flex-direction:column;align-items:stretch}.tag-item-content{grid-template-columns:1fr}.tag-field-full{grid-column:1}.tags-empty{padding:var(--spacing-lg) var(--spacing-md)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-xl);min-height:300px;text-align:center;animation:fadeIn var(--transition-smooth) ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.empty-state-icon{color:var(--text-muted);margin-bottom:var(--spacing-lg);animation:floatIcon 3s ease-in-out infinite}@keyframes floatIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.empty-state-icon svg{width:64px;height:64px}.empty-state-title{font-size:var(--font-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;letter-spacing:var(--tracking-tight)}.empty-state-description{font-size:var(--font-base);color:var(--text-secondary);margin:0 0 var(--spacing-lg) 0;max-width:400px;line-height:var(--leading-normal)}.empty-state-action{margin-top:var(--spacing-md)}@media (max-width: 968px){.empty-state{padding:var(--spacing-xl) var(--spacing-lg);min-height:250px}.empty-state-icon svg{width:48px;height:48px}.empty-state-title{font-size:var(--font-lg)}.empty-state-description{font-size:var(--font-sm)}}.error-boundary-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:var(--spacing-2xl);text-align:center;background:var(--bg-primary);border:var(--border-width) solid var(--border-light);border-radius:var(--radius-xl);margin:var(--spacing-lg);box-shadow:var(--shadow-sm)}.error-boundary-title{color:var(--text-primary);margin-bottom:var(--spacing-md);font-size:var(--font-xl);font-weight:var(--font-semibold);font-family:var(--font-sans);letter-spacing:var(--tracking-tight)}.error-boundary-message{color:var(--text-secondary);margin-bottom:var(--spacing-xl);max-width:500px;line-height:var(--leading-relaxed);font-size:var(--font-base);font-family:var(--font-sans)}.error-boundary-actions{display:flex;gap:var(--spacing-md);align-items:center}.error-boundary-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:var(--font-medium);font-size:var(--font-sm);font-family:var(--font-sans);cursor:pointer;transition:var(--transition);border:none;min-height:40px;display:inline-flex;align-items:center;justify-content:center}.error-boundary-btn-primary{background:var(--primary-color);color:var(--text-white);border:var(--border-width) solid var(--primary-color)}.error-boundary-btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.error-boundary-btn-secondary{background:transparent;color:var(--text-primary);border:var(--border-width) solid var(--border-color)}.error-boundary-btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-dark);transform:translateY(-1px)}.error-boundary-icon{width:48px;height:48px;margin:0 auto var(--spacing-md);display:flex;align-items:center;justify-content:center;background:var(--danger-bg);border-radius:var(--radius-full);color:var(--danger-color)}@media (max-width: 968px){.error-boundary-container{padding:var(--spacing-lg);margin:var(--spacing-md);min-height:300px}.error-boundary-title{font-size:var(--font-lg)}.error-boundary-message{font-size:var(--font-sm)}.error-boundary-actions{flex-direction:column;width:100%}.error-boundary-btn{width:100%}}.page-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:var(--spacing-2xl) var(--spacing-lg);text-align:center}.page-error-title{color:var(--danger-color);margin-bottom:var(--spacing-md);font-size:var(--font-hero);font-weight:var(--font-semibold)}.page-error-message{color:var(--text-secondary);margin-bottom:var(--spacing-xl);max-width:500px;line-height:var(--leading-relaxed);font-size:var(--font-base)}.page-error-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center}.page-error-btn{background:var(--text-secondary);color:var(--text-white);border:none;padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius);font-weight:var(--font-medium);cursor:pointer;font-size:var(--font-sm);transition:all var(--transition)}.page-error-btn:hover{background:var(--text-primary);transform:translateY(-1px)}.page-error-btn-secondary{background:transparent;color:var(--text-secondary);border:var(--border-width-thick) solid var(--border-color);padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius);font-weight:var(--font-medium);cursor:pointer;font-size:var(--font-sm);transition:all var(--transition)}.page-error-btn-secondary:hover{border-color:var(--text-secondary);background:var(--bg-hover)}.file-preview{position:relative;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-sm);background:var(--bg-primary);transition:all var(--transition)}.file-preview:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-sm)}.file-preview-content{margin-bottom:var(--spacing-sm);cursor:pointer}.image-preview{width:100%;height:120px;border-radius:var(--radius);overflow:hidden;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center}.image-preview img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}.image-preview:hover img{transform:scale(1.05)}.document-preview,.spreadsheet-preview,.generic-preview{width:100%;height:120px;border-radius:var(--radius);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;transition:background var(--transition)}.document-preview:hover,.spreadsheet-preview:hover,.generic-preview:hover{background:var(--bg-tertiary)}.document-preview img{width:100%;height:100%;object-fit:cover}.document-icon,.spreadsheet-icon,.generic-icon{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.icon-emoji{font-size:var(--font-3xl);line-height:1}.file-extension{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.file-preview-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.file-name{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:var(--font-xs);color:var(--text-muted)}.file-upload-progress{position:relative;margin-top:var(--spacing-sm);height:4px;background:var(--bg-secondary);border-radius:var(--radius-full);overflow:hidden}.progress-bar{position:absolute;top:0;left:0;height:100%;background:var(--accent-primary);transition:width var(--transition-fast)}.progress-text{position:absolute;top:-20px;right:0;font-size:var(--font-xs);color:var(--text-muted)}.file-upload-error{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:#ef44441a;color:#ef4444;border-radius:var(--radius-sm);font-size:var(--font-xs)}.file-preview-delete{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#00000080;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;transition:all var(--transition-fast);opacity:0}.file-preview:hover .file-preview-delete{opacity:1}.file-preview-delete:hover{background:#ef4444;transform:scale(1.1)}.file-preview-delete:active{transform:scale(.95)}@media (max-width: 968px){.file-preview{padding:var(--spacing-sm)}.image-preview,.document-preview,.spreadsheet-preview,.generic-preview{height:100px}.file-preview-delete{opacity:1;width:var(--touch-target-secondary);height:var(--touch-target-secondary)}.icon-emoji{font-size:var(--font-2xl)}}.file-upload{width:100%}.file-upload-dropzone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-2xl);background:var(--bg-secondary);transition:all var(--transition);cursor:pointer}.file-upload-dropzone:hover:not(.disabled){border-color:var(--accent-primary);background:var(--bg-tertiary)}.file-upload-dropzone.drag-active{border-color:var(--accent-primary);background:var(--bg-tertiary);transform:scale(1.02)}.file-upload-dropzone.drag-reject{border-color:#ef4444;background:#ef44440d}.file-upload-dropzone.disabled{opacity:.5;cursor:not-allowed}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);text-align:center}.upload-icon{color:var(--text-muted);transition:color var(--transition)}.file-upload-dropzone:hover:not(.disabled) .upload-icon,.file-upload-dropzone.drag-active .upload-icon{color:var(--accent-primary)}.file-upload-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius);font-size:var(--font-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition);min-height:var(--touch-target-min)}.file-upload-button:hover:not(:disabled){background:var(--accent-gold);transform:translateY(-2px);box-shadow:var(--shadow-md)}.file-upload-button:active:not(:disabled){transform:translateY(0)}.file-upload-button:disabled{opacity:.5;cursor:not-allowed}.file-upload-helper{margin:0;font-size:var(--font-sm);color:var(--text-muted);line-height:var(--leading-relaxed)}.file-count{margin:0;font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.file-upload-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}@media (max-width: 1200px){.file-upload-dropzone{padding:var(--spacing-lg)}.dropzone-content{gap:var(--spacing-sm)}.upload-icon{width:44px;height:44px}}@media (max-width: 1024px){.file-upload-dropzone{padding:var(--spacing-md)}.upload-icon{width:40px;height:40px}.file-upload-button{padding:var(--spacing-xs) var(--spacing-md)}}@media (max-width: 968px){.file-upload-dropzone{padding:var(--spacing-lg);border-radius:0;border-left:none;border-right:none}.dropzone-content{gap:var(--spacing-sm)}.upload-icon{width:40px;height:40px}.file-upload-button{width:100%;padding:var(--spacing-sm) var(--spacing-md)}.file-upload-helper{font-size:var(--font-xs)}.file-upload-previews{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-md)}}.file-upload-dropzone:focus-within{outline:2px solid var(--accent-primary);outline-offset:2px}.file-upload-dropzone.drag-active .upload-icon{animation:pulse 1.5s ease-in-out infinite}.message{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);border:var(--border-width) solid;margin-bottom:var(--spacing-md);animation:slideDown var(--transition);position:relative}.message-icon{font-size:1.25rem;flex-shrink:0;line-height:1}.message-content{flex:1;font-size:.95rem;line-height:1.5}.message-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:transparent;border:none;font-size:1.25rem;cursor:pointer;color:inherit;opacity:.6;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.message-close:hover{opacity:1;background:var(--bg-hover)}.message-error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-color)}.message-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-color)}.message-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-color)}.message-info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-color)}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-lg)}.loading-spinner{border-radius:50%;animation:spin 1s linear infinite}.spinner-small .loading-spinner{width:24px;height:24px;border-width:var(--border-width-accent)}.spinner-medium .loading-spinner{width:40px;height:40px;border-width:var(--border-width-thick)}.spinner-large .loading-spinner{width:60px;height:60px;border-width:calc(var(--border-width-thick) + 1px)}.spinner-color-primary{border:var(--border-width-thick) solid var(--border-light);border-top-color:var(--primary-color)}.spinner-color-white{border:var(--border-width-thick) solid var(--primary-light);border-top-color:var(--text-white)}.spinner-color-dark{border:var(--border-width-thick) solid var(--primary-light);border-top-color:var(--text-primary)}.loading-text{margin:0;color:var(--text-secondary);font-size:.95rem}.loading-spinner-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);opacity:.95;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.progress-container{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);width:100%;box-sizing:border-box;overflow:hidden;min-width:0}.progress-bar-wrapper{width:100%;display:flex;flex-direction:column;gap:var(--spacing-xs)}.progress-bar-track{width:100%;background:var(--bg-primary);border-radius:var(--radius-full);overflow:hidden;box-shadow:inset var(--shadow-xs);border:1px solid var(--border-light);flex-shrink:0}.progress-info{width:100%;display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0;overflow:hidden}.progress-bar-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width var(--transition-smooth);position:relative;overflow:hidden;min-width:0;width:0%;flex-shrink:0}.progress-bar-fill:not(.progress-zero):before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,var(--white-overlay-medium) 50%,transparent 100%);animation:shimmer 2s infinite}.progress-bar-fill.progress-zero{width:0!important;opacity:0;transform:scaleX(0);transition:none;visibility:hidden}.progress-bar-fill.indeterminate{animation:indeterminate 1.5s ease-in-out infinite;background:var(--primary-color);visibility:visible;opacity:1;transform:scaleX(1)}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.progress-bar-fill[style*="width: 0%"]{visibility:hidden}.progress-bar-fill:not([style*="width: 0%"]){visibility:visible}@keyframes shimmer{0%{left:-100%}to{left:100%}}.progress-text{margin:0;font-size:var(--font-sm);color:var(--text-secondary);font-weight:var(--font-medium);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0}.progress-status{margin:0;font-size:var(--font-sm);color:var(--text-primary);font-weight:var(--font-medium);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0}.progress-container.lightweight{background:transparent;border:none;padding:var(--spacing-sm) 0}.progress-container.lightweight .progress-bar-wrapper{gap:var(--spacing-xs)}.progress-container.lightweight .progress-bar-track{background:var(--border-light);border:none;box-shadow:none}.progress-container.lightweight .progress-bar-fill{background:var(--primary-color)}.progress-container.lightweight .progress-bar-fill:before{display:none}.progress-container.small .progress-bar-track{height:var(--spacing-xs)}.progress-container.small .progress-text,.progress-container.small .progress-status{font-size:var(--font-xs)}.progress-container.medium .progress-bar-track{height:var(--spacing-sm)}.progress-container.large .progress-bar-track{height:var(--spacing-md)}.skeleton-loader{background:linear-gradient(90deg,var(--skeleton-base, var(--bg-secondary)) 0%,var(--skeleton-highlight, var(--bg-tertiary)) 50%,var(--skeleton-base, var(--bg-secondary)) 100%);background-size:200% 100%;display:inline-block;position:relative;overflow:hidden}.skeleton-animate{animation:skeleton-shimmer var(--transition-smooth) ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-card,.skeleton-persona,.skeleton-question{padding:var(--spacing-lg);background:var(--card-bg);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.skeleton-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.skeleton-list-item{width:100%}@media (prefers-color-scheme: dark){.skeleton-loader{--skeleton-base: var(--primary-light);--skeleton-highlight: var(--primary-hover)}}@media (max-width: 968px){.skeleton-card,.skeleton-persona,.skeleton-question{padding:var(--spacing-md)}}.stat-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card-compact{padding:var(--spacing-md)}.stat-card-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.stat-card-icon{font-size:var(--font-lg);color:var(--primary-color)}.stat-card-title{margin:0;color:var(--text-primary);font-size:var(--font-base);font-weight:var(--font-semibold)}.stat-card-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.stat-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.stat-label{color:var(--text-secondary);font-size:var(--font-sm);flex-shrink:0}.stat-value-container{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs);flex:1}.stat-value{color:var(--text-primary);font-weight:var(--font-medium);font-size:var(--font-base)}.stat-percentage{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;max-width:150px}.stat-percentage-bar{flex:1;height:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-full);overflow:hidden}.stat-percentage-fill{height:100%;background:var(--primary-color);transition:width var(--transition)}.stat-percentage-text{font-size:var(--font-xs);color:var(--text-secondary);min-width:35px;text-align:right}.stat-card-compact .stat-card-header{margin-bottom:var(--spacing-sm)}.stat-card-compact .stat-card-title{font-size:var(--font-sm)}.stat-card-compact .stat-item{gap:var(--spacing-sm)}.stat-card-compact .stat-label,.stat-card-compact .stat-value{font-size:var(--font-xs)}.vertical-tabs-layout{display:flex;background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--card-shadow);height:100%;overflow:hidden;border:var(--border-width) solid var(--border-color)}.tabs-sidebar{width:300px;min-width:300px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);display:flex;flex-direction:column}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:var(--border-width-thick) solid var(--border-color);background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:var(--text-white)}.sidebar-actions{display:flex;gap:.5rem;align-items:center}.refresh-sidebar-btn,.collapse-sidebar-btn{background:var(--primary-light);border:var(--border-width) solid var(--primary-hover);color:var(--text-white);font-size:.9rem;cursor:pointer;padding:6px;border-radius:var(--radius);transition:var(--transition);min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.refresh-sidebar-btn:hover:not(:disabled),.collapse-sidebar-btn:hover{background:var(--bg-hover);transform:translateY(-1px)}.sidebar-header h3{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:700;letter-spacing:-.025em;text-shadow:0 1px 2px var(--shadow-xs)}.refresh-sidebar-btn{background:var(--bg-hover);border:1px solid var(--border-color);color:var(--text-primary);font-size:1rem;cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius);transition:all var(--transition)}.refresh-sidebar-btn:hover:not(:disabled){background:var(--bg-active);transform:translateY(-1px)}.refresh-sidebar-btn:disabled{opacity:.6;cursor:not-allowed}.vertical-tabs{display:flex;flex-direction:column;overflow-y:auto;flex:1}.vertical-tab-container{display:flex;align-items:center;position:relative}.vertical-tab{flex:1;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:transparent;border:none;border-bottom:var(--border-width) solid var(--border-light);cursor:pointer;text-align:left;transition:all var(--transition);position:relative}.vertical-tab:hover{background:var(--bg-secondary)}.vertical-tab.active{background:var(--card-bg);width:100%;box-shadow:var(--shadow-sm)}.vertical-tab.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--border-width-accent);background:var(--primary-color)}.tab-icon{font-size:1.5rem;flex-shrink:0}.tab-content-info{flex:1;min-width:0}.tab-title{color:var(--text-primary);font-weight:500;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-subtitle{color:var(--text-secondary);font-size:.8rem;margin-top:var(--spacing-xs)}.tab-badge{background:var(--primary-light);color:var(--primary-color);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.delete-tab-btn{position:absolute;right:var(--spacing-sm);background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-color);padding:var(--spacing-xs);border-radius:var(--radius);cursor:pointer;opacity:0;transition:all var(--transition);font-size:.9rem}.vertical-tab-container:hover .delete-tab-btn{opacity:1}.delete-tab-btn:hover{background:var(--danger-color);color:var(--text-white);transform:scale(1.1)}.loading-tabs{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md);color:var(--text-secondary)}.vertical-tabs-layout.collapsed{transition:var(--transition-normal, .2s ease)}.tabs-sidebar.collapsed{min-width:60px;width:60px;transition:var(--transition-normal, .2s ease)}.tabs-sidebar.collapsed .sidebar-header h3{display:none}.tabs-sidebar.collapsed .sidebar-header{padding:var(--spacing-md);justify-content:center}.tabs-sidebar.collapsed .sidebar-actions{gap:0}.tabs-sidebar.collapsed .refresh-sidebar-btn{display:none}.content-panel{flex:1;padding:var(--content-padding-y) var(--content-padding-x);overflow-y:auto;background:var(--card-bg);transition:var(--transition);border-left:none}.empty-panel{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:1.1rem}@media (max-width: 968px){.vertical-tabs-layout{flex-direction:column;min-height:auto}.tabs-sidebar{width:100%;min-width:100%;max-height:300px;border-right:none;border-bottom:var(--border-width-accent) solid var(--border-dark)}.vertical-tab-container{display:inline-flex;flex:0 0 auto;min-width:200px}.vertical-tabs{flex-direction:row;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:var(--spacing-xs);scroll-behavior:smooth}.vertical-tabs::-webkit-scrollbar{height:var(--border-width-thick)}.vertical-tabs::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-sm)}.vertical-tabs::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.vertical-tab{min-width:200px;border-bottom:none;flex:1 0 auto;border-right:var(--border-width) solid var(--border-light);white-space:nowrap}.vertical-tab.active:before{top:auto;bottom:0;left:0;right:0;width:auto;height:var(--border-width-thick)}}.theme-switch{display:inline-block;position:relative;cursor:pointer}.theme-switch__input{position:absolute;opacity:0;width:0;height:0}.theme-switch__track{position:relative;width:52px;height:28px;background:linear-gradient(to right,var(--accent-gold) 0%,var(--accent-primary) 100%);border-radius:14px;transition:background .3s ease,box-shadow .3s ease;box-shadow:inset 0 2px 4px var(--shadow-color-sm)}.theme-switch__input:checked+.theme-switch__track{background:linear-gradient(to right,var(--bg-tertiary) 0%,var(--slate-medium) 100%)}.theme-switch__thumb{position:absolute;top:2px;left:2px;width:24px;height:24px;background:var(--bg-primary);border-radius:50%;transition:transform .3s cubic-bezier(.76,.05,.24,.95),background .3s ease;box-shadow:0 2px 4px var(--shadow-color-md)}.theme-switch__input:checked~.theme-switch__track .theme-switch__thumb{transform:translate(24px);background:var(--primary-color)}.theme-switch__icon{position:absolute;top:50%;transform:translateY(-50%);width:14px;height:14px;transition:opacity .3s ease,transform .3s ease;pointer-events:none}.theme-switch__icon svg{width:100%;height:100%}.theme-switch__icon--sun{left:6px;color:var(--accent-primary);opacity:0}.theme-switch__input:not(:checked)~.theme-switch__track .theme-switch__icon--sun{opacity:1}.theme-switch__icon--moon{right:6px;color:var(--text-primary);opacity:0}.theme-switch__input:checked~.theme-switch__track .theme-switch__icon--moon{opacity:1}.google-signin-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition);min-height:var(--touch-target-min)}.google-signin-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-dark);box-shadow:var(--shadow-sm)}.google-signin-btn:active:not(:disabled){transform:translateY(1px);box-shadow:var(--shadow-xs)}.google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.google-signin-btn .google-icon{flex-shrink:0}.google-signin-btn span{flex:1;text-align:center}@media (max-width: 968px){.google-signin-btn{padding:var(--spacing-sm);font-size:var(--font-sm)}}.markdown-renderer{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;max-width:100%}.markdown-renderer h1,.markdown-renderer h2,.markdown-renderer h3,.markdown-renderer h4,.markdown-renderer h5,.markdown-renderer h6{color:var(--text-primary);font-weight:var(--font-semibold);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);line-height:var(--leading-tight);overflow-wrap:break-word;word-wrap:break-word}.markdown-renderer h1:first-child,.markdown-renderer h2:first-child,.markdown-renderer h3:first-child{margin-top:0}.markdown-renderer h1{font-size:var(--font-2xl)}.markdown-renderer h2{font-size:var(--font-xl)}.markdown-renderer h3{font-size:var(--font-lg)}.markdown-renderer h4{font-size:var(--font-md)}.markdown-renderer h5,.markdown-renderer h6{font-size:var(--font-base)}.markdown-renderer p{margin:var(--spacing-sm) 0;color:var(--text-secondary);line-height:var(--leading-relaxed);overflow-wrap:break-word;word-wrap:break-word}.markdown-renderer ul,.markdown-renderer ol{margin:var(--spacing-sm) 0;padding-left:var(--spacing-xl);color:var(--text-secondary)}.markdown-renderer li{margin:var(--spacing-xs) 0;line-height:var(--leading-relaxed);overflow-wrap:break-word;word-wrap:break-word}.markdown-renderer code{background:var(--bg-secondary);padding:2px var(--spacing-xs);border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:.875em;color:var(--text-primary);overflow-wrap:break-word;word-wrap:break-word}.markdown-renderer pre{background:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--radius);overflow-x:auto;margin:var(--spacing-md) 0;border:var(--border-width) solid var(--border-color)}.markdown-renderer pre code{background:transparent;padding:0;white-space:pre;overflow-wrap:normal;word-wrap:normal}.markdown-renderer pre[class*=language-]{background:var(--code-bg);border:none;padding:var(--spacing-md);border-radius:var(--radius);overflow-x:auto;margin:var(--spacing-md) 0}.markdown-renderer pre[class*=language-] code{background:transparent;color:var(--code-text);font-family:var(--font-mono);font-size:.875em;line-height:var(--leading-relaxed)}.markdown-renderer blockquote{border-left:3px solid var(--accent-primary);padding-left:var(--spacing-md);margin:var(--spacing-md) 0;color:var(--text-tertiary);font-style:italic}.markdown-renderer a{color:var(--accent-primary);text-decoration:none;overflow-wrap:break-word;word-wrap:break-word}.markdown-renderer a:hover{text-decoration:underline}.markdown-renderer strong{font-weight:var(--font-semibold);color:var(--text-primary)}.markdown-renderer em{font-style:italic}.markdown-renderer hr{border:none;border-top:var(--border-width) solid var(--border-color);margin:var(--spacing-lg) 0}.markdown-renderer table{border-collapse:collapse;width:100%;margin:var(--spacing-md) 0;overflow-x:auto;display:block}.markdown-renderer th,.markdown-renderer td{border:var(--border-width) solid var(--border-color);padding:var(--spacing-xs) var(--spacing-sm);text-align:left;overflow-wrap:break-word;word-wrap:break-word}.markdown-renderer th{background:var(--bg-secondary);font-weight:var(--font-semibold);color:var(--text-primary)}.markdown-renderer img{max-width:100%;height:auto}@media (max-width: 968px){.markdown-renderer{font-size:var(--font-sm)}.markdown-renderer h1{font-size:var(--font-xl)}.markdown-renderer h2{font-size:var(--font-lg)}.markdown-renderer h3{font-size:var(--font-md)}.markdown-renderer table{font-size:var(--font-xs)}.markdown-renderer th,.markdown-renderer td{padding:var(--spacing-xs);min-width:80px}}.todo-list-display{margin:var(--spacing-md) 0}.todo-list-display__title{margin:0 0 var(--spacing-sm);font-size:var(--font-base);font-weight:var(--font-semibold);color:var(--text-primary)}.todo-list-display__items{display:flex;flex-direction:column;gap:var(--spacing-xs)}.todo-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius);border-left:3px solid transparent;transition:all var(--transition)}.todo-item__icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:var(--font-lg);font-weight:var(--font-bold)}.todo-item__content{flex:1;font-size:var(--font-sm);color:var(--text-secondary);line-height:var(--leading-normal)}.todo-item__priority-badge{flex-shrink:0;padding:2px var(--spacing-xs);font-size:var(--font-xs);font-weight:var(--font-medium);background:var(--accent-primary);color:#fff;border-radius:var(--radius-sm)}.todo-item--pending{border-left-color:var(--border-color)}.todo-item--pending .todo-item__icon{color:var(--text-muted)}.todo-item--in_progress{border-left-color:var(--accent-primary);background:var(--bg-tertiary)}.todo-item--in_progress .todo-item__icon{color:var(--accent-primary);animation:spin 2s linear infinite}.todo-item--in_progress .todo-item__content{color:var(--text-primary);font-weight:var(--font-medium)}.todo-item--completed{border-left-color:var(--status-success);opacity:.7}.todo-item--completed .todo-item__icon{color:var(--status-success)}.todo-item--completed .todo-item__content{text-decoration:line-through}.todo-item--cancelled{border-left-color:var(--text-muted);opacity:.5}.todo-item--cancelled .todo-item__icon{color:var(--text-muted)}.todo-item--cancelled .todo-item__content{text-decoration:line-through}.todo-item--high:not(.todo-item--completed):not(.todo-item--cancelled){box-shadow:var(--shadow-sm)}.progress-events-list{margin:var(--spacing-md) 0}.progress-events-list__title{margin:0 0 var(--spacing-sm);font-size:var(--font-base);font-weight:var(--font-semibold);color:var(--text-primary)}.progress-events-list__timeline{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:400px;overflow-y:auto;padding-right:var(--spacing-xs)}.progress-events-list__timeline::-webkit-scrollbar{width:6px}.progress-events-list__timeline::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-sm)}.progress-events-list__timeline::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.progress-events-list__timeline::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.progress-event{display:grid;grid-template-columns:auto auto 1fr;align-items:start;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius);border-left:3px solid var(--border-color);transition:all var(--transition)}.progress-event:hover{background:var(--bg-tertiary);box-shadow:var(--shadow-sm)}.progress-event__time{font-size:var(--font-xs);color:var(--text-muted);white-space:nowrap;min-width:50px}.progress-event__icon{font-size:var(--font-base);width:24px;text-align:center}.progress-event__details{display:flex;flex-direction:column;gap:2px;min-width:0}.progress-event__description{font-size:var(--font-sm);color:var(--text-primary);line-height:var(--leading-normal);font-weight:var(--font-medium)}.progress-event__detail{font-size:var(--font-xs);color:var(--text-secondary);line-height:var(--leading-normal);margin-top:2px;display:block;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word}.progress-event--conversation_started{border-left-color:var(--accent-primary)}.progress-event--iteration_started{border-left-color:var(--text-tertiary)}.progress-event--response_received{border-left-color:var(--accent-primary)}.progress-event--tool_started{border-left-color:var(--color-gold-accent)}.progress-event--tool_completed{border-left-color:var(--color-success-green)}.progress-event--tool_failed{border-left-color:var(--error-color)}.progress-event--conversation_completed{border-left-color:var(--color-success-green)}.number-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-base);color:var(--text-primary);background:var(--bg-primary);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-md);min-height:var(--touch-target-min);transition:all var(--transition)}.number-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--opacity-border-light)}.number-input:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.number-input::placeholder{color:var(--text-muted)}.credit-display-compact{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius)}.credit-display-compact .credit-icon{display:flex;align-items:center;color:var(--text-secondary)}.credit-display-compact .credit-value{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--font-sm)}.credit-display-compact .admin-badge{padding:var(--spacing-xs) var(--spacing-sm);background:var(--accent-primary);color:#fff;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;text-align:center}.credit-display-inline{display:inline;font-size:inherit}.credit-display-inline strong{font-weight:var(--font-semibold);color:var(--text-primary)}.credit-conversion-inline{color:var(--text-secondary);font-size:.9em}.credit-display-full{display:flex;flex-direction:column;gap:var(--spacing-sm)}.credit-display-full .credit-header{display:flex;justify-content:space-between;align-items:center}.credit-display-full .credit-label{font-size:var(--font-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.credit-display-full .credit-amount{font-size:var(--font-base);color:var(--text-primary);font-weight:var(--font-semibold)}.credit-display-full .credit-progress{width:100%;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.credit-display-full .credit-progress-bar{height:100%;background:var(--accent-primary);transition:width var(--transition);border-radius:var(--radius-full)}.credit-display-full .credit-conversion{text-align:center;padding-top:var(--spacing-xs)}.credit-display-full .conversion-text{font-size:var(--font-sm);color:var(--text-secondary);font-style:italic}.credit-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius);font-size:var(--font-sm);font-weight:var(--font-medium)}.credit-badge-conversion{color:var(--text-secondary);font-size:var(--font-xs);margin-left:var(--spacing-xs)}.credit-badge-question{border-left:3px solid var(--accent-gold)}.credit-badge-persona{border-left:3px solid var(--accent-primary)}.credit-cost{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius);border-left:3px solid var(--accent-primary)}.credit-cost.insufficient{border-left-color:var(--danger-color);background:#dc26261a}.credit-cost .cost-label{font-size:var(--font-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.credit-cost .cost-amount{font-size:var(--font-base);color:var(--text-primary);font-weight:var(--font-semibold)}.credit-cost .cost-warning{font-size:var(--font-sm);color:var(--danger-color);font-weight:var(--font-medium)}.research-guide-banner{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.research-guide-banner__header{text-align:center;margin-bottom:var(--spacing-xl)}.research-guide-banner__title{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;letter-spacing:var(--tracking-tight)}.research-guide-banner__options{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.research-guide-banner__option{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-lg);position:relative;transition:all var(--transition)}.research-guide-banner__option:hover{border-color:var(--border-dark);box-shadow:var(--shadow-sm)}.research-guide-banner__option--recommended{border-color:var(--accent-primary);background:var(--bg-primary)}.research-guide-banner__option--recommended:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-md)}.research-guide-banner__option-badge{position:absolute;top:calc(-1 * var(--spacing-sm));left:var(--spacing-md);background:var(--accent-primary);color:var(--text-white);font-size:var(--font-xs);font-weight:var(--font-semibold);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase}.research-guide-banner__option-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.research-guide-banner__option-title{font-size:var(--font-md);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.research-guide-banner__option--recommended .research-guide-banner__option-title{margin-top:var(--spacing-xs)}.research-guide-banner__option-desc{font-size:var(--font-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0;flex:1}.research-guide-banner__option-btn{margin-top:var(--spacing-md);align-self:flex-start}.research-guide-banner__compare-link{display:block;width:100%;text-align:center;background:transparent;border:none;color:var(--text-link);font-size:var(--font-sm);cursor:pointer;padding:var(--spacing-sm);transition:color var(--transition)}.research-guide-banner__compare-link:hover{color:var(--text-link-hover);text-decoration:underline}.research-comparison{padding:var(--spacing-md) 0}.research-comparison__intro{font-size:var(--font-base);color:var(--text-secondary);margin:0 0 var(--spacing-xl) 0;text-align:center;line-height:var(--leading-relaxed)}.research-comparison__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.research-comparison__column{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.research-comparison__column--recommended{border-color:var(--accent-primary)}.research-comparison__column-header{padding:var(--spacing-lg);background:var(--bg-tertiary);border-bottom:1px solid var(--border-light);position:relative}.research-comparison__column--recommended .research-comparison__column-header{background:var(--accent-primary)}.research-comparison__column-header h3{font-size:var(--font-md);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.research-comparison__column--recommended .research-comparison__column-header h3{color:var(--text-white)}.research-comparison__badge{display:inline-block;font-size:var(--font-xs);font-weight:var(--font-medium);color:var(--text-white);opacity:.9;margin-bottom:var(--spacing-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.research-comparison__column-content{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.research-comparison__section h4{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.research-comparison__section ul{margin:0;padding-left:var(--spacing-lg);list-style-type:disc}.research-comparison__section li{font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:var(--spacing-xs);line-height:var(--leading-normal)}.research-comparison__section p{font-size:var(--font-sm);color:var(--text-secondary);margin:0;line-height:var(--leading-relaxed)}.research-comparison__cta{margin-top:auto;width:100%}@media (max-width: 968px){.research-guide-banner{padding:var(--spacing-lg)}.research-guide-banner__options{grid-template-columns:1fr;gap:var(--spacing-md)}.research-guide-banner__option--recommended{order:-1}.research-comparison__grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.research-comparison__column--recommended{order:-1}}.command-palette-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;animation:fadeIn .15s ease-out}.command-palette{width:90%;max-width:640px;max-height:70vh;background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;animation:slideDown .2s ease-out;overflow:hidden}.command-palette-breadcrumb{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-secondary);border:none;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left;width:100%}.command-palette-breadcrumb:hover{background:var(--bg-tertiary);color:var(--text-primary)}.breadcrumb-trail{font-weight:var(--font-medium)}.command-palette-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:var(--spacing-md)}.command-palette-input{flex:1;background:transparent;border:none;outline:none;font-size:var(--font-md);color:var(--text-primary);padding:0;font-family:inherit}.command-palette-input::placeholder{color:var(--text-muted)}.command-palette-shortcut{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:var(--font-xs);color:var(--text-secondary);font-family:var(--font-mono);border:1px solid var(--border-color)}.command-palette-list{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.command-palette-loading{padding:var(--spacing-xl) var(--spacing-lg);text-align:center;color:var(--text-muted);font-size:var(--font-sm)}.command-palette-empty{padding:var(--spacing-xl) var(--spacing-lg);text-align:center;color:var(--text-muted)}.command-palette-group{margin-bottom:var(--spacing-md)}.command-palette-group:last-child{margin-bottom:0}.command-palette-group-title{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.command-palette-item{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);text-align:left}.command-palette-item:hover{background:var(--bg-secondary)}.command-palette-item.selected{background:var(--primary-light);box-shadow:inset 0 0 0 1px var(--primary-color)}.command-palette-item.current{background:var(--bg-tertiary)}.command-palette-item.current.selected{background:var(--primary-light)}.command-palette-item-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);flex-shrink:0}.command-palette-item.selected .command-palette-item-icon{background:var(--primary-color);color:var(--text-white)}.command-palette-item.current .command-palette-item-icon{background:var(--accent-gold);color:var(--text-primary)}.command-palette-item-content{flex:1;min-width:0}.command-palette-item-label{font-size:var(--font-base);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:2px;display:flex;align-items:center;gap:var(--spacing-sm)}.command-palette-current-badge{font-size:var(--font-xs);font-weight:var(--font-normal);color:var(--accent-gold);padding:2px 6px;background:rgba(var(--accent-gold-rgb, 212, 175, 55),.15);border-radius:var(--radius-sm)}.command-palette-item-description{font-size:var(--font-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-palette-item-chevron{display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0;transition:all var(--transition-fast);padding:var(--spacing-xs);margin:calc(-1 * var(--spacing-xs));border-radius:var(--radius-sm);cursor:pointer}.command-palette-item-chevron:hover{background:var(--bg-tertiary);color:var(--primary-color)}.command-palette-item.selected .command-palette-item-chevron{color:var(--primary-color)}.command-palette-item.selected .command-palette-item-chevron:hover{background:rgba(var(--primary-rgb, 25, 25, 25),.15)}.command-palette-footer{padding:var(--spacing-sm) var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-secondary)}.command-palette-help{display:flex;align-items:center;gap:var(--spacing-lg);font-size:var(--font-xs);color:var(--text-muted);flex-wrap:wrap}.command-palette-help kbd{padding:2px 6px;background:var(--card-bg);border-radius:var(--radius-sm);font-family:var(--font-mono);border:1px solid var(--border-color);margin-right:var(--spacing-xs)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 968px){.command-palette{width:95%;max-height:80vh}.command-palette-overlay{padding-top:5vh}.command-palette-help{gap:var(--spacing-md)}}
