@import"https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap";.landing-page{width:100vw;height:100vh;display:flex;flex-direction:column;background:var(--gradient-subtle);position:relative;overflow:hidden;font-family:var(--font-family-base)}.landing-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-6) 6vw;z-index:10;position:relative}.landing-logo-text{font-family:var(--font-family-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}.landing-nav{display:flex;gap:var(--spacing-8)}@media (max-width: 768px){.landing-nav{display:none}}.landing-page .nav-item{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast);text-transform:none;border:none;padding:0}.landing-page .nav-item:hover{color:var(--color-accent);background:none}.btn-nav-action{background:var(--gradient-primary);border:none;color:var(--color-text-inverse);padding:var(--spacing-2) var(--spacing-6);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn-nav-action:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);opacity:.9}.landing-content{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-8) 6vw;z-index:10;text-align:center}.landing-hero{max-width:800px;display:flex;flex-direction:column;align-items:center}.landing-overline{font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-widest);text-transform:uppercase;font-weight:var(--font-weight-semibold);color:var(--color-accent);margin-bottom:var(--spacing-6);background-color:var(--color-accent-lighter);padding:var(--spacing-1) var(--spacing-4);border-radius:var(--radius-full)}.landing-title{font-family:var(--font-family-display);font-size:4rem;font-weight:var(--font-weight-bold);line-height:1.1;margin-bottom:var(--spacing-6);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}@media (max-width: 640px){.landing-title{font-size:2.5rem}}.landing-title .highlight{color:var(--color-accent);font-style:italic}.landing-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--spacing-8);max-width:580px}.landing-cta-container{display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-12)}.btn-reserve{padding:var(--spacing-3) var(--spacing-8);background:var(--gradient-primary);color:var(--color-text-inverse);border:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn-reserve:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-explore{padding:var(--spacing-3) var(--spacing-8);background-color:var(--color-bg-white);color:var(--color-text-primary);border:1px solid var(--color-border);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);border-radius:var(--radius-lg)}.btn-explore:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-strong);transform:translateY(-1px)}.landing-scroll{display:flex;flex-direction:column;align-items:center;margin-top:var(--spacing-4)}.scroll-text{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--spacing-2)}.scroll-indicator-line{width:1px;height:50px;background:linear-gradient(to bottom,var(--color-accent),transparent)}.login-page-fullscreen{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-subtle);padding:var(--spacing-6);position:relative;overflow-y:auto}.login-page-fullscreen:before{content:"";position:absolute;top:-10%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,var(--color-accent-lighter) 0%,transparent 70%);border-radius:50%;opacity:.4;pointer-events:none}.login-card-container{width:100%;max-width:440px;background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--spacing-10);box-shadow:var(--shadow-xl);position:relative;z-index:10;display:flex;flex-direction:column}.btn-back-landing{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer;transition:color var(--transition-fast);align-self:flex-start;margin-bottom:var(--spacing-6);padding:0}.btn-back-landing:hover{color:var(--color-accent)}.login-card-logo{display:flex;justify-content:center;margin-bottom:var(--spacing-4)}.login-logo-img{height:48px;width:auto}.login-card-title{text-align:center;margin-bottom:var(--spacing-6)}.login-card-title h2{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--spacing-1)}.login-card-title p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:0}.login-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.login-input-group{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-bg-lighter);padding:0 var(--spacing-4);transition:all var(--transition-fast)}.login-input-group:focus-within{border-color:var(--color-accent);background-color:var(--color-bg-white);box-shadow:0 0 0 3px var(--color-accent-lighter)}.input-icon{color:var(--color-text-tertiary);display:flex;align-items:center;margin-right:var(--spacing-3)}.login-input-group input{flex:1;background:none;border:none;padding:var(--spacing-3) 0;font-size:var(--font-size-sm);color:var(--color-text-primary);height:46px}.login-input-group input:focus{outline:none}.btn-login-submit{background:var(--gradient-primary);color:var(--color-text-inverse);padding:var(--spacing-3) var(--spacing-6);border:none;border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);height:48px;margin-top:var(--spacing-2)}.btn-login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-login-submit:disabled{opacity:.6;cursor:not-allowed}.login-divider{display:flex;align-items:center;text-align:center;margin:var(--spacing-5) 0;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border-light)}.login-divider span{padding:0 var(--spacing-3)}.btn-login-google{background-color:var(--color-bg-white);border:1px solid var(--color-border);color:var(--color-text-primary);padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);cursor:pointer;transition:all var(--transition-fast);height:48px}.btn-login-google:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-strong);transform:translateY(-1px)}.login-card-toggle{text-align:center;margin-top:var(--spacing-5);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:0}.login-card-toggle .toggle-link{background:none;border:none;color:var(--color-accent);font-weight:var(--font-weight-bold);cursor:pointer;padding:0;transition:color var(--transition-fast)}.login-card-toggle .toggle-link:hover{color:var(--color-accent-hover);text-decoration:underline}.alert{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-xl);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-4);text-align:center}.alert-error{background-color:var(--color-error-light);color:var(--color-error);border:1px solid var(--color-error)}.alert-success{background-color:var(--color-success-light);color:var(--color-success);border:1px solid var(--color-success)}.app-sidebar{width:260px;background-color:var(--color-bg-white);border-right:1px solid var(--color-border);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;padding:var(--spacing-6) var(--spacing-4);z-index:10}.sidebar-brand{display:flex;align-items:center;gap:var(--spacing-3);padding:0 var(--spacing-2) var(--spacing-8) var(--spacing-2);cursor:pointer;transition:opacity var(--transition-fast)}.sidebar-brand:hover{opacity:.8}.brand-logo{height:32px;width:auto}.brand-name{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--spacing-1);flex:1}.nav-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);color:var(--color-text-secondary);border-radius:var(--radius-lg);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wide);transition:all var(--transition-normal);cursor:pointer}.nav-item:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary);text-decoration:none}.nav-item.active{background-color:var(--color-accent-lighter);color:var(--color-accent);font-weight:var(--font-weight-semibold)}.sidebar-footer{display:flex;flex-direction:column;gap:var(--spacing-5);margin-top:auto;border-top:1px solid var(--color-border-light);padding-top:var(--spacing-5)}.pro-badge-card{background:var(--gradient-subtle);border:1px solid var(--color-accent-lighter);border-radius:var(--radius-xl);padding:var(--spacing-4);box-shadow:var(--shadow-xs)}.badge-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-1)}.sparkle-icon{color:var(--color-accent)}.pro-badge-card h4{font-family:var(--font-family-base);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);color:var(--color-accent);margin-bottom:0}.pro-badge-card p{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:0}.user-profile-widget{display:flex;align-items:center;gap:var(--spacing-3);padding:0 var(--spacing-2)}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--gradient-primary);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);box-shadow:var(--shadow-sm)}.user-meta{display:flex;flex-direction:column;overflow:hidden}.user-email{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-role{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.footer-links{display:flex;justify-content:space-between;align-items:center;padding:0 var(--spacing-2);border-top:1px solid var(--color-border-light);padding-top:var(--spacing-3)}.footer-link-item{color:var(--color-text-tertiary);padding:var(--spacing-2);border-radius:var(--radius-lg);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;background:none;cursor:pointer}.footer-link-item:hover{color:var(--color-accent);background-color:var(--color-accent-lighter);text-decoration:none}.footer-link-item.active{color:var(--color-accent);background-color:var(--color-accent-lighter)}.logout-btn:hover{color:var(--color-error);background-color:var(--color-error-light)}.dashboard-layout{display:flex;width:100vw;min-height:100vh;background-color:var(--color-bg-primary)}.dashboard-main{flex:1;padding:var(--spacing-8) var(--spacing-10);overflow-y:auto;height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8)}.header-greeting h1{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-3xl);color:var(--color-text-primary);margin-bottom:var(--spacing-1)}.header-greeting p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:0}.btn-primary{background:var(--gradient-primary);color:var(--color-text-inverse);border:none;padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:var(--spacing-2);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);cursor:pointer}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);opacity:.9}.btn-secondary{background-color:var(--color-bg-white);border:1px solid var(--color-border);color:var(--color-text-primary);padding:var(--spacing-2) var(--spacing-5);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);cursor:pointer}.btn-secondary:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-strong)}.btn-link{background:none;border:none;color:var(--color-accent);display:flex;align-items:center;gap:var(--spacing-1);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:color var(--transition-fast);cursor:pointer}.btn-link:hover{color:var(--color-accent-hover)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-6);margin-bottom:var(--spacing-8)}.stat-card{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--spacing-6);display:flex;align-items:center;position:relative;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal);cursor:default}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.stat-icon-wrapper{width:52px;height:52px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;margin-right:var(--spacing-4)}.stat-icon-wrapper.blue{background-color:var(--color-accent-lighter);color:var(--color-accent)}.stat-icon-wrapper.green{background-color:var(--color-cta-light);color:var(--color-cta)}.stat-icon-wrapper.purple{background-color:#f3e8ff;color:#7c3aed}.stat-info{display:flex;flex-direction:column}.stat-info h3{font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-1)}.stat-value{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:0;line-height:1}.stat-trend{position:absolute;right:var(--spacing-5);top:var(--spacing-5);display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background-color:var(--color-bg-secondary);padding:4px 10px;border-radius:var(--radius-full);color:var(--color-text-tertiary)}.dashboard-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-8)}@media (max-width: 1024px){.dashboard-row{grid-template-columns:1fr}}.dashboard-section{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-height:400px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-5);border-bottom:1px solid var(--color-border-light);padding-bottom:var(--spacing-3)}.section-header h2{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);color:var(--color-text-primary);margin-bottom:0}.papers-list-mini,.chats-list-mini{display:flex;flex-direction:column;gap:var(--spacing-3);flex:1}.paper-row-item{display:flex;align-items:center;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);cursor:pointer;transition:all var(--transition-fast)}.paper-row-item:hover{background-color:var(--color-accent-lighter);border-color:var(--color-accent-light)}.paper-icon-small{width:36px;height:36px;border-radius:var(--radius-lg);background-color:var(--color-accent-lighter);color:var(--color-accent);display:flex;align-items:center;justify-content:center;margin-right:var(--spacing-3);flex-shrink:0}.paper-details-small{flex:1;min-width:0}.paper-details-small h4{font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:2px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.paper-details-small p{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-bottom:0}.paper-date-small{display:flex;align-items:center;font-size:var(--font-size-xs);color:var(--color-text-tertiary);flex-shrink:0}.chat-row-item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);cursor:pointer;transition:all var(--transition-fast)}.chat-row-item:hover{background-color:var(--color-accent-lighter);border-color:var(--color-accent-light)}.chat-content-small{flex:1;margin-right:var(--spacing-3);min-width:0}.chat-question{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-paper-tag{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-bottom:0}.chat-date-small{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap}.empty-state-mini{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;color:var(--color-text-tertiary)}.empty-state-mini p{font-size:var(--font-size-sm);margin-bottom:var(--spacing-3)}.empty-state-mini .subtext{font-size:var(--font-size-xs)}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 200px)}.spinner{border:3px solid var(--color-border);border-left-color:var(--color-accent);width:36px;height:36px;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-4)}.error-banner{background-color:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error);padding:var(--spacing-3) var(--spacing-5);border-radius:var(--radius-xl);margin-bottom:var(--spacing-6);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.container_a84374{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:var(--uib-size);width:var(--uib-size)}.inner_d714d3{position:relative;display:flex;align-items:center;justify-content:flex-start;height:var(--uib-size);width:var(--uib-size)}.dot_8b108b{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:flex-start;height:100%;width:100%}.dot_8b108b:before{content:"";height:20%;width:20%;border-radius:50%;background-color:var(--uib-color);transform:scale(0);opacity:.5;animation:pulse_4cb75d calc(var(--uib-speed) * 1.111) ease-in-out infinite;transition:background-color .3s ease}.dot_8b108b:nth-child(2){transform:rotate(45deg)}.dot_8b108b:nth-child(2):before{animation-delay:calc(var(--uib-speed) * -.875)}.dot_8b108b:nth-child(3){transform:rotate(90deg)}.dot_8b108b:nth-child(3):before{animation-delay:calc(var(--uib-speed) * -.75)}.dot_8b108b:nth-child(4){transform:rotate(135deg)}.dot_8b108b:nth-child(4):before{animation-delay:calc(var(--uib-speed) * -.625)}.dot_8b108b:nth-child(5){transform:rotate(180deg)}.dot_8b108b:nth-child(5):before{animation-delay:calc(var(--uib-speed) * -.5)}.dot_8b108b:nth-child(6){transform:rotate(225deg)}.dot_8b108b:nth-child(6):before{animation-delay:calc(var(--uib-speed) * -.375)}.dot_8b108b:nth-child(7){transform:rotate(270deg)}.dot_8b108b:nth-child(7):before{animation-delay:calc(var(--uib-speed) * -.25)}.dot_8b108b:nth-child(8){transform:rotate(315deg)}.dot_8b108b:nth-child(8):before{animation-delay:calc(var(--uib-speed) * -.125)}@keyframes pulse_4cb75d{0%,to{transform:scale(0);opacity:.5}50%{transform:scale(1);opacity:1}}.papers-layout{display:flex;width:100vw;min-height:100vh;background-color:var(--color-bg-primary)}.papers-main{flex:1;padding:var(--spacing-8) var(--spacing-10);overflow-y:auto;height:100vh}.papers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8)}.header-title h1{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-3xl);color:var(--color-text-primary);margin-bottom:var(--spacing-1)}.header-title p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:0}.papers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-6)}.paper-card{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--spacing-6);display:flex;flex-direction:column;box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;height:280px}.paper-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--color-accent-light)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.paper-icon-wrapper{width:44px;height:44px;border-radius:var(--radius-xl);background-color:var(--color-accent-lighter);color:var(--color-accent);display:flex;align-items:center;justify-content:center}.btn-card-delete{background:none;color:var(--color-text-tertiary);padding:var(--spacing-2);border-radius:var(--radius-lg);transition:all var(--transition-fast);cursor:pointer}.btn-card-delete:hover{color:var(--color-error);background-color:var(--color-error-light)}.card-body{flex:1;display:flex;flex-direction:column;margin-bottom:var(--spacing-4)}.card-body h3{font-family:var(--font-family-display);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--color-text-primary);margin-bottom:var(--spacing-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;margin-bottom:0}.card-footer{display:grid;grid-template-columns:1fr 1fr;row-gap:var(--spacing-2);column-gap:var(--spacing-3);border-top:1px solid var(--color-border-light);padding-top:var(--spacing-4)}.card-meta-item{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.card-meta-item.full-width{grid-column:span 2;color:var(--color-text-tertiary)}.papers-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-16) 0;background-color:var(--color-bg-white);border:2px dashed var(--color-border);border-radius:var(--radius-2xl);min-height:400px}.empty-icon{color:var(--color-text-light);margin-bottom:var(--spacing-4)}.papers-empty-state h2{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2)}.papers-empty-state p{max-width:460px;color:var(--color-text-secondary);margin-bottom:var(--spacing-6)}.upload-progress-banner{background-color:var(--color-bg-white);border:1px solid var(--color-accent-light);border-radius:var(--radius-xl);padding:var(--spacing-4) var(--spacing-6);display:flex;align-items:center;gap:var(--spacing-4);margin-bottom:var(--spacing-6);box-shadow:var(--shadow-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium);animation:slideInUp .3s ease-out}.papers-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 200px)}.details-layout{display:flex;width:100vw;min-height:100vh;background-color:var(--color-bg-primary)}.details-main{flex:1;padding:var(--spacing-6) var(--spacing-8);overflow-y:auto;height:100vh;display:flex;flex-direction:column}.details-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 200px);width:100%}.details-subnav{display:flex;align-items:center;gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.btn-back{background:var(--color-bg-white);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:var(--radius-lg);padding:6px 16px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--spacing-1);transition:all var(--transition-fast);cursor:pointer}.btn-back:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-strong)}.crumbs{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm)}.crumb-inactive{color:var(--color-text-tertiary)}.crumb-active{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);white-space:nowrap;max-width:300px;overflow:hidden;text-overflow:ellipsis}.crumb-separator{color:var(--color-text-tertiary)}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6)}.header-meta{display:flex;align-items:center;gap:var(--spacing-4)}.paper-icon-avatar{width:56px;height:56px;border-radius:var(--radius-xl);background:var(--gradient-primary);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.header-title-text h1{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--spacing-2);max-width:700px}.paper-stats-pills{display:flex;gap:var(--spacing-2)}.stat-pill{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-accent);background-color:var(--color-accent-lighter);border:1px solid var(--color-accent-light);padding:4px 12px;border-radius:var(--radius-full)}.btn-delete-paper{background-color:var(--color-bg-white);border:1px solid var(--color-error);color:var(--color-error);border-radius:var(--radius-lg);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--spacing-2);transition:all var(--transition-fast);cursor:pointer}.btn-delete-paper:hover{background-color:var(--color-error-light)}.tabs-nav{display:flex;gap:var(--spacing-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-6);padding-bottom:0}.tab-btn{background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);padding:var(--spacing-3) var(--spacing-4);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--spacing-2);transition:all var(--transition-fast);cursor:pointer;margin-bottom:-1px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.tab-btn:hover{color:var(--color-accent);background-color:var(--color-accent-lighter)}.tab-btn.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:var(--font-weight-semibold);background-color:var(--color-accent-lighter)}.tab-pane-content{flex:1;background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-height:480px}.overview-grid{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-8)}@media (max-width: 900px){.overview-grid{grid-template-columns:1fr}}.overview-card{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-5)}.overview-card h2{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);margin-bottom:var(--spacing-4);border-bottom:1px solid var(--color-border-light);padding-bottom:var(--spacing-2)}.info-card{display:flex;flex-direction:column;gap:var(--spacing-3)}.info-row{display:flex;justify-content:space-between;font-size:var(--font-size-sm)}.info-row .label{color:var(--color-text-secondary)}.info-row .value{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academic-disclaimer{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--spacing-4);line-height:1.5}.card-sub{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-4)}.assistant-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-4)}.action-btn{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-4);display:flex;gap:var(--spacing-3);text-align:left;transition:all var(--transition-normal);cursor:pointer}.action-btn:hover{background-color:var(--color-accent-lighter);border-color:var(--color-accent-light);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.action-btn svg{color:var(--color-accent);flex-shrink:0;margin-top:2px}.action-text h4{font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:4px}.action-text p{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:0;line-height:1.4}.pane-summary{display:flex;flex-direction:column;flex:1}.summary-markdown-content{line-height:1.8;color:var(--color-text-primary);font-size:var(--font-size-base)}.summary-markdown-content h1,.summary-markdown-content h2,.summary-markdown-content h3{font-family:var(--font-family-display);margin-top:var(--spacing-5);margin-bottom:var(--spacing-3);font-weight:var(--font-weight-bold);color:var(--color-accent)}.summary-markdown-content h2{font-size:var(--font-size-lg);border-bottom:1px solid var(--color-border-light);padding-bottom:var(--spacing-2)}.summary-markdown-content p{margin-bottom:var(--spacing-4)}.pane-sections{display:flex;flex-direction:column;flex:1}.sections-explorer-container{display:grid;grid-template-columns:280px 1fr;gap:var(--spacing-6);flex:1;height:600px}.sections-sidebar{border-right:1px solid var(--color-border-light);padding-right:var(--spacing-4);display:flex;flex-direction:column}.sections-sidebar h3{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-3)}.sections-list{display:flex;flex-direction:column;gap:var(--spacing-1);overflow-y:auto;flex:1}.section-sidebar-btn{background:none;border:none;text-align:left;padding:var(--spacing-3);border-radius:var(--radius-lg);display:flex;align-items:center;gap:var(--spacing-3);transition:all var(--transition-fast);cursor:pointer}.section-sidebar-btn:hover{background-color:var(--color-bg-secondary)}.section-sidebar-btn.active{background-color:var(--color-accent-lighter);color:var(--color-accent)}.section-index{font-size:var(--font-size-xs);background-color:var(--color-bg-secondary);padding:2px 6px;border-radius:var(--radius-md);font-weight:var(--font-weight-bold);color:var(--color-text-secondary)}.section-sidebar-btn.active .section-index{background-color:var(--color-accent);color:var(--color-text-inverse)}.section-title-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-viewer-panel{padding-left:var(--spacing-2);overflow-y:auto}.section-detail-view{display:flex;flex-direction:column;gap:var(--spacing-4)}.viewer-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border-light);padding-bottom:var(--spacing-3)}.viewer-header h2{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);margin-bottom:0;color:var(--color-text-primary)}.viewer-header .badge{font-size:var(--font-size-xs);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);padding:4px 8px;border-radius:var(--radius-full)}.viewer-content{font-size:var(--font-size-base);line-height:1.7;color:var(--color-text-primary);white-space:pre-wrap}.pane-chat,.chat-interface-wrapper{display:flex;flex-direction:column;flex:1;min-height:0;width:100%}.chat-messages-scroll{flex:1;min-height:0;overflow-y:auto;padding:var(--spacing-4);display:flex;flex-direction:column;gap:16px;border:1px solid var(--color-border-light);border-radius:var(--radius-xl);background-color:var(--color-bg-primary);margin-bottom:var(--spacing-4)}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-tertiary);text-align:center}.empty-chat-icon{margin-bottom:var(--spacing-3);color:var(--color-text-light)}.chat-empty-state h3{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2)}.chat-empty-state p{max-width:380px;font-size:var(--font-size-sm)}.chat-message{display:flex;gap:12px;align-items:flex-start;max-width:85%;width:fit-content}.chat-message.user{flex-direction:row-reverse;margin-left:auto}.chat-message.bot{margin-right:auto}.chat-msg-avatar{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;box-shadow:var(--shadow-sm)}.chat-message.user .chat-msg-avatar{background:var(--gradient-primary);color:var(--color-text-inverse)}.chat-message.bot .chat-msg-avatar{background-color:var(--color-bg-secondary);color:var(--color-accent);border:1px solid var(--color-border)}.chat-msg-body{display:flex;flex-direction:column}.msg-bubble{padding:12px 16px;border-radius:var(--radius-xl);font-size:var(--font-size-sm);line-height:1.6;word-break:break-word;box-shadow:var(--shadow-xs)}.chat-message.user .msg-bubble{background:var(--gradient-primary);color:var(--color-text-inverse);border-bottom-right-radius:var(--radius-sm)}.chat-message.bot .msg-bubble{background-color:var(--color-bg-white);color:var(--color-text-primary);border:1px solid var(--color-border);border-bottom-left-radius:var(--radius-sm)}.msg-bubble p{margin-bottom:8px}.msg-bubble p:last-child{margin-bottom:0}.msg-bubble ul,.msg-bubble ol{margin-left:20px;margin-bottom:8px}.msg-bubble li{margin-bottom:4px}.chat-input-row{display:flex;gap:var(--spacing-3);width:100%}.chat-input-row input{flex:1;background-color:var(--color-bg-lighter);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:all var(--transition-fast);height:46px}.chat-input-row input:focus{border-color:var(--color-accent);background-color:var(--color-bg-white);outline:none;box-shadow:0 0 0 3px var(--color-accent-lighter)}.chat-send-btn{background:var(--gradient-primary);color:var(--color-text-inverse);width:46px;height:46px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:all var(--transition-fast);flex-shrink:0;cursor:pointer;border:none}.chat-send-btn:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.thinking-dots{display:flex;align-items:center;gap:2px;color:var(--color-text-tertiary)}.thinking-dots .dot{animation:pulse 1.4s infinite}.thinking-dots .dot:nth-child(2){animation-delay:.2s}.thinking-dots .dot:nth-child(3){animation-delay:.4s}.pane-pdf{flex:1;display:flex;height:650px}.pdf-iframe-view{width:100%;height:100%;border:none;border-radius:var(--radius-xl)}.pane-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:var(--spacing-4)}.profile-layout{display:flex;width:100vw;min-height:100vh;background-color:var(--color-bg-primary)}.profile-main{flex:1;padding:var(--spacing-8) var(--spacing-10);overflow-y:auto;height:100vh}.profile-header{margin-bottom:var(--spacing-8)}.profile-header h1{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-3xl);color:var(--color-text-primary);margin-bottom:var(--spacing-1)}.profile-header p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:0}.profile-card{max-width:600px;background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--spacing-8);box-shadow:var(--shadow-sm)}.profile-card-title{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);border-bottom:1px solid var(--color-border-light);padding-bottom:var(--spacing-3);margin-bottom:var(--spacing-6)}.profile-fields{display:flex;flex-direction:column;gap:var(--spacing-5)}.profile-field-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1);letter-spacing:var(--letter-spacing-widest);text-transform:uppercase}.profile-field-value{padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.profile-field-value.muted{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-family:var(--font-family-mono)}.settings-layout{display:flex;width:100vw;min-height:100vh;background-color:var(--color-bg-primary)}.settings-main{flex:1;padding:var(--spacing-8) var(--spacing-10);overflow-y:auto;height:100vh}.settings-header{margin-bottom:var(--spacing-8)}.settings-header h1{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-3xl);color:var(--color-text-primary);margin-bottom:var(--spacing-1)}.settings-header p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:0}.settings-card{max-width:600px;background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--spacing-8);box-shadow:var(--shadow-sm)}.settings-card-title{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);border-bottom:1px solid var(--color-border-light);padding-bottom:var(--spacing-3);margin-bottom:var(--spacing-6)}.settings-fields{display:flex;flex-direction:column;gap:var(--spacing-5)}.settings-field-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1);letter-spacing:var(--letter-spacing-widest);text-transform:uppercase}.settings-field-value{padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}#root{width:100%;height:100vh;margin:0;padding:0}.app{display:flex;width:100%;height:100vh;background-color:var(--color-bg-primary)}.app-container{width:100%;height:100%;display:flex}.logo-mark{height:32px;width:auto;object-fit:contain}.card{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),border-color var(--transition-normal),transform var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong);transform:translateY(-2px)}@media (max-width: 768px){.card{padding:var(--spacing-4)}}:root{--color-bg-primary: #F8FAFB;--color-bg-secondary: #F1F5F9;--color-bg-white: #FFFFFF;--color-bg-light: #F1F5F9;--color-bg-lighter: #F8FAFC;--color-secondary: #E2E8F0;--color-secondary-dark: #CBD5E1;--color-accent: #0891B2;--color-accent-hover: #0E7490;--color-accent-light: #22D3EE;--color-accent-lighter: #CFFAFE;--color-accent-bg: #ECFEFF;--color-cta: #059669;--color-cta-light: #D1FAE5;--color-cta-hover: #047857;--color-text-primary: #0F172A;--color-text-secondary: #475569;--color-text-tertiary: #94A3B8;--color-text-light: #CBD5E1;--color-text-inverse: #FFFFFF;--color-error: #DC2626;--color-error-light: #FEE2E2;--color-warning: #F59E0B;--color-warning-light: #FEF3C7;--color-success: #059669;--color-success-light: #D1FAE5;--color-info: #0891B2;--color-info-light: #CFFAFE;--color-border: #E2E8F0;--color-border-light: #F1F5F9;--color-border-strong: #CBD5E1;--shadow-xs: 0 1px 2px 0 rgba(8, 145, 178, .04);--shadow-sm: 0 1px 3px 0 rgba(8, 145, 178, .06), 0 1px 2px -1px rgba(8, 145, 178, .04);--shadow-md: 0 4px 6px -1px rgba(8, 145, 178, .07), 0 2px 4px -2px rgba(8, 145, 178, .04);--shadow-lg: 0 10px 15px -3px rgba(8, 145, 178, .08), 0 4px 6px -4px rgba(8, 145, 178, .04);--shadow-xl: 0 20px 25px -5px rgba(8, 145, 178, .1), 0 8px 10px -6px rgba(8, 145, 178, .04);--gradient-primary: linear-gradient(135deg, #0891B2 0%, #06B6D4 100%);--gradient-accent: linear-gradient(135deg, #0891B2 0%, #22D3EE 100%);--gradient-subtle: linear-gradient(135deg, #ECFEFF 0%, #F0FDFA 50%, #F0FDF4 100%)}:root{--font-family-display: "Crimson Pro", "Georgia", "Times New Roman", serif;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", "Monaco", "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.0625rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3.25rem;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal)}body,p{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}small,.text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-snug)}.text-xs{font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.text-lg{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.text-display{font-family:var(--font-family-display);font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}label,.label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-wide)}code,pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}:root{--spacing-0: 0;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-20: 80px;--spacing-xs: var(--spacing-2);--spacing-sm: var(--spacing-4);--spacing-md: var(--spacing-6);--spacing-lg: var(--spacing-8);--spacing-xl: var(--spacing-10);--spacing-2xl: var(--spacing-12);--radius-none: 0;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-3xl: 20px;--radius-full: 9999px;--transition-fast: .1s ease-in-out;--transition-normal: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-hide: -1;--z-auto: auto;--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 #0891b226}50%{box-shadow:0 0 0 8px #0891b200}}.fade-in{animation:fadeIn .35s ease-out}.slide-in-up{animation:slideInUp .35s ease-out}.slide-in-down{animation:slideInDown .35s ease-out}.scale-in{animation:scaleIn .25s ease-out}.animate-fade-in{animation:fadeIn .4s ease-out}.animate-float{animation:float 3s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--color-bg-light) 25%,var(--color-border) 50%,var(--color-bg-light) 75%);background-size:200% 100%;animation:shimmer 2s infinite;border-radius:var(--radius-md)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{width:100%;height:100%;display:flex;min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);margin-bottom:var(--spacing-4)}p{color:var(--color-text-secondary);margin-bottom:var(--spacing-4)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast);font-weight:var(--font-weight-medium)}a:hover{color:var(--color-accent-hover);text-decoration:underline}input,textarea,select,button{font-family:inherit;font-size:inherit;border:none}button{cursor:pointer}input:disabled,textarea:disabled,select:disabled,button:disabled{opacity:.6;cursor:not-allowed}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-4)}.text-center{text-align:center}.text-right{text-align:right}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.grid{display:grid}.hidden{display:none}::selection{background-color:var(--color-accent-lighter);color:var(--color-text-primary)}::-moz-selection{background-color:var(--color-accent-lighter);color:var(--color-text-primary)}.global-bg-decorations{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:1000px;height:1000px;pointer-events:none;z-index:0;display:flex;align-items:center;justify-content:center;opacity:.5}.decor-circle{position:absolute;border:1px solid var(--color-accent-lighter);border-radius:50%;transition:border-color var(--transition-slow)}.circle-lg{width:900px;height:900px}.circle-md{width:650px;height:650px}.circle-sm{width:400px;height:400px}.decor-line{position:absolute;height:120px;width:1px;background:linear-gradient(to bottom,var(--color-accent-lighter),transparent);bottom:0}
