:root{--color-text-primary: #1D1D1F;--color-text-secondary: rgba(29, 29, 31, .6);--color-text-tertiary: rgba(29, 29, 31, .4);--color-bg-primary: #FFFFFF;--color-bg-secondary: #F5F5F7;--color-bg-tertiary: #E5E5E7;--color-accent: #007AFF;--color-accent-hover: #0051D5;--color-border: rgba(29, 29, 31, .1);--color-border-subtle: rgba(29, 29, 31, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}@media(prefers-color-scheme:dark){:root{--color-text-primary: #F5F5F7;--color-text-secondary: rgba(245, 245, 247, .7);--color-text-tertiary: rgba(245, 245, 247, .5);--color-bg-primary: #000000;--color-bg-secondary: #1D1D1F;--color-bg-tertiary: #2C2C2E;--color-accent: #0A84FF;--color-accent-hover: #409CFF;--color-border: rgba(255, 255, 255, .1);--color-border-subtle: rgba(255, 255, 255, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5)}}html.dark,.dark{--color-text-primary: #F5F5F7;--color-text-secondary: rgba(245, 245, 247, .7);--color-text-tertiary: rgba(245, 245, 247, .5);--color-bg-primary: #000000;--color-bg-secondary: #1D1D1F;--color-bg-tertiary: #2C2C2E;--color-accent: #0A84FF;--color-accent-hover: #409CFF;--color-border: rgba(255, 255, 255, .1);--color-border-subtle: rgba(255, 255, 255, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5)}html:not(.dark){--color-text-primary: #1d1d1f;--color-text-secondary: rgba(60, 60, 67, .6);--color-text-tertiary: rgba(60, 60, 67, .4);--color-bg-primary: #ffffff;--color-bg-secondary: #fbfbfd;--color-bg-tertiary: #f5f5f7;--color-accent: #0071e3;--color-accent-hover: #0077ed;--color-border: rgba(0, 0, 0, .06);--color-border-subtle: rgba(0, 0, 0, .02);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:auto}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-primary);color:var(--color-text-primary);font-weight:400;letter-spacing:-.011em;line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:hidden;height:100vh;max-width:100vw;margin:0 auto}@media(min-width:1920px){.app{max-width:1920px;margin:0 auto}}.app-header{background-color:#ffffffb8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:.5px solid rgba(0,0,0,.05);padding:var(--spacing-lg) var(--spacing-2xl);display:flex;justify-content:space-between;align-items:center;position:relative;z-index:100;max-width:100%;margin:0 auto}@media(min-width:1920px){.app-header{max-width:1920px;padding:var(--spacing-lg) 6rem}}html:not(.dark) .app-header{background-color:#ffffffb8;border-bottom:.5px solid rgba(0,0,0,.05)}.dark .app-header{background-color:#000c;border-bottom:.5px solid rgba(255,255,255,.05)}.header-content{display:flex;flex-direction:column;gap:.25rem}.app-header h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary);margin:0;font-family:Montserrat,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.2}.brand-link{cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.brand-link:hover{color:var(--color-accent);transform:translateY(-1px)}.header-tagline{font-size:.875rem;font-weight:300;letter-spacing:.01em;color:var(--color-text-secondary);margin:0;font-style:normal;font-family:Montserrat,-apple-system,BlinkMacSystemFont,sans-serif}.theme-toggle{padding:0;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:1.25rem;font-family:inherit;transition:opacity var(--transition-fast);display:flex;align-items:center;justify-content:center;width:32px;height:32px;line-height:1}.theme-toggle:hover{opacity:.6}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.provider-selector{display:flex;align-items:center;gap:var(--spacing-sm)}.provider-selector label{font-size:.8125rem;color:var(--color-text-secondary);font-weight:500}.provider-selector select{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-bg-primary);font-size:.8125rem;color:var(--color-text-primary);font-family:inherit;font-weight:400;cursor:pointer;transition:all var(--transition-fast)}.provider-selector select:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border)}.provider-selector select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #007aff1a}.provider-status{color:var(--color-text-primary);font-size:.875rem;font-weight:500}.settings-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:transparent;color:var(--color-text-primary);cursor:pointer;font-size:.8125rem;font-weight:500;font-family:inherit;transition:all var(--transition-fast);letter-spacing:-.011em}.settings-btn:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border)}.settings-overlay{position:fixed;inset:0;background-color:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn var(--transition-base)}.settings-modal{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideUp var(--transition-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.settings-header{padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg-primary)}.settings-header h2{margin:0;font-size:1.25rem;color:var(--color-text-primary);font-weight:600;letter-spacing:-.015em}.settings-close{background:var(--color-bg-secondary);border:none;font-size:1.25rem;color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);font-family:inherit}.settings-close:hover{background-color:var(--color-bg-tertiary);transform:scale(1.05)}.settings-content{padding:var(--spacing-xl)}.settings-section{margin-bottom:var(--spacing-xl)}.settings-section:last-child{margin-bottom:0}.settings-section h3{margin:0 0 var(--spacing-lg) 0;font-size:1rem;color:var(--color-text-primary);font-weight:600;letter-spacing:-.011em}.settings-description{margin:0 0 var(--spacing-lg) 0;color:var(--color-text-secondary);font-size:.875rem;font-weight:400;line-height:1.5}.provider-select-group{display:flex;gap:var(--spacing-lg)}.provider-select-group label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:.875rem;color:var(--color-text-primary);font-weight:400}.provider-select-group input[type=radio]{width:18px;height:18px;cursor:pointer}.api-key-group{display:flex;flex-direction:column;gap:var(--spacing-lg)}.api-key-item{display:flex;flex-direction:column;gap:var(--spacing-sm)}.api-key-item label{font-weight:600;color:var(--color-text-primary);font-size:.9375rem}.api-key-input-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.api-key-input-group input{padding:var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:.875rem;font-family:ui-monospace,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;width:100%;background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:all var(--transition-fast)}.api-key-input-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #007aff1a}.api-key-actions{display:flex;gap:var(--spacing-sm);align-items:center}.save-btn,.clear-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:.875rem;font-family:inherit;font-weight:500;transition:all var(--transition-fast);letter-spacing:-.011em}.save-btn{background-color:var(--color-accent);color:#fff}.save-btn:hover:not(:disabled){background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.save-btn:disabled{opacity:.4;cursor:not-allowed;background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.clear-btn{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.clear-btn:hover{background-color:var(--color-bg-tertiary)}.save-status{color:var(--color-text-primary);font-size:.875rem;font-weight:500}.api-key-link{color:var(--color-accent);text-decoration:none;font-size:.875rem;transition:opacity var(--transition-fast);font-weight:400}.api-key-link:hover{opacity:.7;text-decoration:underline}.error-banner{background-color:#ff3b301a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#d70015;padding:var(--spacing-md) var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(215,0,21,.1)}.error-banner button{background:none;border:none;color:#d70015;font-size:1.25rem;cursor:pointer;padding:0 var(--spacing-sm);font-family:inherit;transition:opacity var(--transition-fast);line-height:1}.error-banner button:hover{opacity:.6}.landing-page{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;background:var(--color-bg-primary);min-height:0;overflow-y:auto;position:relative;width:100%}.pdf-processing-overlay{position:fixed;inset:0;background-color:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn var(--transition-base)}.pdf-processing-content{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);padding:3rem 4rem;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;gap:1.5rem;animation:slideUp var(--transition-base);max-width:400px;text-align:center}.processing-text{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0;letter-spacing:-.015em}.processing-subtext{font-size:.875rem;font-weight:400;color:var(--color-text-secondary);margin:0;line-height:1.5}.pdf-processing-content .loading-dots{transform:scale(1.5)}.api-key-modal-overlay{position:fixed;inset:0;background-color:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn var(--transition-base);padding:1rem}.api-key-modal{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);padding:0;box-shadow:var(--shadow-lg);max-width:480px;width:100%;animation:slideUp var(--transition-base);position:relative;border:1px solid var(--color-border)}.api-key-modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:1.5rem;font-family:inherit;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);line-height:1;padding:0}.api-key-modal-close:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.api-key-modal-content{padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.api-key-modal-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0;letter-spacing:-.02em}.api-key-modal-text{font-size:1rem;color:var(--color-text-secondary);margin:0;line-height:1.6}.api-key-modal-actions{display:flex;gap:.75rem;flex-wrap:wrap}.api-key-modal-btn{padding:.75rem 1.5rem;border-radius:var(--radius-md);border:none;cursor:pointer;font-size:.9375rem;font-weight:500;font-family:inherit;transition:all var(--transition-fast);letter-spacing:-.011em;flex:1;min-width:140px}.api-key-modal-primary{background-color:var(--color-accent);color:#fff}.api-key-modal-primary:hover{background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.api-key-modal-secondary{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.api-key-modal-secondary:hover{background-color:var(--color-bg-tertiary)}html:not(.dark) .api-key-modal-primary{background-color:#0071e3}html:not(.dark) .api-key-modal-primary:hover{background-color:#0077ed}.dark .api-key-modal-primary{background-color:#0a84ff}.dark .api-key-modal-primary:hover{background-color:#409cff}@media(max-width:768px){.api-key-modal{max-width:100%;margin:1rem}.api-key-modal-content{padding:1.5rem}.api-key-modal-title{font-size:1.25rem}.api-key-modal-actions{flex-direction:column}.api-key-modal-btn{width:100%}}.landing-settings-btn{position:fixed;top:2rem;right:2rem;width:44px;height:44px;border-radius:50%;border:none;background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:1000;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 2px 8px #0000001a}html:not(.dark) .landing-settings-btn{background-color:#fffc;border:.5px solid rgba(0,0,0,.1);box-shadow:0 2px 8px #00000014}html:not(.dark) .landing-settings-btn:hover{background-color:#fffffff2;transform:scale(1.05);box-shadow:0 4px 16px #0000001f}html:not(.dark) .landing-settings-btn:active{transform:scale(.95)}.dark .landing-settings-btn{background-color:#0009;border:.5px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0006}.dark .landing-settings-btn:hover{background-color:#000c;transform:scale(1.05);box-shadow:0 6px 20px #00000080}.dark .landing-settings-btn:active{transform:scale(.95)}.settings-icon{width:20px;height:20px;color:var(--color-text-primary);transition:transform .3s cubic-bezier(.4,0,.2,1)}.landing-settings-btn:hover .settings-icon{transform:rotate(15deg)}.landing-settings-container{position:relative}.settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background-color:var(--color-bg-primary);border-radius:12px;box-shadow:0 8px 32px #0000001f;border:.5px solid var(--color-border);padding:.5rem;z-index:1001;animation:dropdownFadeIn .2s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}html:not(.dark) .settings-dropdown{background-color:#fffffff2;border-color:#0000001a;box-shadow:0 8px 32px #0000001f}.dark .settings-dropdown{background-color:#1d1d1ff2;border-color:#ffffff1a;box-shadow:0 8px 32px #00000080}.settings-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:8px;transition:background-color .15s cubic-bezier(.4,0,.2,1)}.settings-dropdown-item-clickable{cursor:pointer}.settings-dropdown-item-clickable:hover{background-color:var(--color-bg-secondary)}.settings-item-label{font-size:.9375rem;font-weight:500;color:var(--color-text-primary);letter-spacing:-.011em}.settings-arrow-icon{width:16px;height:16px;color:var(--color-text-secondary)}.theme-toggle-switch{position:relative;display:inline-block;width:44px;height:26px;cursor:pointer}.theme-toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-bg-tertiary);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:50%;box-shadow:0 2px 4px #0003}.theme-toggle-switch input:checked+.toggle-slider{background-color:var(--color-accent)}html:not(.dark) .theme-toggle-switch input:checked+.toggle-slider{background-color:#0071e3}.dark .theme-toggle-switch input:checked+.toggle-slider{background-color:#0a84ff}.theme-toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.api-settings-page{width:100%;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:2rem 2rem 4rem;background:var(--color-bg-primary);flex:1;-webkit-overflow-scrolling:touch}.api-settings-container{max-width:700px;width:100%;background:var(--color-bg-primary)}.api-settings-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.api-back-btn{width:40px;height:40px;border-radius:50%;border:none;background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1)}.api-back-btn:hover{background-color:var(--color-bg-tertiary);transform:scale(1.05)}.api-back-btn svg{width:20px;height:20px}.api-settings-title{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;letter-spacing:-.03em;color:var(--color-text-primary);margin:0;line-height:1.2}.api-settings-content{display:flex;flex-direction:column;gap:2rem}.api-intro-section{padding:1.5rem;background:linear-gradient(135deg,#0071e314,#00c4cc14);border-radius:12px;border:1px solid var(--color-border)}html:not(.dark) .api-intro-section{background:linear-gradient(135deg,#0071e30f,#00c4cc0f)}.dark .api-intro-section{background:linear-gradient(135deg,#0a84ff1f,#00d4ff1f)}.api-intro-text{font-size:1rem;color:var(--color-text-primary);margin:0 0 .5rem;line-height:1.6;letter-spacing:-.011em}.api-intro-text strong{font-weight:600;color:var(--color-accent)}.api-intro-subtext{font-size:.875rem;color:var(--color-text-secondary);margin:0;line-height:1.5}.api-intro-subtext strong{font-weight:600;color:var(--color-text-primary)}.api-key-section{padding:1.5rem;background-color:var(--color-bg-secondary);border-radius:12px;border:1px solid var(--color-border)}.api-key-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.api-provider-info{flex:1}.api-provider-description{font-size:.875rem;color:var(--color-text-secondary);margin:.25rem 0 0;line-height:1.5}.api-provider-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0;letter-spacing:-.011em}.api-key-link{font-size:.875rem;color:var(--color-accent);text-decoration:none;font-weight:500;transition:opacity .2s}.api-key-link:hover{opacity:.7}.api-key-input-group{display:flex;flex-direction:column;gap:.5rem}.api-key-input{width:100%}.api-key-actions{display:flex;gap:.5rem;align-items:center}.api-key-status{font-size:.8125rem;color:var(--color-accent);font-weight:500;margin-top:-.25rem}.api-key-input{padding:.75rem 1rem;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:.875rem;font-family:ui-monospace,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;transition:all .2s}.api-key-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #007aff1a}.api-save-btn-small{padding:.625rem 1.25rem;font-size:.875rem;white-space:nowrap}.api-save-btn-small:disabled{opacity:.4;cursor:not-allowed}.api-clear-btn{padding:.625rem 1.25rem;border-radius:8px;border:1px solid var(--color-border);background-color:transparent;color:var(--color-text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.api-clear-btn:hover{background-color:var(--color-bg-tertiary)}.api-save-btn{padding:.875rem 2rem;border-radius:980px;border:none;background-color:var(--color-accent);color:#fff;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}html:not(.dark) .api-save-btn{background-color:#0071e3}html:not(.dark) .api-save-btn:hover:not(:disabled){background-color:#0077ed;transform:translateY(-1px);box-shadow:0 4px 12px #0071e34d}.dark .api-save-btn{background-color:#0a84ff}.dark .api-save-btn:hover:not(:disabled){background-color:#409cff;transform:translateY(-1px);box-shadow:0 4px 16px #0a84ff66}.api-settings-note{padding:1rem;background-color:var(--color-bg-secondary);border-radius:8px;border-left:3px solid var(--color-accent)}.api-settings-note p{margin:0;font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.landing-page:before{content:"";position:fixed;inset:0;background:var(--color-bg-primary);pointer-events:none;z-index:0}html:not(.dark) .landing-page:before{background:#fff}.dark .landing-page:before{background:#000}.landing-hero-container{max-width:1400px;width:100%;padding:0 2rem;position:relative;z-index:1;margin:0 auto;min-height:100vh;display:flex;align-items:center;justify-content:center}@media(min-width:1440px){.landing-hero-container{max-width:1600px;padding:0 4rem}}@media(min-width:1920px){.landing-hero-container{max-width:1800px;padding:0 6rem}}.landing-hero{display:flex;flex-direction:column;opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.landing-hero.visible{opacity:1;transform:translateY(0)}.hero-cta-actions{display:flex;gap:1rem;margin-top:2.5rem;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) .4s backwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-cta-btn{padding:1rem 2rem;border-radius:980px;border:none;cursor:pointer;font-size:1.0625rem;font-weight:500;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1);letter-spacing:-.011em;white-space:nowrap;position:relative;overflow:hidden}.hero-cta-primary{background-color:var(--color-accent);color:#fff}html:not(.dark) .hero-cta-primary{background-color:#0071e3;box-shadow:0 2px 8px #0000001a}html:not(.dark) .hero-cta-primary:hover{background-color:#0077ed;transform:translateY(-2px);box-shadow:0 4px 16px #00000026}html:not(.dark) .hero-cta-primary:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a}.dark .hero-cta-primary{background-color:#0a84ff;box-shadow:0 4px 20px #0a84ff4d}.dark .hero-cta-primary:hover{background-color:#409cff;transform:translateY(-2px);box-shadow:0 8px 30px #0a84ff66}.dark .hero-cta-primary:active{transform:translateY(0);box-shadow:0 4px 20px #0a84ff4d}.hero-cta-secondary{background-color:transparent;color:var(--color-accent);border:1.5px solid var(--color-border)}html:not(.dark) .hero-cta-secondary{color:#0071e3;border-color:#0000001f;box-shadow:0 1px 3px #0000000d}html:not(.dark) .hero-cta-secondary:hover{background-color:#f5f5f7;border-color:#0071e3;transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}html:not(.dark) .hero-cta-secondary:active{transform:translateY(0);box-shadow:0 1px 3px #0000000d}.dark .hero-cta-secondary{color:#0a84ff;border-color:#ffffff26;box-shadow:0 2px 10px #0003}.dark .hero-cta-secondary:hover{background-color:#ffffff14;border-color:#0a84ff;transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.dark .hero-cta-secondary:active{transform:translateY(0);box-shadow:0 2px 10px #0003}.hero-main{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:2rem 0 4rem;max-width:100%}@media(min-width:1440px){.hero-main{gap:5rem}}@media(min-width:1920px){.hero-main{gap:6rem;padding:3rem 0 5rem}}.hero-content-wrapper{display:flex;flex-direction:column;gap:1.5rem;animation:fadeInLeft .8s cubic-bezier(.4,0,.2,1) .3s backwards}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.hero-title{font-size:clamp(3rem,5vw,5rem);font-weight:700;letter-spacing:-.045em;color:var(--color-text-primary);margin:0;line-height:1.05;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,sans-serif}.hero-title-highlight{display:block;background:linear-gradient(135deg,#0071e3,#00a6ff,#09f,#00c7e6,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:gradientShift 8s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.dark .hero-title-highlight{background:linear-gradient(135deg,#0a84ff,#3da4ff,#64b5ff,#00d4ff,#4adfff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:gradientShift 8s ease infinite}.hero-subtitle{font-size:clamp(1.125rem,2vw,1.375rem);font-weight:400;line-height:1.5;color:var(--color-text-secondary);margin:0;letter-spacing:-.011em;max-width:540px}.hero-image-wrapper{animation:fadeInRight .8s cubic-bezier(.4,0,.2,1) .4s backwards}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.hero-image-container{position:relative;width:100%;border-radius:18px;overflow:hidden;background:var(--color-bg-secondary);transition:transform .4s cubic-bezier(.4,0,.2,1)}html:not(.dark) .hero-image-container{box-shadow:0 20px 60px #00000014,0 0 0 .5px #0000000a}html:not(.dark) .hero-image-container:hover{transform:translateY(-4px);box-shadow:0 30px 80px #0000001f,0 0 0 .5px #0000000a}.dark .hero-image-container{box-shadow:0 40px 120px #0009,0 0 0 .5px #ffffff14}.dark .hero-image-container:hover{transform:translateY(-4px);box-shadow:0 50px 140px #000000b3,0 0 0 .5px #ffffff1f}.hero-image{width:100%;height:auto;display:block;object-fit:cover}.philosophy-section{width:100%;padding:8rem 2rem;background:var(--color-bg-primary);opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.4,0,.2,1),transform 1s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.philosophy-section.visible{opacity:1;transform:translateY(0)}.philosophy-section-content{max-width:800px;margin:0 auto}@media(min-width:1440px){.philosophy-section-content,.mission-section-content{max-width:900px}}@media(min-width:1920px){.philosophy-section-content,.mission-section-content{max-width:1000px}}.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.04em;color:var(--color-text-primary);margin:0 0 3rem;line-height:1.1;text-align:center}.philosophy-text-content{display:flex;flex-direction:column;gap:1.75rem}.philosophy-text-content p{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:400;line-height:1.8;color:var(--color-text-primary);margin:0;letter-spacing:-.011em}.philosophy-lead{font-size:clamp(1.125rem,2vw,1.5rem)!important;font-weight:500!important;line-height:1.6!important}.philosophy-emphasis{font-size:clamp(1.125rem,2vw,1.5rem)!important;font-weight:500!important;color:var(--color-accent)!important;padding:1.5rem;background-color:var(--color-bg-secondary);border-radius:12px;border-left:4px solid var(--color-accent)}html:not(.dark) .philosophy-emphasis{background-color:#f5f5f7;border-left-color:#0071e3}.dark .philosophy-emphasis{background-color:#ffffff14;border-left-color:#0a84ff}.features-section{width:100%;padding:8rem 2rem;background:var(--color-bg-secondary);opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.4,0,.2,1) .2s,transform 1s cubic-bezier(.4,0,.2,1) .2s;position:relative;z-index:1}html:not(.dark) .features-section{background:#fbfbfd}.dark .features-section{background:#1d1d1f}.features-section.visible{opacity:1;transform:translateY(0)}.features-section-content{max-width:1200px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem;max-width:100%}@media(min-width:1440px){.features-section-content{max-width:1400px}.features-grid{gap:2.5rem;max-width:1400px;margin-left:auto;margin-right:auto}}@media(min-width:1920px){.features-section-content{max-width:1600px}.features-grid{gap:3rem;max-width:1600px}}.feature-card{padding:2.5rem;background:var(--color-bg-primary);border-radius:18px;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}html:not(.dark) .feature-card{box-shadow:0 2px 8px #0000000a;border-color:#0000000f}html:not(.dark) .feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014;border-color:#0071e333}.dark .feature-card{box-shadow:0 4px 16px #0006;border-color:#ffffff1a}.dark .feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0009;border-color:#0a84ff4d}.feature-icon-wrapper{margin-bottom:1.5rem;width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:linear-gradient(135deg,#0071e31a,#00c4cc1a);position:relative;overflow:hidden}.feature-icon-wrapper:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#0071e30d,#00c4cc0d);opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.feature-card:hover .feature-icon-wrapper:before{opacity:1}html:not(.dark) .feature-icon-wrapper{background:linear-gradient(135deg,#0071e314,#00c4cc14);box-shadow:0 2px 8px #0071e31a}html:not(.dark) .feature-card:hover .feature-icon-wrapper{background:linear-gradient(135deg,#0071e326,#00c4cc26);box-shadow:0 4px 16px #0071e333;transform:scale(1.05)}.dark .feature-icon-wrapper{background:linear-gradient(135deg,#0a84ff26,#00d4ff26);box-shadow:0 2px 12px #0a84ff33}.dark .feature-card:hover .feature-icon-wrapper{background:linear-gradient(135deg,#0a84ff40,#00d4ff40);box-shadow:0 6px 20px #0a84ff4d;transform:scale(1.05)}.feature-icon-svg{width:32px;height:32px;color:var(--color-accent);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}html:not(.dark) .feature-icon-svg{color:#0071e3}html:not(.dark) .feature-card:hover .feature-icon-svg{color:#0051d5;transform:scale(1.1)}.dark .feature-icon-svg{color:#0a84ff}.dark .feature-card:hover .feature-icon-svg{color:#409cff;transform:scale(1.1)}.feature-card-title{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary);margin:0 0 1rem;line-height:1.2}.feature-card-description{font-size:clamp(.9375rem,1.5vw,1.0625rem);font-weight:400;line-height:1.7;color:var(--color-text-secondary);margin:0;letter-spacing:-.011em}.mission-section{width:100%;padding:8rem 2rem;background:var(--color-bg-primary);opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.4,0,.2,1) .4s,transform 1s cubic-bezier(.4,0,.2,1) .4s;position:relative;z-index:1}.mission-section.visible{opacity:1;transform:translateY(0)}.mission-section-content{max-width:800px;margin:0 auto}.mission-text-content{display:flex;flex-direction:column;gap:1.75rem}.mission-text-content p{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:400;line-height:1.8;color:var(--color-text-primary);margin:0;letter-spacing:-.011em}.mission-lead{font-size:clamp(1.25rem,2.5vw,1.75rem)!important;font-weight:600!important;line-height:1.4!important}.mission-emphasis{font-size:clamp(1.125rem,2vw,1.5rem)!important;font-weight:500!important;color:var(--color-accent)!important;padding:1.5rem;background-color:var(--color-bg-secondary);border-radius:12px;border-left:4px solid var(--color-accent)}html:not(.dark) .mission-emphasis{background-color:#f5f5f7;border-left-color:#0071e3}.dark .mission-emphasis{background-color:#ffffff14;border-left-color:#0a84ff}.upload-container{flex:1;display:flex;justify-content:center;align-items:center;padding:var(--spacing-2xl)}.pdf-upload{width:100%;max-width:600px}.upload-area{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl) var(--spacing-xl);text-align:center;cursor:pointer;background-color:var(--color-bg-primary);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.upload-area:hover,.upload-area.dragging{border-color:var(--color-accent);background-color:var(--color-bg-secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.upload-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.upload-icon{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.6}.upload-area p{font-size:1rem;color:var(--color-text-primary);font-weight:500;letter-spacing:-.011em}.upload-subtext{font-size:.875rem;color:var(--color-text-secondary);font-weight:400}.upload-loading{text-align:center;padding:var(--spacing-xl);font-size:1rem;color:var(--color-text-primary);font-weight:400}.main-content{flex:1;display:grid;grid-template-columns:3fr 2fr;gap:0;height:calc(100vh - 80px);overflow:hidden;min-height:0;max-height:calc(100vh - 80px);max-width:100%;margin:0 auto}@media(min-width:1920px){.main-content{max-width:1920px;margin:0 auto}}.pdf-section{background-color:var(--color-bg-primary);border-right:1px solid var(--color-border-subtle);display:flex;flex-direction:column;overflow:hidden;min-height:0;height:100%;position:relative;overscroll-behavior:contain}.chat-section{background-color:var(--color-bg-primary);display:flex;flex-direction:column;overflow:hidden;min-height:0;height:100%;position:relative;overscroll-behavior:contain}.pdf-viewer{display:flex;flex-direction:column;height:100%;overflow:hidden}.pdf-viewer-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg-primary)}.pdf-viewer-header h3{font-size:.875rem;color:var(--color-text-primary);font-weight:600;letter-spacing:-.011em}.page-info{font-size:.8125rem;color:var(--color-text-secondary);font-weight:400}.pdf-page-container{flex:1;overflow-y:auto;overflow-x:auto;padding:var(--spacing-xl);display:flex;justify-content:center;align-items:flex-start;background-color:var(--color-bg-secondary);-webkit-overflow-scrolling:touch;scroll-behavior:smooth;min-height:0;max-height:100%;position:relative;overscroll-behavior:contain;touch-action:pan-y pan-x}.pdf-image-wrapper{display:inline-block;transition:transform var(--transition-base);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-md);background-color:var(--color-bg-primary)}.pdf-page-image{max-width:100%;width:auto;height:auto;display:block;border:none}.pdf-controls{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg-primary);gap:var(--spacing-md);flex-wrap:wrap}.pdf-controls-left{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.pdf-controls-right{display:flex;align-items:center}.zoom-controls{display:flex;align-items:center;gap:0;background-color:var(--color-bg-secondary);padding:2px;border-radius:var(--radius-sm);border:none}.zoom-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:none;background-color:transparent;color:var(--color-text-primary);cursor:pointer;font-size:.9375rem;font-weight:500;font-family:inherit;min-width:36px;transition:all var(--transition-fast);line-height:1}.zoom-btn:hover:not(:disabled){background-color:var(--color-bg-primary);transform:scale(1.05)}.zoom-btn:disabled{opacity:.3;cursor:not-allowed}.zoom-btn.fit-btn{font-size:.8125rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-md)}.zoom-level{min-width:50px;text-align:center;font-size:.8125rem;color:var(--color-text-secondary);font-weight:500;padding:0 var(--spacing-sm)}.page-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-sm);border:none;background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;font-size:.875rem;font-family:inherit;font-weight:500;transition:all var(--transition-fast)}.page-btn:hover:not(:disabled){background-color:var(--color-bg-tertiary);transform:translateY(-1px)}.page-btn:disabled{opacity:.3;cursor:not-allowed;background-color:transparent}.page-input-group{display:flex;align-items:center;gap:var(--spacing-sm)}.page-input-group label{font-size:.8125rem;color:var(--color-text-secondary);font-weight:500}.page-input{width:60px;padding:var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border);text-align:center;font-size:.875rem;font-family:inherit;background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:all var(--transition-fast)}.page-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #007aff1a}.chat-interface{display:flex;flex-direction:column;height:100%;overflow:hidden;min-height:0}.chat-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg-primary)}.chat-header-left,.chat-header-right{display:flex;align-items:center;gap:var(--spacing-md)}.chat-header h3{font-size:.875rem;color:var(--color-text-primary);font-weight:600;margin:0;letter-spacing:-.011em}.chat-tabs{display:flex;border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-bg-primary);padding:0;margin:0}.chat-tab{flex:1;padding:var(--spacing-md) var(--spacing-lg);border:none;background-color:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;font-family:inherit;transition:all var(--transition-fast);letter-spacing:-.011em;text-align:center;position:relative}.chat-tab:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--color-accent);transform:scaleX(0);transition:transform var(--transition-base)}.chat-tab:hover{color:var(--color-text-primary);background-color:var(--color-bg-secondary)}.chat-tab.active{color:var(--color-text-primary);font-weight:600}.chat-tab.active:after{transform:scaleX(1)}.curious-info{padding:var(--spacing-md);background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border-subtle);text-align:center}.curious-info p{margin:0;font-size:.8125rem;color:var(--color-text-secondary);font-weight:400}.feynman-mode-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:none;background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;font-size:.875rem;font-weight:500;font-family:inherit;transition:all var(--transition-fast);white-space:nowrap;letter-spacing:-.011em;display:flex;align-items:center;gap:var(--spacing-xs)}.feynman-mode-btn:hover{background-color:var(--color-bg-tertiary);transform:translateY(-1px)}.feynman-mode-btn.active{background-color:var(--color-accent);color:#fff}.feynman-mode-btn.active:hover{background-color:var(--color-accent-hover)}.feynman-icon{width:20px;height:20px;margin-right:var(--spacing-xs);border-radius:3px;vertical-align:middle}.clear-chat-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:none;background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;font-size:.875rem;font-weight:500;font-family:inherit;transition:all var(--transition-fast);letter-spacing:-.011em}.clear-chat-btn:hover{background-color:var(--color-bg-tertiary);transform:translateY(-1px)}.chat-page-indicator{font-size:.8125rem;color:var(--color-text-secondary);background-color:var(--color-bg-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);border:none;font-weight:500}.gemini-header-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:none;background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;font-size:.875rem;font-weight:500;font-family:inherit;transition:all var(--transition-fast);letter-spacing:-.011em;white-space:nowrap}.gemini-header-btn:hover:not(:disabled){background-color:var(--color-bg-tertiary);transform:translateY(-1px)}.gemini-header-btn:disabled{opacity:.3;cursor:not-allowed;background-color:transparent}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);min-height:0;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior:contain;touch-action:pan-y}.chat-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;color:var(--color-text-secondary);text-align:center;padding:var(--spacing-xl)}.chat-empty p{margin:var(--spacing-sm) 0;font-weight:400}.chat-hint{font-size:.8125rem;color:var(--color-text-tertiary);font-style:normal;font-weight:400;margin-top:var(--spacing-sm)!important}.chat-message{display:flex;flex-direction:column;max-width:85%;animation:messageFadeIn var(--transition-base)}@keyframes messageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{align-self:flex-end}.chat-message.assistant{align-self:flex-start}.message-content{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);background-color:var(--color-bg-secondary);box-shadow:var(--shadow-sm);border:none}.chat-message.user .message-content{background-color:var(--color-accent);color:#fff}.chat-message.assistant.error .message-content{background-color:#ff3b301a;color:#d70015;border:1px solid rgba(215,0,21,.2)}.message-text{line-height:1.6}.message-text p{margin:.75em 0;line-height:1.6}.message-text p:first-child{margin-top:0}.message-text p:last-child{margin-bottom:0}.message-text h1,.message-text h2,.message-text h3,.message-text h4{margin-top:1em;margin-bottom:.5em;font-weight:600;line-height:1.3}.message-text h1{font-size:1.5em;border-bottom:2px solid rgba(29,29,31,.1);padding-bottom:.3em}.message-text h2{font-size:1.3em;border-bottom:1px solid rgba(29,29,31,.08);padding-bottom:.3em}.message-text h3{font-size:1.15em}.message-text h4{font-size:1.05em}.message-text ul,.message-text ol{margin:.75em 0;padding-left:1.5em}.message-text li{margin:.4em 0;line-height:1.5}.message-text code{background-color:#1d1d1f14;padding:.2em .4em;border-radius:4px;font-family:ui-monospace,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.9em;color:var(--color-text-primary)}.message-text pre{background-color:#1d1d1f0a;padding:1em;border-radius:var(--radius-sm);overflow-x:auto;margin:1em 0;border:1px solid var(--color-border-subtle)}.message-text pre code{background-color:transparent;padding:0;display:block}.message-text blockquote{border-left:3px solid rgba(29,29,31,.2);margin:1em 0;font-style:italic;color:var(--color-text-secondary);background-color:#1d1d1f05;padding:.75em 1em;border-radius:var(--radius-sm)}.message-text strong{font-weight:600;color:var(--color-text-primary)}.message-text em{font-style:italic}.message-text a{color:var(--color-accent);text-decoration:none}.message-text a:hover{text-decoration:underline}.message-text hr{border:none;border-top:1px solid var(--color-border);margin:1.5em 0}.message-text table{border-collapse:collapse;margin:1em 0;width:100%}.message-text th,.message-text td{border:1px solid var(--color-border);padding:.5em;text-align:left}.message-text th{background-color:var(--color-bg-secondary);font-weight:600}.chat-message.user .message-text h1,.chat-message.user .message-text h2,.chat-message.user .message-text h3,.chat-message.user .message-text h4{color:#fff}.chat-message.user .message-text h1{border-bottom-color:#fff3}.chat-message.user .message-text h2{border-bottom-color:#ffffff26}.chat-message.user .message-text code{background-color:#fff3;color:#fff}.chat-message.user .message-text pre{background-color:#ffffff1a;border-color:#ffffff26}.chat-message.user .message-text blockquote{border-left-color:#ffffff4d;color:#ffffffe6;background-color:#ffffff0d}.chat-message.user .message-text strong{color:#fff}.chat-message.user .message-text a{color:#60a5fa}.chat-message.user .message-text a:hover{color:#93c5fd}.chat-message.user .message-text hr{border-top-color:#fff3}.chat-message.user .message-text th,.chat-message.user .message-text td{border-color:#fff3}.chat-message.user .message-text th{background-color:#ffffff1a}.message-meta{margin-top:var(--spacing-sm);font-size:.75rem;opacity:.6}.loading-dots{display:flex;gap:.375rem;padding:var(--spacing-sm) 0}.loading-dots span{width:6px;height:6px;border-radius:50%;background-color:var(--color-text-secondary);animation:bounce 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.chat-input-container{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border-subtle);background-color:var(--color-bg-primary);display:flex;gap:var(--spacing-md)}.chat-input{flex:1;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:.875rem;font-family:inherit;font-weight:400;resize:none;background-color:var(--color-bg-secondary);color:var(--color-text-primary);letter-spacing:-.011em;transition:all var(--transition-fast)}.chat-input:focus{outline:none;border-color:var(--color-accent);background-color:var(--color-bg-primary);box-shadow:0 0 0 3px #007aff1a}.chat-input:disabled{background-color:var(--color-bg-tertiary);cursor:not-allowed;opacity:.5}.chat-send-btn{padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);border:none;background-color:var(--color-accent);color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;font-family:inherit;transition:all var(--transition-fast);letter-spacing:-.011em}.chat-send-btn:hover:not(:disabled){background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed;background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.context-problem-container{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-bg-secondary);margin-bottom:var(--spacing-lg)}.context-problem-container label{display:block;margin-bottom:var(--spacing-md);font-weight:600;color:var(--color-text-primary);font-size:.875rem}.context-problem-container .context-textarea-wrapper{width:100%;margin-bottom:var(--spacing-md)}.context-problem-container .context-actions{display:flex;justify-content:space-between;align-items:center}.context-problem-container .context-hint{font-size:.75rem;color:var(--color-text-secondary);margin:0}.context-problem-container .context-save-btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:.875rem}@media(max-width:1024px){.hero-main{grid-template-columns:1fr;gap:3rem;padding:1rem 0 3rem}.hero-content-wrapper{order:2;text-align:center;align-items:center}.hero-image-wrapper{order:1;max-width:500px;margin:0 auto}.hero-cta-actions{justify-content:center;flex-wrap:wrap}.hero-subtitle{max-width:100%}.philosophy-section,.features-section,.mission-section{padding:6rem 2rem}.features-grid{gap:1.75rem}}@media(max-width:768px){.main-content{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.pdf-section{border-right:none;border-bottom:1px solid var(--color-border-subtle)}.app-header{flex-direction:column;gap:var(--spacing-md);align-items:flex-start;padding:var(--spacing-md) var(--spacing-lg)}.app-header h1{font-size:1rem}.landing-page{padding:0}.landing-settings-btn{top:1rem;right:1rem;width:40px;height:40px}.settings-icon{width:18px;height:18px}.settings-dropdown{right:0;min-width:200px}.api-settings-page{padding:1rem}.api-key-header{flex-direction:column;align-items:flex-start;gap:.75rem}.api-key-link{align-self:flex-start}.api-key-actions{flex-direction:column;width:100%}.api-save-btn-small,.api-clear-btn{width:100%}.api-intro-section{padding:1.25rem}.landing-hero-container{padding:0 1.25rem}.hero-main{gap:2rem;padding:1rem 0 2rem}.hero-title{font-size:clamp(2rem,8vw,3rem)}.hero-cta-actions{flex-direction:column;width:100%}.hero-cta-btn{width:100%}.philosophy-section,.features-section,.mission-section{padding:4rem 1.5rem}.section-title{margin-bottom:2rem}.features-grid{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}.feature-card{padding:2rem}.philosophy-text-content,.mission-text-content{gap:1.5rem}.philosophy-emphasis,.mission-emphasis{padding:1.25rem}}.adhoc-mode-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:none;background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;font-size:.875rem;font-weight:500;font-family:inherit;transition:all var(--transition-fast);letter-spacing:-.011em;white-space:nowrap}.adhoc-mode-btn:hover{background-color:var(--color-bg-tertiary);transform:translateY(-1px)}.adhoc-mode-btn.active{background-color:var(--color-accent);color:#fff}.adhoc-mode-btn.active:hover{background-color:var(--color-accent-hover)}.adhoc-text-container{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;transition:all var(--transition-base);min-height:0;max-height:100%}.adhoc-text-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-bg-primary);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.adhoc-text-header h3{font-size:1.0625rem;color:var(--color-text-primary);font-weight:600;letter-spacing:-.022em;margin:0;flex:1}.adhoc-back-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);width:32px;height:32px;flex-shrink:0}.adhoc-back-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-accent)}.adhoc-back-btn:active{transform:scale(.95)}.back-icon{width:18px;height:18px;color:currentColor}.adhoc-expand-toggle{display:none}.expand-icon{width:18px;height:18px;transition:transform var(--transition-base)}.expand-icon.expanded{transform:rotate(180deg)}.adhoc-text-content{flex:1;width:100%;padding:var(--spacing-xl);overflow:visible;background-color:var(--color-bg-secondary);transition:all var(--transition-base);display:flex;flex-direction:column;min-height:0;height:100%;box-sizing:border-box}.adhoc-textarea{width:100%;flex:1;min-height:200px;padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:1.125rem;font-family:inherit;font-weight:400;resize:none;background-color:var(--color-bg-primary);color:var(--color-text-primary);letter-spacing:-.014em;line-height:1.6;transition:all var(--transition-base);overflow-y:auto;overflow-x:hidden;word-wrap:break-word;white-space:pre-wrap;box-sizing:border-box}.adhoc-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #007aff1a}.adhoc-textarea::placeholder{color:var(--color-text-tertiary);font-size:1.0625rem;opacity:.7}@media(min-width:769px){.adhoc-text-container:not(.mobile){display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;transition:all var(--transition-base);min-height:0;max-height:100%}.adhoc-text-header:not(.mobile){padding:var(--spacing-lg) var(--spacing-xl)}.adhoc-text-header:not(.mobile) h3{font-size:1.0625rem}.adhoc-back-btn:not(.mobile){width:32px;height:32px}.back-icon:not(.mobile){width:18px;height:18px}.adhoc-text-content:not(.mobile){width:100%;padding:var(--spacing-xl);flex:1;overflow:visible;display:flex;flex-direction:column;min-height:0;height:100%;box-sizing:border-box}.adhoc-textarea:not(.mobile){width:100%;flex:1;min-height:400px;max-height:100%;height:100%;padding:var(--spacing-lg);font-size:1.125rem;line-height:1.6;letter-spacing:-.014em;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.adhoc-expand-toggle:not(.mobile){display:none!important}}.adhoc-text-container.mobile.collapsed{max-height:120px;height:120px;border-bottom:2px solid var(--color-border-subtle)}.adhoc-text-header.mobile{padding:var(--spacing-md) var(--spacing-lg)}.adhoc-text-header.mobile h3{font-size:.8125rem}.adhoc-back-btn.mobile{width:36px;height:36px}.back-icon.mobile{width:20px;height:20px}.adhoc-expand-toggle.mobile{display:flex;background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);width:32px;height:32px}.adhoc-expand-toggle.mobile:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-accent)}.adhoc-expand-toggle.mobile:active{transform:scale(.95)}.adhoc-text-content.mobile{padding:var(--spacing-md);-webkit-overflow-scrolling:touch}.adhoc-text-content.mobile.collapsed{padding:var(--spacing-sm) var(--spacing-md);max-height:100px;overflow:hidden;flex:0;opacity:.8;min-height:0}.adhoc-textarea.mobile{min-height:200px;max-height:none;padding:var(--spacing-md);font-size:16px;line-height:1.6;resize:vertical;overflow-y:auto;overflow-x:hidden;word-wrap:break-word;white-space:pre-wrap}.adhoc-text-content.mobile.collapsed .adhoc-textarea.mobile{min-height:60px;max-height:60px;padding:var(--spacing-xs) var(--spacing-sm);font-size:14px;overflow-y:hidden;overflow-x:hidden;text-overflow:ellipsis}.adhoc-submit-btn{display:none}@media(max-width:768px){.adhoc-submit-btn{display:flex;margin-top:var(--spacing-md);padding:1rem var(--spacing-lg);border-radius:var(--radius-md);border:none;background-color:var(--color-accent);color:#fff;cursor:pointer;font-size:1.0625rem;font-weight:600;font-family:inherit;transition:all var(--transition-base);letter-spacing:-.011em;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;box-shadow:var(--shadow-md)}.adhoc-submit-btn:hover:not(:disabled){background-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.adhoc-submit-btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-md)}.adhoc-submit-btn:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.adhoc-submit-icon{font-size:1.25rem;line-height:1}.adhoc-submit-text{font-size:1rem}}html:not(.dark) .adhoc-submit-btn{background-color:#0071e3;box-shadow:0 4px 12px #0071e34d}html:not(.dark) .adhoc-submit-btn:hover:not(:disabled){background-color:#0077ed;box-shadow:0 6px 16px #0071e366}.dark .adhoc-submit-btn{background-color:#0a84ff;box-shadow:0 4px 16px #0a84ff66}.dark .adhoc-submit-btn:hover:not(:disabled){background-color:#409cff;box-shadow:0 6px 20px #0a84ff80}@media(max-width:1024px)and (min-width:769px){.adhoc-text-content:not(.mobile){padding:var(--spacing-lg)}.adhoc-textarea:not(.mobile){min-height:300px;padding:var(--spacing-md);font-size:1.0625rem}}@media(max-width:768px){.adhoc-submit-btn{margin-top:var(--spacing-md);padding:1rem var(--spacing-lg);font-size:1.0625rem;position:sticky;bottom:0;z-index:10}.main-content.adhoc-collapsed-layout,.main-content.adhoc-expanded-layout{height:auto;min-height:calc(100vh - 80px);max-height:none;overflow-y:auto}#adhoc-pdf-section{min-height:auto;max-height:none;flex-shrink:0;transition:all var(--transition-base);flex:1;height:auto}#adhoc-pdf-section.adhoc-collapsed{height:120px;max-height:120px;min-height:120px;flex-shrink:0;overflow:hidden;flex:0 0 120px}#adhoc-pdf-section.adhoc-expanded{flex:2.5;min-height:60vh;height:auto}.main-content.adhoc-collapsed-layout .chat-section,.main-content.adhoc-expanded-layout .chat-section{min-height:50vh;flex:1;min-height:calc(100vh - 220px);transition:all var(--transition-base);height:auto}.main-content.adhoc-collapsed-layout .chat-section.chat-expanded{min-height:calc(100vh - 200px);flex:1 1 auto;height:auto}.main-content.adhoc-expanded-layout .chat-section.chat-collapsed{flex:.5;min-height:30vh;max-height:40vh;height:auto}.main-content.adhoc-collapsed-layout{grid-template-rows:120px 1fr}.main-content.adhoc-expanded-layout{grid-template-rows:1fr 1fr}}
