.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-division-art.phase-mitosis .cell-shell{width:170px}.cell-division-art.phase-cytokinesis .cell-shell{width:94px;height:91px}.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-art.phase-mitosis .cell-chromosome{width:7px;height:31px}.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}}
