@media(max-width:960px){html:has(.tool-directory-list),body:has(.tool-directory-list){height:auto;min-height:100dvh;overflow:visible}body:has(.tool-directory-list){display:block}main#main-content.nslist-main:has(.tool-directory-list){height:auto;overflow:visible;display:block}.tool-directory-list>.nslist__aside,.tool-directory-list>.nslist__scroll{height:auto;max-height:none;overflow:visible;min-width:0}}@media(min-width:961px){.tool-directory-list>.nslist__aside{min-width:0;max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;padding-right:var(--space-2xs)}.tool-directory-list>.nslist__scroll{min-width:0}}.tool-directory-list .tool-purposes,.tool-directory-list .tool-availability{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin:0}main#main-content.nslist-main:has(.tool-directory-list)>.site-footer{position:static;left:auto;width:calc(100% + clamp(32px,8vw,96px));transform:none;margin-inline:calc(0px - clamp(16px,4vw,48px))}.tool-directory-list .tool-purposes a{display:inline-flex;align-items:center;min-height:44px;color:var(--text-primary);border-bottom:1px solid var(--accent);text-decoration:none}.tool-directory-list .tool-availability{color:var(--text-secondary);font-size:var(--text-sm)}.tool-directory-list .tool-directory-row{padding:1.25rem;gap:.85rem;animation:none}.tool-directory-list .tool-card__name{font-size:var(--text-lg);line-height:1.5}.tool-directory-list .tool-card__desc{font-size:max(14px,var(--text-sm));line-height:1.7;-webkit-line-clamp:2}.tool-directory-list .tool-card__tag,.tool-directory-list .tool-card__badge,.tool-directory-list .tool-card__footer{font-size:max(14px,var(--text-xs))}.tool-directory-list .tool-card__badge{white-space:normal}.tool-directory-list .tool-card__new-tab{position:relative;pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-13px -14px -13px 0;border-radius:var(--radius-control);color:var(--text-secondary);transition:var(--transition-colors)}.tool-directory-list .tool-card__new-tab:hover{color:var(--accent);background:var(--accent-bg-soft)}.tool-directory-list .tool-card__new-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tool-directory-list .tool-card__new-tab[data-tooltip]:after{content:attr(data-tooltip);position:absolute;inset-block-end:calc(100% + var(--space-2xs));inset-inline-end:0;z-index:5;width:max-content;max-width:min(15rem,calc(100vw - 2rem));box-sizing:border-box;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card-solid);box-shadow:var(--shadow-whisper);color:var(--text-primary);font-size:max(14px,var(--text-xs));line-height:var(--leading-normal);text-align:center;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard)}.tool-directory-list .tool-card__new-tab[data-tooltip]:hover:after,.tool-directory-list .tool-card__new-tab[data-tooltip]:focus-visible:after{opacity:1;visibility:visible}.tool-directory-list .tool-directory-row--disabled{opacity:1;background:var(--bg-secondary)}.card-section{margin-bottom:2.5rem}.card-section__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.card-section__icon{font-size:1.5rem;line-height:1;flex-shrink:0;margin-top:.15rem}.card-section__title{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.card-section__desc{margin:.25rem 0 0;font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.card-grid{container-type:inline-size;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}@container (max-width: 500px){.card-grid{grid-template-columns:1fr}}@container (min-width: 501px) and (max-width: 860px){.card-grid{grid-template-columns:repeat(2,1fr)}}.tool-directory-row{position:relative;display:flex;flex-direction:column;gap:.6rem;padding:1.1rem 1.05rem;border-radius:var(--radius-container);border:1px solid var(--border);background:var(--bg-card-solid);box-shadow:var(--shadow-whisper);text-decoration:none;overflow:visible;transition:var(--transition-lift);cursor:pointer}.tool-directory-row[hidden]{display:none!important}@media(hover:hover)and (pointer:fine){.tool-directory-row:hover{border-color:var(--accent);transform:translateY(var(--lift-control));box-shadow:var(--shadow-whisper),var(--shadow-ring)}.tool-directory-row:hover .tool-card__arrow{transform:translate(3px)}}.tool-directory-row:focus-within{border-color:var(--accent)}.tool-card__main-link{position:absolute;inset:0;z-index:2;border-radius:0}.tool-card__main-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tool-card__head,.tool-card__footer{position:relative;z-index:3;pointer-events:none}.tool-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.tool-card__icon{display:inline-flex;align-items:center;color:var(--accent);flex-shrink:0;opacity:.85}.tool-card__title-block{min-width:0;display:flex;flex-direction:column;gap:.3rem}.tool-card__name{margin:0;font-family:var(--font-display);font-size:1.02rem;font-weight:600;color:var(--text-primary);line-height:1.35}.tool-card__badge{flex-shrink:0;font-family:var(--font-mono);font-size:.68rem;color:var(--bio-cyan);background:transparent;border:1px solid var(--accent-border-hover);border-radius:var(--radius-control);padding:.2em .65em;white-space:nowrap;align-self:flex-start}.tool-card__desc{margin:0;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tool-card__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:0;padding-top:0}.tool-card__tag{font-family:var(--font-mono);font-size:.66rem;color:var(--text-muted);background:transparent;border:none;border-radius:0;padding:0;white-space:nowrap}.tool-card__tag+.tool-card__tag:before{content:"·";margin-right:.35rem;color:var(--text-muted);opacity:.7}.tool-card__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--space-2xs);margin-top:auto;padding-top:.6rem;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.tool-card__footer .tool-card__tags{grid-column:1;margin-top:0;padding-top:0}.tool-card__arrow{grid-column:2;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--accent);transition:var(--transition-transform)}.tool-directory-row--disabled{cursor:default;opacity:.5;pointer-events:none}.tool-directory-row--disabled:hover{border-color:var(--border);transform:none;box-shadow:var(--shadow-whisper)}.tool-card__badge--coming-soon{color:var(--badge-amber-color);background:transparent;border-color:var(--badge-amber-border)}.tool-card__badge--pro{color:var(--accent);background:transparent;border-color:var(--accent-border-soft)}@media(max-width:640px){.card-grid{grid-template-columns:1fr}.tool-card__footer{grid-template-columns:minmax(0,1fr)}.tool-card__arrow{display:none}.tool-card__footer:not(:has(.tool-card__tags)){display:none}}.tool-page-header{margin-bottom:2.5em;padding-bottom:1.5em;border-bottom:1px solid var(--border)}.tool-breadcrumb{font-size:.8em;color:var(--text-muted);margin-bottom:.8em;font-family:var(--font-mono)}.tool-breadcrumb a{color:var(--text-muted);text-decoration:none;transition:color .2s}.tool-breadcrumb a:hover{color:var(--bio-cyan)}.tool-breadcrumb .sep{margin:0 .5em;opacity:.5}.tool-page-header h1{font-family:var(--font-display);font-size:1.8em;margin-bottom:.2em;letter-spacing:.05em;color:var(--text-primary)}.tool-page-header .page-sub{color:var(--text-secondary);margin:0;font-size:1em}.tool-container{width:100%;max-width:1280px;margin:0 auto}@media(max-width:640px){.tool-container{width:100%;padding-inline:.25rem}}.tool-detail-body>.tool-container,.tool-container .tool-container{border:none;background:none;box-shadow:none;border-radius:0;padding:0}.tool-operation-zone{background:var(--header-bg);border:1px solid var(--border);border-radius:var(--radius-region);padding:1.5em 1.8em;margin-bottom:1.5em;position:relative;transition:all .3s ease;box-shadow:0 4px 20px var(--shadow-ink-soft)}.tool-operation-zone:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),var(--bio-cyan),transparent);opacity:.5}.tool-operation-zone:focus-within{border-color:var(--accent);box-shadow:0 0 24px var(--accent-bg-soft)}.tool-operation-zone .zone-header{display:flex;align-items:center;gap:.5em;margin-bottom:1em;font-size:.78em;font-family:var(--font-mono);color:var(--bio-cyan);text-transform:uppercase;letter-spacing:.08em}.changelog-block{border:1px solid var(--border);border-radius:var(--radius-region);overflow:hidden}.changelog-block>summary{list-style:none;padding:.7em 1em;font-size:.85em;font-weight:600;color:var(--text-secondary);cursor:pointer;user-select:none;display:flex;align-items:center;gap:.4em;transition:color .15s}.changelog-block>summary::-webkit-details-marker{display:none}.changelog-block>summary:after{content:"▸";margin-left:auto;font-size:.8em;transition:transform .2s}.changelog-block[open]>summary:after{transform:rotate(90deg)}.changelog-block>summary:hover{color:var(--text-primary)}.changelog-body{padding:.5em 1em 1em;display:flex;flex-direction:column;gap:1.2em}.changelog-entry{border-left:2px solid var(--border);padding-left:1em}.changelog-entry ul{margin:.4em 0 0;padding-left:1.2em;font-size:.82em;color:var(--text-secondary);line-height:1.65}.changelog-version{font-family:var(--font-mono);font-size:.8em;font-weight:700;color:var(--bio-cyan);margin-right:.6em}.changelog-date{font-size:.75em;color:var(--text-secondary);opacity:.7}.changelog-block--compact{background:var(--bg-card);border:1px solid var(--border-color, var(--surface-glow));border-radius:var(--radius-region);padding:1em 1.2em}.changelog-block--compact .changelog-body{padding:0;margin:0}.changelog-view-all{display:inline-block;margin-top:.6em;font-size:.82em;color:var(--bio-cyan);text-decoration:none;transition:opacity .2s ease}.changelog-view-all:hover{opacity:.8;text-decoration:underline}@media(max-width:820px),(max-height:820px){html:has(main.tool-main-viewport):not([data-tool-analysis-mode=true]){height:auto;overflow:auto}html:has(main.tool-main-viewport):not([data-tool-analysis-mode=true]) body{height:auto;overflow:visible}html:not([data-tool-analysis-mode=true]) main.tool-main-viewport:not(:fullscreen){height:auto;overflow:visible}html:not([data-tool-analysis-mode=true]) main.tool-main-viewport:not(:fullscreen) .tool-detail-body{flex:none;min-height:auto;overflow-y:visible}}.data-input-group{margin-bottom:1.2em}.data-input-group label{display:flex;align-items:center;gap:.5em;font-weight:600;margin-bottom:.5em;color:var(--text-primary);font-size:.9em}.data-input-group .label-badge{font-family:var(--font-mono);font-size:.75em;color:var(--text-muted);font-weight:400;background:var(--surface-tint);padding:.1em .4em;border-radius:var(--radius-control)}.data-input-group textarea{width:100%;padding:1em;font-family:var(--font-mono);font-size:.85em;line-height:1.6;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-region);color:var(--text-primary);resize:vertical;transition:var(--transition-colors),box-shadow var(--duration-base) var(--ease-standard)}.data-input-group textarea::placeholder{color:var(--text-muted);font-style:italic;opacity:.5}.data-input-group textarea:focus{border-color:var(--bio-cyan);box-shadow:0 0 15px var(--success-bg);background:var(--input-bg-focus)}.input-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.4em .8em;margin-top:.4em;min-height:1.4em}.input-error{color:var(--error-color);font-size:.8em;display:flex;align-items:center;gap:.3em}.input-count{color:var(--bio-cyan);font-size:.78em;font-family:var(--font-mono);font-weight:600}.input-help{color:var(--text-muted);font-size:.76em;font-family:var(--font-mono)}.data-input-group input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-region);color:var(--text-primary)}.data-input-group input:focus{border-color:var(--bio-cyan);box-shadow:0 0 12px var(--success-bg)}.sample-data-btn{display:inline-flex;align-items:center;gap:.3em;background:none;border:1px solid var(--border);border-radius:var(--radius-container);color:var(--text-muted);font-size:.75em;font-family:var(--font-mono);padding:.3em .7em;cursor:pointer;transition:all .2s ease;margin-left:auto}.sample-data-btn:hover{border-color:var(--accent);color:var(--accent-light);background:var(--accent-glow)}.tool-btn{display:flex;align-items:center;justify-content:center;gap:.5em;width:100%;padding:.9em;margin:2em 0;font-family:var(--font-body);font-weight:700;font-size:1.05em;letter-spacing:.05em;background:linear-gradient(135deg,var(--accent) 0%,var(--bio-cyan) 100%);color:var(--bg-primary);border:none;border-radius:var(--radius-region);cursor:pointer;transition:all .3s var(--ease-standard);box-shadow:0 0 20px var(--accent-border-strong);position:relative;overflow:hidden;z-index:1}.tool-btn:hover:not(:disabled){transform:translateY(var(--lift-control));box-shadow:0 0 30px var(--success-color);color:#000}.tool-btn:active:not(:disabled){transform:translateY(0)}.tool-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-secondary);color:var(--text-muted);box-shadow:none;border:1px solid var(--border)}.tool-results{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-region);padding:2em;margin-top:1.5em;--motion-rise-distance: 16px;animation:motion-rise .4s var(--ease-standard);position:relative;box-shadow:0 10px 40px var(--shadow-ink-strong)}.tool-results:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--bio-cyan),transparent)}.stat-details{--motion-rise-distance: 8px;animation:motion-rise var(--duration-base) var(--ease-out-soft) both}.tool-results h3{margin:0 0 1.2em;font-size:1em;color:var(--bio-cyan);text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-mono);font-weight:600;display:flex;align-items:center;gap:.5em}.tool-results h3:before{content:"▶";font-size:.8em}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7em}.stat-item{background:var(--surface-tint);border:1px solid var(--border);border-radius:var(--radius-region);padding:.9em 1em;display:flex;flex-direction:column;gap:.25em;transition:all .2s ease}.stat-item:hover{border-color:var(--accent);background:var(--accent-bg-faint)}.stat-label{font-size:.7em;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono)}.stat-value{font-family:var(--font-mono);font-size:1.15em;color:var(--text-primary);font-weight:700}.stat-value.significant{color:var(--success-color);text-shadow:0 0 10px var(--success-drag-border)}.stat-value.highlight{color:var(--accent-light)}.significance-badge{display:inline-flex;align-items:center;gap:.5em;margin-top:1.2em;padding:.6em 1.2em;border-radius:var(--radius-container);font-weight:700;font-size:.9em;font-family:var(--font-body);letter-spacing:.05em}.significance-badge.sig{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-drag-border);box-shadow:0 0 15px var(--success-bg)}.significance-badge.nosig{background:var(--error-light);color:var(--error-color);border:1px solid var(--error-border)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.2em}@media(max-width:600px){.two-col{grid-template-columns:1fr}}.test-type-selector{margin-bottom:2em}.test-type-selector>label{display:block;font-weight:600;margin-bottom:.6em;color:var(--text-primary);font-size:.9em}.radio-group{display:flex;flex-wrap:wrap;gap:.5em}.radio-option{padding:.55em 1.2em;border:1px solid var(--border);border-radius:var(--radius-container);cursor:pointer;font-size:.85em;font-weight:500;transition:all .25s ease;color:var(--text-secondary);background:transparent;user-select:none}.radio-option:hover{border-color:var(--bio-cyan);color:var(--text-primary)}.radio-option.active{border-color:var(--bio-cyan);color:var(--bio-cyan);background:var(--success-bg);box-shadow:0 0 15px var(--success-bg);font-weight:600}.radio-option input{display:none}.groups-container{display:flex;flex-direction:column;gap:.8em}.group-row{position:relative}.remove-btn{position:absolute;top:.2em;right:.2em;background:var(--error-light);border:1px solid var(--error-border);border-radius:var(--radius-container);color:var(--error-color);font-size:.72em;cursor:pointer;padding:.3em .6em;transition:all .2s ease;font-family:var(--font-mono)}.remove-btn:hover{background:var(--error-border)}.add-group-btn{background:none;border:1px dashed var(--border);border-radius:var(--radius-region);padding:.8em;color:var(--text-muted);cursor:pointer;font-size:.85em;font-family:var(--font-body);font-weight:600;transition:all .25s ease}.add-group-btn:hover{border-color:var(--bio-cyan);color:var(--bio-cyan);background:var(--success-bg)}.posthoc-section{margin-top:2em;padding-top:1.5em;border-top:1px solid var(--border);max-width:100%;overflow-x:auto}.posthoc-section h4{margin-bottom:.8em;color:var(--text-primary);font-size:.9em;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-mono)}.posthoc-table{width:100%;border-collapse:collapse;font-size:.85em;font-family:var(--font-mono)}.posthoc-table th,.posthoc-table td{padding:.7em 1em;text-align:left;border-bottom:1px solid var(--border)}.posthoc-table th{color:var(--bio-cyan);font-weight:600;text-transform:uppercase;font-size:.75em;letter-spacing:.05em}.posthoc-table tr:hover td{background:var(--surface-tint)}.boxplot-section,.scatter-section{margin-top:2em;padding-top:1.5em;border-top:1px solid var(--border)}.boxplot-section h4,.scatter-section h4{margin-bottom:.8em;color:var(--text-primary);font-size:.9em;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-mono)}.boxplot-svg,.scatter-svg{width:100%;max-width:560px;height:auto;margin:0 auto;display:block;background:var(--shadow-ink-strong);border:1px solid var(--border);border-radius:var(--radius-region);padding:8px}.copy-results-btn{display:inline-flex;align-items:center;gap:.4em;background:none;border:1px solid var(--border);border-radius:var(--radius-container);color:var(--text-muted);font-size:.75em;font-family:var(--font-mono);padding:.35em .8em;cursor:pointer;transition:all .2s ease;float:right;margin-top:-.5em}.copy-results-btn:hover{border-color:var(--bio-cyan);color:var(--bio-cyan)}.copy-results-btn.copied{border-color:var(--success-color);color:var(--success-color)}.key-finding{text-align:center;padding:1.5em 1.2em;background:linear-gradient(135deg,var(--accent-bg-soft),var(--success-bg));border-radius:var(--radius-region);margin-bottom:1.5em;border:1px solid var(--accent-border-soft)}.key-finding .key-value{font-family:var(--font-mono);font-size:1.8em;font-weight:700;color:var(--text-primary);line-height:1.3}.key-finding .key-sub{font-size:.85em;color:var(--text-muted);margin-top:.3em;font-family:var(--font-mono)}.key-finding.significant .key-value{color:var(--bio-cyan);text-shadow:0 0 20px var(--success-color)}.info-banner{margin:1rem 0;padding:.75rem 1rem;border-radius:var(--radius-container);background:var(--accent-bg-soft, var(--accent-bg-soft));border-left:3px solid var(--accent, var(--accent));color:var(--text-secondary, var(--text-secondary));font-size:.9rem;line-height:1.5}.tool-controls-row .control-group{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-region);padding:1em}.control-label{color:var(--text-secondary);font-size:.75em;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6em;display:block}.tool-toggle{flex:1;background:var(--shadow-ink-strong);border:1px solid var(--border);border-radius:var(--radius-container);padding:.5em;color:var(--text-secondary);font-size:.85em;cursor:pointer;transition:all .2s}.tool-toggle.active{background:var(--accent-border-soft);border-color:var(--accent);color:var(--accent-light);box-shadow:0 0 10px var(--accent-bg-soft)}.ihc-sidebar-status{text-align:center;padding:.8em 1em;font-size:.78em;color:var(--text-muted);font-family:var(--font-mono);border:1px dashed var(--border);border-radius:var(--radius-region);background:var(--shadow-ink-soft)}.ihc-canvas-wrap{border-radius:var(--radius-region);overflow:hidden;border:1px solid var(--border);background:var(--shadow-ink-strong)}.ihc-canvas-label{padding:.4em .8em;font-size:.7em;color:var(--bio-cyan);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;background:var(--success-bg);border-bottom:1px solid var(--border)}.ihc-metric{background:var(--surface-tint);border:1px solid var(--border);border-radius:var(--radius-region);padding:.7em .9em;display:flex;justify-content:space-between;align-items:baseline}.ihc-metric.accent{border-color:var(--accent);background:var(--accent-bg-soft)}.ihc-metric-val{font-size:1.2em;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.ihc-metric.accent .ihc-metric-val{color:var(--accent-light)}.tool-container-wide{max-width:1220px;margin:0 auto}.ihc-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.95fr);gap:1.2em;align-items:start}.ihc-strip-main-column{min-width:0;display:flex;flex-direction:column;gap:.9em}.ihc-canvas-area{background:var(--header-bg);border:1px solid var(--border);border-radius:var(--radius-region);padding:1em;box-shadow:0 10px 28px var(--shadow-ink-soft)}.ihc-sidebar{display:flex;flex-direction:column;gap:1em;position:sticky;top:90px}.ihc-sidebar-idle{opacity:.98}.ihc-view-bar{display:flex;justify-content:space-between;align-items:center;gap:.8em;margin-bottom:.9em}.ihc-view-label{font-size:.78em;color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.ihc-view-toggles,.ihc-method-btns,.ihc-actions{display:flex;flex-wrap:wrap;gap:.45em}.ihc-view-btn,.ihc-method-btn,.ihc-action-btn,.ihc-eyedropper-btn,.ihc-new-btn{border:1px solid var(--border);border-radius:var(--radius-region);background:var(--surface-tint);color:var(--text-secondary);font-size:.82em;font-family:var(--font-mono);padding:.55em .9em;cursor:pointer;transition:all .2s ease}.ihc-view-btn:hover,.ihc-method-btn:hover,.ihc-action-btn:hover,.ihc-eyedropper-btn:hover,.ihc-new-btn:hover{border-color:var(--bio-cyan);color:var(--bio-cyan);background:var(--success-bg)}.ihc-view-btn.active,.ihc-method-btn.active,.ihc-eyedropper-btn.active{border-color:var(--accent);background:var(--accent-bg-medium);color:var(--accent-light)}.ihc-canvases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1em}.ihc-analyzing-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--header-bg);color:var(--bio-cyan);font-family:var(--font-mono);font-size:.85em;letter-spacing:.04em}.ihc-warning,.ihc-error{margin-top:.8em;border-radius:var(--radius-region);padding:.75em .9em;font-size:.82em}.ihc-warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-color)}.ihc-error{background:var(--error-soft);border:1px solid var(--error-border);color:var(--error-color)}.ihc-threshold-display{display:flex;justify-content:space-between;align-items:center;gap:.7em;flex-wrap:wrap;margin-bottom:.75em}.ihc-threshold-value{color:var(--text-primary);font-size:1.35em;font-weight:700;font-family:var(--font-mono)}.ihc-otsu-badge{border:1px solid var(--success-drag-shadow);border-radius:var(--radius-control);padding:.25em .7em;background:var(--success-bg);color:var(--bio-cyan);font-size:.74em;font-family:var(--font-mono)}.ihc-slider{width:100%;accent-color:var(--accent)}.ihc-eyedropper-btn{width:100%;justify-content:center}.ihc-white-info{display:flex;justify-content:space-between;align-items:center;gap:.8em;margin-top:.75em;color:var(--text-secondary);font-size:.76em;font-family:var(--font-mono)}.ihc-reset-link{background:none;border:none;color:var(--bio-cyan);cursor:pointer;font-size:inherit;font-family:inherit}.ihc-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6em}.ihc-metric{flex-direction:column;align-items:flex-start;gap:.3em}.ihc-metric-lbl{color:var(--text-secondary);font-size:.74em;line-height:1.45}.ihc-dist-section{margin-top:.9em}.ihc-dist-label{color:var(--text-secondary);font-size:.78em;margin-bottom:.45em;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.ihc-dist-bar{display:flex;overflow:hidden;border-radius:var(--radius-control);height:16px;border:1px solid var(--border);background:var(--surface-tint)}.ihc-dist-seg{height:100%}.ihc-dist-legend{display:flex;flex-wrap:wrap;gap:.45em 1em;margin-top:.65em}.ihc-dist-item{display:inline-flex;align-items:center;gap:.38em;color:var(--text-secondary);font-size:.78em}.ihc-dist-dot{width:10px;height:10px;border-radius:var(--radius-control);display:inline-block}.ihc-action-btn.primary{border-color:var(--accent);background:var(--accent-bg-medium);color:var(--accent-light)}.ihc-action-btn.success{border-color:var(--success-drag-border);color:var(--success-color)}.ihc-new-btn{width:100%}.ihc-strip{min-width:0;border:1px solid var(--border);border-radius:var(--radius-region);padding:.65em;background:var(--header-bg);box-shadow:0 6px 18px var(--shadow-ink-soft);transition:border-color var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard)}.ihc-strip--drag-over{border-color:var(--accent);background:var(--accent-bg-soft)}.ihc-strip-list{display:flex;align-items:stretch;gap:.6em;min-width:0;overflow-x:auto;padding:.1em .1em .35em}.ihc-strip-item{position:relative;flex:0 0 116px;min-width:0}.ihc-strip-select,.ihc-strip-add{width:100%;min-width:0;border:1px solid var(--border);border-radius:var(--radius-region);background:var(--surface-tint);color:var(--text-secondary);cursor:pointer;font-family:var(--font-mono);transition:border-color var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard)}.ihc-strip-select{display:flex;flex-direction:column;gap:.35em;padding:.35em;text-align:left}.ihc-strip-select:hover,.ihc-strip-select:focus-visible,.ihc-strip-add:hover,.ihc-strip-add:focus-visible{border-color:var(--bio-cyan);color:var(--bio-cyan);background:var(--success-bg)}.ihc-strip-select[aria-current=true]{border-color:var(--accent);background:var(--accent-bg-medium);color:var(--accent-light);box-shadow:0 0 0 2px var(--accent-border-soft)}.ihc-strip-select:focus-visible,.ihc-strip-add:focus-visible,.ihc-strip-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ihc-strip-thumb{position:relative;display:block;width:100%;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius-control);background:var(--shadow-ink-strong)}.ihc-strip-thumb img{display:block;width:100%;height:100%;object-fit:cover}.ihc-strip-analyzed{position:absolute;top:.35em;right:.35em;width:.65em;height:.65em;border-radius:50%;border:1px solid var(--header-bg);background:var(--success-color);box-shadow:0 0 0 2px var(--shadow-ink-soft)}.ihc-strip-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72em;line-height:1.35}.ihc-strip-remove{position:absolute;top:.12em;right:.12em;width:1.5em;height:1.5em;border:1px solid var(--border);border-radius:50%;background:var(--error-soft);color:var(--error-color);cursor:pointer;font-size:.8em;line-height:1;opacity:.9}.ihc-strip-remove:hover{border-color:var(--error-border);opacity:1}.ihc-strip-add{flex:0 0 116px;display:flex;min-height:91px;align-items:center;justify-content:center;gap:.35em;padding:.6em;font-size:.76em;white-space:normal;text-align:center}.ihc-strip-add-icon{font-size:1.25em;line-height:1}.ihc-strip-dropzone{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75em;border:1px dashed var(--border);border-radius:var(--radius-region);background:var(--shadow-ink-soft);color:var(--text-secondary);cursor:pointer;text-align:center;transition:border-color var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard)}.ihc-strip-dropzone:hover,.ihc-strip-dropzone:focus-visible,.ihc-strip-dropzone--drag-over{border-color:var(--accent);background:var(--accent-bg-soft);color:var(--accent-light);outline:none}.ihc-strip-dropzone-icon{color:var(--bio-cyan);font-size:3em;line-height:1}.ihc-strip-dropzone-label{font-size:1em;font-weight:600}.ihc-strip-dropzone-hint{color:var(--text-muted);font-size:.78em}.ihc-strip-dropzone-formats{display:flex;gap:.45em;color:var(--bio-cyan);font-family:var(--font-mono);font-size:.7em;letter-spacing:.08em}.ihc-strip-dropzone-formats span{padding:.3em .55em;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-tint)}@media(max-width:980px){.ihc-layout{grid-template-columns:1fr}.ihc-sidebar{position:static}}@media(max-width:720px){.ihc-canvases{grid-template-columns:1fr}.ihc-view-bar,.ihc-white-info{flex-direction:column;align-items:stretch}.ihc-actions{flex-direction:column}.ihc-strip-item,.ihc-strip-add{flex-basis:104px}}.action-bar{display:flex;flex-wrap:wrap;gap:.5em;align-items:center}.action-bar .btn-primary,.action-bar .tool-run-btn{min-width:160px}.btn-sm{font-family:var(--font-body);font-size:.8em;font-weight:600;padding:.5em 1em;border-radius:var(--radius-container);border:1px solid var(--border);background:var(--surface-tint);color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap}.btn-sm:hover{background:var(--success-bg);border-color:var(--bio-cyan);color:var(--bio-cyan)}@media(max-width:640px){.action-bar{flex-direction:column}.action-bar .btn-primary,.action-bar .tool-run-btn{width:100%;text-align:center}.btn-sm{width:100%;justify-content:center}}.analysis-guidance{background:var(--header-bg);border:1px solid var(--border);border-radius:var(--radius-region);padding:1.2em 1.4em;margin:0 0 1.5em;box-shadow:0 10px 30px var(--shadow-ink-soft)}.analysis-guidance__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75em 1em;margin-bottom:1em}.analysis-guidance__header>div:first-child{flex:1 1 260px;min-width:0}.analysis-guidance__header h3{margin:0;color:var(--text-primary);font-size:.95em;font-weight:600;letter-spacing:-.01em}.analysis-guidance__header p{margin:.35em 0 0;color:var(--text-secondary);font-size:.82em;line-height:1.6}.analysis-guidance__recommendation{font-family:var(--font-mono);font-size:.75em;color:var(--bio-cyan);border:1px solid var(--success-drag-shadow);border-radius:var(--radius-region);padding:.5em .9em;background:var(--success-bg);flex:1 1 320px;max-width:100%;line-height:1.55}.analysis-guidance__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8em}.analysis-guidance__card{background:var(--surface-tint);border:1px solid var(--border);border-radius:var(--radius-region);padding:.9em 1em;display:flex;flex-direction:column;gap:.35em}.analysis-guidance__label{font-size:.72em;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono)}.analysis-guidance__value{font-size:.95em;color:var(--text-primary);font-weight:600;line-height:1.5}.analysis-guidance__note{font-size:.78em;color:var(--text-secondary);line-height:1.55}.analysis-guidance__card.tone-pass{border-color:var(--success-drag-shadow);background:var(--success-bg)}.analysis-guidance__card.tone-warn{border-color:var(--warning-border);background:var(--warning-bg)}.analysis-guidance__card.tone-fail{border-color:var(--error-border);background:var(--error-soft)}.analysis-inline-note{font-size:.78em;color:var(--text-secondary);line-height:1.5}.chart-footnote{margin:.8em 0 0;color:var(--text-muted);font-size:.8em;line-height:1.6}.chart-tooltip{position:absolute;pointer-events:none;transform:translate(-50%,-100%);background:var(--input-bg-focus);border:1px solid var(--success-glow);border-radius:var(--radius-container);color:var(--text-primary);padding:.4em .6em;font-size:.75em;font-family:var(--font-mono);white-space:nowrap;box-shadow:0 8px 20px var(--shadow-ink-strong);z-index:6}.details-toggle{margin:1em 0;padding:.45em .8em;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-container);font-size:.8em;font-family:var(--font-mono);cursor:pointer;transition:all .2s ease}.details-toggle:hover{color:var(--bio-cyan);border-color:var(--bio-cyan)}.dose-response-tool{display:flex;flex-direction:column;gap:1.2rem}.dose-response-server-note .analysis-guidance__header h3{display:inline-flex;align-items:center;gap:.45rem}.dose-response-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:1rem;align-items:start}.dose-response-input-panel,.dose-response-result-panel{min-width:0}.dose-response-check{display:flex;align-items:center;gap:.55rem;color:var(--text-secondary);font-size:.88rem;margin:.9rem 0 0}.dose-response-check input{width:1rem;height:1rem;accent-color:var(--bio-cyan)}.dose-response-actions{margin-top:.5rem}.dose-response-actions .btn-sm{display:inline-flex;align-items:center;gap:.35rem}.dose-response-run{margin:1rem 0 0}.dose-response-error{margin:.7rem 0 0}.dose-response-empty{min-height:18rem;border:1px dashed var(--border);border-radius:var(--radius-region);background:var(--surface-tint);color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;text-align:center;padding:1.5rem}.dose-response-empty p{max-width:30rem;margin:0;line-height:1.6}.dose-response-results{margin-top:0}.dose-response-chart-block{margin-top:1.3rem;border:1px solid var(--border);border-radius:var(--radius-region);background:var(--input-bg);padding:1rem;overflow:hidden}.dose-response-chart-head,.dose-response-table-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;color:var(--text-primary);margin-bottom:.75rem}.dose-response-chart-head span{color:var(--text-muted);font-family:var(--font-mono);font-size:.76rem}.dose-response-warnings{margin-top:1rem;border:1px solid var(--warning-border);border-radius:var(--radius-region);background:var(--warning-bg);color:var(--text-secondary);padding:.9rem 1rem;line-height:1.55}.dose-response-warnings strong{display:block;color:var(--text-primary);margin-bottom:.45rem}.dose-response-warnings ul{margin:0;padding-left:1.1rem}.dose-response-table-wrap{margin-top:1.2rem}.dose-response-table-wrap .btn-sm{display:inline-flex;align-items:center;gap:.35rem}.dose-response-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.78rem}.dose-response-table th,.dose-response-table td{padding:.65rem .55rem;border-bottom:1px solid var(--border);text-align:right;vertical-align:top}.dose-response-table th:first-child,.dose-response-table td:first-child{text-align:left}.dose-response-table th{color:var(--text-muted);font-weight:600}@media(max-width:920px){.dose-response-grid{grid-template-columns:1fr}}@media(max-width:560px){.dose-response-chart-block,.dose-response-results{padding:1rem}.dose-response-table{font-size:.72rem}.dose-response-table th,.dose-response-table td{padding:.55rem .35rem}}.molbio-tool{display:flex;flex-direction:column;gap:1.2rem}.molbio-suite{display:flex;flex-direction:column;gap:1rem}.molbio-scope-banner{border:1px solid var(--accent-border-faint);border-radius:var(--radius-region);background:var(--accent-bg-faint);padding:.55rem .85rem;font-size:.86rem}.molbio-scope-banner>summary{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;cursor:pointer;color:var(--text-primary);list-style:none}.molbio-scope-banner>summary::-webkit-details-marker{display:none}.molbio-scope-banner>summary svg{color:var(--bio-cyan)}.molbio-scope-banner__privacy{color:var(--text-secondary);font-size:.8rem}.molbio-scope-banner>p{margin:.55rem 0 0;line-height:1.6}.molbio-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.molbio-tab{display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem;border:1px solid var(--border);border-radius:var(--radius-region);background:var(--bg-card);color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;transition:color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),background-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.molbio-tab:hover{border-color:var(--accent-border-hover);color:var(--text-primary)}.molbio-tab__icon{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;flex:0 0 auto;border-radius:999px;background:var(--accent-bg-soft);color:var(--bio-cyan)}.molbio-tab__text{display:flex;flex-direction:column;min-width:0}.molbio-tab__name{font-size:.98rem;font-weight:700;color:var(--text-primary)}.molbio-tab__desc{font-size:.78rem;line-height:1.35}.molbio-tab--active{border-color:color-mix(in srgb,var(--bio-cyan) 55%,transparent);background:color-mix(in srgb,var(--bio-cyan) 8%,var(--bg-card));box-shadow:var(--shadow-ring)}.molbio-tab--active .molbio-tab__icon{background:var(--bio-cyan);color:var(--bg-card-solid)}.molbio-tab:focus-visible{outline:2px solid var(--bio-cyan);outline-offset:2px}.molbio-impact{border:1px solid color-mix(in srgb,var(--warning-color) 35%,var(--border));border-radius:var(--radius-region);background:color-mix(in srgb,var(--warning-color) 5%,var(--bg-card));padding:.75rem .85rem;display:flex;flex-direction:column;gap:.55rem}.molbio-impact--clear{border-color:color-mix(in srgb,var(--success-color) 35%,var(--border));background:color-mix(in srgb,var(--success-color) 5%,var(--bg-card))}.molbio-impact__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .8rem}.molbio-impact__header h4{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.92rem}.molbio-impact__header h4 svg{color:var(--warning-color)}.molbio-impact--clear .molbio-impact__header h4 svg{color:var(--success-color)}.molbio-impact__intro,.molbio-impact__none{margin:0;font-size:.82rem;color:var(--text-secondary)}.molbio-impact__none{display:flex;align-items:center;gap:.35rem;color:var(--success-color)}.molbio-impact__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.molbio-impact__item{border-left:3px solid var(--border);border-radius:var(--radius-container);background:var(--bg-card-solid);padding:.55rem .7rem;display:flex;flex-direction:column;gap:.35rem}.molbio-impact__item--concern{border-left-color:var(--error-color)}.molbio-impact__item--acceptable{border-left-color:var(--warning-color)}.molbio-impact__item--info{border-left-color:var(--bio-cyan)}.molbio-impact__head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .55rem}.molbio-impact__badge{display:inline-flex;align-items:center;gap:.25rem;padding:.08rem .45rem;border-radius:var(--radius-control);font-size:.72rem;font-weight:700;white-space:nowrap}.molbio-impact__item--concern .molbio-impact__badge{color:var(--error-color);background:var(--error-bg)}.molbio-impact__item--acceptable .molbio-impact__badge{color:var(--warning-color);background:var(--warning-bg)}.molbio-impact__item--info .molbio-impact__badge{color:var(--bio-cyan);background:var(--bio-cyan-dim)}.molbio-impact__label{font-size:.88rem;color:var(--text-primary)}.molbio-impact__subject{color:var(--text-secondary);font-weight:600;margin-right:.35rem}.molbio-impact__subject:after{content:"·";margin-left:.35rem}.molbio-impact__values{display:flex;flex-wrap:wrap;gap:.2rem .9rem;margin:0;font-size:.78rem;color:var(--text-secondary)}.molbio-impact__values strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.molbio-impact__text{margin:0;font-size:.86rem;line-height:1.6;color:var(--text-primary)}.molbio-impact__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem .6rem}.molbio-impact__basis{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-secondary)}.molbio-impact__basis--unverified{color:var(--warning-color);font-weight:600}.molbio-impact-count{display:inline-flex;flex-wrap:wrap;gap:.3rem;margin-left:.5rem;vertical-align:middle}.molbio-impact-count__concern,.molbio-impact-count__acceptable{display:inline-flex;align-items:center;gap:.2rem;padding:.05rem .4rem;border-radius:var(--radius-control);font-size:.7rem;font-weight:700;white-space:nowrap}.molbio-impact-count__concern{color:var(--error-color);background:var(--error-bg)}.molbio-impact-count__acceptable{color:var(--warning-color);background:var(--warning-bg)}.molbio-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1rem;align-items:start}.molbio-panel{min-width:0;display:flex;flex-direction:column;gap:1rem}.molbio-panel--results{gap:1.2rem}.molbio-empty{min-height:12rem;border:1px dashed var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.9rem;margin:0;padding:1rem;text-align:center}.molbio-muted{color:var(--text-secondary);font-size:.86rem}.molbio-verdict{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .45rem;border-radius:999px;font-size:.74rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;border:1px solid transparent}.molbio-verdict--recommended{color:var(--bio-cyan);border-color:color-mix(in srgb,var(--bio-cyan) 45%,transparent);background:color-mix(in srgb,var(--bio-cyan) 10%,transparent)}.molbio-verdict--acceptable{color:var(--text-secondary);border-color:var(--border);background:color-mix(in srgb,var(--text-secondary) 8%,transparent)}.molbio-verdict--concern{color:var(--accent-gold, var(--accent));border-color:color-mix(in srgb,var(--accent-gold, var(--accent)) 50%,transparent);background:color-mix(in srgb,var(--accent-gold, var(--accent)) 12%,transparent)}.molbio-verdict--unknown{color:var(--text-secondary);border-color:var(--border);background:transparent;font-weight:500}.molbio-flag,.molbio-flag-text{display:inline-flex;align-items:center;gap:.25rem;margin-left:.4rem;color:var(--accent-gold, var(--accent))}.molbio-flag-text{font-size:.72rem;font-weight:600}.molbio-check-table .molbio-disclose{white-space:nowrap}.molbio-checks{overflow-x:auto;position:relative}.molbio-pair,.molbio-pair__body,.molbio-pair__primers>*,.molbio-candidate,.molbio-section{min-width:0}.molbio-section{overflow-x:auto;position:relative}.molbio-checks__caption{font-size:.92rem;margin:0 0 .5rem}.molbio-check-table{width:100%;border-collapse:collapse;font-size:.86rem}.molbio-check-table th,.molbio-check-table td{text-align:left;padding:.42rem .5rem;border-bottom:1px solid var(--border);vertical-align:top}.molbio-check-table thead th{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:600;white-space:nowrap}.molbio-check-table tbody th{text-transform:none;letter-spacing:normal;font-weight:600;color:var(--text-primary)}.molbio-num{font-variant-numeric:tabular-nums;white-space:nowrap}.molbio-check-table__detail>td{background:color-mix(in srgb,var(--text-secondary) 5%,transparent);padding:.75rem .6rem}.molbio-disclose{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;padding:.1rem 0;color:var(--bio-cyan);font:inherit;font-size:.8rem;cursor:pointer;text-align:left}.molbio-disclose:hover,.molbio-disclose:focus-visible{text-decoration:underline}.molbio-evidence{display:flex;flex-direction:column;gap:.7rem;font-size:.85rem}.molbio-evidence__grid{display:grid;grid-template-columns:minmax(7rem,auto) minmax(0,1fr);gap:.3rem .8rem;margin:0}.molbio-evidence__grid dt{color:var(--text-secondary);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.molbio-evidence__grid dd{margin:0;line-height:1.5}.molbio-evidence__refs h5,.molbio-evidence__alternatives h5{display:flex;align-items:center;gap:.3rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);margin:0 0 .35rem}.molbio-evidence__refs ul,.molbio-evidence__alternatives ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.45rem}.molbio-reference{line-height:1.5}.molbio-reference__ids{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.15rem;font-size:.78rem}.molbio-reference__ids a{color:var(--bio-cyan)}.molbio-alt__range{font-weight:600;margin-right:.4rem;font-variant-numeric:tabular-nums}.molbio-alt__context{color:var(--text-secondary)}.molbio-alt__unverified{display:block;margin-top:.15rem;font-size:.78rem;color:var(--accent-gold, var(--accent))}.molbio-alt__refs{margin-top:.3rem;padding-left:1rem}.molbio-unverified,.molbio-caveat{display:flex;gap:.4rem;align-items:flex-start;margin:0;padding:.5rem .6rem;border-left:2px solid var(--accent-gold, var(--accent));background:color-mix(in srgb,var(--accent-gold, var(--accent)) 7%,transparent);border-radius:0 6px 6px 0;font-size:.83rem;line-height:1.5}.molbio-parse-summary{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem 1rem;font-size:.8rem}.molbio-parse-summary li{display:flex;gap:.35rem;align-items:baseline}.molbio-parse-summary span{color:var(--text-secondary)}.molbio-parse-summary__warn strong{color:var(--accent-gold, var(--accent))}.molbio-conditions{border:1px solid var(--border);border-radius:10px;padding:.55rem .75rem}.molbio-conditions>summary{display:flex;align-items:center;gap:.4rem;cursor:pointer;font-weight:600;font-size:.9rem}.molbio-conditions__body{display:flex;flex-direction:column;gap:.7rem;padding-top:.75rem}.molbio-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.65rem}.molbio-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.molbio-field--wide{grid-column:1 / -1}.molbio-field label{font-size:.8rem;color:var(--text-secondary)}.molbio-field__unit{opacity:.75}.molbio-field input,.molbio-field select{width:100%;padding:.35rem .45rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font:inherit;font-size:.86rem}.molbio-range-pair{display:flex;align-items:center;gap:.35rem}.molbio-range-pair input{flex:1 1 0;min-width:0;padding:.35rem .45rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font:inherit;font-size:.86rem}.molbio-conditions__actions{display:flex;gap:.5rem}.molbio-check{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.85rem;margin:0}.molbio-check input{width:1rem;height:1rem;accent-color:var(--bio-cyan)}.molbio-panel:not(.molbio-panel--results){border:1px solid var(--border);border-radius:var(--radius-region);background:var(--bg-card);padding:1rem}.molbio-panel:not(.molbio-panel--results)>.test-type-selector,.molbio-panel:not(.molbio-panel--results)>.data-input-group{margin:0}.molbio-run{display:flex;gap:.6rem}.molbio-run .btn{flex:1 1 auto;justify-content:center;gap:.4rem;padding:.65rem 1rem;font-weight:700;color:var(--bg-card-solid);background:var(--bio-cyan);border:1px solid var(--bio-cyan);border-radius:var(--radius-control);box-shadow:var(--shadow-whisper)}.molbio-run .btn:hover:not(:disabled){background:color-mix(in srgb,var(--bio-cyan) 88%,var(--text-primary))}.molbio-run .btn:disabled{opacity:.45;cursor:not-allowed}.molbio-notes{margin:0;padding-left:1.1rem;font-size:.85rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:.3rem}.molbio-results-header{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.molbio-results-header h3{margin:0;font-size:1rem;flex:1 1 auto}.molbio-results-header p{margin:0}.molbio-section{display:flex;flex-direction:column;gap:.6rem}.molbio-section>h3{margin:0;font-size:1rem}.molbio-stat-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.5rem}.molbio-stat-row li{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px}.molbio-stat-row span{font-size:.74rem;color:var(--text-secondary)}.molbio-stat-row strong{font-variant-numeric:tabular-nums}.molbio-pair{border:1px solid var(--border);border-radius:10px;padding:.75rem .85rem;display:flex;flex-direction:column;gap:.75rem}.molbio-pair--open{border-color:color-mix(in srgb,var(--bio-cyan) 40%,var(--border))}.molbio-pair__header{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.molbio-pair__header h3{margin:0;font-size:.95rem;flex:0 0 auto}.molbio-pair__summary{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1rem;flex:1 1 auto}.molbio-pair__summary li{display:flex;flex-direction:column}.molbio-pair__summary span{font-size:.72rem;color:var(--text-secondary)}.molbio-pair__summary strong{font-size:.88rem;font-variant-numeric:tabular-nums}.molbio-pair__body{display:flex;flex-direction:column;gap:1rem}.molbio-pair__primers{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.molbio-candidate{display:flex;flex-direction:column;gap:.6rem;min-width:0}.molbio-candidate h4{margin:0;font-size:.9rem}.molbio-kv{display:grid;grid-template-columns:minmax(5.5rem,auto) minmax(0,1fr);gap:.25rem .7rem;margin:0;font-size:.85rem}.molbio-kv dt{color:var(--text-secondary);font-size:.78rem}.molbio-kv dd{margin:0;min-width:0;font-variant-numeric:tabular-nums}.molbio-kv dd ul{margin:0;padding-left:1rem}.molbio-seq{display:inline-block;max-width:100%;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;letter-spacing:.02em;background:color-mix(in srgb,var(--text-secondary) 8%,transparent);padding:.1rem .3rem;border-radius:4px}.molbio-seq--protein{letter-spacing:0}.molbio-structure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.8rem}.molbio-structure h5{margin:0 0 .3rem;font-size:.8rem;color:var(--text-secondary)}.molbio-tool pre.molbio-alignment{background:var(--bg-secondary)!important;color:var(--text-primary);box-shadow:none}.molbio-alignment{margin:0;padding:.5rem .6rem;border:1px solid var(--border);border-radius:6px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;line-height:1.35;white-space:pre}.molbio-supplied{display:flex;flex-direction:column;gap:.6rem}.molbio-supplied h4{margin:0;font-size:.9rem}.molbio-boundary,.molbio-provenance{border:1px solid color-mix(in srgb,var(--accent-gold, var(--accent)) 35%,var(--border));border-radius:10px;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.5rem;background:color-mix(in srgb,var(--accent-gold, var(--accent)) 5%,transparent)}.molbio-boundary h3,.molbio-boundary h4,.molbio-provenance h4{margin:0;font-size:.9rem;display:flex;align-items:center;gap:.35rem}.molbio-boundary p,.molbio-provenance p{margin:0;font-size:.85rem;line-height:1.55}.molbio-provenance__item h5{margin:0 0 .2rem;font-size:.83rem}.molbio-undetectable{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .5rem}.molbio-undetectable li{font-size:.78rem;padding:.1rem .45rem;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary)}.molbio-advisory-section{display:flex;flex-direction:column;gap:.5rem}.molbio-advisory-section>h3{margin:0;font-size:1rem}.molbio-advisory__body{display:flex;flex-direction:column;gap:1rem;padding-top:.6rem}.molbio-advisory__item h5{margin:0 0 .35rem;font-size:.86rem}.molbio-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.molbio-checklist li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.86rem}.molbio-checklist__text{flex:1 1 auto}.molbio-overlap-list{margin:0;padding-left:1.1rem;font-size:.85rem;display:flex;flex-direction:column;gap:.25rem}.molbio-beacon{display:flex;flex-direction:column;gap:.7rem}.molbio-beacon h3{margin:0;font-size:1rem}.molbio-map{width:100%;height:auto;max-width:460px;margin-inline:auto;display:block;overflow:visible}.molbio-map__backbone{fill:none;stroke:var(--border);stroke-width:1.5}.molbio-map__axis{stroke:var(--border);stroke-width:1.5}.molbio-map__origin{stroke:var(--text-secondary);stroke-width:1.5}.molbio-map__arc{fill:none;stroke-width:7;stroke-linecap:butt}.molbio-map__arc--inferred{stroke-dasharray:5 3}.molbio-map__bar--inferred{opacity:.72}.molbio-map__site{stroke:var(--text-secondary);stroke-width:1.2}.molbio-map__site-label,.molbio-map__tick-label{fill:var(--text-secondary);font-size:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.molbio-map__bar-label{fill:var(--text-primary);font-size:8px;dominant-baseline:hanging}.molbio-map__center-name{fill:var(--text-primary);font-size:13px;font-weight:600}.molbio-map__center-size{fill:var(--text-secondary);font-size:10px;font-variant-numeric:tabular-nums}.molbio-map__arc--promoter,.molbio-map__bar--promoter{--feature-color: var(--bio-cyan)}.molbio-map__arc--cds,.molbio-map__bar--cds{--feature-color: var(--accent-gold, var(--accent))}.molbio-map__arc--tag,.molbio-map__bar--tag{--feature-color: var(--bio-purple, var(--bio-cyan))}.molbio-map__arc--terminator,.molbio-map__bar--terminator,.molbio-map__arc--polya,.molbio-map__bar--polya{--feature-color: var(--text-secondary)}.molbio-map__arc--mcs,.molbio-map__bar--mcs{--feature-color: var(--bio-green, var(--bio-cyan))}.molbio-map__arc--recombination,.molbio-map__bar--recombination,.molbio-map__arc--operator,.molbio-map__bar--operator,.molbio-map__arc--rbs,.molbio-map__bar--rbs,.molbio-map__arc--linker,.molbio-map__bar--linker,.molbio-map__arc--protease,.molbio-map__bar--protease,.molbio-map__arc--localization,.molbio-map__bar--localization,.molbio-map__arc--other,.molbio-map__bar--other{--feature-color: var(--text-secondary)}.molbio-map__arc{stroke:var(--feature-color, var(--text-secondary));fill:none}.molbio-map__bar{fill:var(--feature-color, var(--text-secondary))}.radio-group--compact{gap:.35rem}@media(max-width:640px){.molbio-tabs{gap:.35rem}.molbio-tab{flex-direction:column;gap:.3rem;padding:.55rem .3rem;text-align:center}.molbio-tab__text{align-items:center}.molbio-tab__desc{display:none}.molbio-panel:not(.molbio-panel--results){padding:.75rem}}@media(max-width:960px){.molbio-grid{grid-template-columns:minmax(0,1fr)}.molbio-panel--results{scroll-margin-top:5rem}}@media(max-width:640px){.molbio-evidence__grid{grid-template-columns:minmax(0,1fr);gap:.15rem}.molbio-evidence__grid dt{margin-top:.35rem}.molbio-kv{grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr)}.molbio-check-table .molbio-col-range{display:none}.molbio-check-table .molbio-disclose__text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.molbio-check-table .molbio-disclose{padding:.35rem}.molbio-check-table{font-size:.8rem}.molbio-check-table th,.molbio-check-table td{padding:.35rem .3rem}}.protein-assay-workbench{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.protein-assay__scope{flex:0 0 auto;border:1px solid var(--accent-border-faint);border-radius:var(--radius-region);background:var(--accent-bg-faint);padding:var(--space-xs) var(--space-sm);color:var(--text-primary);font-size:var(--text-sm)}.protein-assay__scope>summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2xs) var(--space-xs);cursor:pointer;list-style:none}.protein-assay__scope>summary::-webkit-details-marker{display:none}.protein-assay__scope>summary svg{color:var(--accent)}.protein-assay__scope>summary span{color:var(--text-secondary);font-size:var(--text-xs)}.protein-assay__scope>p{margin:var(--space-xs) 0 0;color:var(--text-secondary)}.protein-assay__tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs);flex:0 0 auto}.protein-assay__tab{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:2.8rem;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-region);background:var(--bg-card-solid);color:var(--text-secondary);font:inherit;text-align:center;cursor:pointer;transition:var(--transition-colors)}.protein-assay__tab:hover{border-color:var(--accent-border-hover);color:var(--text-primary)}.protein-assay__tab--active{border-color:var(--accent);background:var(--accent-bg-soft);color:var(--text-primary);font-weight:700}.protein-assay__scope>summary:focus-visible,.protein-assay__tab:focus-visible,.protein-assay__small-button:focus-visible,.protein-assay__segment:focus-visible,.protein-assay__icon-button:focus-visible,.protein-assay__grid input:focus-visible,.protein-assay__unit-control select:focus-visible,.protein-assay__teaching-controls input:focus-visible,.protein-assay__dilution-inputs input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.protein-assay__plate-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-md);flex:1 1 auto;min-height:0}.protein-assay__plate-layout[hidden],.protein-assay__support-panel[hidden]{display:none}.protein-assay__panel,.protein-assay__support-panel{min-width:0;border:1px solid var(--border);border-radius:var(--radius-region);background:var(--bg-card-solid);box-shadow:var(--shadow-whisper);color:var(--text-primary)}.protein-assay__panel{display:flex;flex-direction:column;gap:var(--space-sm);min-height:0;overflow:auto;padding:var(--space-md)}.protein-assay__panel-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-xs);flex:0 0 auto}.protein-assay__panel-heading h2,.protein-assay__support-intro h2{margin:0;color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl)}.protein-assay__actions,.protein-assay__controls,.protein-assay__replicates,.protein-assay__segmented{display:flex;align-items:center;gap:var(--space-2xs)}.protein-assay__actions{flex-wrap:wrap}.protein-assay__small-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);min-height:2rem;padding:var(--space-3xs) var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-control);background:transparent;color:var(--text-primary);font:inherit;font-size:var(--text-xs);cursor:pointer;transition:var(--transition-colors)}.protein-assay__small-button:hover{border-color:var(--accent);background:var(--accent-bg-soft)}.protein-assay__small-button--selected{border-color:var(--accent);background:var(--accent-bg-soft);color:var(--text-primary)}.protein-assay__small-button--primary,.protein-assay__small-button--primary:hover{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.protein-assay__small-button:disabled{cursor:not-allowed;opacity:.55}.protein-assay__import{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0;max-width:100%;padding:var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-container);background:var(--bg-secondary)}.protein-assay__import--drag-active,.protein-assay__input-panel--drop-active{border-color:var(--accent);outline:2px dashed var(--accent);outline-offset:2px}.protein-assay__import-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:var(--space-xs);min-width:0}.protein-assay__import-textarea{width:100%;min-width:0;box-sizing:border-box;padding:var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card-solid);color:var(--text-primary);font:inherit;font-size:var(--text-xs);line-height:var(--leading-normal);resize:vertical}.protein-assay__import-textarea::placeholder{color:var(--text-muted)}.protein-assay__import-textarea--compact{font-family:var(--font-mono);font-size:var(--text-2xs)}.protein-assay__import-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs)}.protein-assay__import-toolbar .protein-assay__import-actions{margin-inline-start:auto}.protein-assay__import-file{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);align-self:start;min-height:2rem;padding:var(--space-3xs) var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card-solid);color:var(--text-primary);font-size:var(--text-xs);cursor:pointer;white-space:nowrap}.protein-assay__import-file:hover{border-color:var(--accent);background:var(--accent-bg-soft)}.protein-assay__import-file svg{color:var(--accent)}.protein-assay__import-file input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.protein-assay__import-groups,.protein-assay__import-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2xs)}.protein-assay__import-start{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs);color:var(--text-secondary);font-size:var(--text-xs)}.protein-assay__import-start select{min-height:2rem;min-width:3rem;padding:var(--space-3xs) var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card-solid);color:var(--text-primary);font:inherit}.protein-assay__import-preview-wrap{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--border);border-radius:var(--radius-container);background:var(--bg-card-solid)}.protein-assay__import-preview{width:100%;min-width:30rem;table-layout:fixed;border-collapse:separate;border-spacing:0;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.protein-assay__import-preview th,.protein-assay__import-preview td{padding:var(--space-3xs) 0;overflow:hidden;border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:center;white-space:nowrap}.protein-assay__import-preview tr:last-child>*{border-bottom:0}.protein-assay__import-preview tr>*:last-child{border-right:0}.protein-assay__import-preview thead th,.protein-assay__import-preview tbody th{background:var(--bg-secondary);color:var(--text-secondary);font-weight:600}.protein-assay__import-preview th:first-child{width:1.5rem}.protein-assay__import-preview th button{width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.protein-assay__import-preview .protein-assay__import-selected{background:var(--accent-bg-soft)}.protein-assay__import-preview .protein-assay__import-saturated{background:var(--warning-bg);color:var(--warning-color)}.protein-assay__import-mapping,.protein-assay__import-message{margin:0;color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal)}.protein-assay__import-message{padding:var(--space-2xs) var(--space-xs);border-inline-start:2px solid var(--warning-color);border-radius:var(--radius-control);background:var(--warning-bg)}.protein-assay__import-actions{justify-content:flex-end}.protein-assay__import-textarea:focus-visible,.protein-assay__import-file:focus-within,.protein-assay__import-start select:focus-visible,.protein-assay__import-preview th button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.protein-assay__controls{flex-wrap:wrap;justify-content:space-between;padding-bottom:var(--space-xs);border-bottom:1px solid var(--border);font-size:var(--text-xs)}.protein-assay__unit-control,.protein-assay__replicates{display:flex;align-items:center;gap:var(--space-xs);color:var(--text-secondary)}.protein-assay__unit-control select,.protein-assay__teaching-controls input,.protein-assay__dilution-inputs input{min-height:2rem;padding:var(--space-3xs) var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card-solid);color:var(--text-primary);font:inherit}.protein-assay__segment{min-width:2rem;min-height:2rem;padding:var(--space-3xs) var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card-solid);color:var(--text-secondary);font:inherit;cursor:pointer;transition:var(--transition-colors)}.protein-assay__segment:hover{border-color:var(--accent);color:var(--text-primary)}.protein-assay__segment--active{border-color:var(--accent);background:var(--accent-bg-soft);color:var(--text-primary);font-weight:700}.protein-assay__grid-wrap,.protein-assay__result-table-wrap{min-width:0;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-container)}.protein-assay__grid-wrap{flex:none;overflow-y:visible}.protein-assay__grid,.protein-assay__result-table{width:100%;border-collapse:separate;border-spacing:0;color:var(--text-primary);font-size:var(--text-xs)}.protein-assay__grid{width:100%;min-width:0;table-layout:fixed}.protein-assay__grid--replicates-1{min-width:21.25rem}.protein-assay__grid--replicates-2{min-width:25.75rem}.protein-assay__grid--replicates-3{min-width:30.25rem}.protein-assay__grid--replicates-4{min-width:34.75rem}.protein-assay__grid .protein-assay__column--sample{width:3.5rem}.protein-assay__grid .protein-assay__column--concentration{width:4.25rem}.protein-assay__grid .protein-assay__column--well{width:4.5rem}.protein-assay__grid .protein-assay__column--mean{width:3.75rem}.protein-assay__grid .protein-assay__column--cv{width:3.25rem}.protein-assay__grid .protein-assay__column--actions{width:2rem}.protein-assay__grid th,.protein-assay__grid td,.protein-assay__result-table th,.protein-assay__result-table td{padding:var(--space-3xs) var(--space-3xs);border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap}.protein-assay__grid th,.protein-assay__grid td{padding-block:0}.protein-assay__grid thead th,.protein-assay__result-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-secondary);color:var(--text-secondary);font-weight:600}.protein-assay__grid thead th{padding-block:var(--space-3xs);text-transform:none;line-height:1.2;white-space:normal}.protein-assay__grid tbody tr:not(.protein-assay__section-row):not(.protein-assay__add-row){height:2rem}.protein-assay__grid tr:last-child>*,.protein-assay__result-table tbody tr:last-child>*{border-bottom:0}.protein-assay__grid input{width:100%;min-width:0;min-height:1.75rem;box-sizing:border-box;padding:0 var(--space-3xs);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card-solid);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.protein-assay__grid input[type=number]{appearance:textfield}.protein-assay__grid input::-webkit-inner-spin-button,.protein-assay__grid input::-webkit-outer-spin-button{margin:0;appearance:none}.protein-assay__grid th:first-child input{font-family:var(--font-body)}.protein-assay__grid .protein-assay__readonly{color:var(--text-secondary);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.protein-assay__grid .protein-assay__cv--warning{background:var(--warning-bg);color:var(--warning-color);font-family:var(--font-mono)}.protein-assay__grid .protein-assay__well-cell--warning,.protein-assay__grid .protein-assay__well-cell--warning input{background:var(--warning-bg)}.protein-assay__grid-caption{margin:calc(-1 * var(--space-xs)) 0 calc(-1 * var(--space-xs));color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal);white-space:nowrap}.protein-assay__plate-note{margin:0;color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal)}.protein-assay__section-row th{position:sticky;left:0;padding-block:var(--space-3xs);background:var(--accent-bg-faint);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-sm)}.protein-assay__add-row td{padding-block:var(--space-3xs)}.protein-assay__add-row button{width:auto;min-height:1.75rem}.protein-assay__icon-button{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border:1px solid var(--border);border-radius:var(--radius-control);background:transparent;color:var(--text-secondary);cursor:pointer}.protein-assay__icon-button:hover{border-color:var(--error-color);background:var(--error-bg);color:var(--error-color)}.protein-assay__paste-hint,.protein-assay__chart-caption,.protein-assay__muted{margin:0;color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal)}.protein-assay__live-note{margin:0;color:var(--text-secondary);font-size:var(--text-xs)}.protein-assay__live-note:empty{display:none}.protein-assay__results-panel{gap:var(--space-sm)}.protein-assay__results-heading{position:sticky;top:calc(-1 * var(--space-md));z-index:2;margin:calc(-1 * var(--space-md)) calc(-1 * var(--space-md)) 0;padding:var(--space-md);background:var(--bg-card-solid)}.protein-assay__copy-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-xs)}.protein-assay__copy-controls .protein-assay__live-note{max-width:30ch}.protein-assay__verdict{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3xs);padding:var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-container);background:var(--bg-secondary)}.protein-assay__r2-block{display:flex;flex-direction:column;gap:var(--space-3xs)}.protein-assay__r2-block span{color:var(--text-secondary);font-size:var(--text-xs)}.protein-assay__r2-block strong{color:var(--text-primary);font-family:var(--font-mono);font-size:clamp(var(--text-xl),1.7vw,var(--text-2xl));font-variant-numeric:tabular-nums;line-height:1}.protein-assay__verdict-pill,.protein-assay__status{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:var(--space-3xs) var(--space-xs);border:1px solid transparent;border-radius:var(--radius-control);font-size:var(--text-2xs);font-weight:700;line-height:var(--leading-normal);white-space:normal}.protein-assay__verdict-pill--pass,.protein-assay__status--reportable{border-color:var(--success-color);background:var(--success-bg);color:var(--success-color)}.protein-assay__verdict-pill--fail,.protein-assay__status--curve-failed{border-color:var(--error-color);background:var(--error-bg);color:var(--error-color)}.protein-assay__status--out-of-range{border-color:var(--warning-color);background:var(--warning-bg);color:var(--warning-color)}.protein-assay__verdict p{flex:1 1 8rem;min-width:0;margin:0;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:nowrap}.protein-assay__fit-values{display:flex;flex-wrap:wrap;gap:var(--space-3xs) var(--space-xs);color:var(--text-secondary);font-size:var(--text-2xs)}.protein-assay__fit-values span{white-space:nowrap}.protein-assay__fit-values strong{color:var(--text-primary);font-family:var(--font-mono)}.protein-assay__verdict small{margin-left:auto;color:var(--text-muted);font-size:var(--text-2xs);white-space:nowrap}@media(min-width:1101px){.protein-assay__verdict{flex-wrap:nowrap}.protein-assay__verdict p{flex-basis:auto}.protein-assay__fit-values{flex-wrap:nowrap;gap:var(--space-3xs)}.protein-assay__verdict small{margin-left:0}}.protein-assay__chart-card,.protein-assay__unknown-results,.protein-assay__diagnostics,.protein-assay__lesson-list,.protein-assay__teaching-curve{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-container);background:var(--bg-card-solid)}.protein-assay__chart-card h3,.protein-assay__unknown-results h3,.protein-assay__diagnostics h3,.protein-assay__lesson-list h3,.protein-assay__teaching-curve h3,.protein-assay__method-grid h3{margin:0;color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-base)}.protein-assay__chart-card .teaching-standard-curve{display:block;width:100%;max-height:16rem}.protein-assay__chart-caption{text-align:right}.teaching-standard-curve__label{fill:var(--chart-text-ink);font-family:var(--font-mono);font-size:11px}.protein-assay__result-table{min-width:28rem}.protein-assay__result-table td:last-child{white-space:normal}.protein-assay__result-table small{display:block;color:var(--text-secondary);font-size:var(--text-2xs)}.protein-assay__numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.protein-assay__diagnostics ul,.protein-assay__lesson-list ul{margin:0;padding-inline-start:var(--space-md);color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal)}.protein-assay__diagnostics li+li,.protein-assay__lesson-list li+li{margin-top:var(--space-2xs)}.protein-assay__empty{display:grid;place-items:center;flex:1 1 auto;min-height:12rem;margin:0;padding:var(--space-md);border:1px dashed var(--border);border-radius:var(--radius-container);color:var(--text-secondary);text-align:center}.protein-assay__support-panel{min-height:0;overflow:auto;padding:var(--space-md)}.protein-assay__support-intro{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.protein-assay__support-intro p,.protein-assay__teaching-curve>div>p{max-width:78ch;margin:var(--space-2xs) 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.protein-assay__assay-tabs{flex-wrap:wrap}.protein-assay__method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);margin-bottom:var(--space-md)}.protein-assay__method-grid article{min-width:0;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-container);background:var(--bg-card-solid)}.protein-assay__method-grid article p{margin:var(--space-2xs) 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.protein-assay__teaching-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,1fr);gap:var(--space-md);align-items:start}.protein-assay__teaching-controls{display:grid;gap:var(--space-xs)}.protein-assay__teaching-controls label,.protein-assay__dilution-inputs label{display:grid;gap:var(--space-2xs);color:var(--text-secondary);font-size:var(--text-xs)}.protein-assay__teaching-result{display:grid;gap:var(--space-xs);padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-container);background:var(--bg-secondary)}.protein-assay__teaching-result>div,.protein-assay__dilution-results>div{display:flex;justify-content:space-between;gap:var(--space-xs);color:var(--text-secondary);font-size:var(--text-xs)}.protein-assay__teaching-result strong,.protein-assay__dilution-results strong{color:var(--text-primary);font-family:var(--font-mono)}.protein-assay__teaching-result p{margin:0;color:var(--text-secondary);font-size:var(--text-xs)}.protein-assay__teaching-result--within{border-color:var(--success-color);background:var(--success-bg)}.protein-assay__teaching-result--below,.protein-assay__teaching-result--above{border-color:var(--warning-color);background:var(--warning-bg)}.protein-assay__teaching-result--invalid{border-color:var(--error-color);background:var(--error-bg)}.protein-assay__teaching-curve>.protein-assay__chart-card{margin-top:var(--space-sm)}.protein-assay__lesson-list{margin-top:var(--space-md)}.protein-assay__dilution-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);margin-top:var(--space-md)}.protein-assay__dilution-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);margin-top:var(--space-md)}.protein-assay__dilution-results>div{display:grid;gap:var(--space-xs);align-content:center;min-height:6rem;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-container);background:var(--bg-secondary)}.protein-assay__input-error{margin-top:var(--space-md);padding:var(--space-sm);border:1px solid var(--error-color);border-radius:var(--radius-container);background:var(--error-bg);color:var(--error-color)}@media(min-width:821px)and (min-height:821px){.tool-main-viewport:has(.protein-assay-workbench) .tool-detail-body{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.tool-main-viewport:has(.protein-assay-workbench) .tool-container{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.protein-assay-workbench{flex:1 1 auto;min-height:0}}@media(max-width:1023px)and (min-height:821px){.protein-assay__plate-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.protein-assay__method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px),(max-height:820px){.tool-main-viewport:has(.protein-assay-workbench) .tool-detail-body{display:block;overflow:visible}.tool-main-viewport:has(.protein-assay-workbench) .tool-container{display:block;min-height:0}.protein-assay-workbench{min-height:0}.protein-assay__plate-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;flex:none;min-height:0}.protein-assay__panel,.protein-assay__support-panel{min-height:0;overflow:visible}}html[data-tool-analysis-mode=true] .tool-main-viewport:has(.protein-assay-workbench) .tool-detail-body,.tool-main-viewport:fullscreen:has(.protein-assay-workbench) .tool-detail-body{overflow-y:auto}@media(min-width:1024px){html[data-tool-analysis-mode=true] .tool-main-viewport:has(.protein-assay-workbench) .tool-detail-body,.tool-main-viewport:fullscreen:has(.protein-assay-workbench) .tool-detail-body{display:flex;flex-direction:column;min-height:0}html[data-tool-analysis-mode=true] .tool-main-viewport:has(.protein-assay-workbench) .tool-container,.tool-main-viewport:fullscreen:has(.protein-assay-workbench) .tool-container{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}html[data-tool-analysis-mode=true] .protein-assay-workbench,.tool-main-viewport:fullscreen .protein-assay-workbench{flex:1 1 auto;min-height:0}html[data-tool-analysis-mode=true] .protein-assay__plate-layout,.tool-main-viewport:fullscreen .protein-assay__plate-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);flex:1 1 auto;min-height:0}html[data-tool-analysis-mode=true] .protein-assay__panel,.tool-main-viewport:fullscreen .protein-assay__panel,html[data-tool-analysis-mode=true] .protein-assay__support-panel,.tool-main-viewport:fullscreen .protein-assay__support-panel{min-height:0;overflow:auto}}@media(max-width:600px){.protein-assay__tabs{gap:var(--space-2xs)}.protein-assay__tab{flex-direction:column;gap:var(--space-3xs);padding-inline:var(--space-2xs);font-size:var(--text-xs)}.protein-assay__import-inputs{grid-template-columns:minmax(0,1fr)}.protein-assay__import-file{justify-self:start}.protein-assay__panel,.protein-assay__support-panel{padding:var(--space-sm)}.protein-assay__panel-heading h2,.protein-assay__support-intro h2{font-size:var(--text-lg)}.protein-assay__method-grid,.protein-assay__teaching-grid,.protein-assay__dilution-inputs,.protein-assay__dilution-results{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.protein-assay__grid{min-width:0}.protein-assay__grid .protein-assay__column--sample{width:2.5rem}.protein-assay__grid .protein-assay__column--concentration{width:3rem}.protein-assay__grid--replicates-1 .protein-assay__column--well{width:11.5rem}.protein-assay__grid--replicates-2 .protein-assay__column--well{width:5.75rem}.protein-assay__grid--replicates-3 .protein-assay__column--well{width:3.833rem}.protein-assay__grid--replicates-4 .protein-assay__column--well{width:3.5rem}.protein-assay__grid .protein-assay__column--mean,.protein-assay__grid .protein-assay__column--cv{display:none}.protein-assay__grid .protein-assay__column--actions{width:1.75rem}.protein-assay__grid input{padding-inline:calc(var(--space-3xs) / 2);font-size:var(--text-xs)}.protein-assay__grid .protein-assay__icon-button{width:1.25rem;height:1.5rem}.protein-assay__verdict{gap:var(--space-2xs)}.protein-assay__r2-block strong{font-size:var(--text-lg)}.protein-assay__verdict p{flex-basis:8rem}.protein-assay__fit-values{flex:1 1 auto}.protein-assay__verdict small{margin-left:0}.protein-assay__result-table{min-width:0}.protein-assay__result-table th,.protein-assay__result-table td{white-space:normal}}.tool-directory-intro{max-width:860px;margin:0 auto 2em;color:var(--text-secondary);line-height:1.8}.tool-directory-intro p{margin:0 0 1em}.tool-category-jump{display:flex;flex-direction:column;gap:.8em;margin:0 auto 2em;padding:1em 1.2em;max-width:980px;background:var(--surface-tint);border:1px solid var(--border);border-radius:var(--radius-region)}.jump-label{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-mono)}.jump-links{display:flex;flex-wrap:wrap;gap:.7em}.category-chip{display:inline-flex;align-items:center;gap:.45em;padding:.45em .9em;border-radius:var(--radius-control);border:1px solid var(--border-strong);color:var(--text-secondary);text-decoration:none;background:var(--surface-glow);transition:all .2s ease}.category-chip:hover{color:var(--bio-cyan);border-color:var(--bio-cyan);transform:translateY(var(--lift-control))}.category-chip:focus-visible{outline:2px solid var(--bio-cyan);outline-offset:2px;box-shadow:0 0 0 4px var(--bio-cyan-dim)}.tool-category-stack{display:flex;flex-direction:column;gap:1.5em;padding-bottom:2em}.tool-category-section{scroll-margin-top:90px;padding:1.4em 0 .5em}.tool-category-header{margin-bottom:.5em}.tool-category-header-text{max-width:760px}.tool-category-eyebrow{margin-bottom:.5em;color:var(--bio-cyan);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-mono)}.tool-category-header h2{margin:0 0 .35em;color:var(--text-primary);font-size:var(--text-2xl)}.tool-category-header p{margin:0;color:var(--text-secondary);line-height:1.7}.tool-card-badge{position:absolute;top:1em;right:1em;padding:.28em .65em;border-radius:var(--radius-control);background:var(--badge-amber-bg);border:1px solid var(--badge-amber-border);color:var(--badge-amber-color);font-size:var(--text-2xs);font-family:var(--font-mono)}.protein-classroom{width:100%}.teaching-assay-tabs{display:flex;flex-wrap:wrap;gap:.6em;margin:1em 0 1.2em}.teaching-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9em}.teaching-summary-card,.teaching-chart-card,.teaching-fit-card,.teaching-result-card{background:var(--surface-tint);border:1px solid var(--border);border-radius:var(--radius-region);padding:1em 1.1em}.teaching-summary-card h4,.teaching-chart-card h4,.teaching-fit-card h4{margin:0 0 .45em;color:var(--text-primary);font-size:.95em}.teaching-summary-card p,.teaching-chart-card p,.teaching-fit-card p{margin:0;color:var(--text-secondary);line-height:1.65}.teaching-curve-layout{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:1em;margin-top:1em}.teaching-curve-table{overflow-x:auto}.teaching-curve-controls{display:flex;flex-direction:column;gap:.9em}.teaching-curve-controls label,.teaching-dilution-grid label{display:flex;flex-direction:column;gap:.35em;color:var(--text-primary);font-size:.88em}.teaching-curve-controls input,.teaching-dilution-grid input{width:100%;padding:.8em .9em;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-region);color:var(--text-primary)}.teaching-curve-controls input:focus,.teaching-dilution-grid input:focus{border-color:var(--bio-cyan);box-shadow:0 0 14px var(--success-bg)}.teaching-result-card{border-left:3px solid var(--success-color)}.teaching-result-card.range-below{border-left-color:var(--warning-color)}.teaching-result-card.range-above{border-left-color:var(--error-color)}.result-primary,.result-secondary{display:flex;align-items:baseline;justify-content:space-between;gap:1em;margin-bottom:.45em}.result-primary span,.result-secondary span,.teaching-fit-grid span{color:var(--text-muted);font-size:.75em;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono)}.result-primary strong,.result-secondary strong,.teaching-fit-grid strong{color:var(--text-primary);font-size:1.05em}.teaching-result-card p{margin:.35em 0 0;color:var(--text-secondary);line-height:1.55}.teaching-fit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.8em}.teaching-fit-grid>div{display:flex;flex-direction:column;gap:.25em}.teaching-chart-card{margin-top:1em}.teaching-standard-curve{width:100%;height:auto;display:block}.teaching-dilution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8em;margin:1em 0}.teaching-dilution-results{margin-top:.5em}.teaching-checklist{margin:0;padding-left:1.25em;color:var(--text-secondary);line-height:1.8}.teaching-checklist li+li{margin-top:.5em}.student-plate-zone>*+*{margin-top:1em}.student-plate-editor>h4,.student-plate-subheader h4,.student-plate-fit-card h4,.student-plate-chart-card h4,.student-plate-diagnostics h4{margin:0 0 .7em;color:var(--text-primary);font-size:.95em}.student-plate-subheader{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7em;margin-bottom:.7em}.student-plate-subheader h4{margin:0}.student-plate-unit-select{display:inline-flex;align-items:center;gap:.45em;color:var(--text-secondary);font-size:.88em}.student-plate-unit-select select{min-height:2.65em;padding:.45em .65em;border:1px solid var(--input-border);border-radius:var(--radius-control);background:var(--input-bg);color:var(--text-primary);font:inherit}.student-plate-original-equivalent{margin-left:.35em;color:var(--text-secondary);font-size:.8em;white-space:nowrap}.student-plate-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-region)}.student-plate-table{width:100%;min-width:720px;margin:0}.student-plate-table th,.student-plate-table td{vertical-align:middle}.student-plate-table th{text-transform:none}.student-plate-table input{width:7.5em;min-height:2.65em;padding:.55em .65em;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-control);color:var(--text-primary);font:inherit}.student-plate-table td:first-child input{width:9em}.student-plate-table input:focus{border-color:var(--bio-cyan);box-shadow:0 0 14px var(--success-bg)}.student-plate-action{min-height:2.75rem;padding:.55em .85em;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-tint);color:var(--text-primary);font:inherit;font-size:.84rem;cursor:pointer}.student-plate-action:hover{background:var(--surface-tint-hover)}.student-plate-delete{color:var(--error-color)}.student-plate-blank-summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.6em;padding:.8em 1em;border:1px solid var(--border);border-radius:var(--radius-region);background:var(--surface-tint);color:var(--text-secondary)}.student-plate-blank-summary strong{color:var(--text-primary);font-family:var(--font-mono)}.student-plate-results-table{min-width:680px}.student-plate-fit-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1em}.student-plate-fit-card,.student-plate-chart-card{min-width:0;margin-top:0}.student-plate-fit-card>p{margin:0 0 .7em;color:var(--text-secondary)}.student-plate-fit-values{margin-top:.8em}.student-plate-status{display:inline-flex;align-items:center;justify-content:center;min-height:2.5em;margin-top:1em;padding:.35em .85em;border-radius:var(--radius-control);font-size:clamp(1.2rem,2.5vw,1.65rem);font-weight:800;letter-spacing:.04em}.student-plate-status.status-pass{background:var(--success-bg);color:var(--success-color)}.student-plate-status.status-fail{background:var(--error-bg);color:var(--error-color)}.student-plate-range-warning{display:block;margin-top:.3em;color:var(--error-color);font-size:.82em;font-weight:700}.student-plate-diagnostics{padding:1em 1.1em;border:1px solid var(--border);border-radius:var(--radius-region);background:var(--surface-tint)}.student-plate-diagnostics ul{margin:0;padding-left:1.25em;color:var(--text-secondary);line-height:1.65}.student-plate-diagnostics li+li{margin-top:.45em}.student-plate-diagnostics p{margin:0;color:var(--text-secondary)}@media(max-width:820px){.teaching-curve-layout,.student-plate-fit-layout{grid-template-columns:1fr}}@container classroom-canvas (max-width: 820px){.teaching-curve-layout,.classroom-canvas .two-col{grid-template-columns:1fr}}.classroom-shell{--classroom-paper: oklch(98% .015 88);--classroom-paper-soft: oklch(96% .028 84);--classroom-paper-deep: oklch(93% .03 80);--classroom-ink: oklch(32% .03 36);--classroom-muted: oklch(52% .03 45);--classroom-line: oklch(82% .03 54);--classroom-accent: oklch(59% .15 26);--classroom-accent-deep: oklch(44% .14 26);--classroom-accent-soft: oklch(90% .05 28);--classroom-secondary: oklch(64% .08 160);--classroom-secondary-soft: oklch(93% .04 160);--classroom-highlight: oklch(78% .12 82);--classroom-shadow: rgba(62, 45, 26, .12);--classroom-shadow-soft: rgba(62, 45, 26, .08);--classroom-shine: rgba(255, 255, 255, .72);--classroom-graph-surface: oklch(97% .02 86);--classroom-graph-axis: oklch(58% .03 48);--classroom-graph-grid: oklch(90% .03 56);--classroom-graph-primary: var(--classroom-accent);--classroom-graph-secondary: var(--classroom-secondary);--classroom-graph-highlight: var(--classroom-highlight);--classroom-graph-text: var(--classroom-ink);position:relative;padding:clamp(1.2rem,2.8vw,2rem);border-radius:clamp(1.6rem,3vw,2.4rem);border:1px solid color-mix(in oklch,var(--classroom-line) 78%,white 22%);background:linear-gradient(180deg,color-mix(in oklch,var(--classroom-paper) 84%,white 16%),var(--classroom-paper-soft));box-shadow:0 30px 52px var(--classroom-shadow),inset 0 1px 0 var(--classroom-shine);color:var(--classroom-ink);overflow:clip}.classroom-shell:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in oklch,var(--classroom-accent-soft) 48%,white 52%),transparent 32%),radial-gradient(circle at 85% 18%,color-mix(in oklch,var(--classroom-secondary-soft) 68%,white 32%),transparent 22%),repeating-linear-gradient(90deg,transparent 0,transparent 22px,var(--surface-tint-hover) 22px,var(--surface-tint-hover) 23px);opacity:.55;pointer-events:none}.classroom-shell:after{content:"";position:absolute;inset:1rem;border-radius:calc(clamp(1.6rem,3vw,2.4rem) - .65rem);border:1px dashed color-mix(in oklch,var(--classroom-line) 62%,white 38%);opacity:.7;pointer-events:none}.classroom-shell>*{position:relative;z-index:1}.classroom-shell h1,.classroom-shell h2,.classroom-shell h3,.classroom-shell h4{color:var(--classroom-ink);text-shadow:none}.classroom-shell a{color:var(--classroom-accent-deep);text-shadow:none}.classroom-shell a:hover{color:var(--classroom-ink);text-shadow:none}.classroom-shell .tools-hero-badge{color:var(--classroom-accent-deep);border-color:color-mix(in oklch,var(--classroom-accent) 28%,white 72%);background:color-mix(in oklch,var(--classroom-accent-soft) 72%,white 28%);box-shadow:none}.classroom-hero-grid,.classroom-page-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:clamp(1.4rem,4vw,3rem);align-items:center}.classroom-hero-copy,.classroom-page-copy{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;--motion-rise-distance: 16px;animation:motion-rise var(--duration-slower) var(--ease-out-expo) backwards}.classroom-hero-kicker,.classroom-page-kicker{margin:0;color:var(--classroom-accent-deep);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.classroom-hero-copy h1,.classroom-page-copy h1{margin:0;font-family:var(--font-display);font-size:clamp(2.2rem,5.5vw,3.8rem);font-weight:600;line-height:.96;letter-spacing:-.05em;color:var(--classroom-ink);text-wrap:balance}.classroom-hero-copy h1{max-width:10ch}.classroom-page-copy h1{max-width:12ch}.classroom-hero-lead,.classroom-shell .page-sub,.classroom-hero-note,.classroom-directory-intro,.classroom-category-note{color:var(--classroom-muted)}.classroom-hero-lead,.classroom-shell .page-sub{margin:0;max-width:44rem;font-size:clamp(.88rem,1.3vw,.98rem);line-height:1.7}.classroom-hero-note{margin:0;max-width:42rem;font-size:.82rem;line-height:1.65}.classroom-pill-row,.classroom-page-highlights{display:flex;flex-wrap:wrap;gap:.7rem}.classroom-pill,.classroom-page-chip{display:inline-flex;align-items:center;min-height:2.75rem;padding:.48rem .9rem;border-radius:var(--radius-control);border:1px solid color-mix(in oklch,var(--classroom-line) 76%,white 24%);background:color-mix(in oklch,var(--classroom-paper) 72%,white 28%);color:var(--classroom-ink);font-size:.84rem;font-weight:600;letter-spacing:.01em;box-shadow:0 10px 20px var(--classroom-shadow-soft);animation:motion-rise var(--duration-slow) var(--ease-out-expo) both;animation-delay:calc(var(--stagger-step) * var(--i, 0))}.classroom-overview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:clamp(1.6rem,3vw,2.4rem)}.classroom-overview-card{min-height:100%;padding:1.1rem 1.15rem 1.2rem;border-radius:var(--radius-region);background:color-mix(in oklch,var(--classroom-paper) 74%,white 26%);border:1px solid color-mix(in oklch,var(--classroom-line) 76%,white 24%);box-shadow:0 20px 34px var(--classroom-shadow-soft);--motion-rise-distance: 16px;animation:motion-rise var(--duration-slower) var(--ease-out-expo) backwards;animation-delay:calc(var(--stagger-step) * var(--i, 0))}.classroom-overview-card__index,.classroom-module-card__serial,.classroom-step__index{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;border-radius:var(--radius-control);background:color-mix(in oklch,var(--classroom-accent-soft) 70%,white 30%);color:var(--classroom-accent-deep);font-size:.75rem;font-weight:700;letter-spacing:.08em}.classroom-overview-card h2{margin:.75rem 0 .35rem;font-family:var(--font-display);font-size:1.15rem;font-weight:600;line-height:1.1}.classroom-overview-card p{margin:0;font-size:.85rem;line-height:1.65;color:var(--classroom-muted)}.classroom-directory-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);margin:clamp(1.8rem,4vw,2.8rem) 0}.classroom-directory-intro p{margin:0;padding:1rem 1.1rem;border-left:3px solid color-mix(in oklch,var(--classroom-accent) 48%,white 52%);background:color-mix(in oklch,var(--classroom-paper-soft) 72%,white 28%);border-radius:0 var(--radius-region) var(--radius-region) 0;line-height:1.8}.classroom-category-jump{display:flex;flex-direction:column;gap:.85rem;margin:0 0 2rem;padding:1rem 1.15rem;border-radius:var(--radius-region);background:color-mix(in oklch,var(--classroom-paper) 72%,white 28%);border:1px solid color-mix(in oklch,var(--classroom-line) 74%,white 26%)}.classroom-shell .jump-label,.classroom-shell .tool-category-eyebrow,.classroom-learning-arc__label,.classroom-shell .tool-breadcrumb{color:var(--classroom-accent-deep);font-family:var(--font-body);font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.classroom-shell .tool-breadcrumb{margin-bottom:.2rem}.classroom-shell .tool-breadcrumb a{color:var(--classroom-accent-deep)}.classroom-shell .tool-breadcrumb .sep{opacity:.4}.jump-links{display:flex;flex-wrap:wrap;gap:.7rem}.classroom-category-chip{display:inline-flex;align-items:center;gap:.45rem;min-height:2.7rem;padding:.42rem .9rem;border-radius:var(--radius-control);border:1px solid color-mix(in oklch,var(--classroom-line) 76%,white 24%);background:color-mix(in oklch,var(--classroom-paper-soft) 70%,white 30%);color:var(--classroom-ink);font-weight:600;transition:transform .22s var(--ease-out-soft),border-color .22s ease,background .22s ease}.classroom-category-chip:hover{transform:translateY(var(--lift-control));border-color:color-mix(in oklch,var(--classroom-accent) 48%,white 52%);background:color-mix(in oklch,var(--classroom-accent-soft) 62%,white 38%)}.classroom-category-stack{display:flex;flex-direction:column;gap:clamp(1.6rem,3.6vw,2.5rem)}.classroom-category-section{position:relative;scroll-margin-top:90px;padding:1.4rem;border-radius:var(--radius-region);background:linear-gradient(180deg,color-mix(in oklch,var(--classroom-section-wash, var(--classroom-paper-soft)) 82%,white 18%),transparent 120%);border:1px solid color-mix(in oklch,var(--classroom-section-accent, var(--classroom-accent)) 18%,white 82%)}.classroom-category-section:before{content:attr(data-section-number);position:absolute;top:.85rem;right:1rem;font-family:var(--font-display);font-size:clamp(2.8rem,8vw,4.8rem);font-weight:600;line-height:1;color:color-mix(in oklch,var(--classroom-section-accent, var(--classroom-accent)) 18%,white 82%);pointer-events:none}.classroom-category-header{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:1rem;align-items:end;margin-bottom:1rem}.classroom-shell .tool-category-header h2{margin:0 0 .4rem;font-family:var(--font-display);font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:600;line-height:1.02}.classroom-shell .tool-category-header p,.classroom-category-note{margin:0;line-height:1.75}.classroom-category-note{justify-self:end;max-width:28rem;padding:1rem 1.05rem;border-radius:var(--radius-region);background:color-mix(in oklch,var(--classroom-paper) 74%,white 26%);border:1px solid color-mix(in oklch,var(--classroom-line) 72%,white 28%)}.classroom-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.classroom-module-card{position:relative;display:grid;gap:.85rem;min-height:100%;padding:1.25rem;border-radius:var(--radius-region);background:color-mix(in oklch,var(--classroom-paper) 72%,white 28%);border:1px solid color-mix(in oklch,var(--classroom-line) 74%,white 26%);box-shadow:0 18px 34px var(--classroom-shadow-soft);container-type:inline-size;transition:transform .26s var(--ease-out-soft),border-color .22s ease,box-shadow .22s ease,background .22s ease;--motion-rise-distance: 16px;animation:motion-rise var(--duration-slow) var(--ease-out-expo) backwards;animation-delay:calc(var(--stagger-step) * var(--i, 0))}.classroom-module-card.is-featured{grid-column:span 2}.classroom-module-card:hover{transform:translateY(var(--lift-card));border-color:color-mix(in oklch,var(--classroom-section-accent, var(--classroom-accent)) 36%,white 64%);background:color-mix(in oklch,var(--classroom-paper-soft) 76%,white 24%);box-shadow:0 24px 40px var(--classroom-shadow)}.classroom-module-card__meta{display:flex;align-items:center;justify-content:space-between}.classroom-module-card__icon{font-size:1.5rem}.classroom-module-card h3{margin:0;font-family:var(--font-display);font-size:1.2rem;font-weight:600;line-height:1.15}.classroom-module-card p{margin:0;color:var(--classroom-muted);line-height:1.7}.classroom-module-features{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.classroom-module-features li{display:inline-flex;align-items:center;min-height:2rem;padding:.24rem .65rem;border-radius:var(--radius-control);background:color-mix(in oklch,var(--classroom-paper-soft) 65%,white 35%);color:var(--classroom-accent-deep);font-size:.78rem;font-weight:600}.classroom-module-card__arrow{margin-top:auto;display:inline-flex;align-items:center;gap:.35rem;font-size:.88rem;font-weight:700;color:var(--classroom-accent-deep)}.classroom-page-hero{margin-bottom:clamp(1.4rem,3vw,2.2rem)}.classroom-page-visual,.classroom-hero-art{justify-self:end;width:min(100%,34rem)}.classroom-learning-arc{display:grid;gap:.85rem;margin:0 0 1.8rem;padding:1rem 1.15rem;border-radius:var(--radius-region);background:color-mix(in oklch,var(--classroom-paper) 72%,white 28%);border:1px solid color-mix(in oklch,var(--classroom-line) 74%,white 26%);container-type:inline-size;container-name:classroom-arc}.classroom-learning-arc__items{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}@container classroom-arc (min-width: 520px){.classroom-learning-arc__items{grid-template-columns:repeat(3,minmax(0,1fr))}}.classroom-step{display:flex;align-items:center;gap:.85rem;min-width:0;min-height:100%;padding:.85rem .95rem;border-radius:var(--radius-region);background:color-mix(in oklch,var(--classroom-paper-soft) 70%,white 30%);color:var(--classroom-ink);font-size:.92rem;line-height:1.5;--motion-rise-distance: 16px;animation:motion-rise var(--duration-slower) var(--ease-out-expo) backwards;animation-delay:calc(var(--stagger-step) * var(--i, 0))}.classroom-lab-stage{width:100%;max-width:1000px;margin-inline:auto;box-sizing:border-box}.classroom-notes{max-width:860px;margin:1.8rem auto 0}.classroom-shell .tool-operation-zone,.classroom-shell .tool-results,.classroom-shell .teaching-summary-card,.classroom-shell .teaching-chart-card,.classroom-shell .teaching-fit-card,.classroom-shell .teaching-result-card,.classroom-shell .stat-item{background:color-mix(in oklch,var(--classroom-paper) 74%,white 26%);border:1px solid color-mix(in oklch,var(--classroom-line) 74%,white 26%);box-shadow:0 16px 28px var(--classroom-shadow-soft)}.classroom-shell .tool-operation-zone{padding:1.35rem 1.4rem}.classroom-shell .tool-operation-zone:before{height:2px;background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--classroom-accent) 62%,white 38%),color-mix(in oklch,var(--classroom-secondary) 58%,white 42%),transparent);opacity:.9}.classroom-shell .tool-results{--motion-rise-distance: 16px;animation:motion-rise var(--duration-slow) var(--ease-out-expo)}.classroom-shell .tool-results:before{background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--classroom-accent) 58%,white 42%),transparent)}.classroom-shell .zone-header{margin-bottom:.9rem;color:var(--classroom-accent-deep);font-family:var(--font-body);font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.classroom-shell .analysis-inline-note,.classroom-shell .chart-footnote,.classroom-shell .teaching-summary-card p,.classroom-shell .teaching-chart-card p,.classroom-shell .teaching-fit-card p,.classroom-shell .teaching-result-card p,.classroom-shell .input-help,.classroom-shell .input-count,.classroom-shell .stat-label{color:var(--classroom-muted)}.classroom-shell .stat-label,.classroom-shell .result-primary span,.classroom-shell .result-secondary span,.classroom-shell .teaching-fit-grid span{font-family:var(--font-body);font-size:.74rem;font-weight:700;letter-spacing:.12em}.classroom-shell .stat-value,.classroom-shell .result-primary strong,.classroom-shell .result-secondary strong,.classroom-shell .teaching-fit-grid strong{font-family:var(--font-body);color:var(--classroom-ink)}.classroom-shell .stat-value.highlight,.classroom-shell .result-primary strong{color:var(--classroom-accent-deep)}.classroom-shell .tool-results h3{margin:0 0 1rem;font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-.02em;text-transform:none}.classroom-shell .tool-results h3:before{content:"";width:.7rem;height:.7rem;border-radius:var(--radius-control);background:var(--classroom-secondary);box-shadow:none}.classroom-shell .teaching-assay-tabs,.classroom-shell .radio-group{gap:.65rem}.classroom-shell .radio-option{min-height:2.8rem;border-radius:var(--radius-control);border-color:color-mix(in oklch,var(--classroom-line) 76%,white 24%);background:color-mix(in oklch,var(--classroom-paper-soft) 72%,white 28%);color:var(--classroom-muted)}.classroom-shell .radio-option:hover,.classroom-shell .radio-option.active{border-color:color-mix(in oklch,var(--classroom-accent) 44%,white 56%);background:color-mix(in oklch,var(--classroom-accent-soft) 68%,white 32%);color:var(--classroom-accent-deep);box-shadow:none}.classroom-shell .data-input-group textarea,.classroom-shell .data-input-group input,.classroom-shell .teaching-curve-controls input,.classroom-shell .teaching-dilution-grid input,.classroom-shell .teaching-dilution-grid select{background:color-mix(in oklch,var(--classroom-paper-soft) 72%,white 28%);border-color:color-mix(in oklch,var(--classroom-line) 74%,white 26%);color:var(--classroom-ink)}.classroom-shell .data-input-group textarea::placeholder{color:color-mix(in oklch,var(--classroom-muted) 70%,white 30%);opacity:1}.classroom-shell .data-input-group textarea:focus,.classroom-shell .data-input-group input:focus,.classroom-shell .teaching-curve-controls input:focus,.classroom-shell .teaching-dilution-grid input:focus,.classroom-shell .teaching-dilution-grid select:focus{border-color:color-mix(in oklch,var(--classroom-accent) 46%,white 54%);box-shadow:0 0 0 4px color-mix(in oklch,var(--classroom-accent-soft) 58%,transparent);background:color-mix(in oklch,var(--classroom-paper) 76%,white 24%)}.classroom-shell .posthoc-table th,.classroom-shell .posthoc-table td{border-bottom-color:color-mix(in oklch,var(--classroom-line) 72%,white 28%)}.classroom-shell .posthoc-table th{color:var(--classroom-accent-deep)}.classroom-shell .posthoc-table tr:hover td{background:color-mix(in oklch,var(--classroom-accent-soft) 48%,white 52%)}.classroom-shell .teaching-standard-curve{overflow:visible}.classroom-shell .teaching-checklist{padding-left:1.1rem;color:var(--classroom-muted)}.classroom-shell .teaching-checklist li::marker{color:var(--classroom-accent)}.classroom-shell .tool-tutorial{margin-top:1.5rem;padding:1.2rem 1.3rem;border-radius:var(--radius-region);background:color-mix(in oklch,var(--classroom-paper) 72%,white 28%);border:1px solid color-mix(in oklch,var(--classroom-line) 72%,white 28%)}.classroom-shell .tool-tutorial h2{margin:0 0 .7rem;font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.1}.classroom-shell .tool-tutorial p{margin:.7rem 0 0;color:var(--classroom-muted);line-height:1.8}.classroom-shell .tool-footer-actions{margin-top:1.8rem;padding:1.2rem 1.3rem;border-radius:var(--radius-region);background:color-mix(in oklch,var(--classroom-paper) 72%,white 28%);border:1px solid color-mix(in oklch,var(--classroom-line) 72%,white 28%);text-align:left}.classroom-shell .tool-footer-actions h3{margin:0 0 .4rem;font-family:var(--font-display);font-size:1.35rem;font-weight:600}.classroom-shell .tool-footer-actions p{margin:0 0 .9rem;color:var(--classroom-muted)}@container (max-width: 420px){.classroom-module-card.is-featured{grid-column:auto}}@media(max-width:920px){.classroom-hero-grid,.classroom-page-hero,.classroom-category-header,.classroom-directory-intro,.classroom-overview-strip{grid-template-columns:1fr}.classroom-module-card.is-featured{grid-column:auto}.classroom-page-visual,.classroom-hero-art,.classroom-category-note{justify-self:stretch;width:100%;max-width:none}}@media(max-width:620px){.classroom-category-section{padding:1rem}.classroom-overview-strip,.classroom-module-grid,.classroom-directory-intro{gap:.85rem}}@media(prefers-reduced-motion:reduce){.classroom-shell *,.classroom-shell *:before,.classroom-shell *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.tool-page--detail,.classroom-shell.classroom-shell--landing{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.2rem,3vw,2rem)}.classroom-shell.classroom-shell--detail{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(700px,1.5fr);gap:2rem}@media(max-width:1200px){.classroom-shell.classroom-shell--detail{grid-template-columns:1fr}}.classroom-shell.classroom-shell--landing{padding:0;border:none;background:none;box-shadow:none;color:var(--text-primary)}.classroom-shell.classroom-shell--landing:before,.classroom-shell.classroom-shell--landing:after{display:none}.classroom-shell--landing .tool-directory-intro,.classroom-shell--landing .classroom-directory-intro,.classroom-shell--landing .tool-category-jump{background:transparent;border:none;box-shadow:none;padding:0}.tool-page-header--archive,.tools-hero,.classroom-page-hero{position:relative;overflow:hidden;padding:clamp(1.6rem,4vw,2.6rem);border-radius:clamp(1.4rem,3vw,2rem);border:1px solid var(--input-border);background:radial-gradient(circle at 18% 18%,var(--surface-glow),transparent 22%),radial-gradient(circle at 82% 18%,var(--accent-bg-soft),transparent 24%),linear-gradient(180deg,var(--surface-overlay),var(--bg-card-raised));box-shadow:var(--box-shadow)}.tool-page-header--archive:before,.tools-hero:before,.classroom-page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,var(--surface-tint) 48%,transparent 62%);pointer-events:none}.tool-breadcrumb{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:1rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.tool-breadcrumb a{color:var(--bio-cyan)}.tool-breadcrumb .sep{opacity:.55}.tool-page-kicker,.classroom-page-kicker,.classroom-hero-kicker,.jump-label,.classroom-learning-arc__label{margin:0 0 .7rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bio-cyan)}.tool-page-header--archive h1,.tools-hero h1,.classroom-page-copy h1,.classroom-hero-copy h1{margin-bottom:.8rem;display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}.tool-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--radius-control);border:1px solid var(--accent-border-hover);background:var(--surface-glow);font-size:1.15rem}.page-sub,.tools-hero .subtitle,.tool-directory-intro p,.classroom-hero-lead,.classroom-hero-note,.classroom-directory-intro p,.classroom-category-note,.tool-footer-actions p,.tool-tutorial p{color:var(--text-secondary)}.page-sub,.tools-hero .subtitle{margin:0;max-width:58ch}.tool-container,.tool-content-wrapper,.tool-tutorial,.tool-footer-actions,.tool-directory-intro,.tool-category-jump,.classroom-directory-intro,.classroom-overview-card,.classroom-learning-arc,.classroom-shell .tool-container,.classroom-shell .tool-content-wrapper,.classroom-shell .tool-footer-actions,.classroom-page-visual,.classroom-hero-art{border-radius:var(--radius-region);border:1px solid var(--input-border);background:var(--surface-overlay);box-shadow:0 2px 10px var(--shadow-ink-soft),inset 0 1px 0 var(--surface-tint)}.tool-category-section{background:transparent;border:none;box-shadow:none;padding:0}.classroom-shell--landing .tool-card h3,.classroom-shell--landing .tool-card__name{color:var(--text-primary)}.tool-container,.tool-content-wrapper,.tool-tutorial,.tool-footer-actions,.tool-directory-intro,.tool-category-jump,.classroom-directory-intro,.classroom-overview-card,.classroom-learning-arc,.classroom-shell .tool-container,.classroom-shell .tool-content-wrapper,.classroom-shell .tool-footer-actions,.classroom-page-visual,.classroom-hero-art{padding:clamp(1.15rem,3vw,1.7rem)}.tool-footer-actions{display:grid;gap:.85rem}.tool-footer-actions h3,.tool-tutorial h2,.tool-category-heading h2,.classroom-overview-card h2,.classroom-category-section h2,.classroom-page-copy h1,.classroom-hero-copy h1{font-family:var(--font-display)}.tool-tutorial table{background:var(--header-bg);border-radius:var(--radius-region);overflow:hidden}.tools-hero{margin-bottom:1.6rem}.tools-hero-badge,.classroom-shell .tools-hero-badge{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.5rem .95rem;border-radius:var(--radius-control);border:1px solid var(--accent-border-hover);background:var(--surface-glow);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bio-cyan)}.tool-directory-intro,.classroom-directory-intro{display:grid;gap:.9rem}.tool-workflow-deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}.tool-workflow-card{position:relative;display:grid;gap:.85rem;min-height:228px;padding:1.25rem;border-radius:var(--radius-region);border:1.5px solid var(--input-border);background:radial-gradient(circle at top left,var(--workflow-glow, var(--surface-glow)),transparent 38%),linear-gradient(180deg,var(--bg-card-hover),var(--bg-card-solid));box-shadow:0 4px 16px var(--shadow-ink-strong),0 16px 40px var(--shadow-ink-soft),inset 0 1px 0 var(--surface-tint-hover);text-decoration:none;overflow:hidden}.tool-workflow-card:before{content:"";position:absolute;inset:0;background:linear-gradient(130deg,transparent 0%,var(--surface-tint) 54%,transparent 68%);opacity:0;transition:opacity .22s ease;pointer-events:none}.tool-workflow-card:hover{transform:translateY(var(--lift-card)) scale(1.01);border-color:color-mix(in srgb,var(--workflow-accent, var(--bio-cyan)) 65%,white 35%);background:radial-gradient(circle at top left,var(--workflow-glow, var(--accent-border-hover)),transparent 38%),linear-gradient(180deg,var(--bg-card-hover),var(--bg-card-solid));box-shadow:0 8px 24px var(--shadow-ink-strong),0 20px 48px var(--shadow-ink-strong),0 0 0 1px color-mix(in srgb,var(--workflow-accent, var(--bio-cyan)) 25%,transparent 75%),inset 0 1px 0 var(--surface-tint-hover)}.tool-workflow-card:hover:before{opacity:1}.tool-workflow-card__header{display:flex;align-items:center;justify-content:space-between;gap:.85rem}.tool-workflow-card__icon{display:inline-flex;align-items:center;justify-content:center;width:2.95rem;height:2.95rem;border-radius:var(--radius-region);border:1px solid color-mix(in srgb,var(--workflow-accent, var(--accent)) 45%,transparent 55%);background:color-mix(in srgb,var(--workflow-accent, var(--accent)) 14%,var(--input-bg));box-shadow:inset 0 1px 0 var(--surface-tint);font-size:1.2rem;flex:none}.tool-workflow-card__count{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:.35rem .72rem;border-radius:var(--radius-control);border:1px solid color-mix(in srgb,var(--workflow-accent, var(--bio-cyan)) 42%,transparent 58%);background:color-mix(in srgb,var(--workflow-accent, var(--bio-cyan)) 14%,var(--input-bg));color:var(--text-primary);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.tool-workflow-card__title-block{display:grid;gap:.45rem}.tool-workflow-card__title{display:grid;gap:.25rem}.tool-workflow-card__eyebrow,.tool-workflow-card__preview-label,.tool-category-count,.tool-card-link{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.tool-workflow-card__eyebrow,.tool-workflow-card__preview-label,.tool-card-link{color:var(--text-muted)}.tools-hero h1{font-size:clamp(1.8rem,4vw,2.6rem)}.tools-hero .subtitle{max-width:42rem;font-size:clamp(.88rem,1.6vw,.95rem)}.tools-hero-note{margin:.2rem 0 0;max-width:42rem;color:var(--text-muted);font-size:.82rem}.tool-workflow-card h2,.tool-category-header h2{margin:0;font-family:var(--font-display);color:var(--text-primary)}.tool-workflow-card h2{font-size:clamp(1.05rem,1.6vw,1.25rem)}.tool-category-header h2{font-size:clamp(1.15rem,2vw,1.5rem)}.tool-workflow-card__desc{margin:0;color:var(--text-secondary);font-size:.82rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tool-workflow-card__preview-block{display:grid;gap:.5rem}.tool-workflow-card__preview-list{display:grid;gap:.45rem}.tool-workflow-card__preview-item{display:flex;align-items:center;gap:.55rem;min-height:40px;padding:.55rem .72rem;border-radius:var(--radius-region);border:1px solid var(--border);background:var(--surface-tint);color:var(--text-secondary);font-size:.82rem;line-height:1.3}.tool-workflow-card__preview-icon{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:var(--radius-region);background:color-mix(in srgb,var(--workflow-accent, var(--accent)) 12%,var(--input-bg));color:var(--text-primary);flex:none}.tool-workflow-card__footer{margin-top:auto;display:flex;align-items:center;justify-content:flex-end;gap:.8rem;padding-top:.8rem;border-top:1px solid var(--border)}.tool-workflow-card__cta{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.4rem .8rem;border-radius:var(--radius-control);background:color-mix(in srgb,var(--workflow-accent, var(--accent)) 14%,var(--input-bg-focus));color:var(--text-primary);font-weight:600}.tool-directory-intro{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1.5rem}.tool-directory-note{display:grid;grid-template-columns:auto 1fr;gap:.85rem;padding:.95rem 1rem;border-radius:var(--radius-region);border:1px solid var(--border);background:var(--surface-tint)}.tool-directory-note__index,.tool-directory-note__eyebrow{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.tool-directory-note__index{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-region);background:var(--surface-glow);color:var(--bio-cyan)}.tool-directory-note__body{display:grid;gap:.35rem}.tool-directory-note__eyebrow{color:var(--text-muted)}.tool-directory-note p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.55}.tool-category-jump,.classroom-category-jump{display:grid;gap:.9rem}.category-chip,.classroom-category-chip,.classroom-pill,.classroom-page-chip{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:38px;padding:.52rem .9rem;border-radius:var(--radius-control);border:1px solid var(--accent-bg-medium);background:var(--accent-shadow-soft);color:var(--text-secondary);box-shadow:none}.category-chip:hover,.classroom-category-chip:hover,.classroom-pill:hover,.classroom-page-chip:hover{border-color:var(--accent-border-hover);color:var(--text-primary);background:var(--surface-glow)}.classroom-category-section{position:relative;overflow:hidden}.classroom-category-section:before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,color-mix(in srgb,var(--classroom-section-accent, var(--classroom-accent)) 18%,transparent 82%),transparent 42%,var(--accent-bg-faint) 100%);pointer-events:none}.tool-category-section{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.48fr);gap:clamp(1rem,2.5vw,1.4rem);padding:clamp(1rem,2.5vw,1.35rem);border-radius:var(--radius-region);border:1px solid color-mix(in srgb,var(--tool-section-accent, var(--bio-cyan)) 26%,var(--input-border));background:radial-gradient(circle at top left,color-mix(in srgb,var(--tool-section-glow, var(--surface-glow)) 80%,transparent 20%) 0%,transparent 34%),linear-gradient(145deg,var(--surface-overlay),var(--input-bg-focus) 50%,var(--bg-card-raised) 100%);box-shadow:0 24px 48px var(--shadow-ink-soft),inset 0 1px 0 var(--surface-tint);scroll-margin-top:100px}.tool-category-section:before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,color-mix(in srgb,var(--tool-section-accent, var(--bio-cyan)) 14%,transparent 86%),transparent 40%,var(--surface-tint) 100%);pointer-events:none}.tool-category-section:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--surface-tint);pointer-events:none}.tool-category-rail,.tool-category-panel{position:relative;z-index:1}.tool-category-rail{display:grid;align-content:start}.tool-category-rail:after{content:"";position:absolute;top:.85rem;bottom:.85rem;right:calc(clamp(1rem,2.5vw,1.4rem)/-2);width:1px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--tool-section-accent, var(--bio-cyan)) 32%,var(--input-border)) 18%,color-mix(in srgb,var(--tool-section-accent, var(--bio-cyan)) 20%,var(--input-border)) 82%,transparent);opacity:.95}.tool-category-header{display:grid;gap:1rem;align-content:start;height:100%;margin-bottom:0;padding:clamp(1rem,2.2vw,1.35rem);border-radius:var(--radius-region);border:1px solid color-mix(in srgb,var(--tool-section-accent, var(--bio-cyan)) 20%,var(--input-border));background:radial-gradient(circle at top left,color-mix(in srgb,var(--tool-section-accent, var(--bio-cyan)) 20%,transparent 80%) 0%,transparent 38%),linear-gradient(180deg,var(--surface-overlay),var(--input-bg))}.tool-category-header-icon{display:inline-flex;align-items:center;justify-content:center;width:clamp(3.3rem,7vw,4.1rem);height:clamp(3.3rem,7vw,4.1rem);border-radius:var(--radius-region);border:1px solid color-mix(in srgb,var(--tool-section-accent, var(--accent)) 40%,transparent 60%);background:color-mix(in srgb,var(--tool-section-accent, var(--accent)) 16%,var(--input-bg-focus));color:var(--text-primary);font-size:clamp(1.35rem,3vw,1.85rem);box-shadow:inset 0 1px 0 var(--surface-tint)}.tool-category-header-text{max-width:30rem;display:grid;gap:.45rem}.tool-category-header p{margin:0;color:color-mix(in srgb,var(--tool-section-accent, var(--text-secondary)) 12%,var(--text-secondary));font-size:.92rem;line-height:1.65}.tool-category-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}.tool-category-count{display:inline-flex;align-items:center;min-height:38px;padding:.5rem .9rem;border-radius:var(--radius-control);border:1px solid color-mix(in srgb,var(--tool-section-accent, var(--bio-cyan)) 36%,transparent 64%);background:color-mix(in srgb,var(--tool-section-accent, var(--bio-cyan)) 14%,var(--input-bg));color:color-mix(in srgb,var(--tool-section-accent, var(--bio-cyan)) 58%,white 42%)}.tool-category-panel{display:grid;gap:1rem;align-content:start;padding:clamp(.95rem,2.2vw,1.25rem);border-radius:var(--radius-region);border:1px solid var(--input-border);background:linear-gradient(180deg,var(--bg-card-raised),var(--bg-card-raised)),linear-gradient(120deg,color-mix(in srgb,var(--tool-section-accent, var(--bio-cyan)) 9%,transparent 91%),transparent 46%);box-shadow:inset 0 1px 0 var(--surface-tint)}.tool-category-panel__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.tool-category-panel__label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--tool-section-accent, var(--bio-cyan)) 40%,var(--text-muted))}.tools-grid{position:relative;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;padding:0}.tool-card{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:.7rem;min-height:0;padding:1.15rem 1.1rem 1rem;border-radius:var(--radius-region);border:1.5px solid color-mix(in srgb,var(--tool-card-accent, var(--bio-cyan)) 35%,var(--input-border));background:linear-gradient(180deg,var(--bg-card-hover),var(--bg-card-solid));box-shadow:0 4px 14px var(--shadow-ink-strong),inset 0 1px 0 var(--surface-tint-hover);cursor:pointer}.tool-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;border-radius:var(--radius-region) var(--radius-region) 0 0;background:linear-gradient(90deg,var(--tool-card-accent, var(--accent)) 0%,color-mix(in srgb,var(--tool-card-accent, var(--accent)) 15%,transparent 85%) 78%);opacity:.95}.tool-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,color-mix(in srgb,var(--tool-card-accent, var(--accent)) 8%,transparent 92%) 0%,transparent 44%);pointer-events:none}.tool-card-head,.tool-card-footer{position:relative;z-index:1}.tool-card-head{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start}.tool-card .icon,.tool-card .tool-icon{display:inline-flex;align-items:center;justify-content:center;width:3.1rem;height:3.1rem;margin-bottom:0;border-radius:var(--radius-region);border:1px solid color-mix(in srgb,var(--tool-card-accent, var(--accent)) 42%,transparent 58%);background:color-mix(in srgb,var(--tool-card-accent, var(--accent)) 16%,var(--input-bg-focus));filter:none;font-size:1.1rem;color:var(--text-primary)}.tool-card-title-block{min-width:0;display:grid;gap:.45rem;align-content:start}.tool-card h3{margin:0;font-size:1rem;line-height:1.3}.tool-card-badge{position:static;justify-self:start;display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .62rem;border-radius:var(--radius-control);border:1px solid color-mix(in srgb,var(--tool-card-accent, var(--bio-cyan)) 36%,transparent 64%);background:color-mix(in srgb,var(--tool-card-accent, var(--bio-cyan)) 12%,var(--input-bg));color:color-mix(in srgb,var(--tool-card-accent, var(--bio-cyan)) 55%,white 45%);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.tool-card>p{position:relative;z-index:1;margin:0;max-width:30ch;color:var(--text-secondary);font-size:.86rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tool-card-footer{align-self:end;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:.78rem;border-top:1px solid var(--border)}.tool-card .card-arrow{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:var(--radius-control);border:1px solid color-mix(in srgb,var(--tool-card-accent, var(--accent)) 28%,transparent 72%);background:color-mix(in srgb,var(--tool-card-accent, var(--accent)) 16%,var(--input-bg-focus));position:static;margin-left:auto;color:var(--text-primary);transition:transform .22s ease,border-color .22s ease,background .22s ease}.tool-card:hover{transform:translateY(var(--lift-card)) scale(1.02);border-color:color-mix(in srgb,var(--tool-card-accent, var(--bio-cyan)) 70%,white 30%);background:linear-gradient(180deg,var(--bg-card-hover),var(--surface-overlay));box-shadow:0 8px 24px var(--shadow-ink-strong),0 0 0 1px color-mix(in srgb,var(--tool-card-accent, var(--bio-cyan)) 30%,transparent 70%),inset 0 1px 0 var(--surface-tint-hover)}.tool-card:hover .card-arrow{transform:translate(2px);border-color:color-mix(in srgb,var(--tool-card-accent, var(--accent)) 44%,white 56%);background:color-mix(in srgb,var(--tool-card-accent, var(--accent)) 22%,var(--input-bg))}.tool-card:hover .tool-card-link{color:var(--text-primary)}.tool-workflow-card:focus-visible,.tool-card:focus-visible,.category-chip:focus-visible{outline:2px solid color-mix(in srgb,var(--accent),white 24%);outline-offset:3px}.classroom-shell{--classroom-paper: oklch(24% .03 272);--classroom-paper-soft: oklch(21% .028 272);--classroom-paper-deep: oklch(17% .028 272);--classroom-ink: oklch(94% .015 270);--classroom-muted: oklch(77% .02 270);--classroom-line: oklch(43% .03 272);--classroom-accent: oklch(74% .07 283);--classroom-accent-soft: oklch(82% .035 283);--classroom-secondary: oklch(75% .07 208);--classroom-highlight: oklch(78% .05 80)}.classroom-hero-grid,.classroom-page-hero{gap:clamp(1.2rem,4vw,2rem)}.classroom-hero-art,.classroom-page-visual{background:linear-gradient(180deg,var(--header-bg),var(--bg-card-raised))}.classroom-overview-card,.classroom-category-section,.classroom-learning-arc,.classroom-page-visual,.classroom-hero-art,.classroom-directory-intro,.classroom-category-jump,.classroom-shell .tool-container,.classroom-shell .tool-content-wrapper,.classroom-shell .tool-footer-actions{background:radial-gradient(circle at top left,color-mix(in oklch,var(--classroom-section-accent, var(--classroom-accent)) 28%,transparent 72%) 0%,transparent 36%),linear-gradient(180deg,var(--surface-overlay),var(--bg-card-solid))}.classroom-overview-card__index,.classroom-step__index,.tool-card-number{color:var(--bio-cyan)}.classroom-step{border:1px solid var(--border);background:var(--surface-overlay)}.classroom-step__index{border:1px solid var(--accent-border-hover);background:var(--surface-glow)}.classroom-module-card{border-color:var(--input-border);border-width:1.5px;background:var(--bg-card-hover);box-shadow:0 4px 14px var(--shadow-ink-strong),inset 0 1px 0 var(--surface-tint-hover);cursor:pointer}.classroom-module-card:hover{border-color:color-mix(in srgb,var(--classroom-section-accent, var(--bio-cyan)) 65%,white 35%);background:var(--bg-card-hover);transform:translateY(var(--lift-card)) scale(1.02);box-shadow:0 8px 24px var(--shadow-ink-strong),0 0 0 1px color-mix(in srgb,var(--classroom-section-accent, var(--bio-cyan)) 25%,transparent 75%),inset 0 1px 0 var(--surface-tint-hover)}.classroom-shell .tool-tutorial{background:var(--bg-card)}@media(max-width:900px){.tool-directory-intro,.tool-workflow-deck{grid-template-columns:1fr}.tool-category-section{grid-template-columns:1fr;padding:1.1rem}.tool-category-rail:after{display:none}.tool-category-panel{padding:1rem}.tool-page-header--archive h1,.classroom-page-copy h1,.classroom-hero-copy h1{gap:.55rem}}@media(max-width:720px){.tools-hero h1{font-size:clamp(2rem,8vw,2.6rem)}.tools-grid{grid-template-columns:1fr}.tool-category-header,.tool-category-panel,.tool-workflow-card,.tool-card{padding:.95rem}.tool-workflow-card,.tool-card{min-height:auto}}.pca-projection{margin-top:.5rem}.pca-projection-intro{color:var(--text-muted);font-size:.85rem;line-height:1.5;margin:0 0 .75rem}.pca-projection-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:.5rem}.pca-projection-select{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--text-muted)}.pca-projection-select select{font-family:inherit;padding:.3rem .5rem;border:1px solid var(--text-muted);border-radius:var(--radius-container);background:var(--bg-primary);color:var(--text-primary)}.pca-projection-optimize{font-family:var(--font-mono);letter-spacing:.05em;padding:.4rem .9rem;border:1px solid var(--accent);border-radius:var(--radius-container);background:var(--accent);color:var(--bg-primary);cursor:pointer}.pca-projection-optimize:hover{opacity:.85}.pca-projection-hint{font-size:.75rem;color:var(--text-muted);margin:0 0 .5rem}.pca-projection-svg{width:100%;max-width:460px;aspect-ratio:1 / 1;display:block;margin:0 auto;touch-action:none;cursor:grab;background:var(--bg-secondary);border-radius:var(--radius-container)}.pca-projection-svg:active{cursor:grabbing}.pca-projection-svg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pca-projection-readout{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:.5rem;font-family:var(--font-mono);font-size:.85rem}.pca-projection-var{color:var(--text-primary);font-weight:600}.pca-projection-pct{color:var(--text-muted)}.pca-projection-optnote{color:var(--accent);font-weight:600}.corr-explorer{margin-top:1.25rem}.corr-explorer+.corr-explorer{margin-top:2rem;padding-top:1.5rem;border-top:1px dashed var(--border)}.corr-explorer-sub{font-size:.95rem;margin:0 0 .35rem;color:var(--text-primary)}.corr-explorer-intro{color:var(--text-muted);font-size:.85rem;line-height:1.5;margin:0 0 .75rem}.corr-explorer-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin-bottom:.4rem}.corr-explorer-slider{display:flex;flex-direction:column;gap:.3rem;font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);min-width:200px;flex:1 1 220px}.corr-explorer-slider input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.corr-explorer-presets{display:flex;gap:.4rem}.corr-explorer-presets button,.corr-explorer-reset{font-family:var(--font-mono);letter-spacing:.03em;padding:.35rem .8rem;border:1px solid var(--accent);border-radius:var(--radius-container);background:var(--bg-primary);color:var(--accent);cursor:pointer}.corr-explorer-presets button:hover,.corr-explorer-reset:hover{background:var(--accent);color:var(--bg-primary)}.corr-explorer-hint{font-size:.75rem;color:var(--text-muted);margin:0 0 .5rem}.corr-explorer-svg{width:100%;max-width:360px;aspect-ratio:1 / 1;display:block;margin:0 auto;background:var(--bg-secondary);border-radius:var(--radius-container);overflow:hidden}.corr-explorer-svg-drag{touch-action:none;cursor:grab}.corr-explorer-svg-drag:active{cursor:grabbing}.corr-explorer-svg-drag:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.corr-explorer-readout{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:center;margin-top:.6rem;font-family:var(--font-mono);font-size:.85rem}.corr-explorer-stat{color:var(--text-primary);font-weight:600}.corr-explorer-stat-alt{color:var(--accent);font-weight:600}.corr-explorer-muted{color:var(--text-muted)}.corr-explorer-note{text-align:center;font-size:.78rem;color:var(--accent);margin:.4rem 0 0}.dataset-input-group{margin-bottom:1.2em}.dataset-input-group label{display:flex;align-items:center;gap:.5em;font-weight:600;margin-bottom:.5em;color:var(--text-primary);font-size:.9em}.dataset-input-group .label-badge{font-family:var(--font-mono);font-size:.75em;color:var(--text-muted);font-weight:400;background:var(--surface-tint);padding:.1em .4em;border-radius:var(--radius-control)}.dataset-input-group textarea{width:100%;padding:1em;font-family:var(--font-mono);font-size:.85em;line-height:1.6;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-region);color:var(--text-primary);resize:vertical;transition:all var(--duration-base) var(--ease-standard)}.dataset-input-group textarea::placeholder{color:var(--text-muted);font-style:italic;opacity:.5}.dataset-input-group textarea:focus{border-color:var(--bio-cyan);box-shadow:0 0 15px var(--success-bg);background:var(--input-bg-focus)}.dataset-input-group textarea.drag-active{border-color:var(--bio-cyan);box-shadow:0 0 15px var(--success-bg)}.dataset-input__actions{display:flex;margin-left:auto}.dataset-column-table-wrap{margin-top:1em;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-region)}.dataset-column-table{width:100%;border-collapse:collapse;font-size:.85em;font-family:var(--font-mono)}.dataset-column-table th,.dataset-column-table td{padding:.6em .9em;text-align:left;border-bottom:1px solid var(--border)}.dataset-column-table th{color:var(--bio-cyan);font-weight:600;text-transform:uppercase;font-size:.75em;letter-spacing:.05em;background:var(--surface-tint)}.dataset-column-table tr:last-child td{border-bottom:none}.dataset-column-table tr:hover td{background:var(--surface-tint)}.dataset-column-name{color:var(--text-primary);font-weight:600;word-break:break-word}.dataset-column-table select{width:100%;min-width:8em;padding:.35em .5em;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-container);color:var(--text-primary);font-family:var(--font-mono);font-size:.9em;cursor:pointer}.dataset-column-table select:focus{border-color:var(--bio-cyan);box-shadow:0 0 10px var(--success-bg)}.dataset-column-groupa{text-align:center}.dataset-column-groupa input[type=checkbox]{width:1.1em;height:1.1em;accent-color:var(--bio-cyan);cursor:pointer}.cohort-privacy-note{margin:.8em 0 1.2em;font-size:.85em;color:var(--text-muted);text-align:center}.cohort-tab-bar{display:flex;flex-wrap:wrap;gap:.5em;margin-bottom:1.2em;border-bottom:1px solid var(--border);padding-bottom:.8em}.cohort-tab-btn{padding:.5em 1.1em;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-tint);color:var(--text-secondary);font-size:.9em;font-weight:600;cursor:pointer;transition:all var(--duration-base) var(--ease-standard)}.cohort-tab-btn:hover{border-color:var(--bio-cyan);color:var(--text-primary)}.cohort-tab-btn.active{background:var(--bio-cyan);border-color:var(--bio-cyan);color:var(--on-accent)}.cohort-tab-body{min-height:6em}.cohort-empty-state{padding:2em 1em;text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:var(--radius-region)}.cohort-empty-note{color:var(--text-muted);font-style:italic}.cohort-variable-select{display:flex;align-items:center;gap:.6em;margin-bottom:1em;font-weight:600;color:var(--text-primary);font-size:.9em}.cohort-variable-select select{padding:.4em .6em;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-container);color:var(--text-primary);font-family:var(--font-mono);font-size:.9em;cursor:pointer}.cohort-histogram-wrap{margin-top:1.2em}.cohort-histogram-svg{width:100%;max-width:420px;height:auto;display:block}.cohort-histogram-bar{fill:var(--bio-cyan);opacity:.85;transition:opacity var(--duration-base) var(--ease-standard)}.cohort-histogram-bar:hover{opacity:1}.cohort-freq-wrap{margin-top:.4em}.cohort-freq-table{width:100%;border-collapse:collapse;font-size:.85em;font-family:var(--font-mono);margin-top:.5em}.cohort-freq-table th,.cohort-freq-table td{padding:.5em .8em;text-align:left;border-bottom:1px solid var(--border)}.cohort-freq-table th{color:var(--bio-cyan);font-weight:600;text-transform:uppercase;font-size:.75em;letter-spacing:.05em;background:var(--surface-tint)}.cohort-freq-table tr:last-child td{border-bottom:none}.cohort-freq-missing{margin-top:.6em;font-size:.85em;color:var(--text-muted)}.cohort-biv-tab{display:flex;flex-direction:column;gap:1em}.cohort-biv-pickers{display:flex;flex-wrap:wrap;gap:1.2em}.cohort-biv-verdict{font-weight:600;color:var(--text-primary);font-size:1em;margin:0}.cohort-biv-note{font-size:.85em;color:var(--text-muted);font-style:italic;margin:0}.cohort-biv-contingency-wrap{margin-top:.4em}.cohort-contingency-table th:first-child,.cohort-contingency-table td:first-child{color:var(--text-primary);font-weight:600}.cohort-table1-tab{display:flex;flex-direction:column;gap:1em}.cohort-table1-varpicker{margin-top:.2em}.cohort-var-chips{display:flex;flex-wrap:wrap;gap:.5em;margin-top:.5em}.cohort-var-chip{padding:.35em .9em;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-tint);color:var(--text-secondary);font-size:.85em;font-weight:600;cursor:pointer;transition:all var(--duration-base) var(--ease-standard)}.cohort-var-chip:hover{border-color:var(--bio-cyan);color:var(--text-primary)}.cohort-var-chip.active{background:var(--bio-cyan);border-color:var(--bio-cyan);color:var(--on-accent)}.cohort-table1-wrap{overflow-x:auto}.cohort-table1-table th:first-child,.cohort-table1-table td:first-child{color:var(--text-primary);font-weight:600}.cohort-heatmap-tab{display:flex;flex-direction:column;gap:1em}.cohort-heatmap-controls{display:flex;flex-wrap:wrap;gap:1em;align-items:flex-end}.cohort-heatmap-varpicker{margin-top:.2em}.cohort-heatmap-scroll{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-container);padding:.5em;background:var(--bg-card)}.cohort-heatmap-scroll svg.cohort-heatmap-svg{max-height:none;width:100%;min-width:560px;height:auto;display:block}.cohort-heatmap-cell{stroke:var(--border);stroke-width:.5;transition:opacity var(--duration-base) var(--ease-standard)}.cohort-heatmap-cell:hover{opacity:.8;cursor:default}.cohort-heatmap-cell-masked{stroke:var(--border)}.cohort-heatmap-cell-label{font-size:9px;font-family:var(--font-mono);pointer-events:none}.cohort-heatmap-axis-label{font-size:10px;fill:var(--text-secondary)}.cohort-heatmap-group-label{font-size:10px;font-weight:600;fill:var(--text-primary)}.cohort-heatmap-split-line{stroke:var(--accent);stroke-width:1.5}.cohort-heatmap-legend-title{font-size:10px;font-weight:600;fill:var(--text-primary)}.cohort-heatmap-legend-tick{font-size:9px;fill:var(--text-muted)}.cohort-heatmap-legend-bar,.cohort-heatmap-legend-swatch{stroke:var(--border);stroke-width:.5}.lg-verify-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--radius-control);font-size:.75rem;font-weight:500;border:1px solid var(--border);background-color:var(--surface-tint);color:var(--text-secondary);cursor:default}.lg-verify-badge:not(:disabled){cursor:pointer}.lg-verify-badge[data-state=disabled],.lg-verify-badge[data-state=unavailable]{background-color:var(--surface-tint);color:var(--text-muted);border-color:var(--border)}.lg-verify-badge[data-state=verified]{background-color:var(--success-bg);color:var(--success-color);border-color:var(--success-bg)}.lg-verify-badge[data-state=mismatch]{background-color:var(--warning-bg);color:var(--warning-color);border-color:var(--warning-bg)}.lg-verify-badge[data-state=error]{background-color:var(--error-soft);color:var(--error-color);border-color:var(--error-light)}.lg-verify-badge[data-state=loading],.lg-verify-badge[data-state=pending]{background-color:var(--blue-bg-soft);color:var(--blue);border-color:var(--blue-light)}.lg-verify-toggle{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:var(--radius-control);font:inherit;font-size:.75rem;font-weight:500;border:1px solid var(--border);background-color:transparent;color:var(--text-secondary);cursor:pointer;transition:var(--transition-colors)}.lg-verify-toggle:hover{border-color:var(--border-strong);color:var(--text-primary)}.lg-verify-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lg-verify-toggle[data-enabled=true]{background-color:var(--success-bg);color:var(--success-color);border-color:var(--success-bg)}.lg-verify-modal-backdrop{position:fixed;inset:0;background-color:var(--shadow-ink-strong);display:flex;align-items:center;justify-content:center;z-index:50}.lg-verify-modal-content{background-color:var(--bg-card-solid);color:var(--text-primary);padding:1.5rem;border-radius:var(--radius-container);max-width:32rem;width:90%;box-shadow:0 25px 50px -12px var(--shadow-ink-soft);border:1px solid var(--border)}.lg-verify-modal-content h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.lg-verify-modal-content p{margin:0 0 .75rem}.lg-verify-modal-content ul{margin:0 0 1rem 1rem;padding:0}.lg-verify-modal-content li{margin-bottom:.25rem}.lg-verify-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.lg-verify-modal-actions button{padding:.375rem .875rem;border-radius:var(--radius-container);border:1px solid var(--border);background-color:var(--bg-surface);color:var(--text-primary);cursor:pointer;font-size:.875rem}.lg-verify-modal-actions button[data-testid=verify-modal-enable]{background-color:var(--blue);color:#fff;border-color:var(--blue)}.lg-verify-modal-warning{margin:0 0 .75rem;padding:.5rem .75rem;background-color:var(--warning-bg);border:1px solid var(--badge-amber-color);border-radius:var(--radius-container);color:var(--warning-color);font-size:.875rem}.lg-verify-overlay{position:absolute;inset:0;background-color:var(--header-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10}.lg-verify-overlay-card{text-align:center;padding:1.5rem;background-color:var(--bg-card-raised, var(--bg-card-solid));border:1px solid var(--accent-border-soft, var(--accent-border-soft));color:var(--text-primary, var(--text-primary));border-radius:var(--radius-container);box-shadow:0 10px 30px -10px var(--shadow-ink-strong);min-width:18rem}.lg-verify-overlay-label{margin:0 0 .75rem;font-weight:500;color:var(--text-primary, var(--text-primary))}.lg-verify-overlay-bar{height:.5rem;background-color:var(--surface-tint-hover);border-radius:var(--radius-control);overflow:hidden;margin-bottom:.5rem}.lg-verify-overlay-bar-fill{height:100%;background-color:var(--accent);box-shadow:0 0 8px var(--accent-glow, var(--accent-border-focus));transition:width .2s ease-out;width:0}.lg-verify-overlay-percent{color:var(--text-secondary, var(--text-secondary))!important}.lg-verify-overlay-card button{background-color:transparent!important;border-color:var(--accent-border-soft, var(--accent-border-soft))!important;color:var(--text-secondary, var(--text-secondary))!important}.lg-verify-overlay-card button:hover{background-color:var(--accent-bg-soft, var(--accent-bg-soft))!important;border-color:var(--accent-border-strong, var(--accent-border-strong))!important}[data-theme=light] .lg-verify-overlay{background-color:var(--white)}[data-theme=light] .lg-verify-overlay-card{background-color:var(--white);color:var(--bg-card-solid);border-color:var(--shadow-ink-soft);box-shadow:0 4px 6px -1px var(--shadow-ink-soft)}[data-theme=light] .lg-verify-overlay-bar{background-color:var(--text-primary)}[data-theme=light] .lg-verify-overlay-bar-fill{background-color:var(--blue);box-shadow:none}[data-theme=light] .lg-verify-overlay-percent{color:var(--text-secondary)!important}[data-theme=light] .lg-verify-overlay-card button{background-color:var(--text-primary)!important;border-color:var(--text-primary)!important;color:var(--bg-card-solid)!important}.lg-verify-overlay-bar-fill-0{width:0%}.lg-verify-overlay-bar-fill-5{width:5%}.lg-verify-overlay-bar-fill-10{width:10%}.lg-verify-overlay-bar-fill-15{width:15%}.lg-verify-overlay-bar-fill-20{width:20%}.lg-verify-overlay-bar-fill-25{width:25%}.lg-verify-overlay-bar-fill-30{width:30%}.lg-verify-overlay-bar-fill-35{width:35%}.lg-verify-overlay-bar-fill-40{width:40%}.lg-verify-overlay-bar-fill-45{width:45%}.lg-verify-overlay-bar-fill-50{width:50%}.lg-verify-overlay-bar-fill-55{width:55%}.lg-verify-overlay-bar-fill-60{width:60%}.lg-verify-overlay-bar-fill-65{width:65%}.lg-verify-overlay-bar-fill-70{width:70%}.lg-verify-overlay-bar-fill-75{width:75%}.lg-verify-overlay-bar-fill-80{width:80%}.lg-verify-overlay-bar-fill-85{width:85%}.lg-verify-overlay-bar-fill-90{width:90%}.lg-verify-overlay-bar-fill-95{width:95%}.lg-verify-overlay-bar-fill-100{width:100%}.lg-verify-overlay-percent{margin:0 0 .75rem;font-size:.875rem;color:var(--text-secondary)}.lg-verify-overlay-card button{padding:.375rem .75rem;border-radius:var(--radius-container);background-color:var(--text-primary);border:1px solid var(--text-primary);cursor:pointer;font-size:.875rem}.lg-verify-diff-backdrop{position:fixed;inset:0;background-color:var(--shadow-ink-strong);display:flex;align-items:center;justify-content:center;z-index:50}.lg-verify-diff-content{background-color:#fff;padding:1.5rem;border-radius:var(--radius-container);max-width:48rem;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 25px 50px -12px var(--shadow-ink-soft);color:var(--bg-card-solid)}.lg-verify-diff-content h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.lg-verify-diff-summary{margin:0 0 1rem;font-size:.875rem;color:var(--text-secondary)}.lg-verify-diff-summary strong{color:var(--bg-card-solid)}.lg-verify-diff-table{width:100%;border-collapse:collapse;font-size:.875rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.lg-verify-diff-table th,.lg-verify-diff-table td{padding:.5rem .625rem;border-bottom:1px solid var(--text-primary);text-align:right;white-space:nowrap}.lg-verify-diff-table th{background:var(--text-primary);font-weight:600;color:var(--text-secondary);text-align:right}.lg-verify-diff-table th:first-child,.lg-verify-diff-table td:first-child{text-align:left}.lg-verify-diff-note{margin-top:1rem;padding:.75rem;background:var(--text-primary);border-left:3px solid var(--text-secondary);border-radius:var(--radius-control);font-size:.8125rem;color:var(--text-secondary)}.lg-verify-diff-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.lg-verify-diff-actions button{padding:.375rem .875rem;border-radius:var(--radius-container);border:1px solid var(--text-primary);background-color:#fff;cursor:pointer;font-size:.875rem}.lg-verify-diff-actions button[data-testid=verify-diff-close]{background-color:var(--blue);color:#fff;border-color:var(--blue)}.tool-protocol-links{margin-block:var(--space-lg);padding-block-start:var(--space-md);border-top:1px solid var(--border)}.tool-protocol-links h2{margin:0 0 var(--space-sm);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-2xl)}.tool-protocol-links__list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.tool-protocol-links__card{display:flex;flex:1 1 0;flex-direction:column;align-items:flex-start;gap:var(--space-2xs);min-width:0;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-container);background:var(--bg-card-solid);color:var(--text-primary);text-decoration:none;transition:var(--transition-colors)}.tool-protocol-links__card:hover{border-color:var(--accent);background:var(--accent-bg-soft)}.tool-protocol-links__card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tool-protocol-links__title{font-weight:700}.tool-protocol-links__meta{color:var(--text-secondary);font-size:var(--text-xs)}.tool-protocol-links__language{padding:var(--space-3xs) var(--space-2xs);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text-secondary);font-size:var(--text-2xs)}.datawash-layout{display:flex;gap:var(--space-lg);flex-wrap:wrap;align-items:flex-start}.datawash-col-input{flex:1 1 380px;min-width:320px}.datawash-col-preview{flex:1 1 480px;min-width:320px}.datawash-textarea{width:100%;font-family:var(--font-mono);padding:var(--space-sm);border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);resize:vertical}.datawash-textarea--active{border:2px dashed var(--accent)}.datawash-action-row{display:flex;gap:var(--space-xs);margin:var(--space-xs) 0}.datawash-finding-list{list-style:none;padding:0;margin:0}.datawash-finding-item{padding:var(--space-2xs) 0}.datawash-check-label{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer}.datawash-table-wrap{overflow-x:auto;max-width:100%}.datawash-handoff-cols{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin:var(--space-xs) 0}.datawash-recipe-btn{padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:var(--transition-colors),var(--transition-transform)}.datawash-recipe-btn:hover{border-color:var(--accent);color:var(--accent-light, var(--accent));transform:translateY(var(--lift-control))}.datawash-view-toggle{display:flex;gap:var(--space-2xs);margin:var(--space-xs) 0}.datawash-view-btn{padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:.85rem;transition:var(--transition-colors)}.datawash-view-btn:hover{border-color:var(--accent);color:var(--text-primary)}.datawash-view-btn--active{border-color:var(--accent);background:var(--accent-bg-soft, var(--bg-secondary));color:var(--text-primary)}.datawash-diff-banner{padding:var(--space-xs) var(--space-sm);margin:var(--space-xs) 0;border-radius:var(--radius-region);border:1px solid var(--warning-border, var(--border));background:var(--warning-bg, var(--bg-secondary));color:var(--text-primary);font-size:.9rem;animation:motion-fade-in var(--duration-fast) var(--ease-standard)}.datawash-cell-empty{color:var(--text-secondary);opacity:.6}.datawash-cell--changed{background:var(--warning-bg, var(--accent-bg-soft));box-shadow:inset 0 0 0 1px var(--warning-border, var(--accent-border-soft))}.datawash-table-wrap table{border-collapse:separate;border-spacing:0}.datawash-table-wrap thead th{position:sticky;top:0;z-index:2;background:var(--bg-secondary)}.datawash-table-wrap th:first-child,.datawash-table-wrap td:first-child{position:sticky;left:0;z-index:1;background:var(--bg-secondary)}.datawash-table-wrap thead th:first-child{z-index:3}.datawash-impact-chip{display:inline-block;margin-left:var(--space-2xs);padding:.05rem .45rem;border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;vertical-align:middle}.datawash-sev-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:0 0 auto}.datawash-sev-dot--error{background:var(--error-color)}.datawash-sev-dot--warning{background:var(--warning-color)}.datawash-sev-dot--info{background:var(--bio-cyan)}.datawash-finding-group{margin:var(--space-sm) 0 0;border-top:1px solid var(--border);padding-top:var(--space-sm);animation:motion-rise var(--duration-base) var(--ease-out-soft)}.datawash-finding-group:first-of-type{border-top:none}.datawash-group-title{cursor:pointer;font-weight:600;color:var(--text-primary);padding:var(--space-3xs) 0}.datawash-finding-group .datawash-finding-list{margin-top:var(--space-2xs)}.stat-section-label{font-weight:600;color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-xs)}.datawash-apply-summary{margin:var(--space-2xs) 0;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-region);background:var(--accent-bg-soft, var(--bg-secondary));color:var(--text-primary);font-size:.85rem}.datawash-toast{position:fixed;left:50%;bottom:var(--space-lg);transform:translate(-50%);z-index:100;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-container);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--box-shadow);animation:motion-rise var(--duration-moderate) var(--ease-out-expo)}.datawash-toast--leaving{animation:none;opacity:0;transform:translateY(var(--motion-rise-distance, 16px));transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}.datawash-toast--error{border-color:var(--error-border, var(--border));background:var(--error-bg, var(--bg-secondary));color:var(--error-color)}.datawash-toast--info{border-color:var(--border-strong, var(--border))}@media(max-width:640px){.datawash-layout{gap:var(--space-sm)}.datawash-finding-item{padding:var(--space-3xs) 0}.datawash-action-row,.datawash-view-toggle{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.datawash-diff-banner,.datawash-finding-group,.datawash-toast{animation:none!important}}
