@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Syne:wght@600;700&display=swap);:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}.textLayer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;inset:0;line-height:1;overflow:hidden;position:absolute;text-align:left;text-align:initial;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:#0000;cursor:text;margin:0;position:absolute;transform-origin:0 0;white-space:pre}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:#b400aa;background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:static}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:#006400;background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:#0000}.textLayer .endOfContent{cursor:default;display:block;inset:100% 0 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:-1}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{display:none;height:0;left:0;position:absolute;top:0;width:0}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:#0000;--input-disabled-border-color:#0000;--input-hover-border-color:#000;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translateX(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{height:100%;position:absolute;width:100%}.annotationLayer section{box-sizing:border-box;margin:0;pointer-events:auto;position:absolute;text-align:left;text-align:initial;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:none;outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation :is(input,textarea){background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:2px solid #0000;border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled]{background:none;border:2px solid #0000;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border:2px solid #000;border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:none;border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:initial;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px*var(--total-scale-factor));min-width:calc(180px*var(--total-scale-factor));pointer-events:none;position:absolute;width:100%}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:calc(2px*var(--total-scale-factor));box-shadow:0 calc(2px*var(--total-scale-factor)) calc(5px*var(--total-scale-factor)) #888;cursor:pointer;font:message-box;margin-left:calc(5px*var(--total-scale-factor));max-width:calc(180px*var(--total-scale-factor));padding:calc(6px*var(--total-scale-factor));pointer-events:auto;position:absolute;white-space:normal}.annotationLayer .popup>*{font-size:calc(9px*var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--total-scale-factor));padding-top:calc(2px*var(--total-scale-factor))}.annotationLayer .richText>*{font-size:calc(9px*var(--total-scale-factor));white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.annotationLayer section svg{height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .annotationTextContent{color:#0000;height:100%;opacity:0;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.annotationLayer .annotationTextContent span{display:inline-block;width:100%}:root{--font-size-small:clamp(12px,0.7vw,16px);font-size:clamp(14px,.7vw,24px)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{scrollbar-color:var(--sub-background) #0000;scrollbar-width:thin}::-webkit-scrollbar{background:#0000;width:12px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:var(--sub-background);background-clip:padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text);background-clip:padding-box}[data-theme=dark]{--background:#282b30;--sub-background:#36393e;--text:#f6f6f6;--sub-text:#c5c5c5;--accent:#7289da;--sub-accent:#323848;--highlight:#7289da24}[data-theme=light]{--background:#fff;--sub-background:#f1f3f9;--text:#46505f;--sub-text:#1e293b;--accent:#4f6edb;--sub-accent:#e5e7ef;--highlight:#9ba3c343}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}li{color:var(--sub-text)}.dashboard{height:100vh;width:100%}.dashboard,.sidebar{display:flex;overflow:hidden}.sidebar{background:var(--sub-background);border-right:.25rem solid var(--accent);color:var(--text);flex-direction:column;flex-shrink:0;padding-top:5rem;transition:width .25s ease-in-out;width:15rem}.sidebar.collapsed{width:4.6875rem}.sidebar-nav{display:flex;flex-direction:column;padding:.5rem 0}.nav-link{all:unset;border-left:.25rem solid #0000;border-radius:0 .5rem .5rem 0;color:var(--text);margin:.25rem .5rem .25rem 0;padding:.625rem .75rem;text-decoration:none;transition:background .2s ease,color .2s ease}.nav-link,.nav-link .icon{align-items:center;display:flex}.nav-link .icon{height:1.5rem;justify-content:center;padding-left:.5rem;padding-right:.75rem;transition:color .2s ease;width:1.5rem}.nav-link span{max-width:9.375rem;opacity:1;overflow:hidden;transition:opacity .25s ease,max-width .25s ease,margin .25s ease,color .2s ease;white-space:nowrap}.sidebar.collapsed .nav-link span{margin:0;max-width:0;opacity:0}.nav-link.active,.nav-link:hover,.nav-link:hover .icon{color:var(--accent)}.nav-link.active{background:var(--highlight);border-left-color:var(--accent);border-radius:0 .25rem .25rem 0}.nav-link.active .icon{color:var(--accent)}.main{background:var(--sub-background);display:flex;flex-direction:column;flex-grow:1;margin-top:5rem}.header{background:var(--background);border-bottom:.25rem solid var(--accent);height:5rem;left:0;padding:0 .875rem;position:fixed;right:0;top:0;z-index:10}.header,.header-left{align-items:center;display:flex}.header-left{gap:.9375rem}.header-right{align-items:center;display:flex;margin-left:auto}.sun-btn{color:var(--text)}.moon-btn{color:var(--accent)}.collapse-btn{border:none;border-radius:.5rem;color:var(--text)!important;cursor:pointer;display:grid;height:3rem;place-items:center;transition:background .2s ease,color .2s ease;width:3rem}.collapse-btn:hover{color:var(--accent)!important}.logo-container{align-items:center;display:flex}.logo{height:3.75rem;object-fit:contain}.content{background-color:var(--background);flex-grow:1;overflow-y:auto}.page-artifact-overlay{bottom:2rem;position:fixed;right:2rem;z-index:100}.artifact-container{grid-gap:16px;display:grid;gap:16px;justify-content:flex-start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.artifact-card{background-color:var(--sub-background)!important;border:4px solid var(--accent);border-radius:8px;color:var(--text)!important;cursor:grab;display:flex;flex-direction:column;height:240px;min-width:280px;overflow:hidden;transition:border .2s ease}.artifact-card.drag-over{border-color:var(--text)}.artifact-card:active{cursor:grabbing}.artifact-drag-icon{align-items:center;color:var(--accent);cursor:grab;display:flex;justify-content:center;left:8px;opacity:.6;position:absolute;top:8px}.artifact-drag-icon:active{cursor:grabbing}.artifact-media-container{align-items:center;display:flex;height:90%;justify-content:center;overflow:hidden;position:relative}.artifact-media{max-width:100%;object-fit:contain;pointer-events:none}.artifact-content{align-items:flex-start;border-top:3px solid var(--accent);display:flex;height:10%;justify-content:space-between;padding:.8rem .8rem 1.4rem!important}.artifact-info{flex-grow:1;min-width:0}.artifact-name{font-size:14px!important;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-size{font-size:12px!important;opacity:.7}.artifact-actions{display:flex;margin-top:-2px}.artifact-icon{color:var(--accent)!important;transition:color .2s ease}.artifact-icon:hover{color:var(--text)!important}.artifact-viewer-container{background:var(--background)!important;border:4px solid var(--accent);border-radius:8px;box-shadow:0 8px 32px #000c;display:flex;flex-direction:column;max-height:90vh;max-width:50rem;outline:none;overflow:hidden;width:50vw}.artifact-viewer-header{align-items:center;background:var(--sub-background);border-bottom:3px solid var(--accent);display:flex;flex-shrink:0;gap:.5rem;justify-content:space-between;padding:1.2rem 1.5rem}.artifact-viewer-header-left{align-items:center;display:flex;gap:.25rem;min-width:0;overflow:hidden}.artifact-viewer-nav{color:var(--sub-text)!important;flex-shrink:0;transition:color .2s ease}.artifact-viewer-nav:hover,.artifact-viewer-title{color:var(--text)!important}.artifact-viewer-title{font-size:18px!important;font-weight:600!important;margin:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-viewer-close{color:var(--sub-text)!important;flex-shrink:0;margin-left:1rem;transition:color .2s ease}.artifact-viewer-close:hover{color:var(--text)!important}.artifact-viewer-content{align-items:stretch;background:var(--background)!important;display:flex;flex:1 1;justify-content:center;overflow:auto;padding:0}.artifact-viewer-content::-webkit-scrollbar{width:12px}.artifact-viewer-content{scrollbar-color:var(--sub-background) var(--background);scrollbar-width:thin}.artifact-viewer-image{max-height:100%;max-width:100%;object-fit:contain;padding:1.5rem}.artifact-viewer-pdf{background:#fff;border:none;height:100%;min-height:600px;width:100%}.artifact-viewer-text{word-wrap:break-word;background:var(--background);box-sizing:border-box;color:var(--text);font-family:Courier New,Consolas,monospace;font-size:14px;height:100%;line-height:1.6;margin:0;overflow:auto;padding:1.5rem;white-space:pre-wrap;width:100%}.artifact-viewer-unsupported{flex-direction:column;height:100%;min-height:400px;width:100%}.artifact-viewer-loading,.artifact-viewer-unsupported{align-items:center;display:flex;justify-content:center}.artifact-viewer-loading{inset:0;min-height:24rem;position:absolute}.artifact-speed-dial{align-items:flex-end;display:inline-flex;flex-direction:column;position:relative}.speed-dial-trigger{background:var(--sub-background)!important;border:2px solid var(--accent)!important;border-radius:50%!important;box-shadow:0 2px 8px #0006;color:var(--accent)!important;height:4.875rem!important;transition:color .2s ease,background .2s ease!important;width:4.875rem!important}.speed-dial-trigger:hover{background:var(--background)!important;color:var(--text)!important}.speed-dial-list{background:var(--sub-background);border:2px solid var(--accent);border-radius:.5rem;bottom:calc(100% + .5rem);display:flex;flex-direction:column;gap:.25rem;max-height:20rem;min-width:14rem;overflow-y:auto;padding:.5rem;position:absolute;right:0;scrollbar-color:var(--sub-accent) #0000;scrollbar-width:thin;z-index:10}.speed-dial-item{align-items:center;border-radius:.375rem;cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;padding:.5rem .75rem;transition:background .15s ease}.speed-dial-item:hover{background:var(--background);background:var(--highlight,var(--background))}.speed-dial-name{color:var(--text)!important;flex:1 1;font-size:.9rem!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.about-page{background:var(--background);color:var(--text);display:flex;flex-direction:column;padding:2.5rem}.about-intro{align-items:flex-start;display:flex;flex-wrap:wrap;gap:4rem;justify-content:flex-start}.sp-section{flex:0 0 auto}@media (max-width:30em){.about-intro{flex-direction:column;gap:2rem}}.about-text{display:flex;flex:1 1;flex-direction:column;min-width:25rem}.about-text p{color:var(--sub-text);line-height:1.6;margin:0}.about-text ul{line-height:1.6;margin-left:1.25rem}.section-header{color:var(--accent);margin:0 0 1rem;text-align:left}.dev-team{display:flex;flex-direction:column;gap:1.5rem;margin-top:3.75rem}.dev-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.profile-wrapper{display:inline-block}.profile-card{align-items:center;aspect-ratio:3/4;background:var(--sub-background);border:.25rem solid var(--accent);border-radius:.75rem;color:var(--text);display:flex;flex-direction:column;max-width:100%;padding:1.25rem}.profile-card.small{width:12.5rem}.profile-card.medium{width:18.75rem}.profile-card.large{min-width:25rem;width:25rem}.profile-photo{align-items:center;background:var(--background);border:.1875rem solid var(--accent);border-radius:50%;display:flex;height:8.75rem;justify-content:center;margin-bottom:.75rem;overflow:hidden;width:8.75rem}.profile-photo img{height:100%;object-fit:cover;width:100%}.photo-placeholder{color:var(--sub-text);font-size:3.5rem;font-weight:700;-webkit-user-select:none;user-select:none}.profile-name{font-size:1.35rem;font-weight:700;margin:.25rem 0;text-align:center}.profile-title{color:var(--sub-text);font-size:1rem;font-weight:500;margin:.15rem 0 .5rem;text-align:center}.profile-about{flex-grow:1;font-size:.9rem;line-height:1.45;margin-top:1rem;overflow:visible;text-align:center;white-space:pre-line}.profile-socials{display:flex;gap:.6rem;justify-content:center;margin:.4rem 0 .6rem}.social-icon{color:var(--text);cursor:pointer;font-size:.5rem;position:relative;transition:color .2s ease,transform .1s ease}.social-icon:hover{color:var(--accent)}.tooltip{animation:fadeIn .2s forwards;background:var(--background);border-radius:4px;bottom:125%;box-shadow:0 2px 6px #0003;color:var(--text);font-size:.75rem;left:50%;opacity:0;padding:4px 8px;position:absolute;transform:translateX(-50%);white-space:nowrap}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}@keyframes bounceAnim{0%{transform:scale(1)}30%{transform:scale(1.25)}50%{transform:scale(.9)}70%{transform:scale(1.1)}to{transform:scale(1)}}.social-icon.bounce{animation:bounceAnim .5s}.gel-wrapper{display:inline-block;margin:2rem}.gel-container{align-items:center;display:flex;flex-direction:column}.gel-svg{display:block;overflow:visible}.gel-fill{fill:var(--sub-background);stroke:none}.gel-border{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-width:.25rem}.label{color:var(--text);font-size:var(--font-size-small);text-align:center}.axis text,.noselect{-webkit-user-select:none;user-select:none}.axis text{font-size:var(--font-size-small)}.axis line{shape-rendering:crispEdges}.well-btn circle{fill:var(--highlight);transition:fill .15s ease-in-out}.well-btn:hover circle{fill:var(--accent)}.protein-tooltip{background-color:var(--sub-accent);border:3px solid var(--accent);border-radius:6px;box-shadow:0 4px 4px var(--background);color:var(--sub-text);font-size:var(--font-size-small);min-width:240px;padding:12px;position:fixed;z-index:2}.protein-tooltip-title{color:var(--accent);font-size:var(--font-size-small);font-weight:700;margin-bottom:.5rem}.protein-tooltip a{color:var(--accent);text-decoration:none}.protein-tooltip a:hover{text-decoration:underline}.twoDE-button{background-color:var(--background);border:1px solid var(--accent);border-radius:4px;color:var(--text);cursor:pointer;font-size:14px;margin-bottom:8px;padding:8px 16px;transition:background-color .2s,color .2s;width:140px}.twoDE-button:hover:not(:disabled){background-color:var(--highlight)}.twoDE-button.icon{align-items:center;display:flex;gap:4px;justify-content:center}.twoDE-button:disabled{cursor:not-allowed;opacity:.5}.twoDE-input{background:var(--sub-background);border:1px solid var(--sub-accent);border-radius:4px;color:var(--text);font-size:14px;padding:4px;text-align:center;transition:border-color .2s;width:50px}.twoDE-input:focus{border-color:var(--accent);outline:none}.twoDE-input:disabled{cursor:not-allowed;opacity:.4}.twoDE-range{-webkit-appearance:none;appearance:none;background:var(--sub-accent);border-radius:4px;cursor:pointer;height:6px;outline:none;transition:opacity .2s;width:100%}.twoDE-range:disabled{cursor:not-allowed;opacity:.4}.twoDE-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);border:2px solid var(--background);border-radius:50%;box-shadow:0 0 4px #0006;cursor:pointer;height:16px;-webkit-transition:transform .15s;transition:transform .15s;width:16px}.twoDE-range:not(:disabled)::-webkit-slider-thumb:hover{transform:scale(1.2)}.twoDE-range::-moz-range-thumb{background:var(--accent);border:2px solid var(--background);border-radius:50%;cursor:pointer;height:16px;width:16px}.twoDE-range::-moz-range-track{background:var(--sub-accent);border-radius:4px;height:6px}#acrylamide-percentage-dropdown{background:var(--sub-background);border:1px solid var(--sub-accent);border-radius:4px;color:var(--text);cursor:pointer;font-size:14px;outline:none;padding:5px 10px;transition:border-color .2s}#acrylamide-percentage-dropdown:focus{border-color:var(--accent)}#acrylamide-percentage-dropdown:disabled{cursor:not-allowed;opacity:.4}#acrylamide-percentage-dropdown option{background:var(--sub-background);color:var(--text)}.twoDE-canvas-wrapper{position:relative}.twoDE-canvas{display:block;width:800px}#protein-list.twoDE-panel,.twoDE-canvas{border:1px solid var(--accent);border-radius:8px;height:600px}#protein-list.twoDE-panel{background-color:var(--background);display:flex;flex-direction:column;overflow:hidden;padding:16px;position:relative;transition:width .3s ease-in-out}.twoDE-resize-handle{background:#0000;cursor:ew-resize;height:100%;position:absolute;right:0;top:0;transition:background .15s;width:5px}.twoDE-resize-handle:hover{background:var(--accent);opacity:.4}.twoDE-protein-list{display:flex;flex:1 1;flex-direction:column;gap:4px;margin-top:8px;overflow-y:auto}.twoDE-protein-item{align-items:center;border:1px solid #0000;border-radius:4px;color:var(--text);cursor:pointer;display:flex;gap:8px;min-height:24px;padding:4px 6px;transition:background-color .15s,border-color .15s}.twoDE-protein-item:hover{background-color:var(--highlight);border-color:var(--sub-accent)}.twoDE-protein-item.selected{background-color:var(--sub-accent);border-color:var(--accent)}.twoDE-protein-color{border-radius:50%;flex-shrink:0;height:12px;min-width:12px;width:12px}.twoDE-protein-name{flex:1 1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.twoDE-drag-overlay{align-items:center;background-color:#000000b3;border-radius:8px;display:flex;inset:0;justify-content:center;position:absolute;z-index:1000}.twoDE-drag-box{border:2px dashed var(--accent);border-radius:8px;color:var(--text);font-size:18px;padding:20px 40px;text-align:center}#protein-info-card.twoDE-card{background-color:var(--sub-background);border:1px solid var(--sub-accent);border-radius:8px;box-shadow:0 4px 16px #0000004d;color:var(--text);min-width:200px;padding:12px;pointer-events:auto;position:fixed;z-index:1000}.twoDE-card h4{color:var(--text);font-size:16px;margin:0 0 8px}.twoDE-card .meta{grid-gap:4px;color:var(--sub-text);display:grid;font-size:14px;gap:4px}.twoDE-card a{color:var(--accent);text-decoration:none}.twoDE-card a:hover{text-decoration:underline}.twoDE-card .sequence-preview{color:var(--sub-text);font-family:monospace;font-size:12px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.twoDE-progress{align-items:center;display:flex;height:50px;justify-content:center;position:relative;width:50px}.twoDE-progress .percent{font-size:12px;position:absolute}.simulatorBoxTwoDE{background-color:var(--background);min-height:100%}.twoDE-controls-col{background-color:var(--background);color:var(--text);display:flex;flex-direction:column;padding:16px}.twoDE-controls-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:8px}.twoDE-controls-col .control-group{align-self:center;margin-bottom:16px;max-width:800px;padding:0 20px}.control-group{color:var(--text)}.twoDE-control-label{color:var(--sub-text);flex-shrink:0;font-size:14px;width:120px}.twoDE-acrylic-desc{color:var(--sub-text);font-size:12px;min-width:140px}.minus-button,.pic-button,.plus-button{background:var(--sub-background);border:1px solid var(--sub-accent);border-radius:4px;color:var(--text);cursor:pointer;font-size:16px;padding:6px 10px;transition:background .15s,border-color .15s,color .15s}.minus-button:hover,.pic-button:hover,.plus-button:hover{background:var(--highlight);border-color:var(--accent);color:var(--accent)}.pic-button img{display:block;height:16px;width:16px}.zoom-button-container{display:flex;flex-direction:column;gap:4px;padding-top:160px;position:absolute;right:10px;top:10px}.dimension-indicator{align-items:center;background-color:var(--sub-accent);border-radius:50%;color:var(--text);display:inline-flex;font-size:12px;font-weight:700;height:20px;justify-content:center;margin-left:6px;transition:all .3s ease;width:20px}:root{--pd-bg:#0e0f14;--pd-surface:#15161d;--pd-border:#272836;--pd-accent:#5b6ef5;--pd-accent-dim:#5b6ef526;--pd-text:#e8e9f0;--pd-muted:#5a5b72;--pd-success:#4fd1a5;--pd-error:#f56565;--pd-mono:"IBM Plex Mono",monospace;--pd-display:"Syne",sans-serif;--pd-radius:10px;--pd-radius-sm:6px}.pd-page{height:100%;justify-content:center;min-height:400px}.pd-page,.pd-page-empty{align-items:center;display:flex}.pd-page-empty{flex-direction:column;gap:12px;text-align:center}.pd-page-empty p{color:#5a5b72;color:var(--pd-muted);font-family:IBM Plex Mono,monospace;font-family:var(--pd-mono);font-size:13px;line-height:1.6;margin:0;max-width:300px}.pd-backdrop{align-items:center;animation:pd-fade-in .18s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05050abf;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}@keyframes pd-fade-in{0%{opacity:0}to{opacity:1}}.pd-modal{animation:pd-slide-up .22s cubic-bezier(.16,1,.3,1);background:#15161d;background:var(--pd-surface);border:1px solid #272836;border:1px solid var(--pd-border);border-radius:10px;border-radius:var(--pd-radius);box-shadow:0 32px 80px #0009;display:flex;flex-direction:column;max-height:88vh;max-width:680px;overflow:hidden;width:100%}@keyframes pd-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pd-header{align-items:flex-start;border-bottom:1px solid #272836;border-bottom:1px solid var(--pd-border);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px 16px}.pd-header-left{display:flex;flex-direction:column;gap:4px}.pd-label{color:#5b6ef5;color:var(--pd-accent);font-family:IBM Plex Mono,monospace;font-family:var(--pd-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.pd-protein-name{color:#e8e9f0;color:var(--pd-text);font-family:Syne,sans-serif;font-family:var(--pd-display);font-size:20px;font-weight:700;line-height:1.2;margin:0}.pd-close{align-items:center;background:none;border:1px solid #272836;border:1px solid var(--pd-border);border-radius:6px;border-radius:var(--pd-radius-sm);color:#5a5b72;color:var(--pd-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:32px;justify-content:center;transition:color .15s,border-color .15s,background .15s;width:32px}.pd-close:hover{background:#ffffff0a;border-color:#e8e9f0;border-color:var(--pd-text);color:#e8e9f0;color:var(--pd-text)}.pd-section{border-bottom:1px solid #272836;border-bottom:1px solid var(--pd-border);flex-shrink:0;padding:18px 24px}.pd-section-label{align-items:center;color:#5a5b72;color:var(--pd-muted);display:flex;font-size:10px;gap:8px;letter-spacing:.1em;margin-bottom:10px;text-transform:uppercase}.pd-section-label,.pd-sequence-box{font-family:IBM Plex Mono,monospace;font-family:var(--pd-mono)}.pd-sequence-box{background:#4fd1a50f;border:1px solid #4fd1a526;border-radius:6px;border-radius:var(--pd-radius-sm);color:#4fd1a5;color:var(--pd-success);font-size:12px;line-height:1.7;max-height:90px;overflow-y:auto;padding:12px 14px;word-break:break-all}.pd-protease-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.pd-protease-btn{align-items:flex-start;background:#0e0f14;background:var(--pd-bg);border:1px solid #272836;border:1px solid var(--pd-border);border-radius:6px;border-radius:var(--pd-radius-sm);cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 12px;text-align:left;transition:border-color .15s,background .15s}.pd-protease-btn.active,.pd-protease-btn:hover{background:#5b6ef526;background:var(--pd-accent-dim);border-color:#5b6ef5;border-color:var(--pd-accent)}.pd-protease-btn.active{box-shadow:0 0 0 1px #5b6ef5;box-shadow:0 0 0 1px var(--pd-accent)}.pd-protease-name{color:#e8e9f0;color:var(--pd-text);font-family:Syne,sans-serif;font-family:var(--pd-display);font-size:13px;font-weight:600}.pd-protease-aa{color:#5b6ef5;color:var(--pd-accent)}.pd-protease-aa,.pd-protease-desc{font-family:IBM Plex Mono,monospace;font-family:var(--pd-mono);font-size:11px}.pd-protease-desc{background:#0e0f14;background:var(--pd-bg);border-left:2px solid #5b6ef5;border-left:2px solid var(--pd-accent);border-radius:6px;border-radius:var(--pd-radius-sm);color:#5a5b72;color:var(--pd-muted);margin-top:10px;padding:8px 12px}.pd-results-section{border-bottom:none;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.pd-results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.pd-results-header .pd-section-label{margin-bottom:0}.pd-fragment-count{align-items:center;background:#5b6ef5;background:var(--pd-accent);border-radius:20px;color:#fff;display:inline-flex;font-size:10px;font-weight:500;justify-content:center;letter-spacing:0;padding:1px 7px}.pd-export-btn,.pd-fragment-count{font-family:IBM Plex Mono,monospace;font-family:var(--pd-mono)}.pd-export-btn{border:1px solid #5b6ef5;border:1px solid var(--pd-accent);border-radius:6px;border-radius:var(--pd-radius-sm);color:#5b6ef5;color:var(--pd-accent);font-size:11px;padding:6px 12px;text-decoration:none;transition:background .15s;white-space:nowrap}.pd-export-btn:hover{background:#5b6ef526;background:var(--pd-accent-dim)}.pd-results-body{flex:1 1;overflow-y:auto;scrollbar-color:#272836 #0000;scrollbar-color:var(--pd-border) #0000;scrollbar-width:thin}.pd-status{align-items:center;display:flex;font-family:IBM Plex Mono,monospace;font-family:var(--pd-mono);font-size:13px;gap:10px;justify-content:center;padding:24px 0}.pd-muted,.pd-status{color:#5a5b72;color:var(--pd-muted)}.pd-error{color:#f56565;color:var(--pd-error)}.pd-spinner{animation:pd-spin .7s linear infinite;border:2px solid #272836;border-top-color:#5b6ef5;border:2px solid var(--pd-border);border-radius:50%;border-top-color:var(--pd-accent);flex-shrink:0;height:16px;width:16px}@keyframes pd-spin{to{transform:rotate(1turn)}}.pd-fragment-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.pd-fragment-item{grid-gap:10px;align-items:baseline;background:#0e0f14;background:var(--pd-bg);border:1px solid #272836;border:1px solid var(--pd-border);border-radius:6px;border-radius:var(--pd-radius-sm);display:grid;gap:10px;grid-template-columns:32px 1fr auto;padding:9px 12px;transition:border-color .1s}.pd-fragment-item:hover{border-color:#5b6ef5;border-color:var(--pd-accent)}.pd-fragment-index{color:#5a5b72;color:var(--pd-muted);font-size:10px;text-align:right}.pd-fragment-index,.pd-fragment-seq{font-family:IBM Plex Mono,monospace;font-family:var(--pd-mono)}.pd-fragment-seq{color:#4fd1a5;color:var(--pd-success);font-size:12px;line-height:1.5;word-break:break-all}.pd-fragment-len{color:#5a5b72;color:var(--pd-muted);font-family:IBM Plex Mono,monospace;font-family:var(--pd-mono);font-size:10px;white-space:nowrap}.hidden-page{background:var(--background);box-sizing:border-box;color:var(--text);display:flex;flex-direction:column;gap:2rem;padding:2.5rem;width:100%}.admin-label,.section-header-inside{color:var(--accent);font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.reset-label{color:var(--accent);font-size:.9rem;font-weight:600;margin:0 0 .25rem}.dual-section-row{display:flex;gap:2rem;width:100%}.full-width{width:100%}.flex-section{flex:1 1;min-width:0}.admin-section{gap:0}.admin-card,.admin-section{display:flex;flex-direction:column}.admin-card{background:var(--sub-background);border:.25rem solid var(--accent);border-radius:.75rem;gap:1.25rem;height:100%;padding:1.5rem;transition:opacity .2s ease}.admin-card.disabled{opacity:.5;pointer-events:none}.danger-card{background:var(--background);border-color:#e74c3c}.admin-input,.version-dropdown{background:var(--background);border:.125rem solid var(--sub-accent);border-radius:.5rem;box-sizing:border-box;color:var(--text);font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease;width:100%}.admin-input:focus,.version-dropdown:focus{border-color:var(--accent);outline:none}.admin-input::placeholder{color:var(--sub-text)}.admin-input:disabled,.version-dropdown:disabled{cursor:not-allowed;opacity:.6}.version-dropdown{-webkit-appearance:none;appearance:none;background-position:right 1rem center;background-repeat:no-repeat;border-color:#e74c3c;cursor:pointer;padding-right:2rem}.version-dropdown:focus{border-color:var(--sub-text)}.password-auth-container{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:1fr auto auto;min-width:50rem}.password-auth-inputs,.password-reset-inputs{display:flex;gap:1rem;width:100%}.password-auth-container>.reset-password-toggle{align-self:center;margin-bottom:.1rem}.confirm-reset-button{align-self:end!important;grid-column:2;grid-row:2;margin-bottom:.15rem}.password-input-group{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input{box-sizing:border-box;padding-right:3rem;width:100%}.password-status-indicator{border-radius:50%;height:.75rem;position:absolute;right:1rem;transition:background-color .3s ease;width:.75rem}.password-status-indicator.idle{background:#0000}.password-status-indicator.checking{animation:pulse 1s infinite;background:var(--sub-text)}.password-status-indicator.correct{background:#27ae60}.password-status-indicator.wrong{background:#e74c3c}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.section-header-with-upload{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.section-header-with-upload .section-header-inside{margin:0}.status-header-with-refresh{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.status-header-with-refresh .section-header-inside{margin:0}.hidden-file-input{display:none}.lock-toggle,.refresh-button,.upload-icon-button{color:var(--text)!important;flex-shrink:0!important;height:auto!important;margin:0!important;min-width:auto!important;padding:.125rem!important;transition:color .2s ease!important;width:auto!important}.lock-toggle:hover:not(:disabled),.refresh-button:hover:not(:disabled),.upload-icon-button:hover:not(:disabled){color:var(--accent)!important}.upload-icon-button:hover:not(:disabled){background-color:initial!important}.lock-toggle:focus,.refresh-button:focus,.upload-icon-button:focus{outline:none!important}.lock-toggle:disabled,.refresh-button:disabled,.reset-password-toggle:disabled,.upload-icon-button:disabled{cursor:not-allowed;opacity:.3}.refresh-button .MuiTouchRipple-root,.upload-icon-button .MuiTouchRipple-root{display:none!important}.refresh-button.spinning svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.reset-password-toggle{color:var(--text)!important;transition:color .2s ease,opacity .2s ease}.reset-password-toggle:hover:not(:disabled){color:var(--accent)!important}.reset-password-toggle.flash-success{animation:flash-subtle 1.5s ease-in-out;color:#27ae60!important}.reset-password-toggle.flash-error{animation:flash-subtle 2s ease-in-out;color:#e74c3c!important}@keyframes flash-subtle{0%,to{opacity:1}50%{opacity:.6}}@keyframes flash{0%,to{opacity:1}50%{opacity:.4}}.lock-toggle:disabled{opacity:.5}.admin-divider{background:var(--sub-accent);border:none;height:.125rem;margin:.25rem 0}.health-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.danger-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.metric-section{background:var(--background);border:.125rem solid var(--sub-accent);border-radius:.5rem;display:flex;flex-direction:column;gap:.625rem;min-width:0;padding:1rem}.danger-zone .metric-section{background:var(--sub-background)}.metric-section-title{color:var(--accent);font-size:1rem;font-weight:600;margin-bottom:.25rem;white-space:nowrap}.danger-section-title{color:#e74c3c}.metric-item{align-items:center;display:flex;gap:.75rem;justify-content:space-between;min-height:1.75rem}.metric-label,.metric-value{font-size:.9rem;white-space:nowrap}.metric-label{color:var(--sub-text)}.metric-value{color:var(--text)}.version-box{grid-column:span 1}.version-header-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.version-date{color:var(--sub-text);font-size:.85rem}.version-notes{-ms-overflow-style:none;color:var(--text);font-size:.9rem;line-height:1.4;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.version-notes::-webkit-scrollbar{display:none}.pr-list-compact{-ms-overflow-style:none;display:flex;flex-direction:column;gap:.375rem;margin-top:.25rem;max-height:4.5rem;overflow-y:auto;scrollbar-width:none}.pr-list-compact::-webkit-scrollbar-track{background:#0000}.pr-list-compact::-webkit-scrollbar-thumb{background:var(--sub-accent);border-radius:.125rem}.pr-link{color:var(--accent);font-size:.85rem;text-decoration:none;transition:color .2s ease;white-space:nowrap}.pr-link:hover{color:var(--text);text-decoration:underline}.health-badge,.service-status-chip,.status-badge{align-items:center;border-radius:.375rem;display:inline-flex;font-size:.85rem;font-weight:600;line-height:1.5;padding:.0625rem .625rem;white-space:nowrap}.service-status-chip{gap:.25rem;padding:.0625rem .375rem .0625rem .625rem}.service-status-chip.active,.status-badge.running{background:var(--highlight);color:var(--accent)}.service-status-chip.inactive,.status-badge.stopped{background:var(--sub-accent);color:var(--sub-text)}.health-badge.good,.health-badge.local{background:#27ae6020;color:#27ae60}.health-badge.poor{background:#f39c1220;color:#f39c12}.health-badge.bad{background:#e74c3c20;color:#e74c3c}.service-toggle-inline{color:inherit!important;height:auto!important;margin:0!important;min-width:auto!important;padding:0!important;transition:opacity .2s ease;width:auto!important}.service-toggle-inline:hover:not(:disabled){opacity:.7}.service-toggle-inline:disabled{cursor:not-allowed;opacity:.5}.interval-wrapper{align-items:baseline;background:var(--sub-background);border-radius:.375rem;display:inline-flex;gap:.1rem;padding:.0625rem .625rem;transition:opacity .2s ease;width:-webkit-fit-content;width:fit-content}.interval-wrapper.disabled{opacity:.5}.interval-input{background:var(--sub-background);border:none;border-radius:.25rem;color:var(--text);font-size:.85rem;line-height:1.5;max-width:2ch;min-width:1ch;text-align:center}.interval-input::-webkit-inner-spin-button,.interval-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.interval-input:focus{outline:none}.interval-input:disabled{cursor:not-allowed}.interval-unit{color:var(--text);font-size:.85rem;font-weight:600;line-height:1.5;white-space:nowrap}.danger-zone .section-header-inside{color:#e74c3c}.danger-header{align-items:center;display:flex;gap:.5rem}.danger-actions-box{display:flex;flex-direction:column;gap:.75rem;padding-bottom:1rem}.auth-button,.checkout-button,.danger-button,.modal-button{border-radius:.5rem;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s ease;white-space:nowrap}.auth-button{background:var(--accent);border:none;color:#fff}.auth-button:hover:not(:disabled){background:var(--sub-accent);color:var(--accent)}.auth-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.5}.danger-button{background:var(--background);border:.125rem solid #e74c3c;color:#e74c3c}.danger-button:hover:not(:disabled){background:#e74c3c;color:var(--background)}.danger-button.critical{background:#e74c3c;color:#fff}.danger-button.critical:hover:not(:disabled){background:#c0392b;border-color:#c0392b}.checkout-button{flex-shrink:0;padding:.75rem 2rem}.modal-button{border:none}.modal-button.cancel{background:var(--background);border:.125rem solid var(--sub-accent);color:var(--text)}.modal-button.cancel:hover{background:var(--sub-text);color:var(--background)}.modal-button.confirm{background:#e74c3c;color:#fff}.modal-button.confirm:hover{background:#c0392b}.checkout-box{display:flex;flex-direction:column;gap:.75rem}.version-selector{align-items:stretch;display:flex;gap:.75rem}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--sub-background);border:.25rem solid var(--accent);border-radius:.75rem;box-shadow:0 1rem 2rem #00000080;display:flex;flex-direction:column;gap:1.5rem;max-width:32rem;min-width:25rem;padding:2rem}.modal-content.danger{border-color:#e74c3c}.modal-title{color:var(--accent);font-size:1.5rem;font-weight:600;margin:0}.modal-content.danger .modal-title{color:#e74c3c}.modal-message{color:var(--text);font-size:1rem;line-height:1.5;margin:0}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}@media (max-width:80rem){.dual-section-row{flex-direction:column}}@media (max-width:64rem){.health-grid{grid-template-columns:1fr}}@media (max-width:48rem){.hidden-page{padding:1.5rem}.password-auth-container{grid-template-columns:1fr}.auth-button,.reset-password-toggle{width:100%}.password-reset-inputs,.version-selector{flex-direction:column}.modal-content{margin:1rem;max-width:calc(100vw - 2rem);min-width:auto}.modal-actions{flex-direction:column}.modal-button{width:100%}}.admin-toast{background:var(--sub-background);border:.125rem solid var(--accent);border-radius:.5rem;bottom:2rem;box-shadow:0 .5rem 1.5rem #0006;color:var(--text);font-size:.9rem;font-weight:500;max-width:22rem;padding:.75rem 1.25rem;position:fixed;right:2rem;transition:opacity .3s ease,transform .3s ease;z-index:2000}.admin-toast-visible{opacity:1;transform:translateY(0)}.admin-toast-hidden{opacity:0;pointer-events:none;transform:translateY(.5rem)}.peptide-retention-page{background:var(--background);color:var(--text);min-height:100vh;padding:2rem}.input-section{align-items:center;display:flex;margin-bottom:1rem}.peptide-input{flex-grow:1;margin-right:1rem}.peptides-list{display:flex;flex-wrap:wrap;margin-top:1rem}.peptides-list div:first-child{color:var(--sub-text);font-weight:500;margin-bottom:.5rem}.predict-button{background-color:var(--accent)!important;color:"white"!important;height:3rem}.pr-label{color:"white"!important;font-weight:600!important;margin:0!important;max-width:140px!important;overflow:hidden!important;text-overflow:ellipsis!important}.predict-button:disabled{background-color:var(--sub-accent)!important;border:.125rem solid var(--sub-background);color:var(--sub-text)!important}.results-card .MuiTable-root{background:var(--sub-background);color:var(--text)}.results-card .MuiTableHead-root{background:var(--highlight)}.results-card .MuiTableHead-root .MuiTableCell-root{color:var(--accent);font-size:1.1rem;font-weight:700}.results-card .MuiTableBody-root .MuiTableCell-root{border-bottom:1px solid var(--sub-text);color:var(--text)}.results-card .MuiTableRow-root:hover{background:var(--highlight)}.results-card{background-color:var(--sub-background)!important;border:.25rem solid var(--accent);color:var(--text);margin-top:2rem;width:99%}.results-card .MuiCardHeader-title{color:var(--accent);font-weight:700}.error-alert{background:var(--sub-accent);border:.125rem solid var(--accent);color:var(--text);margin-top:1rem}.peptide-chip{background-color:var(--sub-accent)!important;margin:.25rem!important}.loading-spinner{margin-left:1rem}.chromatogram-loading-overlay .MuiCircularProgress-circle{stroke:var(--accent)!important}.chromatogram-section{background-color:var(--sub-background);margin-top:20px;width:100%}.disabled{opacity:.5;pointer-events:none}.table-container{position:relative}.chromatogram-loading-overlay,.loading-overlay{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.chromatogram-loading-overlay{z-index:10}.ionx-page{background:var(--background);box-sizing:border-box;color:var(--text);max-width:100%;min-height:100vh;padding:2rem}.ionx-card{background-color:var(--sub-background)!important;border:.25rem solid var(--accent);box-sizing:border-box;margin-bottom:1.25rem;min-width:0}.ionx-card .MuiCardHeader-title{color:var(--accent);font-weight:700}.ionx-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.ionx-button{background-color:var(--accent)!important;color:#fff!important}.ionx-summary-grid{grid-gap:.5rem 1rem;display:grid;gap:.5rem 1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ionx-chart-wrap{height:360px;min-height:320px;width:100%}.ionx-card .MuiTableContainer-root{max-width:100%;overflow-x:auto;width:100%}.ionx-card .MuiTable-root{width:100%}.ionx-card .MuiTableCell-root{overflow-wrap:break-word;vertical-align:top;word-break:normal}.ionx-card .MuiTableHead-root .MuiTableCell-root{overflow-wrap:normal;white-space:nowrap;word-break:normal}.ionx-fractions-table{table-layout:fixed}.ionx-fractions-table td:first-child,.ionx-fractions-table th:first-child{width:160px}.ionx-fractions-table td:nth-child(2),.ionx-fractions-table th:nth-child(2){width:180px}.ionx-fractions-table td:nth-child(3),.ionx-fractions-table th:nth-child(3){width:150px}.ionx-sort-header{align-items:center;display:inline-flex;gap:.2rem}.ionx-hit-ids-cell{max-width:0}.ionx-hit-ids-scroll{align-content:flex-start;display:flex;flex-wrap:wrap;max-height:8.5rem;overflow:auto;padding-right:.25rem}.ionx-summary-info-card{align-items:center;background-color:var(--background)!important;border:.1rem solid var(--accent);display:flex;gap:1rem;padding:.5rem 1rem}
/*# sourceMappingURL=main.cd56dc09.css.map*/