:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--clr-primary-900: #0F2B2E;--clr-primary-700: #163A3D;--clr-primary-500: #1C484C;--clr-primary-300: #3C6B6F;--clr-primary-100: #D7E4E5;--clr-primary-050: #F2F7F7;--clr-accent-coral: #E87D4C;--clr-accent-lime: #9CCB3B;--clr-accent-sky: #2F8FBF;--clr-gray-900: #1A1A1A;--clr-gray-700: #444444;--clr-gray-600: #666666;--clr-gray-500: #8A8A8A;--clr-gray-300: #CCCCCC;--clr-gray-200: #E5E5E5;--clr-gray-050: #FAFAFA;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 2.5rem;--space-6: 3rem;--space-8: 4rem;--space-10: 5rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 3rem;--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--shadow-sm: 0 2px 4px 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);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;margin:0;padding:0}body{background:var(--clr-gray-050);color:var(--clr-gray-900)}#root{width:100%;min-height:100vh}.app{width:100%;min-height:100vh;display:flex;flex-direction:column}.navbar{background:#fff;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.nav-container{max-width:1200px;margin:0 auto;padding:var(--space-2) var(--space-4);display:flex;justify-content:space-between;align-items:center}.nav-logo{display:flex;align-items:center;text-decoration:none;font-size:var(--text-xl);font-weight:700;color:var(--clr-primary-500)}.logo-icon{font-size:var(--text-2xl);margin-right:var(--space-1)}.nav-links{display:flex;gap:var(--space-4)}.nav-link{text-decoration:none;color:var(--clr-gray-500);font-weight:500;transition:color .3s}.nav-link:hover,.nav-link.active{color:var(--clr-primary-500)}.main-content{flex:1;max-width:1200px;margin:0 auto;padding:var(--space-4);width:100%}.home-container{text-align:center}.hero-section{padding:var(--space-8) 0;background:linear-gradient(135deg,var(--clr-primary-500) 0%,var(--clr-primary-700) 100%);color:#fff;border-radius:var(--radius-lg);margin-bottom:var(--space-6);box-shadow:var(--shadow-lg)}.hero-logo{display:flex;justify-content:center;margin-bottom:var(--space-4);animation:fadeIn var(--transition-base) ease-out}.hero-logo img{width:160px;height:160px;background:#fff;border-radius:50%;padding:var(--space-3);animation:float 4s ease-in-out infinite;filter:drop-shadow(0 6px 12px rgba(0,0,0,.3));transition:transform var(--transition-base)}.hero-logo img:hover{transform:scale(1.05)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-title{font-size:var(--text-3xl);font-weight:700;margin-bottom:var(--space-2);animation:fadeIn var(--transition-base) ease-out .1s backwards}.hero-subtitle{font-size:var(--text-lg);opacity:.9;margin-bottom:var(--space-4);animation:fadeIn var(--transition-base) ease-out .2s backwards}.hero-cta{animation:fadeIn var(--transition-base) ease-out .3s backwards}.cta-button{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);font-size:var(--text-base);font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base)}.cta-button.primary{background:#fff;color:var(--clr-primary-500);box-shadow:var(--shadow-md)}.cta-button.primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.cta-button.primary:active{transform:translateY(0)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-4);margin-bottom:var(--space-6);animation:fadeIn var(--transition-slow) ease-out .4s backwards}@media (min-width: 768px){.ai-chat-card-single{max-width:1200px;min-height:600px}}.feature-card{background:#fff;padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-decoration:none;color:var(--clr-gray-900);transition:all var(--transition-base);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--clr-primary-500),var(--clr-primary-300));transform:scaleX(0);transition:transform var(--transition-base);transform-origin:left}.feature-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg)}.feature-card:hover:before{transform:scaleX(1)}.feature-icon{font-size:var(--text-3xl);margin-bottom:var(--space-2);color:var(--clr-primary-500);transition:transform var(--transition-base)}.feature-card:hover .feature-icon{transform:scale(1.1)}.feature-card h3{font-size:var(--text-xl);font-weight:600;color:var(--clr-primary-500);margin-bottom:var(--space-1)}.feature-card p{font-size:var(--text-base);color:var(--clr-gray-700);line-height:1.6}.feature-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:var(--space-2)}.gene-search-input{flex:1;padding:var(--space-2) var(--space-3);border:2px solid var(--clr-primary-100);border-radius:var(--radius-sm);font-size:var(--text-base);outline:none;transition:all var(--transition-base)}.gene-search-input:focus{border-color:var(--clr-primary-500)}.gene-search-button{padding:var(--space-2);background:var(--clr-primary-500);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;width:48px;height:48px}.gene-search-button:hover:not(:disabled){background:var(--clr-primary-700);transform:translateY(-1px)}.gene-search-button:disabled{background:var(--clr-gray-300);cursor:not-allowed}.gene-quick-tags{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-2)}.gene-tags{display:flex;gap:var(--space-1)}.gene-tag{padding:var(--space-1) var(--space-2);background:transparent;border:1px solid var(--clr-primary-100);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--clr-primary-500);cursor:pointer;transition:all var(--transition-fast)}.gene-tag:hover{background:var(--clr-primary-050);border-color:var(--clr-primary-300)}.more-options-link{font-size:var(--text-sm);color:var(--clr-primary-500);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.more-options-link:hover{color:var(--clr-primary-700)}.primary-action-button{padding:var(--space-3) var(--space-4);background:var(--clr-primary-500);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all var(--transition-base);width:100%}.primary-action-button:hover{background:var(--clr-primary-700);transform:translateY(-2px);box-shadow:var(--shadow-md)}.feature-split-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;height:100%;display:flex;flex-direction:column;transition:all var(--transition-base);position:relative}.feature-split-container:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg)}.feature-split-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--clr-primary-500),var(--clr-primary-300));transform:scaleX(0);transition:transform var(--transition-base);transform-origin:left}.feature-split-container:hover:before{transform:scaleX(1)}.feature-split-card{flex:1;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column}.split-card-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--space-3)}.split-card-header svg{flex-shrink:0;margin-bottom:var(--space-2)}.split-card-header h3{font-size:var(--text-lg);font-weight:600;color:var(--clr-primary-500);margin:0 0 var(--space-1) 0}.split-card-header p{font-size:var(--text-sm);color:var(--clr-gray-600);margin:0;line-height:1.4}.split-card-content{flex:1;display:flex;flex-direction:column;justify-content:center}.feature-split-divider{height:1px;background:var(--clr-gray-200);margin:0 var(--space-3)}.feature-split-container .gene-search-input{padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.feature-split-container .gene-search-button{width:40px;height:40px;padding:var(--space-1)}.feature-split-container .primary-action-button{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.about-section{background:#fff;padding:var(--space-6);border-radius:var(--radius-lg);margin-top:var(--space-6);box-shadow:var(--shadow-md);animation:fadeIn var(--transition-slow) ease-out .6s backwards}.about-section h2{font-size:var(--text-2xl);color:var(--clr-primary-500);margin-bottom:var(--space-3)}.about-section p{font-size:var(--text-base);color:var(--clr-gray-700);line-height:1.8;max-width:70ch;margin:0 auto}.gene-info-container{max-width:800px;margin:0 auto}.page-description{color:var(--clr-gray-500);margin-bottom:2rem}.search-section{display:flex;gap:1rem;margin-bottom:2rem}.gene-input{flex:1;padding:.75rem 1rem;border:2px solid var(--clr-gray-200);border-radius:.5rem;font-size:1rem;transition:border-color .3s}.gene-input:focus{outline:none;border-color:var(--clr-primary-500)}.search-button{padding:.75rem 2rem;background:var(--clr-primary-500);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .3s}.search-button:hover{background:var(--clr-primary-700)}.search-button:disabled{background:var(--clr-gray-500);cursor:not-allowed}.error-message{color:var(--clr-accent-coral);background:#e87d4c1a;padding:1rem;border-radius:.5rem;margin-bottom:1rem}.gene-result{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px #0000001a}.gene-result h2{color:var(--clr-primary-500);margin-bottom:1rem}.gene-description{margin-bottom:2rem}.gene-description h3{color:var(--clr-gray-500);font-size:1rem;margin-bottom:.5rem}.pubchem-link{display:inline-block;color:var(--clr-primary-500);text-decoration:none;font-weight:500;transition:color .3s}.pubchem-link:hover{color:var(--clr-primary-700)}.chat-container{max-width:800px;margin:0 auto}.chat-box{background:#fff;border-radius:1rem;box-shadow:0 4px 6px #0000001a;height:600px;display:flex;flex-direction:column}.messages{flex:1;padding:2rem;overflow-y:auto}.welcome-message{text-align:center;color:var(--clr-gray-500);padding:2rem}.message{margin-bottom:1rem}.message.user .message-content{background:var(--clr-primary-500);color:#fff;padding:.75rem 1rem;border-radius:1rem;display:inline-block;max-width:70%;margin-left:auto;text-align:left}.message.assistant .message-content{background:var(--clr-primary-050);color:var(--clr-gray-900);padding:.75rem 1rem;border-radius:1rem;display:inline-block;max-width:70%;text-align:left}.message.user{text-align:right}.loading{text-align:center;color:var(--clr-gray-500);font-style:italic}.input-section{display:flex;gap:1rem;padding:1rem 2rem 2rem;border-top:1px solid var(--clr-gray-200)}.chat-input{flex:1;padding:.75rem 1rem;border:2px solid var(--clr-gray-200);border-radius:.5rem;font-size:1rem;transition:border-color .3s}.chat-input:focus{outline:none;border-color:var(--clr-primary-500)}.send-button{padding:.75rem 2rem;background:var(--clr-primary-500);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .3s}.send-button:hover{background:var(--clr-primary-700)}.send-button:disabled{background:var(--clr-gray-500);cursor:not-allowed}.footer{background:var(--clr-primary-900);color:#fff;text-align:center;padding:var(--space-4);margin-top:auto}.footer p{font-size:var(--text-sm);opacity:.9}.ai-chat-card{display:flex;flex-direction:column;padding:var(--space-4)}.single-feature-container{display:flex;justify-content:center;margin-bottom:var(--space-6);animation:fadeIn var(--transition-slow) ease-out .4s backwards}.analysis-workspace{background:#fff;padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);animation:fadeIn var(--transition-slow) ease-out .4s backwards}.workspace-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--clr-gray-200)}.workspace-icon{color:var(--clr-primary-500);flex-shrink:0}.workspace-title{flex:1}.workspace-title h3{font-size:var(--text-xl);font-weight:600;color:var(--clr-primary-500);margin:0 0 var(--space-1) 0}.workspace-title p{font-size:var(--text-sm);color:var(--clr-gray-600);margin:0}.workspace-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);min-height:500px}.chat-panel{display:flex;flex-direction:column;border:1px solid var(--clr-gray-200);border-radius:var(--radius-md);overflow:hidden;background:var(--clr-gray-050);height:500px}.results-panel{display:flex;flex-direction:column;border:1px solid var(--clr-gray-200);border-radius:var(--radius-md);overflow:hidden;background:var(--clr-gray-050);min-height:500px;max-height:80vh}.panel-header{padding:var(--space-2) var(--space-3);background:var(--clr-primary-050);border-bottom:1px solid var(--clr-primary-100)}.panel-header h4{margin:0;font-size:var(--text-base);font-weight:600;color:var(--clr-primary-700)}.results-content{flex:1;padding:var(--space-2);background:#fff;overflow-y:auto;overflow-x:auto;position:relative;max-height:calc(80vh - 60px)}.ai-chat-card-single{display:flex;flex-direction:column;padding:var(--space-4);max-width:1200px;width:100%;min-height:500px}.feature-header{text-align:center;margin-bottom:var(--space-3)}.feature-header .feature-icon{margin-bottom:var(--space-2)}.feature-header h3{margin-bottom:var(--space-1)}.feature-header p{margin-bottom:0}.mini-chat{display:flex;flex-direction:column;background:var(--clr-primary-050);border-radius:8px;overflow:hidden;margin:1rem 0;border:1px solid var(--clr-primary-100)}.mini-chat-messages{flex:1;padding:1rem;overflow-y:auto;min-height:250px;max-height:400px;scroll-behavior:smooth;position:relative}.mini-chat-welcome{text-align:center;color:var(--clr-gray-500);padding:2rem}.mini-message{margin-bottom:.75rem}.mini-message.user{text-align:right}.mini-message.assistant{text-align:left}.mini-message-content{display:inline-block;max-width:80%;padding:.5rem .75rem;border-radius:.5rem;font-size:.875rem;word-wrap:break-word;word-break:break-word;white-space:pre-wrap}.mini-message.user .mini-message-content{background:var(--clr-primary-500);color:#fff}.mini-message.assistant .mini-message-content{background:#fff;color:var(--clr-gray-900);border:1px solid var(--clr-primary-100);box-shadow:0 1px 2px #1c484c0d}.mini-message-content h1,.mini-message-content h2,.mini-message-content h3,.mini-message-content h4{margin:.15rem 0;font-size:.9rem;font-weight:600}.mini-message-content p{margin:.15rem 0;line-height:1.3}.mini-message-content ul,.mini-message-content ol{margin:.15rem 0;padding-left:1rem}.mini-message-content li{margin:0;padding:.05rem 0;line-height:1.3}.mini-message-content li p{margin:0;display:inline}.mini-message-content>*:first-child{margin-top:0}.mini-message-content>*:last-child{margin-bottom:0}.mini-message-content code{background:var(--clr-gray-100);padding:.125rem .25rem;border-radius:.25rem;font-size:.8rem}.mini-message-content pre{background:var(--clr-gray-100);padding:.5rem;border-radius:.25rem;overflow-x:auto;margin:.5rem 0}.mini-message-content pre code{background:none;padding:0}.mini-loading{text-align:center;color:var(--clr-gray-500);font-style:italic;font-size:.875rem}.mini-chat-input{display:flex;gap:.5rem;padding:.75rem;background:#fff;border-top:1px solid var(--clr-primary-100)}.mini-chat-input input{flex:1;padding:.5rem .75rem;border:1px solid var(--clr-gray-200);border-radius:.375rem;font-size:.875rem;outline:none;transition:border-color .3s}.mini-chat-input input:focus{border-color:var(--clr-primary-500)}.mini-send-button{padding:.5rem .75rem;background:var(--clr-primary-500);color:#fff;border:none;border-radius:.375rem;cursor:pointer;transition:background .3s;display:flex;align-items:center;justify-content:center}.mini-send-button:hover{background:var(--clr-primary-700)}.mini-send-button:disabled{background:var(--clr-gray-500);cursor:not-allowed}.full-chat-link{text-align:center;color:var(--clr-primary-500);text-decoration:none;font-size:.875rem;font-weight:500;margin-top:.5rem;transition:color .3s}.full-chat-link:hover{color:var(--clr-primary-700)}@media (max-width: 1024px){.main-content{padding:var(--space-3)}.hero-section{padding:var(--space-6) var(--space-3)}.features-grid,.workspace-content{grid-template-columns:1fr;gap:var(--space-3)}.analysis-workspace{padding:var(--space-3)}}@media (max-width: 768px){.nav-container{padding:var(--space-2)}.nav-links{gap:var(--space-2)}.nav-link{font-size:var(--text-sm)}.hero-title{font-size:var(--text-2xl)}.hero-subtitle{font-size:var(--text-base)}.hero-logo img{width:120px;height:120px}.hero-section{padding:var(--space-5) var(--space-2);margin-bottom:var(--space-4)}.feature-card{padding:var(--space-3)}.about-section{padding:var(--space-4)}.search-section,.input-section{flex-direction:column}}@media (max-width: 480px){.nav-logo{font-size:var(--text-lg)}.nav-links{display:none}.hero-title{font-size:var(--text-xl)}.cta-button{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.features-grid{gap:var(--space-2)}.feature-icon{font-size:var(--text-2xl)}.feature-card h3{font-size:var(--text-lg)}}
