:root{--bg-primary:#fff;--bg-secondary:#f8fafb;--bg-tertiary:#f1f5f9;--text-primary:#0f172a;--text-secondary:#64748b;--text-tertiary:#94a3b8;--border:#e2e8f0;--border-light:#f1f5f9;--accent-blue:#0ea5e9;--accent-blue-dark:#0284c7;--accent-teal:#14b8a6;--accent-green:#10b981;--accent-red:#ef4444;--accent-yellow:#f59e0b;--accent-purple:#8b5cf6;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes float1{0%,to{transform:translate(0) scale(1);opacity:.6}33%{transform:translate(30px,-30px) scale(1.1);opacity:.8}66%{transform:translate(-20px,20px) scale(.9);opacity:.5}}@keyframes float2{0%,to{transform:translate(0) scale(1);opacity:.5}33%{transform:translate(-25px,25px) scale(.95);opacity:.7}66%{transform:translate(20px,-20px) scale(1.05);opacity:.4}}@keyframes float3{0%,to{transform:translate(0) scale(1);opacity:.4}50%{transform:translate(25px,-25px) scale(1.15);opacity:.6}}@keyframes productNameEntrance{0%{opacity:0;transform:translateY(-20px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes quoteEntrance{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes streamFlow1{0%{transform:translateX(0) translateY(0) rotate(0deg);opacity:.3}25%{transform:translateX(30vw) translateY(15vh) rotate(5deg);opacity:.6}50%{transform:translateX(50vw) translateY(30vh) rotate(0deg);opacity:.8}75%{transform:translateX(30vw) translateY(15vh) rotate(-5deg);opacity:.6}to{transform:translateX(0) translateY(0) rotate(0deg);opacity:.3}}@keyframes streamFlow2{0%{transform:translateX(0) translateY(0) rotate(0deg);opacity:.3}25%{transform:translateX(-30vw) translateY(-15vh) rotate(-5deg);opacity:.6}50%{transform:translateX(-50vw) translateY(-30vh) rotate(0deg);opacity:.8}75%{transform:translateX(-30vw) translateY(-15vh) rotate(5deg);opacity:.6}to{transform:translateX(0) translateY(0) rotate(0deg);opacity:.3}}@keyframes streamFlow3{0%{transform:translate(0) rotate(0deg);opacity:.2}33%{transform:translate(25vw,-25vh) rotate(10deg);opacity:.5}66%{transform:translate(35vw,-35vh) rotate(5deg);opacity:.4}to{transform:translate(0) rotate(0deg);opacity:.2}}@keyframes convergePulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.3}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.5}}@keyframes particleFlow1{0%{transform:translate(0);opacity:0}10%{opacity:.15}50%{transform:translate(50vw,30vh);opacity:.3}90%{opacity:.15}to{transform:translate(50vw,30vh);opacity:0}}@keyframes particleFlow2{0%{transform:translate(0);opacity:0}10%{opacity:.15}50%{transform:translate(-50vw,-30vh);opacity:.3}90%{opacity:.15}to{transform:translate(-50vw,-30vh);opacity:0}}@keyframes particleFlow3{0%{transform:translate(0);opacity:0}15%{opacity:.12}50%{transform:translate(35vw,-35vh);opacity:.25}85%{opacity:.12}to{transform:translate(35vw,-35vh);opacity:0}}@keyframes latticeRotate{0%{transform:translate(-50%,-50%) perspective(2000px) rotateX(60deg) rotateY(-20deg)}50%{transform:translate(-50%,-50%) perspective(2000px) rotateX(60deg) rotateY(20deg)}to{transform:translate(-50%,-50%) perspective(2000px) rotateX(60deg) rotateY(-20deg)}}@keyframes nodePulse{0%,to{transform:scale(1.3);opacity:.9}50%{transform:scale(1.5);opacity:1}}@keyframes starTwinkle{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes starRotate{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes pathParticle{0%{opacity:0;transform:translateX(-50%) translateY(0) scale(.5)}50%{opacity:1;transform:translateX(-50%) translateY(-60px) scale(1)}to{opacity:0;transform:translateX(-50%) translateY(-120px) scale(.5)}}@keyframes messyFlow{0%{transform:translateX(0) translateY(0);opacity:.3}50%{transform:translateX(80px) translateY(var(--offset-y,0));opacity:.6}to{transform:translateX(160px) translateY(0);opacity:.3}}@keyframes structuredFlow{0%{transform:translateX(0) translateY(-50%);opacity:.6}50%{transform:translateX(200px) translateY(-50%);opacity:.9}to{transform:translateX(250px) translateY(-50%);opacity:.6}}@keyframes messyDotFlow{0%{transform:translate(0) scale(.8);opacity:.3}20%{transform:translate(calc(20vw - 200px),calc(var(--offset-y, 0px) * .3)) scale(.9);opacity:.5}50%{transform:translate(calc(40vw - 100px),calc(var(--offset-y, 0px) * .6)) scale(1);opacity:.7}80%{transform:translate(calc(48vw - 20px),calc(var(--offset-y, 0px) * .9)) scale(1.1);opacity:.9}to{transform:translate(calc(50vw - 0px),calc(var(--offset-y, 0px) * 1)) scale(0);opacity:0}}@keyframes structuredDotFlow{0%{transform:translate(0) scale(0);opacity:0}10%{transform:translate(0) scale(.5);opacity:.3}25%{transform:translate(calc(var(--move-x, 0px) * .3),calc(var(--move-y, 0px) * .3)) scale(.8);opacity:.5}50%{transform:translate(calc(var(--move-x, 0px) * .7),calc(var(--move-y, 0px) * .7)) scale(1);opacity:.5}75%{transform:translate(var(--move-x,0),var(--move-y,0)) scale(1);opacity:.5}90%{transform:translate(var(--move-x,0),var(--move-y,0)) scale(.9);opacity:.4}to{transform:translate(var(--move-x,0),var(--move-y,0)) scale(0);opacity:0}}@keyframes networkFormLoop{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}5%{opacity:0;transform:translate(-50%,-50%) scale(0)}12%{opacity:.95;transform:translate(-50%,-50%) scale(1)}50%{opacity:.95;transform:translate(-50%,-50%) scale(1)}75%{opacity:.4;transform:translate(-50%,-50%) scale(.9)}95%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(-50%,-50%) scale(0)}}@keyframes networkLineFormLoop{0%{opacity:0;width:0}10%{opacity:0;width:0}18%{opacity:.7;width:100%}50%{opacity:.7;width:100%}75%{opacity:.3;width:100%}95%{opacity:0;width:0}to{opacity:0;width:0}}@keyframes networkReveal{0%{opacity:0;transform:translateY(-50%) scale(.8)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes networkNodeAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes networkLineAppear{0%{opacity:0;width:0}to{opacity:1;width:100%}}@keyframes inflectionGlow{0%,to{opacity:.8;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}@keyframes inflectionPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.95}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}}@keyframes messageFadeIn{0%{opacity:0;transform:translateY(4px)}15%{opacity:.65;transform:translateY(0)}85%{opacity:.65;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,Oxygen,Ubuntu,Cantarell,sans-serif}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.7;font-size:16px}.container{max-width:1200px;margin:0 auto;padding:32px 24px}.input-section{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:2.5rem;margin-bottom:2rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.input-section:hover{box-shadow:var(--shadow-md)}.input-row{display:flex;gap:1.75rem;align-items:flex-end;flex-wrap:wrap}.input-group{flex:1 1;min-width:200px}.input-label{display:block;font-weight:600;margin-bottom:.75rem;letter-spacing:0}.input-label,.select-input,.text-input{font-size:.9375rem;color:var(--text-primary);line-height:1.5}.select-input,.text-input{width:100%;padding:1rem 1.125rem;border:1.5px solid var(--border);border-radius:8px;background:var(--bg-primary);transition:all .2s ease;font-weight:400}.select-input:focus,.text-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(14,165,233,.1)}.text-input::placeholder{color:var(--text-tertiary)}.btn{padding:1rem 2rem;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:var(--bg-tertiary);color:var(--text-primary);letter-spacing:0;box-shadow:var(--shadow-sm);line-height:1.5}.btn:hover{background:var(--bg-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn,a.btn,a.nav-item{text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-blue-dark) 100%);color:#fff;box-shadow:0 4px 6px -1px rgba(14,165,233,.3)}.btn-primary:hover{background:linear-gradient(135deg,var(--accent-blue-dark) 0,#0369a1 100%);box-shadow:0 6px 12px -2px rgba(14,165,233,.4);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 4px -1px rgba(14,165,233,.3)}.collapsible-section{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .2s ease}.collapsible-section:hover{box-shadow:var(--shadow-md)}.collapsible-header{padding:1.75rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;transition:background .2s ease}.collapsible-header:hover{background:var(--bg-secondary)}.collapsible-title{font-size:1.0625rem;font-weight:600;display:flex;align-items:center;gap:.75rem;color:var(--text-primary);letter-spacing:0;line-height:1.5}.collapsible-body{padding:0 2rem 2rem}.change-meta{font-size:.8125rem;color:var(--text-secondary);display:flex;gap:1rem;font-weight:500;line-height:1.5}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:1.75rem;box-shadow:var(--shadow-sm);transition:all .2s ease}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.feature-legend,.sequence-legend{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary)}.legend-color{width:12px;height:12px;border-radius:2px;border:1px solid}.change-list{padding:0}.change-item{padding:1.5rem 0;border-bottom:1px solid var(--border-light);display:flex;gap:1.5rem;align-items:flex-start;transition:background .2s ease}.change-item:hover{background:var(--bg-secondary);margin:0 -1.5rem;padding-left:1.5rem;padding-right:1.5rem;border-radius:8px}.change-item:last-child{border-bottom:none}.change-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;flex-shrink:0;box-shadow:var(--shadow-sm)}.change-icon.inserted{background:linear-gradient(135deg,var(--accent-green) 0,#059669 100%);color:#fff}.change-icon.deleted{background:linear-gradient(135deg,var(--accent-red) 0,#dc2626 100%);color:#fff}.change-icon.modified{background:linear-gradient(135deg,var(--accent-yellow) 0,#d97706 100%);color:#fff}.change-content{flex:1 1;display:flex;flex-direction:column;gap:.5rem}.change-title{font-weight:600;font-size:1rem;color:var(--text-primary);letter-spacing:0;line-height:1.5}.change-description{font-size:.875rem;color:var(--text-secondary);line-height:1.7}.change-content .change-meta{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.8125rem;color:var(--text-secondary);font-weight:500;line-height:1.5}.change-content .change-meta .meta-item{display:flex;align-items:center;gap:.5rem}.db-link-button{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--accent-blue);cursor:pointer;text-decoration:underline;text-underline-offset:2px;display:inline}.db-link-button:hover{color:#0b5ed7}.db-link-button:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}a.db-link-button{text-decoration:underline}.sequence-viewer{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.viewer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light)}.viewer-title{font-size:1.0625rem;font-weight:600;color:var(--text-primary);letter-spacing:0;line-height:1.5}.results-table{width:100%;border-collapse:collapse}.results-table td,.results-table th{padding:1.25rem 1.5rem;text-align:left;border-bottom:1px solid var(--border-light)}.results-table th{font-weight:600;color:var(--text-primary);font-size:.8125rem;letter-spacing:.05em;text-transform:uppercase;line-height:1.5}.results-table td{color:var(--text-primary);font-size:.9375rem;line-height:1.6}.results-table tr:hover{background:var(--bg-secondary)}.results-table-wrapper{max-height:600px;overflow-y:auto;border:1px solid var(--border);border-radius:12px;position:relative;box-shadow:var(--shadow-sm)}.results-table-wrapper table{width:100%;border-collapse:separate;border-spacing:0}.results-table-wrapper thead{position:-webkit-sticky;position:sticky;top:0;background:var(--bg-primary);z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.08)}.results-table-wrapper thead th{border-bottom:2px solid var(--border);background:var(--bg-primary);padding-top:1.25rem;padding-bottom:1.25rem}.change-badge{display:inline-block;padding:.5rem .875rem;background:var(--bg-tertiary);border-radius:6px;font-size:.8125rem;font-weight:600;letter-spacing:0;box-shadow:var(--shadow-sm);line-height:1.5}.badge-modified{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fcd34d}.badge-added{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:1px solid #6ee7b7}.sequence-comparison{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.sequence-comparison-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light)}.sequence-comparison-title{font-size:.8125rem;font-weight:600;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;line-height:1.5}.sequence-scroll-hint{font-size:.75rem;color:var(--text-secondary);opacity:.8;line-height:1.5}.sequence-scroll-container{overflow-x:auto;overflow-y:hidden;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);padding:1rem;position:relative}.sequence-comparison-table{border-collapse:collapse;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.75rem;min-width:100%}.sequence-comparison-table th{position:-webkit-sticky;position:sticky;top:0;background:var(--bg-secondary);padding:.5rem .75rem;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.7rem;border-bottom:2px solid var(--border);z-index:10}.sequence-comparison-table th:first-child{position:-webkit-sticky;position:sticky;left:0;background:var(--bg-secondary);z-index:20}.sequence-comparison-table td{padding:.5rem .75rem;vertical-align:top;border-bottom:1px solid var(--border)}.sequence-comparison-table td:first-child{position:-webkit-sticky;position:sticky;left:0;background:var(--bg-primary);z-index:15}.sequence-label{font-weight:600;color:var(--text-secondary);text-align:right;min-width:120px;padding-right:1rem;font-size:.7rem}.sequence-row{display:flex;align-items:center;gap:.25rem;flex-wrap:nowrap;width:-moz-fit-content;width:fit-content}.sequence-residue{display:inline-block;width:1.2em;min-width:1.2em;max-width:1.2em;text-align:center;padding:2px 1px;border-radius:2px;font-weight:500;font-size:.75rem;flex-shrink:0;flex-grow:0;box-sizing:border-box}.sequence-residue.unchanged{color:var(--text-primary);background:transparent}.sequence-residue.inserted{background:var(--accent-green);color:#fff}.sequence-residue.deleted{background:var(--accent-red);color:#fff;text-decoration:line-through}.sequence-residue.modified{background:var(--accent-yellow);color:var(--text-primary)}.sequence-gap{display:inline-block;width:1.2em;min-width:1.2em;max-width:1.2em;color:var(--text-secondary);opacity:.5;flex-shrink:0;flex-grow:0;box-sizing:border-box}.sequence-legend{margin-top:1rem}.change-legend,.sequence-legend{display:flex;gap:16px;flex-wrap:wrap}.change-legend{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.progress-bar-container{width:100%;height:10px;background:var(--bg-tertiary);border-radius:8px;overflow:hidden;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-blue) 0,var(--accent-teal) 100%);border-radius:8px;transition:width .3s ease;box-shadow:0 2px 4px rgba(14,165,233,.3)}.pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-light);flex-wrap:wrap;gap:1rem}.pagination-info{font-size:.9375rem;color:var(--text-secondary);font-weight:500;line-height:1.5}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-pages{display:flex;align-items:center;gap:.25rem}.pagination-ellipsis{padding:0 .5rem;color:var(--text-secondary);font-size:.9375rem;line-height:1.5}.pagination-controls .btn{min-width:44px;padding:.625rem .875rem;font-size:.9375rem;line-height:1.5}.pagination-controls .btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.pagination-controls .btn:disabled:hover{background:var(--bg-tertiary);box-shadow:var(--shadow-sm);transform:none}.error-message{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1.5px solid var(--accent-red);border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.875rem;color:#991b1b;font-size:.9375rem;font-weight:500;box-shadow:var(--shadow-sm);line-height:1.6}.error-message:before{content:"⚠";font-size:1.375rem;flex-shrink:0}.text-xs{font-size:.8125rem;line-height:1.6}.text-sm{font-size:.9375rem;line-height:1.6}.text-base{font-size:1rem;line-height:1.7}.nav-item{transition:all .2s ease;border-radius:6px;padding:.5rem .75rem;margin-left:-.75rem;margin-right:-.75rem}.nav-item:hover{background:var(--bg-secondary);color:var(--accent-blue)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}