:root{--navy-900:#08202e;--navy-800:#0a2a3a;--navy-700:#123a4e;--navy-600:#1b4d63;--teal-700:#0a6370;--teal-600:#0d7d8c;--teal-500:#12909f;--teal-400:#35a7b5;--tool-teal:#0d7d8c;--tool-purple:#6a1b9a;--tool-indigo:#4f46e5;--bg:#eef2f7;--surface:#fff;--surface-2:#f7f9fc;--border:#e3e8ef;--border-strong:#cbd5e1;--text:#1e293b;--text-muted:#5b6b7a;--text-soft:#94a3b8;--radius:12px;--radius-sm:8px;--radius-lg:18px;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 2px 8px #1018280f;--shadow:0 6px 22px #10182817;--shadow-lg:0 18px 44px #10182824;--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,"Helvetica Neue",sans-serif;--font-serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--maxw:1200px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed,fixed,scroll;background-color:#eef2f7;background-color:var(--bg);background-image:radial-gradient(circle at 12% -5%,#0d7d8c12,#0000 42%),radial-gradient(circle at 90% 110%,#4f46e50f,#0000 42%),url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34'%3E%3Ccircle cx='2' cy='2' r='1.4' fill='%230a2a3a' fill-opacity='.035'/%3E%3C/svg%3E");color:#1e293b;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Helvetica Neue,sans-serif;font-family:var(--font-sans);line-height:1.6}a{color:inherit;text-decoration:none}ul{list-style:none}::selection{background:#0d7d8c2e}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #12909f;outline:2px solid var(--teal-500);outline-offset:2px}.App{display:flex;flex-direction:column;min-height:100vh}.header{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs);justify-content:space-between;padding:14px 40px;position:-webkit-sticky;position:sticky;top:0;z-index:300}.header,.header-left{align-items:center;display:flex}.header-left{color:inherit;gap:16px;text-decoration:none}.logo-circle,.logo-container{align-items:center;display:flex}.logo-circle{background:linear-gradient(140deg,var(--navy-800),var(--teal-600));border-radius:14px;box-shadow:0 6px 16px #0a2a3a47;height:52px;justify-content:center;position:relative;width:52px}.logo-circle:before{border:1px solid #ffffff38;border-radius:11px;content:"";inset:3px;position:absolute}.logo-text{color:#fff;font-size:15px;font-weight:800;letter-spacing:1.5px}.header-title{color:var(--navy-800);font-size:22px;font-weight:700;letter-spacing:.2px;line-height:1.15}.header-title:after{color:var(--text-soft);content:"Biosequence Analysis Platform";display:block;font-size:11px;font-weight:500;letter-spacing:.4px;margin-top:2px;text-transform:uppercase}.header-right{align-items:center;display:flex;gap:15px}.search-container{position:relative}.search-input{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:14px;outline:none;padding:10px 16px;transition:border-color .15s,box-shadow .15s;width:260px}.search-input:focus{background:#fff;border-color:var(--teal-500);box-shadow:0 0 0 3px #12909f24}.search-input::placeholder{color:var(--text-soft)}.google-login-btn{align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--navy-800);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;padding:9px 20px;text-decoration:none;transition:all .18s}.google-login-btn:hover{background:var(--surface-2);border-color:var(--teal-500);box-shadow:var(--shadow-sm)}.google-icon{flex-shrink:0}.user-menu{position:relative}.user-btn{align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;cursor:pointer;display:flex;gap:10px;padding:6px 14px 6px 6px;transition:all .18s}.user-btn:hover{background:var(--surface-2);border-color:var(--teal-500)}.user-avatar{border-radius:50%;height:32px;width:32px}.user-name{color:var(--navy-800);font-size:14px;font-weight:600}.user-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:260px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:200}.user-dropdown-info{align-items:center;display:flex;gap:12px;padding:16px}.user-dropdown-avatar{border-radius:50%;height:40px;width:40px}.user-dropdown-name{color:var(--text);font-size:14px;font-weight:600;margin:0}.user-dropdown-email{color:var(--text-muted);font-size:12px;margin:2px 0 0}.user-dropdown-divider{border:none;border-top:1px solid var(--border);margin:0}.user-dropdown-item{background:none;border:none;color:var(--text);cursor:pointer;display:block;font-size:14px;padding:12px 16px;text-align:left;transition:background .15s;width:100%}.user-dropdown-item:hover{background:var(--surface-2)}@media (max-width:768px){.header{padding:12px 18px}.header-title{font-size:18px}.header-title:after{display:none}}.navbar{background:var(--navy-800);border-bottom:3px solid var(--teal-600)}.nav-list{align-items:center;display:flex;margin:0 auto;max-width:var(--maxw);padding:0 12px}.nav-item{position:relative;text-align:center}.nav-item>a{color:#ffffffd1;display:block;font-size:14.5px;font-weight:600;letter-spacing:.2px;padding:14px 22px;position:relative;transition:color .18s,background .18s}.nav-item>a:after{background:var(--teal-400);border-radius:3px 3px 0 0;bottom:0;content:"";height:3px;left:22px;position:absolute;right:22px;transform:scaleX(0);transition:transform .2s ease}.nav-item.active>a,.nav-item:hover>a{background:#ffffff0f;color:#fff}.nav-item.active>a:after,.nav-item:hover>a:after{transform:scaleX(1)}.has-dropdown{position:relative}.dropdown-menu{animation:dropdownFade .16s ease;background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:var(--shadow-lg);left:0;min-width:260px;overflow:hidden;position:absolute;top:100%;z-index:100}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{border-left:3px solid #0000;color:var(--text);display:block;font-size:13.5px;font-weight:600;padding:13px 20px;text-align:left;transition:all .15s}.dropdown-item:hover{background:var(--surface-2);border-left-color:var(--teal-500);color:var(--teal-700)}@media (max-width:768px){.nav-list{overflow-x:auto}.nav-item a{font-size:13px;padding:12px 15px;white-space:nowrap}}.research-team{--rt-researcher-a:#0d9488;--rt-researcher-b:#4f46e5;--rt-guide-a:#7c3aed;--rt-guide-b:#6a1b9a;--rt-coguide-a:#f59e0b;--rt-coguide-b:#ea580c;width:100%}.rt-header{margin-bottom:22px;text-align:center}.rt-heading{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#0d9488,#4f46e5,#7c3aed);-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800;letter-spacing:-.01em;margin:0 0 6px}.rt-subtitle{color:#6b7280;font-size:13px;margin:0}.rt-featured-row{display:block;margin-bottom:18px}.rt-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.rt-supervisors-label{align-items:center;color:#9ca3af;display:flex;font-size:12px;font-weight:600;gap:14px;letter-spacing:.08em;margin:6px 0 16px;text-transform:uppercase}.rt-supervisors-label:after,.rt-supervisors-label:before{background:linear-gradient(90deg,#0000,#e5e7eb,#0000);content:"";flex:1 1;height:1px}.rt-card{background:#fff;border:1px solid #e9ebef;border-radius:16px;box-shadow:0 1px 2px #1018280a;color:inherit;display:flex;flex-direction:column;gap:14px;overflow:hidden;padding:22px 20px 16px;position:relative;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.rt-card:hover{box-shadow:0 16px 34px #1018281f;transform:translateY(-4px)}.rt-accent-bar{height:4px;left:0;position:absolute;right:0;top:0}.rt-researcher .rt-accent-bar{background:linear-gradient(90deg,var(--rt-researcher-a),var(--rt-researcher-b))}.rt-guide .rt-accent-bar{background:linear-gradient(90deg,var(--rt-guide-a),var(--rt-guide-b))}.rt-coguide .rt-accent-bar{background:linear-gradient(90deg,var(--rt-coguide-a),var(--rt-coguide-b))}.rt-researcher:hover{border-color:#a7c4f0}.rt-guide:hover{border-color:#d6bcfa}.rt-coguide:hover{border-color:#fcd9a3}.rt-role-badge{border-radius:999px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.06em;padding:4px 10px;position:absolute;right:14px;text-transform:uppercase;top:14px}.rt-researcher .rt-role-badge{background:linear-gradient(90deg,var(--rt-researcher-a),var(--rt-researcher-b))}.rt-guide .rt-role-badge{background:linear-gradient(90deg,var(--rt-guide-a),var(--rt-guide-b))}.rt-coguide .rt-role-badge{background:linear-gradient(90deg,var(--rt-coguide-a),var(--rt-coguide-b))}.rt-card-body{align-items:center;display:flex;gap:16px}.rt-avatar{border-radius:50%;box-shadow:0 6px 16px #1018282e,inset 0 0 0 2px #ffffff59;color:#fff;display:grid;flex-shrink:0;font-size:22px;font-weight:800;height:62px;letter-spacing:.02em;place-items:center;width:62px}.rt-researcher .rt-avatar{background:linear-gradient(135deg,var(--rt-researcher-a),var(--rt-researcher-b))}.rt-guide .rt-avatar{background:linear-gradient(135deg,var(--rt-guide-a),var(--rt-guide-b))}.rt-coguide .rt-avatar{background:linear-gradient(135deg,var(--rt-coguide-a),var(--rt-coguide-b))}.rt-info{min-width:0}.rt-name{color:#111827;font-size:16px;font-weight:700;margin:0 0 3px}.rt-title{color:#4b5563;font-size:12.5px;font-weight:500;margin:0 0 8px}.rt-meta{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:6px;line-height:1.5}.rt-meta svg{flex-shrink:0;opacity:.8}.rt-profile-link{align-items:center;align-self:flex-start;border-top:1px dashed #eef0f3;color:#4f46e5;display:inline-flex;font-size:12.5px;font-weight:700;gap:6px;padding-top:4px;width:100%}.rt-guide .rt-profile-link{color:var(--rt-guide-b)}.rt-coguide .rt-profile-link{color:var(--rt-coguide-b)}.rt-profile-link svg{transition:transform .2s ease}.rt-card:hover .rt-profile-link svg{transform:translate(2px,-2px)}.rt-featured{background:linear-gradient(180deg,#f7faff,#fff 60%);padding:26px 24px 18px}.rt-featured .rt-avatar{font-size:30px;height:84px;width:84px}.rt-featured .rt-name{font-size:20px}.rt-featured .rt-title{font-size:13.5px}@media (max-width:640px){.rt-grid{grid-template-columns:1fr}.rt-featured .rt-avatar{font-size:24px;height:68px;width:68px}.rt-role-badge{align-self:flex-start;position:static}.rt-card{padding-top:18px}}.modal-content.modal-team{max-width:780px;width:94%}.footer{margin-top:0}.footer-main{grid-gap:30px;background-color:#b8b8b8;border-top:3px solid #999;display:grid;gap:30px;grid-template-columns:1.2fr 1fr 1fr 1fr;padding:35px 40px}.footer-brand{align-items:flex-start;display:flex;flex-direction:column}.footer-logo{color:#00838f;font-size:32px;font-weight:800;letter-spacing:2px}.footer-tagline{color:#1a2a3a;font-size:16px;font-weight:700;line-height:1.4;margin-top:2px}.footer-column h3{color:#1a1a1a;font-size:17px;font-weight:800;margin-bottom:10px}.footer-column ul{display:flex;flex-direction:column;gap:6px}.footer-column ul li a{color:#2a3a4a;cursor:pointer;font-size:14px;transition:color .2s}.footer-column ul li a:hover{color:#00838f;text-decoration:underline}.footer-bottom{align-items:center;background-color:#505050;color:#ddd;display:flex;justify-content:space-between;padding:15px 40px}.footer-address{font-size:13px}.footer-contact-link{color:#ccc;font-size:13px;transition:color .2s}.footer-contact-link:hover{color:#fff;text-decoration:underline}.footer-copyright{background-color:#3a3a3a;color:#aaa;font-size:13px;padding:12px 20px;text-align:center}.footer-copyright a{color:#bbb;transition:color .2s}.footer-copyright a:hover{color:#fff}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .25s ease;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;max-height:85vh;max-width:550px;overflow-y:auto;padding:35px 40px;position:relative;width:90%}.modal-content.modal-sm{max-width:450px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:28px;line-height:1;padding:4px 8px;position:absolute;right:16px;top:12px}.modal-close:hover{color:#1a1a1a}.modal-title{border-bottom:2px solid #4da8b7;color:#0a2a3a;font-size:22px;font-weight:800;margin-bottom:20px;padding-bottom:10px}.modal-subtitle{color:#0a2a3a;font-size:17px;font-weight:700;margin-bottom:15px}.modal-divider{border:none;border-top:1px solid #ddd;margin:20px 0}.researcher-info{background-color:#f0f7f9;border-left:4px solid #4da8b7;border-radius:0 6px 6px 0;padding:15px 20px}.researcher-info h4{color:#00838f;font-size:15px;font-weight:700;margin-bottom:10px}.researcher-info p{color:#2a3a4a;font-size:14px;line-height:1.5;margin-bottom:5px}.researcher-info p:last-child{margin-bottom:0}.contact-form{gap:14px}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:5px}.form-group label{color:#333;font-size:13px;font-weight:600}.form-group input,.form-group textarea{border:1px solid #ccc;border-radius:4px;font-family:inherit;font-size:14px;outline:none;padding:10px 14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#4da8b7;box-shadow:0 0 0 2px #4da8b726}.form-group textarea{resize:vertical}.submit-btn{align-self:flex-start;background-color:#00838f;padding:12px 30px;transition:background-color .2s}.submit-btn:hover{background-color:#006064}.submit-btn:disabled{background-color:#999}.status-msg{font-size:14px;font-weight:500;margin-top:5px}.status-msg.success{color:#2e7d32}.status-msg.error{color:#c62828}.feedback-intro{color:#666;font-size:13px;line-height:1.6;margin-bottom:20px}.hero-banner{align-items:center;background:radial-gradient(ellipse at 30% 20%,#12405a 0,#0000 55%),radial-gradient(ellipse at 75% 90%,#0a4a52 0,#0000 55%),linear-gradient(135deg,#071a27,#0a2a3a 45%,#082633 70%,#061620);display:flex;justify-content:center;min-height:340px;overflow:hidden;padding:56px 40px;position:relative}.hero-banner:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='49'%3E%3Cpath d='m28 0 24 14v21L28 49 4 35V14z' fill='none' stroke='%2335a7b5' stroke-opacity='.1'/%3E%3C/svg%3E");content:"";inset:0;opacity:.7;position:absolute}.hero-bg-animation{align-items:center;bottom:0;display:flex;left:0;opacity:.4;position:absolute;right:0;top:0}.dna-svg{height:100%;width:100%}.dna-strand{animation:dnaScroll 8s linear infinite}.dna-strand-top{filter:drop-shadow(0 0 4px rgba(0,188,212,.4))}.dna-strand-bottom{filter:drop-shadow(0 0 4px rgba(0,229,255,.3))}.dna-rung{animation:rungPulse 2.5s ease-in-out infinite}.dna-dot{animation:dotGlow 2.5s ease-in-out infinite}.hero-content{max-width:760px;position:relative;text-align:center;z-index:1}.hero-eyebrow{background:#35a7b514;border:1px solid #35a7b566;border-radius:999px;color:var(--teal-400);display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:1.8px;margin-bottom:20px;padding:6px 16px;text-transform:uppercase}.hero-title{color:#fff;font-size:40px;font-weight:800;letter-spacing:-.5px;line-height:1.12;margin-bottom:16px;text-shadow:0 2px 18px #00000073}.hero-subtitle{color:#e2ebf0d1;font-size:16px;line-height:1.7;margin:0 auto 30px;max-width:640px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.hero-btn{border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.3px;padding:12px 28px;text-decoration:none;transition:all .2s}.hero-btn-primary{background:linear-gradient(135deg,var(--teal-600),var(--teal-500));border:1px solid #0000;box-shadow:0 6px 18px #0d7d8c59;color:#fff}.hero-btn-primary:hover{background:linear-gradient(135deg,var(--teal-700),var(--teal-600));box-shadow:0 10px 26px #0d7d8c73;color:#fff;transform:translateY(-2px)}.hero-btn-secondary{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff0f;border:1.5px solid #ffffff57;color:#fff}.hero-btn-secondary:hover{background:#ffffff24;border-color:#fff;color:#fff;transform:translateY(-2px)}@keyframes dnaScroll{0%{transform:translateX(0)}to{transform:translateX(-60px)}}@keyframes rungPulse{0%,to{opacity:.3}50%{opacity:.6}}@keyframes dotGlow{0%,to{r:3;opacity:.4}50%{r:4;opacity:.8}}@media (max-width:768px){.hero-banner{min-height:300px;padding:40px 20px}.hero-title{font-size:28px}.hero-subtitle{font-size:14.5px}.hero-actions{align-items:stretch;flex-direction:column}.hero-btn{text-align:center}}.highlights-strip{align-items:center;background:linear-gradient(135deg,var(--navy-700),var(--navy-900));border-bottom:1px solid #ffffff0f;display:flex;flex-wrap:wrap;gap:0;justify-content:center;padding:22px 40px}.highlight-item{align-items:center;display:flex;flex-direction:column;gap:3px;padding:0 40px}.highlight-value{color:var(--teal-400);font-size:20px;font-weight:800;letter-spacing:.5px}.highlight-label{color:#fff9;font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.highlight-divider{background:#ffffff26;height:36px;width:1px}.tools-section{background:#0000;margin:0 auto;max-width:var(--maxw);padding:52px 40px 48px;width:100%}.tools-section-title{color:var(--navy-800);font-size:24px;font-weight:800;letter-spacing:-.3px;margin-bottom:6px}.tools-section-title:after{background:linear-gradient(90deg,var(--teal-600),var(--tool-indigo));border-radius:3px;content:"";display:block;height:3px;margin-bottom:26px;margin-top:12px;width:52px}.tool-cards{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(3,1fr)}.tool-card{background:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:inherit;display:block;overflow:hidden;position:relative;text-decoration:none;transition:transform .22s,box-shadow .22s,border-color .22s}.tool-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-5px)}@media (max-width:900px){.tool-cards{grid-template-columns:1fr}}.tool-card-accent{height:5px;left:0;position:absolute;right:0;top:0}.tool-card-teal .tool-card-accent{background:linear-gradient(90deg,#00695c,#00838f)}.tool-card-purple .tool-card-accent{background:linear-gradient(90deg,#4a148c,#6a1b9a)}.tool-card-indigo .tool-card-accent{background:linear-gradient(90deg,#3730a3,#6d28d9)}.tool-card-body{padding:24px 24px 22px}.tool-card-title{color:#0a1a2a;font-size:17px;font-weight:700;margin-bottom:4px}.tool-card-algo{color:#00838f;font-size:12px;font-weight:600;letter-spacing:.3px;margin-bottom:12px}.tool-card-purple .tool-card-algo{color:#6a1b9a}.tool-card-indigo .tool-card-algo{color:#4f46e5}.tool-card-desc{color:#444;font-size:13px;line-height:1.6;margin-bottom:14px}.tool-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.tool-tag{background:#f0f0f0;border:1px solid #ddd;border-radius:3px;color:#555;font-size:11px;font-weight:500;padding:3px 8px}.tool-card-link{color:#00838f;font-size:13px;font-weight:600;letter-spacing:.3px}.tool-card-purple .tool-card-link{color:#6a1b9a}.tool-card-indigo .tool-card-link{color:#4f46e5}.tool-card:hover .tool-card-link{text-decoration:underline}.info-sections{grid-gap:0;background:linear-gradient(135deg,var(--navy-800),var(--navy-900));display:grid;gap:0;grid-template-columns:repeat(4,1fr)}.info-card{border-right:1px solid #ffffff14;padding:24px 22px;transition:background .2s}.info-card:last-child{border-right:none}.info-card:hover{background:#ffffff0a}.info-card-title{color:var(--teal-400);font-size:15px;font-weight:700;letter-spacing:.3px;margin-bottom:10px}.info-card-desc{color:#ffffffa6;font-size:13px;line-height:1.6}.info-card-clickable{color:inherit;cursor:pointer;text-decoration:none}.info-card-clickable:hover{background:#ffffff14}.info-card-clickable:hover .info-card-title{text-decoration:underline}.submit-modal-overlay{align-items:center;animation:submitFadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes submitFadeIn{0%{opacity:0}to{opacity:1}}.submit-modal-content{animation:submitSlideUp .25s ease;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;max-height:85vh;max-width:550px;overflow-y:auto;padding:35px 40px;position:relative;width:90%}@keyframes submitSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.submit-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:28px;line-height:1;padding:4px 8px;position:absolute;right:16px;top:12px}.submit-modal-close:hover{color:#1a1a1a}.submit-modal-title{border-bottom:2px solid #4da8b7;color:#0a2a3a;font-size:22px;font-weight:800;margin-bottom:10px;padding-bottom:10px}.submit-modal-desc{color:#666;font-size:13px;line-height:1.6;margin-bottom:20px}.submit-data-form{display:flex;flex-direction:column;gap:14px}.submit-form-group{display:flex;flex-direction:column;gap:5px}.submit-form-group label{color:#333;font-size:13px;font-weight:600}.submit-form-group input,.submit-form-group select,.submit-form-group textarea{background:#fff;border:1px solid #ccc;border-radius:4px;font-family:inherit;font-size:14px;outline:none;padding:10px 14px;transition:border-color .2s}.submit-form-group input:focus,.submit-form-group select:focus,.submit-form-group textarea:focus{border-color:#4da8b7;box-shadow:0 0 0 2px #4da8b726}.submit-form-group textarea{resize:vertical}.submit-data-btn{align-self:flex-start;background-color:#00838f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 30px;transition:background-color .2s}.submit-data-btn:hover{background-color:#006064}.submit-data-btn:disabled{background-color:#999;cursor:not-allowed}.submit-status{font-size:14px;font-weight:500;margin-top:5px}.submit-status.success{color:#2e7d32}.submit-status.error{color:#c62828}@media (max-width:768px){.highlights-strip{flex-wrap:wrap;gap:16px;padding:16px 20px}.highlight-divider{display:none}.highlight-item{padding:0 20px}.tools-section{padding:24px 20px 28px}.tool-cards{grid-template-columns:1fr}.info-sections{grid-template-columns:1fr 1fr}.info-card{border-bottom:1px solid #ffffff14;border-right:none}}.alignment-results{background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:28px;overflow:hidden}.results-header{background:linear-gradient(135deg,#1a237e,#283593);color:#fff;font-size:16px;font-weight:700;letter-spacing:.5px;padding:14px 24px}.results-header-actions{align-items:center}.export-btn{border:1px solid #ffffff4d;font-size:13px;padding:5px 14px;transition:background .2s}.results-score-badge{background:#ffffff26;border-radius:3px;font-size:14px;font-weight:600;padding:5px 16px}.results-tabs{background:#37474f;border-bottom:2px solid #263238}.results-tab{background:none;border-bottom:2px solid #0000;color:#ffffffb3;font-weight:500;transition:all .2s}.results-tab.active,.results-tab:hover{background:#ffffff1a;color:#fff}.results-tab.active{border-bottom-color:#64b5f6}.score-summary{background:linear-gradient(135deg,#f5f7fa,#e8eaf6);border:1px solid #e0e0e0;border-radius:6px;gap:24px;margin-bottom:24px;padding:20px}.score-main,.score-summary{align-items:center;display:flex}.score-main{border-right:1px solid #ccc;flex-direction:column;padding:0 24px}.score-number{color:#1a237e;font-size:36px;font-weight:800;line-height:1}.score-label{color:#777;font-size:12px;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.score-metrics{display:flex;flex:1 1;gap:16px}.metric-card{border:1px solid #e0e0e0;border-radius:4px;flex:1 1;padding:12px 16px;text-align:center}.metric-identity{background:#e8f5e9;border-color:#a5d6a7}.metric-similarity{background:#e3f2fd;border-color:#90caf9}.metric-gaps{background:#fff3e0;border-color:#ffcc80}.metric-value{color:#333;display:block;font-size:22px;font-weight:700}.metric-name{color:#777;font-size:11px;letter-spacing:.3px;text-transform:uppercase}.identity-bar-section{margin-bottom:24px}.identity-bar-label{color:#333;display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-bottom:6px}.identity-bar{background:#e0e0e0;border-radius:11px;height:22px;overflow:hidden}.identity-bar-fill{border-radius:11px;height:100%;transition:width .6s ease}.identity-bar-fill.high{background:linear-gradient(90deg,#43a047,#66bb6a)}.identity-bar-fill.medium{background:linear-gradient(90deg,#fb8c00,#ffa726)}.identity-bar-fill.low{background:linear-gradient(90deg,#e53935,#ef5350)}.breakdown-section{margin-bottom:24px}.breakdown-section h4{color:#333;font-size:14px;font-weight:700;margin:0 0 10px}.stacked-bar{border-radius:4px;display:flex;height:28px;margin-bottom:10px;overflow:hidden}.bar-segment{min-width:2px;transition:width .4s ease}.bar-identical{background:#2e7d32}.bar-conservative{background:#1565c0}.bar-semi{background:#f9a825}.bar-non-conservative{background:#c62828}.bar-gap{background:#bdbdbd}.bar-legend{color:#555;display:flex;flex-wrap:wrap;font-size:12px;gap:12px}.legend-item{align-items:center;display:flex;gap:4px}.legend-color{border-radius:2px;display:inline-block;height:12px;width:12px}.legend-identical{background:#2e7d32}.legend-conservative{background:#1565c0}.legend-semi{background:#f9a825}.legend-non-conservative{background:#c62828}.legend-gap{background:#bdbdbd}.stats-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));margin-bottom:24px}.stat-item{background:#f5f7fa;border:1px solid #e0e4e8;border-radius:4px;padding:12px;text-align:center}.stat-value{color:#1a237e;display:block;font-size:20px;font-weight:700}.stat-label{color:#777;display:block;font-size:10px;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.perf-params-row{display:flex;gap:24px}.params-section,.perf-section{background:#f5f7fa;border:1px solid #e0e0e0;border-radius:4px;flex:1 1;padding:14px 18px}.params-section h4,.perf-section h4{color:#555;font-size:13px;font-weight:700;margin:0 0 8px}.perf-items{color:#555;display:flex;flex-direction:column;font-size:13px;gap:4px}.params-list{display:flex;flex-wrap:wrap;gap:6px}.param-tag{background:#eceff1;border:1px solid #cfd8dc;border-radius:3px;color:#455a64;font-family:Courier New,Courier,monospace;font-size:11px;padding:3px 8px}.alignment-legend{background:#f5f7fa;border:1px solid #e0e0e0;border-radius:4px;display:flex;flex-wrap:wrap;font-size:12px;gap:12px;margin-bottom:16px;padding:10px 14px}.alignment-viz{margin-top:0}.alignment-block{background:#fafafa;border:1px solid #eee;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:13px;line-height:1.6;margin-bottom:12px;overflow-x:auto;padding:10px 14px}.alignment-row{white-space:pre}.alignment-label{color:#555;font-weight:600;width:70px}.alignment-label,.alignment-pos{display:inline-block;-webkit-user-select:none;user-select:none}.alignment-pos{color:#999;margin-right:8px;text-align:right;width:50px}.alignment-seq,.match-line{letter-spacing:1px}.match-line{color:#999;margin-left:128px}.res-match{background:#e8f5e9;color:#2e7d32;font-weight:700}.res-conservative{background:#e3f2fd;color:#1565c0;font-weight:600}.res-semi{background:#fff3e0;color:#e65100}.res-mismatch{background:#ffebee;color:#c62828}.res-gap{background:#f5f5f5;color:#9e9e9e}.chart-section{border-bottom:1px solid #eee;margin-bottom:32px;padding-bottom:24px}.chart-section:last-child{border-bottom:none;margin-bottom:0}.chart-section h4{color:#333;font-size:15px;font-weight:700;margin:0 0 4px}.chart-desc{color:#777;font-size:12px;line-height:1.5;margin:0 0 16px}.bar-chart{align-items:flex-end;border-bottom:1px solid #ddd;display:flex;gap:4px;height:140px;overflow-x:auto;padding:10px 0}.bar-group{align-items:center;display:flex;flex-direction:column;min-width:28px}.bar-pair{align-items:flex-end;display:flex;gap:2px}.bar{border-radius:2px 2px 0 0;min-height:1px;transition:height .3s ease;width:10px}.bar-seq1{background:#1565c0}.bar-seq2{background:#e65100}.bar-label{color:#555;font-family:Courier New,monospace;font-size:11px;font-weight:600;margin-top:4px}.chart-legend{color:#555;display:flex;font-size:12px;gap:16px;margin-top:10px}.ic-table{border:1px solid #e0e0e0;border-radius:4px;max-width:500px;overflow:hidden}.ic-header{background:#37474f;color:#fff;font-weight:600}.ic-header,.ic-row{display:flex;font-size:12px}.ic-row{border-bottom:1px solid #eee}.ic-row:last-child{border-bottom:none}.ic-row:hover{background:#f5f7fa}.ic-cell{flex:1 1;font-family:Courier New,monospace;padding:6px 12px}.ic-aa{color:#1a237e;flex:0 0 50px;font-weight:700}.ic-diff-high{color:#c62828;font-weight:700}.dpc-comparison{display:flex;gap:32px}.dpc-column{flex:1 1}.dpc-column h5{color:#555;font-size:13px;font-weight:700;margin:0 0 10px}.dpc-item{align-items:center;display:flex;gap:8px;margin-bottom:6px}.dpc-name{color:#333;font-family:Courier New,monospace;font-size:13px;font-weight:700;width:30px}.dpc-bar-container{background:#f0f0f0;border-radius:7px;flex:1 1;height:14px;overflow:hidden}.dpc-bar{border-radius:7px;height:100%;min-width:2px;transition:width .3s ease}.dpc-bar-seq1{background:linear-gradient(90deg,#1565c0,#42a5f5)}.dpc-bar-seq2{background:linear-gradient(90deg,#e65100,#ff9800)}.dpc-value{color:#777;font-size:11px;text-align:right;width:40px}.conservation-plot{background:#fafafa;border:1px solid #ddd;border-radius:4px;display:flex;height:160px;overflow:hidden}.plot-y-axis{background:#fff;border-right:1px solid #ddd;color:#999;display:flex;flex-direction:column;font-size:10px;justify-content:space-between;padding:4px;text-align:right;width:40px}.plot-area{align-items:flex-end;display:flex;flex:1 1;gap:1px;padding:4px 2px}.plot-bar{background:linear-gradient(180deg,#43a047,#a5d6a7);border-radius:2px 2px 0 0;cursor:crosshair;flex:1 1;min-height:1px;transition:height .2s}.plot-bar:hover{background:linear-gradient(180deg,#2e7d32,#66bb6a)}.plot-x-label{color:#999;font-size:11px;margin-top:6px;text-align:center}.heatmap-container{overflow-x:auto;padding:4px 0}.heatmap-row{display:flex;gap:1px;margin-bottom:1px}.heatmap-cell{align-items:center;border-radius:2px;cursor:default;display:flex;flex-shrink:0;height:22px;justify-content:center;width:20px}.heatmap-res{color:#000000b3;font-family:Courier New,monospace;font-size:9px;font-weight:700}.heatmap-legend{align-items:center;display:flex;font-size:11px;gap:4px;margin-top:10px}.heatmap-legend-label{color:#777;font-weight:600;margin-right:4px}.heatmap-gradient{display:flex;gap:2px}.heatmap-gradient span{border-radius:2px;color:#fff;font-size:10px;font-weight:600;padding:2px 8px}.heatmap-gradient span:nth-child(4){color:#333}.heatmap-gradient span:last-child{color:#666}.ref-section{margin-bottom:28px}.ref-section h4{border-bottom:2px solid #e0e0e0;color:#333;font-size:15px;font-weight:700;margin:0 0 12px;padding-bottom:6px}.ref-card{background:#f5f7fa;border:1px solid #e0e0e0;border-radius:4px;padding:20px}.ref-title{color:#1a237e;font-size:16px;font-weight:700;margin-bottom:8px}.ref-desc{color:#555;line-height:1.6}.ref-desc,.ref-formula{font-size:13px;margin-bottom:16px}.ref-formula{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:12px 16px}.formula{background:#e8eaf6;border-radius:4px;color:#1a237e;font-family:Courier New,monospace;font-size:15px;font-weight:700;margin-top:6px;padding:8px;text-align:center}.ref-components{display:flex;flex-direction:column;gap:10px}.ref-component{background:#fff;border-left:3px solid #1a237e;border-radius:0 4px 4px 0;color:#555;font-size:13px;line-height:1.5;padding:8px 12px}.db-links{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.db-link-card{background:#f5f7fa;border:1px solid #e0e0e0;border-radius:4px;display:block;padding:16px;text-decoration:none;transition:all .2s}.db-link-card:hover{background:#e3f2fd;border-color:#1565c0;box-shadow:0 2px 6px #0000001a;transform:translateY(-1px)}.db-name{color:#1565c0;font-size:14px;font-weight:700;margin-bottom:4px}.db-desc{color:#777;font-size:12px;line-height:1.4}.ref-literature{gap:12px}.lit-item,.ref-literature{display:flex;flex-direction:column}.lit-item{background:#f5f7fa;border:1px solid #e0e0e0;border-radius:4px;gap:2px;padding:12px 16px}.lit-authors{color:#333;font-size:13px;font-weight:700}.lit-title{color:#555;font-size:13px;font-style:italic}.lit-journal{color:#777;font-size:12px}@media (max-width:768px){.score-summary{flex-direction:column}.score-main{border-bottom:1px solid #ccc;border-right:none;padding:0 0 12px}.score-metrics{flex-direction:column}.stats-grid{grid-template-columns:repeat(2,1fr)}.dpc-comparison,.perf-params-row{flex-direction:column}.db-links{grid-template-columns:1fr}.heatmap-cell{height:18px;width:16px}.heatmap-res{font-size:8px}.results-tabs{overflow-x:auto}.alignment-block{font-size:11px}.alignment-label{width:50px}.alignment-pos{width:40px}.match-line{margin-left:98px}}.lare-track-block{margin-bottom:16px}.lare-track-name{color:#455a64;display:block;font-size:12px;font-weight:600;margin-bottom:4px}.lare-track{align-items:flex-end;background:#fafbfc;border:1px solid #e0e4e8;border-radius:4px;display:flex;gap:1px;height:110px;overflow:hidden;padding:4px;width:100%}.lare-track .lare-bar{border-radius:1px 1px 0 0;flex:1 1;min-width:1px;transition:opacity .15s}.lare-track .lare-bar:hover{opacity:.6}.lare-track-signed{align-items:stretch;background:#fafbfc;border:1px solid #e0e4e8;border-radius:4px;display:flex;gap:1px;height:140px;overflow:hidden;padding:0;width:100%}.lare-track-col{height:100%;min-width:1px}.lare-track-col,.lare-track-uphalf{display:flex;flex:1 1;flex-direction:column}.lare-track-uphalf{justify-content:flex-end}.lare-track-downhalf{display:flex;flex:1 1;flex-direction:column;justify-content:flex-start}.lare-track-midline{background:#b0bec5;height:1px}.lare-track-col .lare-bar{border-radius:1px 1px 0 0;width:100%}.lare-track-col .lare-bar-down{border-radius:0 0 1px 1px}.lare-track-col:hover .lare-bar{opacity:.6}.tool-header{align-items:center;background:linear-gradient(135deg,#00695c,#00838f);display:flex;justify-content:space-between;padding:18px 40px}.tool-header h1{color:#fff;font-size:22px;font-weight:700;letter-spacing:.5px;margin:0}.tool-header-actions{display:flex;gap:10px}.tool-header-btn{background:#0000;border:1px solid #ffffff80;border-radius:3px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 20px;transition:all .2s}.tool-header-btn:hover{background:#ffffff26;border-color:#fff}.tool-content{background:#e8e8e8;margin:0 auto;max-width:1100px;min-height:60vh;padding:30px 40px 60px}.algo-info-banner{background:linear-gradient(135deg,#1a237e,#283593);border-radius:4px;color:#fff;margin-bottom:28px;padding:20px 24px}.algo-info-title{font-size:16px;font-weight:700;letter-spacing:.3px;margin-bottom:8px}.algo-info-desc{color:#ffffffd9;font-size:13px;line-height:1.6;margin-bottom:12px}.algo-info-tags{display:flex;flex-wrap:wrap;gap:8px}.algo-tag{background:#ffffff26;border:1px solid #ffffff40;border-radius:3px;font-size:11px;font-weight:500;letter-spacing:.3px;padding:4px 10px}.tool-step{background:#fff;border:1px solid #ccc;border-radius:4px;margin-bottom:28px;overflow:hidden}.step-header{background:#2e2e2e;color:#fff;font-size:14px;font-weight:700;letter-spacing:.5px;padding:12px 20px}.step-body{padding:20px 24px}.sequence-inputs{display:flex;gap:24px}.sequence-input-group{flex:1 1}.sequence-label{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.sequence-label span{color:#333;font-size:14px;font-weight:600}.sequence-actions{display:flex;gap:6px}.seq-action-btn{background:#f0f0f0;border:1px solid #aaa;border-radius:3px;color:#555;cursor:pointer;font-size:11px;padding:4px 10px;transition:all .15s}.seq-action-btn:hover{background:#ddd;border-color:#888}.sequence-textarea{background:#fafafa;border:1px solid #bbb;border-radius:4px;box-sizing:border-box;font-family:Courier New,Courier,monospace;font-size:13px;height:160px;line-height:1.5;outline:none;padding:12px;resize:vertical;width:100%}.sequence-textarea:focus{background:#fff;border-color:#00838f}.sequence-textarea::placeholder{color:#999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px}.seq-char-count{color:#888;font-size:11px;margin-top:4px;text-align:right}.seq-tools-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.file-upload-label{align-items:center;background:#f5f5f5;border:1px dashed #aaa;border-radius:3px;color:#555;cursor:pointer;display:inline-flex;font-size:12px;gap:6px;padding:6px 14px;transition:all .15s}.file-upload-label:hover{background:#e8f5e9;border-color:#00838f;color:#00838f}.file-upload-label input[type=file]{display:none}.uniprot-fetch{align-items:center;display:flex;gap:4px}.uniprot-input{background:#fafafa;border:1px solid #aaa;border-radius:3px;font-size:12px;outline:none;padding:5px 10px;width:160px}.uniprot-input:focus{background:#fff;border-color:#00838f}.uniprot-input::placeholder{color:#bbb}.uniprot-btn{background:#1565c0;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;padding:5px 12px;transition:all .15s;white-space:nowrap}.uniprot-btn:hover{background:#0d47a1}.uniprot-btn:disabled{background:#90a4ae;cursor:not-allowed}.params-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.param-group{display:flex;flex-direction:column;gap:4px}.param-group label{color:#555;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.param-group input{background:#fafafa;border:1px solid #bbb;border-radius:3px;font-size:14px;outline:none;padding:8px 12px}.param-group input:focus{background:#fff;border-color:#00838f}.param-hint{color:#999;font-size:11px}.submit-section{align-items:center;display:flex;gap:12px}.submit-btn{background:linear-gradient(135deg,#00695c,#00838f);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.5px;padding:12px 36px;transition:all .2s}.submit-btn:hover{background:linear-gradient(135deg,#004d40,#006064);box-shadow:0 2px 8px #0003;transform:translateY(-1px)}.submit-btn:disabled{background:#999;box-shadow:none;cursor:not-allowed;transform:none}.clear-all-btn{background:#fff;border:1px solid #bbb;border-radius:4px;color:#555;cursor:pointer;font-size:14px;font-weight:500;padding:12px 28px;transition:all .2s}.clear-all-btn:hover{background:#f5f5f5;border-color:#888}.loading-overlay{align-items:center;color:#00838f;display:flex;font-size:16px;font-weight:500;gap:12px;justify-content:center;padding:40px}.spinner{animation:spin .8s linear infinite;border:3px solid #ddd;border-radius:50%;border-top-color:#00838f;height:28px;width:28px}@keyframes spin{to{transform:rotate(1turn)}}.error-banner{align-items:center;background:#ffebee;border:1px solid #ef9a9a;border-radius:4px;color:#c62828;display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:14px 20px}.error-banner .dismiss-btn{background:none;border:none;color:#c62828;cursor:pointer;font-size:18px;margin-left:auto;padding:0 4px}.example-btn{background:#e0f2f1;border:1px solid #80cbc4;border-radius:3px;color:#00695c;cursor:pointer;font-size:12px;padding:6px 14px;transition:all .15s;white-space:nowrap}.example-btn:hover{background:#b2dfdb}.input-help-row{align-items:center;display:flex;gap:10px;margin-bottom:16px}.input-help-text{color:#777;font-size:12px}@media (max-width:768px){.tool-content{padding:20px 16px 40px}.sequence-inputs{flex-direction:column}.params-grid{grid-template-columns:1fr}.tool-header{flex-direction:column;gap:10px;padding:14px 20px}.seq-tools-row{align-items:stretch;flex-direction:column}.uniprot-fetch{width:100%}.uniprot-input{flex:1 1;width:auto}}.antigenic-results{background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:28px;overflow:hidden}.results-header{align-items:center;background:linear-gradient(135deg,#4a148c,#6a1b9a);display:flex;justify-content:space-between;padding:14px 20px}.results-header h2{color:#fff;font-size:18px;font-weight:700;margin:0}.results-header-actions{display:flex;gap:12px}.export-btn{background:#ffffff26;border:1px solid #fff6;border-radius:3px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 16px;transition:all .15s}.export-btn:hover{background:#ffffff40;border-color:#fff}.results-tabs{background:#f5f5f5;border-bottom:2px solid #e0e0e0;display:flex;overflow-x:auto}.results-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:13px;font-weight:600;margin-bottom:-2px;padding:10px 20px;transition:all .15s;white-space:nowrap}.results-tab:hover{background:#ede7f6;color:#4a148c}.results-tab.active{background:#fff;border-bottom-color:#4a148c;color:#4a148c}.results-body{padding:0}.tab-content{padding:24px}.section-title{border-bottom:1px solid #e0e0e0;color:#333;font-size:15px;font-weight:700;margin:0 0 16px;padding-bottom:8px}.prediction-summary{margin-bottom:24px}.pred-main{align-items:center;display:flex;gap:20px;margin-bottom:16px}.pred-class-badge{border-radius:4px;color:#fff;display:inline-block;font-size:14px;font-weight:700;letter-spacing:.3px;padding:8px 20px}.pred-confidence-row{align-items:baseline;display:flex;gap:8px}.pred-confidence-value{color:#333;font-size:28px;font-weight:700}.pred-confidence-label{color:#888;font-size:13px}.pred-low-confidence{background:#fff3e0;color:#e65100;font-size:11px}.pred-low-confidence,.pred-threshold-note{border-radius:3px;font-weight:500;padding:2px 8px}.pred-threshold-note{background:#eef2f7;color:#666;font-size:12px}.pred-warning{background:#fff8e1;border:1px solid #ffe082;border-radius:4px;color:#8a6d00;font-size:12px;margin-bottom:12px;padding:8px 12px}.prob-note{background:#fafafa;border-left:3px solid #2e7d32;border-radius:3px;color:#666;font-size:12px;line-height:1.5;margin-top:14px;padding:10px 12px}.pred-details{grid-gap:12px;background:#fafafa;border:1px solid #e0e0e0;border-radius:4px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));padding:16px}.pred-detail-item{display:flex;flex-direction:column;gap:2px}.pred-detail-label{color:#888;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.pred-detail-value{color:#333;font-size:14px;word-break:break-all}.pred-detail-value.mono{font-family:Courier New,Courier,monospace;font-size:13px;letter-spacing:.5px}.pred-error{background:#ffebee;border:1px solid #ef9a9a;border-radius:4px;color:#c62828;font-size:14px;padding:14px 20px}.batch-summary{margin-top:24px}.batch-table{border-collapse:collapse;font-size:13px;width:100%}.batch-table th{background:#f5f5f5;border-bottom:2px solid #ddd;color:#555;font-size:11px;font-weight:600;letter-spacing:.3px;padding:8px 12px;text-align:left;text-transform:uppercase}.batch-table td{border-bottom:1px solid #eee;padding:8px 12px}.batch-row{cursor:pointer;transition:background .1s}.batch-row:hover{background:#f5f5f5}.batch-row.selected{background:#ede7f6}.batch-row.error-row{cursor:default;opacity:.6}.seq-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:Courier New,Courier,monospace}.error-text{color:#c62828;font-weight:600}.class-dot{border-radius:3px;color:#fff;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.model-info-box{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;color:#666;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;margin-top:20px;padding:10px 16px}.model-info-label{color:#888;font-weight:600;margin-left:12px}.model-info-label:first-child{margin-left:0}.prob-chart{display:flex;flex-direction:column;gap:10px}.prob-row{align-items:center;display:flex;gap:12px}.prob-label{color:#555;flex-shrink:0;font-size:12px;font-weight:500;text-align:right;width:220px}.prob-bar-container{background:#f0f0f0;border-radius:3px;flex:1 1;height:22px;overflow:hidden}.prob-bar{border-radius:3px;height:100%;min-width:2px;transition:width .3s ease}.prob-value{color:#333;flex-shrink:0;font-size:13px;font-weight:600;text-align:right;width:50px}.antigenicity-chart{align-items:flex-end;display:flex;gap:2px;height:150px;overflow-x:auto;padding:8px 0}.kt-bar-wrapper{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:flex-end;max-width:28px;min-width:18px}.kt-bar{background:#90caf9;border-radius:2px 2px 0 0;transition:height .2s;width:100%}.kt-bar-antigenic{background:#e53935}.kt-residue{color:#666;font-family:Courier New,Courier,monospace;font-size:10px;font-weight:600;margin-top:4px}.kt-legend{color:#666;font-size:12px;gap:20px;margin-top:12px}.kt-legend,.kt-legend-item{align-items:center;display:flex}.kt-legend-item{gap:6px}.kt-legend-color{border-radius:2px;display:inline-block;height:14px;width:14px}.kt-legend-normal{background:#90caf9}.kt-legend-antigenic{background:#e53935}.ref-list{display:flex;flex-direction:column;gap:14px}.ref-item{color:#444;display:flex;font-size:13px;gap:10px;line-height:1.6}.ref-number{color:#4a148c;flex-shrink:0;font-weight:700}.ref-text em{color:#666}@media (max-width:768px){.pred-main{align-items:flex-start;flex-direction:column}.pred-details{grid-template-columns:1fr}.prob-label{font-size:11px;width:140px}.results-tabs{overflow-x:auto}.batch-table{font-size:11px}.batch-table td,.batch-table th{padding:6px 8px}}.antigenic-header{background:linear-gradient(135deg,#4a148c,#6a1b9a)}.antigenic-banner{background:linear-gradient(135deg,#311b92,#4527a0)}.antigenic-textarea{height:200px}.seq-meta-row{align-items:center;display:flex;justify-content:space-between;margin-top:8px}.options-row{display:flex;flex-wrap:wrap;gap:24px}.slider-row{align-items:center;display:flex;gap:12px}.slider-row input[type=range]{cursor:pointer;width:200px}.slider-value{color:#4a148c;font-size:14px;font-weight:600;min-width:36px}.antigenic-submit{background:linear-gradient(135deg,#4a148c,#6a1b9a)}.antigenic-submit:hover{background:linear-gradient(135deg,#38006b,#4a148c)}.antigenic-spinner{border-top-color:#6a1b9a}.vaccine-results{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-top:28px;overflow:hidden}.vaccine-summary{align-items:center;display:flex;flex-wrap:wrap;gap:24px;margin-bottom:20px}.vsum-main{align-items:flex-start;border-right:1px solid #eee;display:flex;flex-direction:column;gap:4px;padding-right:24px}.vsum-fitness{color:#4338ca;font-size:40px;font-weight:800;line-height:1}.vsum-fitness-label{color:#94a3b8;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.selected-by-badge{border-radius:12px;color:#fff;font-size:12px;font-weight:600;margin-top:8px;padding:3px 10px}.vsum-cards{display:flex;flex-wrap:wrap;gap:14px}.vsum-card{background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;display:flex;flex-direction:column;gap:3px;min-width:120px;padding:12px 16px}.vsum-card-val{color:#1e293b;font-size:20px;font-weight:700}.vsum-card-lbl{color:#64748b;font-size:11px}.construct-table-wrap{overflow-x:auto}.construct-table{border-collapse:collapse;font-size:13px;width:100%}.construct-table td,.construct-table th{border-bottom:1px solid #eef2f7;padding:8px 10px;text-align:left;white-space:nowrap}.construct-table th{background:#fafbfc;color:#94a3b8;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.construct-table tbody tr:hover{background:#f8fafc}.cell-bar-row{align-items:center;display:flex;gap:8px;min-width:130px}.cell-num{font-feature-settings:"tnum";color:#475569;font-variant-numeric:tabular-nums}.vbar-track{background:#eef2f7;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.vbar-fill{border-radius:4px;height:100%}.alleles-cell{color:#475569;font-size:12px;max-width:460px;white-space:normal}.muted{color:#cbd5e1}.pool-summary{background:#f5f3ff;border-radius:6px;color:#4b5563;font-size:13px;margin-top:16px;padding:10px 14px}.pop-cov-chart{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.pop-cov-row{align-items:center;display:flex;gap:12px}.pop-cov-label{color:#475569;font-size:13px;width:200px}.pop-cov-label.target{color:#4338ca;font-weight:700}.pop-cov-bar-container{background:#eef2f7;border-radius:4px;flex:1 1;height:20px;overflow:hidden}.pop-cov-bar{background:linear-gradient(90deg,#6d28d9,#4f46e5);border-radius:4px;height:100%}.pop-cov-value{color:#334155;font-size:13px;font-weight:600;text-align:right;width:60px}.method-chart{display:flex;flex-direction:column;gap:10px}.method-row{align-items:center;display:flex;gap:12px}.method-label{color:#475569;font-size:13px;width:130px}.method-bar-container{background:#f1f5f9;border-radius:4px;flex:1 1;height:18px;overflow:hidden}.method-bar{border-radius:4px;height:100%}.method-value{font-feature-settings:"tnum";color:#334155;font-size:13px;font-variant-numeric:tabular-nums;text-align:right;width:66px}.traj-svg{display:block;height:auto;max-width:640px;width:100%}.traj-label{fill:#94a3b8;font-size:11px}.traj-empty{color:#94a3b8;font-size:13px;padding:12px 0}.traj-legend{color:#64748b;display:flex;font-size:12px;gap:20px;margin-top:6px}.traj-swatch{display:inline-block;height:3px;margin-right:6px;vertical-align:middle;width:18px}.traj-swatch.best{background:#6a1b9a}.traj-swatch.mean{background:#bbb}.weights-readout{margin-top:18px}.vnote,.weights-readout{color:#64748b;font-size:12px}.vnote{background:#fafafa;border-left:3px solid #4f46e5;border-radius:3px;line-height:1.5;margin:12px 0 20px;padding:10px 12px}.vaccine-header{background:linear-gradient(135deg,#3730a3,#6d28d9)}.vaccine-banner{border-left:4px solid #4f46e5}.vaccine-textarea{min-height:150px}.reference-textarea{min-height:90px}.vaccine-submit{background:#4f46e5}.vaccine-submit:hover:not(:disabled){background:#4338ca}.vaccine-spinner{border-top-color:#4f46e5}.options-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:18px}.vaccine-select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;padding:8px 10px;width:100%}.param-group-check{justify-content:flex-start}.check-label{align-items:center;color:#334155;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px}.check-label input{accent-color:#4f46e5;height:16px;width:16px}.reference-block{background:#f5f3ff;border:1px solid #e0e7ff;border-radius:8px;margin:8px 0 16px;padding:14px}.reference-block>label{color:#4338ca;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.advanced-toggle{background:none;border:none;color:#4f46e5;cursor:pointer;font-size:13px;font-weight:600;padding:4px 0}.weights-grid{grid-gap:16px;background:#fafafa;border:1px solid #eee;border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:10px;padding:14px}.reset-weights-btn{background:none;border:1px solid #cbd5e1;border-radius:6px;color:#475569;cursor:pointer;font-size:12px;grid-column:1/-1;justify-self:start;padding:6px 12px}.reset-weights-btn:hover{background:#eef2ff}.about-page{flex:1 1}.about-header{background:linear-gradient(135deg,#0a2a3a,#1a4a5a);padding:18px 40px}.about-header h1{color:#fff;font-size:22px;font-weight:700;letter-spacing:.5px}.about-content{background:#e8e8e8;margin:0 auto;max-width:1100px;min-height:60vh;padding:30px 40px 60px}.about-section{background:#fff;border:1px solid #ccc;border-radius:4px;margin-bottom:28px;overflow:hidden}.about-section-title{background:#2e2e2e;color:#fff;font-size:14px;font-weight:700;letter-spacing:.5px;padding:12px 20px}.about-text{color:#333;font-size:14px;line-height:1.75;padding:20px 24px}.about-tools{display:flex;flex-direction:column;gap:16px;padding:20px 24px}.about-tool-block{border-radius:4px;color:#fff;padding:20px 24px}.about-tool-block h3{font-size:15px;font-weight:700;letter-spacing:.3px;margin-bottom:10px}.about-tool-block p{color:#ffffffd9;font-size:13px;line-height:1.7}.about-tool-teal{background:linear-gradient(135deg,#00695c,#00838f)}.about-tool-purple{background:linear-gradient(135deg,#4a148c,#6a1b9a)}.about-tool-indigo{background:linear-gradient(135deg,#3730a3,#6d28d9)}.about-researcher{padding:20px 24px}.about-researcher p{color:#333;font-size:14px;line-height:1.8}@media (max-width:768px){.about-content{padding:20px 16px 40px}.about-header{padding:14px 20px}}
/*# sourceMappingURL=main.5acc7ee2.css.map*/