.cell-back{max-width:1160px;margin:27px auto 0}.cell-explorer{--cell-ink:#254539;--cell-soft:#eef4ed;--cell-line:#ccdcd1;color:#23483c;max-width:1160px;margin:0 auto;padding-bottom:12px}.protein-explorer{--cell-ink:#424573;--cell-soft:#f0eff8;--cell-line:#d4d0e5}.cell-intro{padding:31px 0 28px}.cell-intro>.eyebrow{color:#5a7162;font-weight:750}.cell-intro h1{letter-spacing:-.025em;color:#214738;max-width:16ch;margin:12px 0 13px;font:400 clamp(2.6rem,5vw,4.35rem)/1.09 Libre Caslon Display,Georgia,serif}.cell-intro h1 em{color:#627950;font-style:italic}.protein-explorer .cell-intro h1 em{color:#626396}.cell-intro>p:last-child{color:#4d6357;max-width:760px;font-size:1.05rem;line-height:1.65}.cell-module{background:#fff;border:1px solid #d5e1d7;border-radius:24px;margin:0 0 25px;padding:29px;scroll-margin-top:22px;box-shadow:0 12px 38px #19402b09}.protein-explorer .cell-module{border-color:#dedce9}.cell-module-header{align-items:start;gap:16px;margin-bottom:22px;display:flex}.cell-module-index{background:var(--cell-ink);color:#fff;letter-spacing:.03em;border-radius:14px;flex:0 0 49px;place-items:center;height:49px;font-weight:750;display:grid}.cell-module-header .eyebrow{color:var(--cell-ink);font-size:.71rem;font-weight:750}.cell-module-header h2{color:#203f35;margin:6px 0 7px;font:400 clamp(1.8rem,3.3vw,2.65rem)/1.12 Libre Caslon Display,Georgia,serif}.cell-module-header p:last-child{color:#52685b;line-height:1.5}.cell-step-picker{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.cell-step-picker li{min-width:0}.cell-step-picker button{text-align:left;border:1.5px solid var(--cell-line);color:#2a4b3a;background:#fafcf9;border-radius:11px;align-items:center;gap:9px;width:100%;height:100%;min-height:62px;padding:11px;font-size:.84rem;font-weight:680;line-height:1.26;display:flex}.protein-explorer .cell-step-picker button{color:#3b4263;background:#fbfaff}.cell-step-picker button span{color:#6c806f;font-size:.75rem;font-weight:780}.cell-step-picker button:hover{border-color:var(--cell-ink);background:var(--cell-soft)}.cell-step-picker button[aria-current=step]{background:var(--cell-ink);border-color:var(--cell-ink);color:#fff;box-shadow:0 5px 16px #17403319}.cell-step-picker button[aria-current=step] span{color:#d4e7d6}.cell-step-focus{background:var(--cell-soft);border:1px solid var(--cell-line);border-left:5px solid var(--cell-ink);border-radius:13px;justify-content:space-between;align-items:end;gap:20px;min-height:172px;padding:22px 24px;display:flex}.cell-focus-counter{color:var(--cell-ink);letter-spacing:.11em;font-size:.72rem;font-weight:800}.cell-step-focus h3,.protein-codon-detail h3{color:#243f36;margin:4px 0 7px;font:400 1.8rem/1.2 Libre Caslon Display,Georgia,serif}.cell-step-focus p{color:#344f41;max-width:78ch;line-height:1.64}.cell-step-move{flex-shrink:0;gap:7px;display:flex}.cell-step-move button{border:1.5px solid var(--cell-ink);min-width:44px;min-height:44px;color:var(--cell-ink);background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:5px;padding:8px 13px;font-size:.83rem;font-weight:700;display:inline-flex}.cell-step-move button:disabled{opacity:.35;cursor:default}.cell-step-move button:not(:disabled):hover{background:var(--cell-ink);color:#fff}.cell-progress{background:#fff7ec;border:1px solid #d7b995;border-radius:12px;align-items:center;gap:24px;margin-top:17px;padding:19px 21px;display:flex}.cell-progress>span{color:#674422;flex-direction:column;min-width:188px;display:flex}.cell-progress small{font-size:.79rem}.cell-progress input{accent-color:#976536;cursor:pointer;flex:1;min-width:80px;height:32px}.cell-dna-stage{background:#f6f9f5;border:1px solid #dbe5dc;border-radius:16px;margin-top:17px;padding:20px}.cell-diagram-head{color:#2b543e;align-items:center;gap:9px;margin-bottom:17px;display:flex}.cell-diagram-head span{color:#637569;margin-left:auto;font-size:.78rem}.cell-dna-pairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.cell-dna-pairs:has(>.cell-daughter:only-child){grid-template-columns:1fr;max-width:520px;margin:auto}.cell-daughter{background:#fff;border:1px solid #d5e1d5;border-radius:12px;min-width:0;padding:18px}.cell-daughter>p{color:#244838;margin-bottom:13px;font-weight:750}.cell-daughter>p small{color:#617367;font-size:.73rem;font-weight:500;display:block}.cell-strand{flex-direction:column;gap:5px;display:flex}.cell-strand-label{color:#375d49;font-size:.75rem;font-weight:750}.cell-strand.is-new .cell-strand-label{color:#87522c}.cell-bases{grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;display:grid}.cell-base{aspect-ratio:1;color:#fff;background:#264c3c;border-radius:5px;place-items:center;min-width:0;font-size:clamp(.65rem,1.2vw,1rem);font-weight:780;display:grid}.cell-strand.is-new .cell-base.is-visible{background:#a06032}.cell-base.is-empty{color:#735c4c;background:#f5e9dd;border:1px dashed #a88b76}.cell-rungs{text-align:center;color:#566c5b;letter-spacing:.06em;padding:3px 0;font-size:.7rem;display:block}.cell-caption{color:#54675a;margin-top:14px;font-size:.82rem;line-height:1.55}.cell-micro-lesson{background:#ebf3e9;border-radius:12px;align-items:start;gap:12px;margin-top:17px;padding:15px 17px;font-size:.88rem;line-height:1.6;display:flex}.cell-micro-lesson svg{color:#426f4d;margin-top:3px}.cell-division-layout{grid-template-columns:minmax(0,1fr) minmax(270px,.9fr);gap:17px;display:grid}.cell-division-layout .cell-step-focus{align-self:stretch}.cell-division-figure{background:#f4f8f5;border:1px solid #dbe4df;border-radius:14px;flex-direction:column;justify-content:center;margin:0;padding:14px;display:flex}.cell-division-art{justify-content:center;align-items:center;gap:16px;min-height:125px;display:flex}.cell-shell{background:#e5efe4;border:3px solid #36644d;border-radius:51% 48% 52% 47%;place-items:center;width:116px;height:108px;display:grid}.cell-nucleus{border:2px dashed #93ad9c;border-radius:50%;justify-content:space-around;align-items:center;width:82%;height:76%;padding:10px;display:flex}.cell-division-art.phase-mitosis .cell-nucleus{justify-content:space-between;gap:5px}.cell-chromosome{background:#8b5c85;border-radius:5px;width:10px;height:34px;position:relative;transform:rotate(-9deg)}.cell-chromosome:nth-child(2n){background:#9c7136;transform:rotate(10deg)}.cell-chromosome.copied:after{content:"";background:inherit;border-radius:5px;width:10px;height:34px;position:absolute;top:0;left:5px;transform:rotate(17deg)}.cell-division-figure figcaption{text-align:center;color:#566a5d;font-size:.78rem;line-height:1.5}.protein-story{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-top:18px;display:grid}.protein-location{opacity:.78;background:#faf9fd;border:1.5px solid #d4d2e3;border-radius:14px;height:100%;padding:17px;transition:opacity .15s,border-color .15s}.protein-location.is-highlighted{opacity:1;background:#f1f0fa;border-color:#68689b}.protein-place{letter-spacing:.09em;color:#5c6190;font-size:.7rem;font-weight:750}.protein-story-row{align-items:center;gap:12px;margin-top:12px;display:flex}.protein-story-icon{color:#fff;background:#494e82;border-radius:50%;flex:0 0 43px;place-items:center;height:43px;font-size:.69rem;font-weight:750;display:grid}.protein-story-row strong{font-size:.92rem;display:block}.protein-story-row p{color:#5d6372;margin-top:3px;font-size:.78rem;line-height:1.45}.protein-route-arrow{color:#777ba4}.protein-demo-warning{color:#584d3b;background:#f4f1e9;border:1px solid #e7dfcc;border-radius:10px;align-items:center;gap:9px;margin-bottom:17px;padding:11px 15px;font-size:.83rem;display:flex}.protein-demo-warning svg{color:#846d4b}.protein-sequence{border-bottom:1px solid #e6e3ee;padding:14px 0}.protein-sequence-label{letter-spacing:.08em;color:#434778;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:.72rem;font-weight:800;display:flex}.protein-sequence-label small{letter-spacing:0;color:#596172;font-size:.72rem}.protein-words{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.protein-word,.protein-words button{color:#414670;text-align:center;background:#f7f6fb;border:1.5px solid #d9d6e7;border-radius:9px;place-items:center;min-width:0;min-height:50px;padding:6px;font-size:1rem;font-weight:750;display:grid}.protein-words button:hover{background:#eeeef8;border-color:#464a7f}.protein-words button[aria-pressed=true],.protein-word.is-selected{color:#fff;background:#4c4b7b;border-color:#4c4b7b}.protein-word.amino-word{font-size:.86rem;font-weight:650}.protein-codon-detail{background:#efeff9;border:1px solid #d5d3e7;border-left:5px solid #494e82;border-radius:12px;margin-top:18px;padding:18px 21px}.protein-codon-detail .eyebrow{color:#4e5084;font-size:.73rem;font-weight:750}.protein-codon-detail p{color:#3e4762;line-height:1.6}.protein-change{background:#f3f8f3;border:1px solid #cbdad0;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;margin-top:21px;padding:20px;display:flex}.protein-change h3{color:#284b3b;font:400 1.65rem Libre Caslon Display,Georgia,serif}.protein-change p{max-width:72ch;margin-top:6px;font-size:.87rem;line-height:1.58}.protein-change button{color:#fff;background:#3c6552;border:0;border-radius:9px;flex:none;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:9px 14px;font-size:.83rem;font-weight:750;display:flex}.protein-change button:hover{background:#234b38}.cell-boundary{color:#364f3d;background:#edf2e9;border:1px solid #d4e0d0;border-radius:16px;gap:15px;margin:26px 0;padding:23px;display:flex}.cell-boundary svg{color:#5e795b;flex:none;margin-top:5px}.cell-boundary h2{margin-bottom:6px;font:400 1.52rem Libre Caslon Display,Georgia,serif}.cell-boundary p{max-width:89ch;font-size:.87rem;line-height:1.65}.cell-source-links{margin-top:10px}.cell-source-links a{text-underline-offset:3px;color:#275a42;text-decoration:underline}.cell-next{color:#254838;background:#fff;border:1.5px solid #c7d6c8;border-radius:14px;align-items:center;gap:14px;padding:18px 23px;display:flex}.cell-next span{letter-spacing:.1em;color:#647469;font-size:.73rem;font-weight:750}.cell-next strong{font:400 1.4rem Libre Caslon Display,Georgia,serif}.cell-next svg{margin-left:auto}.cell-next:hover{background:#ecf3e9;border-color:#62836c}@media (max-width:1000px){.cell-step-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.cell-dna-pairs{grid-template-columns:1fr}.cell-daughter{max-width:none}.protein-story{grid-template-columns:1fr;gap:8px}.protein-route-arrow{margin:auto;transform:rotate(90deg)}}@media (max-width:700px){.cell-back{margin-top:19px}.cell-intro{padding:27px 0 20px}.cell-intro>p:last-child{font-size:.95rem}.cell-module{border-radius:17px;padding:17px}.cell-module-header{gap:11px}.cell-module-index{border-radius:10px;flex-basis:39px;height:39px}.cell-module-header h2{font-size:1.8rem}.cell-module-header p:last-child{font-size:.88rem}.cell-step-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cell-step-picker button{min-height:54px;padding:9px;font-size:.78rem}.cell-step-focus{min-height:0;padding:17px;display:block}.cell-step-focus h3{font-size:1.65rem}.cell-step-focus p{font-size:.9rem}.cell-step-move{margin-top:15px}.cell-dna-stage{padding:12px}.cell-diagram-head{flex-wrap:wrap;font-size:.86rem}.cell-diagram-head span{width:100%;margin:0}.cell-daughter{padding:12px}.cell-base{font-size:.67rem}.cell-division-layout{grid-template-columns:1fr}.cell-progress{display:block}.cell-progress input{width:100%;margin-top:9px}.protein-story-row p{font-size:.85rem}.protein-words{gap:4px}.protein-word,.protein-words button{min-height:48px;padding:3px;font-size:.84rem}.protein-word.amino-word{font-size:.74rem}.protein-change{display:block}.protein-change button{width:100%;margin-top:16px}.cell-next{grid-template-columns:1fr auto;gap:2px 10px;display:grid}.cell-next strong{grid-column:1}.cell-next svg{grid-area:1/2/3}.cell-boundary{padding:18px}.cell-boundary svg{display:none}}@media (prefers-reduced-motion:reduce){.protein-location{transition:none}}.cell-base{font-size:clamp(.8rem,1.2vw,1rem)}.cell-rungs{font-size:.79rem}.cell-caption,.cell-division-figure figcaption{font-size:.86rem}@media (max-width:700px){.cell-step-picker button{min-height:60px;font-size:.85rem}.cell-base,.protein-sequence-label{font-size:.8rem}.protein-word.amino-word{min-height:58px;font-size:.8rem}}.cell-explorer.pathway-lab{--pathway-accent:#244f3e;--pathway-tint:#f0f5ee;--pathway-line:#c8d9cd;--pathway-ink:#264737}.protein-explorer.pathway-lab{--pathway-accent:#505180;--pathway-tint:#f3f2fa;--pathway-line:#d0cde3;--pathway-ink:#373e64}.cell-module{border-color:#c8d8cc;box-shadow:0 10px 32px #19402b06}.cell-module-header .eyebrow,.cell-focus-counter{font-size:.8rem}.cell-step-focus{border:1px solid var(--cell-line);border-left:4px solid var(--cell-ink);align-items:start;min-height:0;padding:24px}.cell-step-focus h3{margin:5px 0 10px;font-size:clamp(1.8rem,3vw,2.25rem)}.cell-step-focus p{font-size:1rem;line-height:1.75}.cell-step-focus .cell-step-takeaway{color:var(--cell-ink);margin-bottom:10px;font-size:1.2rem;line-height:1.6}.cell-copy-controls{background:#fff9f0;border:1px solid #d4b596;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding:16px;display:flex}.cell-copy-controls .cell-progress{background:0 0;border:0;flex:1;gap:15px;min-width:230px;margin:0;padding:0}.cell-copy-controls .cell-progress small{margin-top:4px;font-size:.875rem}.cell-progress input{height:44px}.cell-animate-copy,.protein-reader-controls button{color:#744824;background:#fff;border:1px solid #97613a;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:48px;padding:11px 15px;font-size:.9rem;font-weight:650;display:inline-flex}.cell-animate-copy:disabled{opacity:.5}.cell-copy-controls>p{color:#755f49;flex-basis:100%;margin:0;font-size:.8rem;line-height:1.55}.cell-dna-stage{background:#f7faf5;border-color:#b9cebe;border-radius:17px;padding:24px}.cell-diagram-head{color:#244b38;flex-wrap:wrap}.cell-diagram-head strong{font-size:1rem}.cell-diagram-head span{font-size:.8rem}.cell-daughter{background:#fff;border-color:#c3d6c8;padding:18px}.cell-daughter>p{font-size:1rem}.cell-daughter>p small{margin-top:3px;font-size:.875rem}.cell-strand-label{font-size:.875rem}.cell-bases{gap:3px}.cell-base{aspect-ratio:auto;border-radius:5px;height:35px;font-size:1rem;box-shadow:0 2px 3px #173e3012}.cell-base.is-empty{box-shadow:none;border-color:#ba9a82}.cell-strand.is-new .cell-base.is-visible{animation:.25s cubic-bezier(.22,.61,.36,1) both cell-base-add;animation-delay:calc(var(--base-order)*55ms);background:#985b31}.cell-rungs{padding:6px 0;font-size:.8rem}.cell-caption{margin-top:18px;font-size:.9rem;line-height:1.7}.cell-helix-preview{width:100%;max-width:600px;height:auto;margin:0 auto 18px;display:block}.cell-micro-lesson{gap:10px;font-size:1rem;line-height:1.65}.cell-micro-lesson svg{flex:none}@keyframes cell-base-add{0%{opacity:0;transform:translateY(-7px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.cell-division-layout{grid-template-columns:minmax(0,1.15fr) minmax(280px,1fr);align-items:stretch}.cell-division-figure{background:radial-gradient(#edf5e9,#f8faf5);border-color:#b5cdbc;padding:22px}.cell-division-art{gap:25px;min-height:205px}.cell-shell{background:#e3f0de;border-width:3px;border-color:#285a41;width:151px;height:142px;box-shadow:inset 0 0 0 6px #fff8,0 6px 20px #244f3212}.cell-nucleus{background:#f4faf0aa;border-color:#83a793}.cell-chromosome{background:#855a92;width:12px;height:43px}.cell-chromosome.copied:after{width:12px;height:43px;left:6px}.cell-division-art.phase-mitosis .cell-shell{width:220px}.cell-division-art.phase-mitosis .cell-chromosome{width:10px;height:40px}.phase-mitosis .cell-chromosome:nth-child(-n+2){animation:.65s cubic-bezier(.22,.61,.36,1) both cell-chromosome-left}.phase-mitosis .cell-chromosome:nth-child(n+3){animation:.65s cubic-bezier(.22,.61,.36,1) both cell-chromosome-right}.cell-division-art.phase-cytokinesis .cell-shell{width:114px;height:109px}.phase-cytokinesis .cell-shell:first-child{animation:.65s cubic-bezier(.22,.61,.36,1) both cell-chromosome-left}.phase-cytokinesis .cell-shell:last-child{animation:.65s cubic-bezier(.22,.61,.36,1) both cell-chromosome-right}.cell-division-figure figcaption{margin-top:8px;font-size:.9rem;line-height:1.65}@keyframes cell-chromosome-left{0%{translate:28px}to{translate:0}}@keyframes cell-chromosome-right{0%{translate:-28px}to{translate:0}}.protein-location{opacity:1;background:#faf9fc;border-width:1px;border-color:#ceccdf;padding:20px;transition:background-color .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out}.protein-location.is-highlighted{background:#f1eff9;border-color:#67639b;box-shadow:inset 0 3px #67639b}.protein-place{font-size:.75rem}.protein-story-row strong{font-size:1rem;line-height:1.4}.protein-story-row p{color:#4f526c;font-size:.9rem;line-height:1.6}.protein-story-icon{flex-basis:47px;height:47px;font-size:.75rem}.protein-demo-warning{font-size:.9rem;line-height:1.6}.protein-demo-warning svg{flex:none}.protein-sequence{padding:20px 0}.protein-sequence-label{letter-spacing:.04em;flex-wrap:wrap;gap:10px;font-size:.8rem}.protein-sequence-label small{font-size:.8rem}.protein-words{gap:8px}.protein-word,.protein-words button{border-radius:11px;min-height:58px;font-size:1.1rem}.protein-word.amino-word{padding:10px 6px;font-size:.95rem;line-height:1.35}.protein-reading-track{height:30px;margin:0 0 7px;position:relative}.protein-reading-track>span{color:#48416b;white-space:nowrap;background:#ece8f6;border:1px solid #837ca9;border-radius:9px 9px 0 0;justify-content:center;align-items:center;width:20%;height:30px;font-size:.72rem;font-weight:700;transition:transform .38s cubic-bezier(.22,.61,.36,1);display:flex;position:absolute;top:0;left:0}.protein-amino-chain{align-items:center}.protein-amino-chain>.amino-word{color:#514d6d;background:#fff;border-style:dashed;border-radius:28px;min-height:63px;position:relative}.protein-amino-chain>.amino-word.is-read{background:#eeebf6;border-style:solid;border-color:#aaa3c5}.protein-amino-chain>.amino-word.is-selected{color:#fff;background:#504b7d;border-color:#504b7d}.protein-amino-chain>.amino-word:not(.is-stop):not(:nth-child(4)):after{content:"";background:#a49bc2;width:8px;height:3px;position:absolute;top:50%;right:-9px}.protein-amino-chain>.amino-word.is-stop{color:#595468;background:#f7f6f9;border-style:dashed;border-radius:10px}.protein-amino-chain>.amino-word.is-stop.is-selected{color:#504b7d;border-style:solid;border-color:#504b7d;box-shadow:inset 0 0 0 1px #504b7d}.protein-reader-controls{flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;display:flex}.protein-reader-controls button{color:#4b487a;background:#f8f6fc;border-color:#7b76a2}.protein-reader-controls p{color:#5e6174;flex:1;min-width:220px;max-width:58ch;font-size:.875rem;line-height:1.6}.protein-codon-detail{border-color:#c4bedb;font-size:1rem;line-height:1.7}.protein-codon-detail .eyebrow{font-size:.8rem}.protein-change{padding:24px}.protein-change p{font-size:1rem;line-height:1.7}.protein-change button{min-height:48px;font-size:.9rem}.cell-boundary p{font-size:1rem;line-height:1.75}.cell-boundary h2{font-size:1.7rem}.cell-next{min-height:74px}.cell-next span{font-size:.8rem}@media (max-width:1000px){.cell-dna-pairs,.cell-division-layout,.protein-story{grid-template-columns:1fr}}@media (max-width:700px){.cell-intro>p:last-child,.cell-module-header p:last-child{font-size:1rem}.cell-step-focus{padding:19px}.cell-step-focus p{font-size:1rem}.cell-dna-stage{padding:13px}.cell-daughter{padding:12px}.cell-base{height:29px;font-size:.9rem}.cell-bases{gap:2px}.cell-division-figure{padding:18px}.cell-copy-controls{padding:15px}.cell-copy-controls .cell-progress{flex-basis:100%;min-width:0;display:block}.cell-copy-controls .cell-progress>span{min-width:0}.cell-animate-copy{width:100%}.protein-words{gap:5px}.protein-words button,.protein-word{min-height:52px;padding:5px;font-size:.95rem}.protein-word.amino-word{min-height:58px;padding:7px 3px;font-size:.8rem}.protein-reading-track>span{font-size:.65rem}.protein-amino-chain>.amino-word:not(.is-stop):not(:nth-child(4)):after{width:5px;right:-6px}.protein-story-row p{font-size:.95rem}.protein-reader-controls{gap:10px}.protein-reader-controls button{width:100%}.protein-reader-controls p{margin:0}.cell-caption,.cell-division-figure figcaption{font-size:.9rem}.protein-change{padding:18px}}.protein-reading-track>span{font-size:.75rem}
