.tool-loader[data-astro-cid-mqzpnqfb]{display:inline-flex;align-items:center;justify-content:center;min-height:120px;color:var(--text-secondary);font-family:var(--font-mono);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.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-card{display:flex;flex-direction:column;gap:.65rem;padding:1.35rem 1.25rem;border-radius:var(--radius-md);border:.5px solid var(--border);background:var(--bg-card);text-decoration:none;box-shadow:var(--card-double-rule),var(--card-shadow-rest);overflow:hidden;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s ease,background .2s ease,box-shadow .2s ease;cursor:pointer}.tool-card:hover{transform:translateY(-3px);border-color:var(--border-strong);background:var(--card-glow-hover),var(--bg-card-hover);box-shadow:var(--card-double-rule),var(--card-shadow-hover)}.tool-card__head{display:flex;align-items:center;gap:.6rem}.tool-card__icon{font-size:1.6rem;line-height:1;flex-shrink:0}.tool-card__name{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.3}.tool-card__badge{margin-left:auto;font-family:var(--font-mono);font-size:.68rem;color:var(--bio-cyan);background:var(--bio-cyan-dim);border:1px solid var(--accent-border-hover);border-radius:999px;padding:.15em .65em;white-space:nowrap}.tool-card__desc{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tool-card__meta{display:grid;gap:.18rem;padding:.7rem .8rem;border-radius:.9rem;border:1px solid var(--border);background:var(--surface-tint)}.tool-card__meta-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.tool-card__meta-value{color:var(--text-primary);font-size:var(--text-sm);line-height:1.45}.tool-card__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.35rem}.tool-card__tag{font-family:var(--font-mono);font-size:.68rem;color:var(--accent);background:var(--accent-bg-faint);border:1px solid var(--accent-border-faint);border-radius:999px;padding:.15em .6em;white-space:nowrap}.tool-card:hover .tool-card__tag{border-color:var(--accent-border-soft);background:var(--accent-bg-soft)}.tool-card__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.35rem}.tool-card__footer .tool-card__tags{margin-top:0;padding-top:0}.tool-card__version{font-family:var(--font-mono);font-size:.62rem;color:var(--text-muted);opacity:.6;white-space:nowrap;flex-shrink:0}.tool-card--disabled{cursor:default;opacity:.55;pointer-events:none;filter:grayscale(.3)}.tool-card--disabled:hover{transform:none;border-color:var(--border);background:var(--bg-card);box-shadow:var(--card-double-rule),var(--card-shadow-rest)}.tool-card__badge--coming-soon{color:var(--badge-amber-color);background:var(--badge-amber-bg);border-color:var(--badge-amber-border)}.tool-card__badge--pro{color:var(--accent);background:var(--accent-bg-soft);border-color:var(--accent-border-soft)}@media(max-width:640px){.card-grid{grid-template-columns:1fr}}.tools-hero{text-align:center;padding:4em 0 1.5em;position:relative}.tools-hero:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);pointer-events:none;z-index:-1;animation:breathe 8s infinite ease-in-out}.tools-hero h1{font-family:var(--font-display);font-weight:800;font-size:var(--text-3xl);margin-bottom:.3em;letter-spacing:.05em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.tools-hero .subtitle{color:var(--text-secondary);max-width:480px;margin:0 auto 1em;font-size:var(--text-base);line-height:1.6}.tools-hero-badge{display:inline-block;font-family:JetBrains Mono,monospace;font-size:var(--text-xs);color:var(--bio-cyan);border:1px solid var(--bio-cyan-border-faint);border-radius:20px;padding:.3em 1.2em;margin-bottom:1.5em;background:var(--surface-glow);letter-spacing:.05em;box-shadow:0 0 10px var(--bio-cyan-glow)}.tools-hero-note{font-size:var(--text-sm);color:var(--text-muted);margin-top:.5em;font-family:JetBrains Mono,monospace}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2em;padding:1.5em 0 3em}.tool-card{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:2em 1.8em;text-decoration:none;transition:all .35s cubic-bezier(.4,0,.2,1);overflow:hidden}@supports (backdrop-filter: blur(1px)){.tool-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}.tool-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--bio-cyan));opacity:0;transition:opacity .35s ease}.tool-card:hover{background:var(--bg-card-hover);border-color:var(--bio-cyan);transform:translateY(-3px);box-shadow:0 8px 24px var(--bio-cyan-glow)}.tool-card:hover:before{opacity:1}.tool-card .icon{font-size:var(--text-3xl);margin-bottom:.6em;display:block;filter:drop-shadow(0 0 8px var(--accent-shadow-intense))}.tool-card h3{color:var(--text-primary);margin:0 0 .4em;font-size:var(--text-lg);font-weight:700}.tool-card p{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.6}.tool-card .card-arrow{position:absolute;bottom:1.5em;right:1.8em;color:var(--text-muted);font-size:1.2em;transition:all .3s ease}.tool-card:hover .card-arrow{color:var(--bio-cyan);transform:translate(4px)}@media(max-width:600px){.tools-grid{grid-template-columns:1fr}.tools-hero h1{font-size:var(--text-2xl)}}.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:JetBrains Mono,monospace}.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:min(94vw,1100px);max-width:1100px;margin:0 auto}@media(max-width:640px){.tool-container{width:100%;padding-inline:.25rem}}.tool-operation-zone{background:var(--header-bg);border:1px solid var(--border);border-radius:16px;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:JetBrains Mono,monospace;color:var(--bio-cyan);text-transform:uppercase;letter-spacing:.08em}.changelog-block{border:1px solid var(--border);border-radius:10px;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:JetBrains Mono,monospace;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:10px;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}.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:JetBrains Mono,monospace;font-size:.75em;color:var(--text-muted);font-weight:400;background:var(--surface-tint);padding:.1em .4em;border-radius:4px}.data-input-group textarea{width:100%;padding:1em;font-family:JetBrains Mono,monospace;font-size:.85em;line-height:1.6;background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;color:var(--text-primary);resize:vertical;transition:all .25s ease}.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:JetBrains Mono,monospace;font-weight:600}.input-help{color:var(--text-muted);font-size:.76em;font-family:JetBrains Mono,monospace}.data-input-group input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;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:6px;color:var(--text-muted);font-size:.75em;font-family:JetBrains Mono,monospace;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:Space Grotesk,sans-serif;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:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 20px var(--accent-border-strong);position:relative;overflow:hidden;z-index:1}.tool-btn:after{content:"";position:absolute;inset:0;background:var(--surface-tint-hover);transform:translate(-100%);transition:transform .6s ease;z-index:-1}.tool-btn:hover:not(:disabled):after{transform:translate(100%)}.tool-btn:hover:not(:disabled){transform:translateY(-2px);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:16px;padding:2em;margin-top:1.5em;animation:slideUp .4s cubic-bezier(.4,0,.2,1);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)}.tool-results h3{margin:0 0 1.2em;font-size:1em;color:var(--bio-cyan);text-transform:uppercase;letter-spacing:.1em;font-family:JetBrains Mono,monospace;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:10px;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:JetBrains Mono,monospace}.stat-value{font-family:JetBrains Mono,monospace;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:8px;font-weight:700;font-size:.9em;font-family:Space Grotesk,sans-serif;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:8px;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:6px;color:var(--error-color);font-size:.72em;cursor:pointer;padding:.3em .6em;transition:all .2s ease;font-family:JetBrains Mono,monospace}.remove-btn:hover{background:var(--error-border)}.add-group-btn{background:none;border:1px dashed var(--border);border-radius:10px;padding:.8em;color:var(--text-muted);cursor:pointer;font-size:.85em;font-family:Space Grotesk,sans-serif;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)}.posthoc-section h4{margin-bottom:.8em;color:var(--text-primary);font-size:.9em;text-transform:uppercase;letter-spacing:.05em;font-family:JetBrains Mono,monospace}.posthoc-table{width:100%;border-collapse:collapse;font-size:.85em;font-family:JetBrains Mono,monospace}.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:JetBrains Mono,monospace}.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:12px;padding:8px}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.copy-results-btn{display:inline-flex;align-items:center;gap:.4em;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:.75em;font-family:JetBrains Mono,monospace;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:12px;margin-bottom:1.5em;border:1px solid var(--accent-border-soft)}.key-finding .key-value{font-family:JetBrains Mono,monospace;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:JetBrains Mono,monospace}.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:.5rem;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:10px;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:6px;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:JetBrains Mono,monospace;border:1px dashed var(--border);border-radius:10px;background:var(--shadow-ink-soft)}.ihc-canvas-wrap{border-radius:12px;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:JetBrains Mono,monospace;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:10px;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:JetBrains Mono,monospace}.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-canvas-area{background:var(--header-bg);border:1px solid var(--border);border-radius:18px;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:JetBrains Mono,monospace;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:10px;background:var(--surface-tint);color:var(--text-secondary);font-size:.82em;font-family:JetBrains Mono,monospace;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:JetBrains Mono,monospace;font-size:.85em;letter-spacing:.04em}.ihc-warning,.ihc-error{margin-top:.8em;border-radius:10px;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:JetBrains Mono,monospace}.ihc-otsu-badge{border:1px solid var(--success-drag-shadow);border-radius:999px;padding:.25em .7em;background:var(--success-bg);color:var(--bio-cyan);font-size:.74em;font-family:JetBrains Mono,monospace}.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:JetBrains Mono,monospace}.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:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.05em}.ihc-dist-bar{display:flex;overflow:hidden;border-radius:999px;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:999px;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%}@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}}.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:Space Grotesk,sans-serif;font-size:.8em;font-weight:600;padding:.5em 1em;border-radius:6px;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:16px;padding:1.2em 1.4em;margin:0 0 1.5em;box-shadow:0 10px 30px var(--shadow-ink-soft)}.analysis-guidance__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1em;margin-bottom:1em}.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:JetBrains Mono,monospace;font-size:.75em;color:var(--bio-cyan);border:1px solid var(--success-drag-shadow);border-radius:999px;padding:.35em .8em;background:var(--success-bg);white-space:nowrap}.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:12px;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:JetBrains Mono,monospace}.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:8px;color:var(--text-primary);padding:.4em .6em;font-size:.75em;font-family:JetBrains Mono,monospace;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:8px;font-size:.8em;font-family:JetBrains Mono,monospace;cursor:pointer;transition:all .2s ease}.details-toggle:hover{color:var(--bio-cyan);border-color:var(--bio-cyan)}.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:14px}.jump-label{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-family:JetBrains Mono,monospace}.jump-links{display:flex;flex-wrap:wrap;gap:.7em}.category-chip{display:inline-flex;align-items:center;gap:.45em;padding:.45em .9em;border-radius:999px;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(-1px)}.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:JetBrains Mono,monospace}.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:999px;background:var(--badge-amber-bg);border:1px solid var(--badge-amber-border);color:var(--badge-amber-color);font-size:var(--text-2xs);font-family:JetBrains Mono,monospace}.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:14px;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:10px;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:JetBrains Mono,monospace}.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}@media(max-width:820px){.teaching-curve-layout{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;animation:classroom-fade-up .7s cubic-bezier(.16,1,.3,1) both}.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:999px;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:classroom-chip-in .6s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i, 0) * 70ms)}.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:1.3rem;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);animation:classroom-fade-up .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i, 0) * 90ms)}.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:999px;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 1rem 1rem 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:1.25rem;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:Space Grotesk,Noto Sans TC,sans-serif;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:999px;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 cubic-bezier(.25,1,.5,1),border-color .22s ease,background .22s ease}.classroom-category-chip:hover{transform:translateY(-2px);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:1.5rem;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:1rem;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:1.35rem;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 cubic-bezier(.25,1,.5,1),border-color .22s ease,box-shadow .22s ease,background .22s ease;opacity:0;animation:classroom-fade-up .68s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i, 0) * 80ms)}.classroom-module-card.is-featured{grid-column:span 2}.classroom-module-card:hover{transform:translateY(-4px);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:999px;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:1.25rem;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-learning-arc__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.classroom-step{display:flex;align-items:center;gap:.85rem;min-height:100%;padding:.85rem .95rem;border-radius:1rem;background:color-mix(in oklch,var(--classroom-paper-soft) 70%,white 30%);color:var(--classroom-ink);font-size:.92rem;line-height:1.5;animation:classroom-fade-up .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i, 0) * 90ms)}.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{animation:classroom-fade-up .52s cubic-bezier(.16,1,.3,1)}.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:Space Grotesk,Noto Sans TC,sans-serif;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:Space Grotesk,Noto Sans TC,sans-serif;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:Space Grotesk,Noto Sans TC,sans-serif;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:999px;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:999px;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:1.25rem;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:1.25rem;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)}@keyframes classroom-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes classroom-chip-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@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,.classroom-learning-arc__items{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--detail,.classroom-shell.classroom-shell--landing{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.2rem,3vw,2rem)}.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:999px;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:1.45rem;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:1rem;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:999px;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:1.5rem;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(-4px) 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:.95rem;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:999px;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:.9rem;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:.65rem;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:999px;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:1.15rem;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:.7rem;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:999px;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:1.75rem;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:1.4rem;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:1.15rem;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:999px;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:1.4rem;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:1.2rem;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:1.2rem 1.2rem 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:1rem;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:999px;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:999px;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(-3px) 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(-3px) 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}}.lg-verify-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:9999px;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-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:.5rem;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:.375rem;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:.375rem;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:.5rem;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:9999px;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:.375rem;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:.5rem;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:.25rem;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:.375rem;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)}.changelog-banner[data-astro-cid-lr62tluy]{display:flex;justify-content:space-between;align-items:center;gap:1em;flex-wrap:wrap;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1em 1.2em;margin-top:1em}.changelog-banner-text[data-astro-cid-lr62tluy]{flex:1;min-width:0}.changelog-banner-title[data-astro-cid-lr62tluy]{margin:0 0 .2em;font-size:1.05em;color:var(--text-primary)}.changelog-banner-helper[data-astro-cid-lr62tluy]{margin:0;color:var(--text-muted);font-size:.88em;line-height:1.5}.changelog-banner-cta[data-astro-cid-lr62tluy]{font-family:JetBrains Mono,monospace;font-size:.85em;color:var(--bio-green);text-decoration:none;white-space:nowrap;padding:.45em .85em;border:1px solid var(--bio-green);border-radius:6px;transition:all .15s}.changelog-banner-cta[data-astro-cid-lr62tluy]:hover{background:var(--bio-green);color:var(--bg-primary)}@media(max-width:520px){.changelog-banner[data-astro-cid-lr62tluy]{flex-direction:column;align-items:stretch}.changelog-banner-cta[data-astro-cid-lr62tluy]{text-align:center}}
