@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e7f0f3;font-synthesis:none;background:#08121e;font-family:DM Sans,Noto Sans SC,sans-serif}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0}button{font:inherit}[hidden]{display:none!important}.app-shell{background:radial-gradient(68% 80%,#123245 0%,#0b1c2c 46%,#08121e 100%);flex-direction:column;min-height:100dvh;display:flex;overflow:hidden}.masthead{z-index:3;border-bottom:1px solid #96ced51a;justify-content:space-between;align-items:center;gap:20px;padding:23px clamp(22px,4.3vw,68px) 17px;display:flex;position:relative}.brand{align-items:center;gap:17px;min-width:0;display:flex}.brand-mark{border:1px solid #6ab8b9;border-radius:50%;flex:0 0 39px;place-items:center;width:39px;height:39px;display:grid;position:relative;box-shadow:inset 0 0 13px #6cd6d842,0 0 20px #35b9b51f}.brand-mark:before,.brand-mark:after,.brand-mark span{content:"";border-radius:50%;position:absolute}.brand-mark:before{border:1px solid #89e3e08a;width:25px;height:25px}.brand-mark:after{background:#e7a9ad;width:11px;height:11px;transform:translate(4px,-2px);box-shadow:0 0 10px #dc889a}.brand-mark span{background:#9be2d7;width:5px;height:5px;transform:translate(-7px,8px)}.brand-copy{flex-direction:column;min-width:0;display:flex}.eyebrow{color:#7caeb5;letter-spacing:.23em;white-space:nowrap;margin-bottom:3px;font-size:9px;font-weight:700}.brand-name{letter-spacing:.015em;font-family:Outfit,sans-serif;font-size:22px;font-weight:600;line-height:1.12}.brand-chinese{color:#b6cbd1;letter-spacing:.1em;margin-top:3px;font-size:11px}.reset-button{color:#d8edf0;cursor:pointer;letter-spacing:.04em;white-space:nowrap;background:#92d8da13;border:1px solid #9edadd52;border-radius:100px;justify-content:center;align-items:center;gap:10px;min-height:43px;padding:0 18px;font-size:12px;font-weight:700;transition:background .2s,border-color .2s;display:flex}.reset-button:hover,.reset-button:focus-visible{background:#92d8da2e;border-color:#9edadd}.audio-tools{color:#b4d9dd;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;max-width:600px;margin:0 10px;font-size:12px;display:flex}.audio-tools button{color:#e6faf9;cursor:pointer;background:#12313d;border:1px solid #537982;border-radius:9px;min-height:38px;padding:5px 9px}.audio-tools button[aria-pressed=true]{background:#24505a;border-color:#a8dfcf}.audio-tools button:disabled{opacity:.5;cursor:default}.reset-button:focus-visible{outline-offset:3px;outline:2px solid #dcaa92}.stage{isolation:isolate;background-image:radial-gradient(#91cacc1a .55px,#0000 .55px);background-position:50%;background-size:29px 29px;flex:1 0 530px;min-height:530px;position:relative}.stage:before{content:"";z-index:-1;filter:blur(25px);pointer-events:none;background:radial-gradient(circle,#24808d2b 0%,#1b617014 43%,#0000 72%);border-radius:50%;position:absolute;inset:7% 26%}.stage-glow{z-index:-1;filter:blur(35px);pointer-events:none;background:radial-gradient(circle,#4eadac21,#0000 67%);border-radius:50%;position:absolute;inset:18% 23%}.cell-viewport{z-index:0;position:absolute;inset:0}.mission-world-label{z-index:3;color:#edfffa;white-space:nowrap;cursor:pointer;touch-action:none;background:#11323be6;border:1px solid #b8e9e3;border-radius:11px;min-height:38px;padding:5px 9px;font-size:16px;font-weight:700;position:absolute;translate:-50% -170%}.mission-world-label[aria-pressed=true]{outline:3px solid #f5db9c}.mission-world-label:hover,.mission-world-label:focus-visible{outline:2px solid #b9f7e9;box-shadow:0 0 15px #b9f7e977}.mission-world-label.knowledge-selected{outline:3px solid #f5db9c;box-shadow:0 0 20px #f5db9caa}.gene-copy-action{z-index:5;color:#1d2630;cursor:pointer;background:#ffdf90;border:2px solid #ffe5a6;border-radius:13px;min-width:176px;min-height:54px;padding:7px 13px;font-size:16px;font-weight:800;position:absolute;box-shadow:0 0 0 4px #ffe5a633,0 8px 24px #0009}.gene-copy-action small{font-size:15px;display:block}.gene-copy-action:before{content:"↖";color:#ffe5a6;text-shadow:0 0 8px #000;pointer-events:none;font-size:25px;position:absolute;top:-25px;left:-23px}.mission-interaction-guide{color:#eafff7;background:#123d47e8;border:1px solid #9ee1d1;border-radius:10px;margin:8px 0;padding:9px 11px;font-size:15px;line-height:1.4}.mission-interaction-guide[data-selected=true]{color:#ffe9af;border-color:#ffe09e;font-weight:800}.mission-world-label[data-token=dna]{translate:-50% 20%}.mission-world-label[data-token=gene]{translate:-50% -230%}.mission-world-label[data-token=pore]{translate:15% -50%}.mission-world-label[data-token=nucleolus]{font-size:12px;translate:5% 105%}.mission-world-label[data-token=nuclearEnvelope]{font-size:12px;translate:6% -205%}.mission-world-label[data-token=nucleusWhole]{font-size:12px;translate:-100% 20%}.teaching-pause{z-index:9;color:#f1fff8;background:#0b2835f2;border:2px solid #b4e4d7;border-radius:17px;width:min(340px,100% - 32px);padding:14px 16px;position:absolute;bottom:80px;right:28px;box-shadow:0 14px 38px #0008}.teaching-pause>span{color:#b9eddd;letter-spacing:.1em;font-size:12px;font-weight:800;display:block}.teaching-pause strong{margin-top:5px;font-size:19px;display:block}.teaching-pause p{white-space:pre-line;margin:8px 0 12px;font-size:17px;line-height:1.45}.teaching-pause .process-actions{gap:8px;display:flex}.teaching-pause button{flex:1;min-height:44px;font-size:16px}.mission-inline-action,.schematic-toggle{color:#e8fff7;cursor:pointer;background:#225365;border:1px solid #a7d8d4;border-radius:10px;min-height:44px;margin:7px 0;padding:6px 11px;font-size:16px}.schematic-toggle{background:#183844;font-weight:600}[data-active-mission=nucleus] .nucleus-stage,[data-active-mission=protein] .protein-stage,[data-active-mission=shipping] .shipping-stage{pointer-events:none}[data-active-mission=nucleus] .nucleus-stage button,[data-active-mission=protein] .protein-stage button,[data-active-mission=shipping] .shipping-stage button{pointer-events:auto}.shipping-stage button{cursor:default;pointer-events:none!important}@media (width<=700px){.teaching-pause{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));flex-direction:column;width:auto;max-height:36vh;display:flex;position:fixed}.teaching-pause p{min-height:0;overflow-y:auto}.teaching-pause .process-actions{flex-shrink:0}.mission-world-label{white-space:normal;text-align:center;max-width:150px;font-size:16px}.audio-tools{order:3;width:100%;max-width:none;margin:5px 0 0}.audio-tools span{display:none}.audio-tools button{min-height:36px;font-size:12px}.mission-world-label[data-token=nuclearEnvelope],.mission-world-label[data-token=nucleolus]{max-width:108px;font-size:11px}.gene-copy-action{min-width:148px;min-height:52px;padding:5px 9px;font-size:14px}.gene-copy-action small{font-size:13px}.mission-interaction-guide{font-size:14px}}.cell-viewport canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.cell-viewport canvas:active{cursor:grabbing}.stage-intro{z-index:1;pointer-events:none;width:min(310px,24vw);position:absolute;top:clamp(56px,10vh,115px);left:clamp(24px,5vw,76px)}.section-index,.guide-heading{color:#7dc8c4;letter-spacing:.25em;font-size:10px;font-weight:700}.stage-intro h1{letter-spacing:-.045em;margin:19px 0;font-family:Outfit,sans-serif;font-size:clamp(37px,3.6vw,56px);font-weight:400;line-height:1.08}.stage-intro h1 em{color:#a9d6d2;font-style:normal}.stage-intro p{color:#adc3cb;max-width:245px;margin:0;font-size:13px;line-height:1.65}.stage-intro .translation{color:#789ba7;margin-top:9px;font-size:11px}.structure-guide{z-index:1;pointer-events:none;gap:12px;width:185px;display:grid;position:absolute;top:50%;right:clamp(22px,4.7vw,70px);transform:translateY(-47%)}.guide-heading{color:#789da5;margin-bottom:12px;font-size:9px}.structure-guide>div{grid-template-columns:8px 1fr;align-items:center;column-gap:10px;display:grid}.guide-dot{border-radius:50%;width:7px;height:7px;box-shadow:0 0 9px}.structure-guide>div>span:nth-child(2){font-family:Outfit,sans-serif;font-size:13px;font-weight:500}.structure-guide small{color:#7894a0;grid-column:2;font-size:10px}.nucleus-dot{color:#bd8cc2;background:#bd8cc2}.mito-dot{color:#e8a779;background:#e8a779}.membrane-dot{color:#89d7d1;background:#89d7d1}.er-dot{color:#7e9dd2;background:#7e9dd2}.golgi-dot{color:#d8c084;background:#d8c084}.interaction-hint{z-index:1;color:#bad2d5;letter-spacing:.02em;white-space:nowrap;pointer-events:none;background:#071926a3;border:1px solid #9acfd12b;border-radius:40px;align-items:center;gap:11px;padding:10px 15px;font-size:11px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.interaction-hint i{color:#698e97;padding:0 3px;font-style:normal}.interaction-hint .mobile-hint{display:none}.hint-icon{color:#80d0ca;font-size:18px;line-height:1}.fallback{z-index:2;text-align:center;background:#081926f0;border:1px solid #85cbd03b;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;padding:28px;display:flex;position:absolute;inset:10% 27%}.fallback strong{font-family:Outfit,sans-serif;font-size:21px;font-weight:500}.fallback p{color:#a7c5cb;max-width:360px;font-size:13px;line-height:1.7}.fallback-diagram{background:#409aa340;border:2px solid #7ac9c8;border-radius:48% 52% 53% 47%;width:110px;height:110px;margin-bottom:28px;position:relative}.fallback-nucleus{background:#a987b8;border-radius:50%;width:36px;height:36px;position:absolute;top:34px;left:44px}.fallback-mito{background:#e8a779;border-radius:50%;width:20px;height:10px;position:absolute;transform:rotate(-30deg)}.fallback-mito.one{top:24px;left:17px}.fallback-mito.two{bottom:22px;right:15px}.footer{z-index:3;border-top:1px solid #96ced51a;justify-content:space-between;align-items:center;gap:20px;min-height:62px;padding:10px clamp(22px,4.3vw,68px);display:flex;position:relative}.footer p{color:#688b96;letter-spacing:.18em;margin:0;font-size:9px;font-weight:700}.footer p span{padding:0 7px}.future-features{gap:16px;display:flex}.reading-link{white-space:nowrap;color:#aac9d1;text-underline-offset:4px;align-self:center;align-items:center;min-height:44px;padding:0 4px;font-size:12px;-webkit-text-decoration:underline #aac9d173;text-decoration:underline #aac9d173;display:inline-flex}.reading-link:hover,.reading-link:focus-visible{color:#e4f1ee}.future-features>span{color:#a6bec5;white-space:nowrap;font-family:Outfit,sans-serif;font-size:12px}.future-features small{color:#688c95;letter-spacing:.13em;margin-left:8px;font-family:DM Sans,sans-serif;font-size:8px}@media (width<=1050px){.stage-intro{width:220px}.stage-intro h1{font-size:39px}.structure-guide{width:150px;right:20px}}@media (width<=700px){.boundary-label[data-boundary-token=transporter]{translate:8% -170%}.app-shell{min-height:0;overflow:visible}.masthead{padding:14px 17px 12px}.brand{gap:10px}.brand-mark{flex-basis:31px;width:31px;height:31px}.brand-mark:before{width:20px;height:20px}.eyebrow{letter-spacing:.13em;font-size:7px}.brand-name{font-size:17px}.brand-chinese{font-size:9px}.reset-button{gap:5px;min-height:39px;padding:0 11px;font-size:10px}.reset-button svg{width:15px;height:15px}.stage{flex-basis:665px;min-height:665px}.cell-viewport{top:132px;bottom:116px}.stage-intro{width:260px;top:17px;left:21px}.section-index{font-size:8px}.stage-intro h1{margin:9px 0 7px;font-size:30px}.stage-intro p{font-size:11px;line-height:1.4}.stage-intro .translation{margin-top:3px;font-size:10px}.structure-guide{grid-template-columns:repeat(3,1fr);gap:8px 9px;width:auto;inset:auto 16px 57px;transform:none}.guide-heading{grid-column:1/-1;margin:0 0 1px;font-size:8px}.structure-guide>div{grid-template-columns:6px 1fr;column-gap:6px}.guide-dot{width:6px;height:6px}.structure-guide>div>span:nth-child(2){font-size:10px}.structure-guide small{font-size:8px}.interaction-hint{padding:7px 10px;font-size:9px;bottom:10px}.hint-icon{font-size:13px}.fallback{padding:18px;inset:146px 16px 132px}.footer{flex-direction:column;align-items:flex-start;gap:8px;min-height:69px;padding:12px 18px}.footer p{font-size:8px}.future-features{flex-wrap:wrap;align-items:center;gap:10px 16px}.reading-link{font-size:14px}.future-features>span{font-size:11px}}@media (width<=700px) and (orientation:landscape) and (height<=520px){.stage{flex-basis:425px;min-height:425px}.cell-viewport{inset:0 125px 0 180px}.stage-intro{width:150px;top:28px}.stage-intro h1{font-size:25px}.structure-guide{grid-template-columns:1fr;width:120px;inset:25px 10px auto auto}.guide-heading{margin-bottom:2px}.interaction-hint{bottom:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.structure-guide{pointer-events:auto;gap:5px;width:195px}.structure-guide>button{text-align:left;color:#d2e1e7;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;grid-template-columns:8px 1fr;align-items:center;column-gap:10px;min-height:44px;padding:9px 10px;display:grid}.structure-guide>button>span:nth-child(2){font-size:12px}.structure-guide>button:hover{background:#9dc9d00d}.structure-guide>button[aria-pressed=true]{color:#fff;background:#9dc9d018;border-color:#8cbec54d}.structure-guide>.clear-selection{color:#9dbbc4;text-align:center;border-color:#8cbec529;min-height:36px;margin-top:5px;font-size:10px;display:block}button:focus-visible{outline-offset:3px;outline:2px solid #a4ddd4}button:disabled{opacity:.5;cursor:default}.lyso-dot{color:#a6d38d;background:#a6d38d}.stage-intro .model-note{color:#71929e;margin-top:24px;font-size:10px;line-height:1.6}.view-tools{z-index:2;white-space:nowrap;background:#0b1b29cc;border:1px solid #9dc9d025;border-radius:30px;gap:4px;padding:4px;display:flex;position:absolute;top:22px;left:50%;transform:translate(-50%)}.view-tools button{color:#b7d1d6;cursor:pointer;background:0 0;border:0;border-radius:20px;min-height:34px;padding:8px 12px;font-size:10px}.view-tools button:hover{background:#9dc9d018}.view-tools #toggle-motion{border-left:1px solid #9dc9d025;border-radius:0 20px 20px 0}.label-overlay{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.label-overlay line{stroke:currentColor;stroke-width:1.2px;opacity:.85}.label-overlay circle{fill:#0c1d2b;stroke:currentColor;stroke-width:1.8px}.object-label{border:1px solid color-mix(in srgb, var(--label-color), transparent 50%);border-left:3px solid var(--label-color);pointer-events:none;z-index:4;background:#0a1829f2;border-radius:9px;width:215px;padding:12px 14px;position:absolute;box-shadow:0 8px 30px #0003}.object-label strong{color:var(--label-color);font-size:12px}.object-label p{color:#b1c3ce;margin:7px 0 0;font-size:10px;line-height:1.5}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=701px){.cell-viewport{inset:40px 215px 35px 260px}.stage-intro{width:220px;top:95px;left:32px}.stage-intro h1{font-size:39px}.structure-guide{right:22px}}@media (width>=1500px){.cell-viewport{inset:40px 245px 35px 300px}.stage-intro{left:55px}}@media (width<=700px){.stage{flex-basis:845px;min-height:845px}.stage-intro{width:calc(100% - 42px)}.stage-intro h1{font-size:29px}.stage-intro .model-note{margin-top:8px;font-size:8px}.view-tools{width:max-content;top:204px}.view-tools button{min-height:36px}.cell-viewport{inset:251px 0 215px}.structure-guide{gap:3px;width:auto;inset:auto 14px 51px;transform:none}.structure-guide>button{grid-template-columns:6px 1fr;column-gap:5px;min-height:43px;padding:7px 6px}.structure-guide>button>span:nth-child(2){font-size:10px}.structure-guide>.clear-selection{grid-column:1/-1;min-height:30px;margin-top:1px}.guide-heading{margin:0 0 3px 6px}.object-label{width:173px;padding:9px 10px}.object-label strong{font-size:10px}.object-label p{font-size:9px}.fallback{inset:258px 16px 218px}}@media (width>=701px) and (width<=1050px){.stage{min-height:720px}.stage-intro{width:210px;top:65px;left:25px}.stage-intro h1{font-size:32px}.cell-viewport{inset:190px 165px 55px 30px}.structure-guide{width:150px;right:16px}}.stage{min-height:620px}.cell-viewport{inset:0}.stage:before{inset:4% 16%}.stage-glow{inset:8% 18%}.stage-intro{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#08192680;border:1px solid #8cc9cf21;border-radius:14px;width:214px;padding:14px 16px;top:74px;left:clamp(18px,2.5vw,40px)}.stage-intro h1{margin:10px 0 8px;font-size:28px;line-height:1.13}.stage-intro p{font-size:11px;line-height:1.45}.stage-intro .translation{margin-top:5px;font-size:10px}.structure-guide{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#081926c4;border:1px solid #8cc9cf30;border-radius:14px;width:178px;padding:7px;inset:80px clamp(16px,2.5vw,40px) auto auto;transform:none;box-shadow:0 10px 36px #00000024}.guide-toggle{color:#a8d8d7;letter-spacing:.16em;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:37px;padding:0 9px;font-size:9px;font-weight:700;display:flex}.structure-guide>.guide-toggle{grid-template-columns:none;display:flex}.guide-toggle span{font-size:16px;transition:transform .2s}.guide-toggle[aria-expanded=true] span{transform:rotate(180deg)}.guide-items{gap:2px;display:grid}.structure-guide>.guide-items{flex-direction:column;grid-template-columns:none;display:flex}.guide-toggle[aria-expanded=false]+.guide-items{display:none}.guide-items>button{text-align:left;color:#d4e4e9;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:8px 1fr;align-items:center;column-gap:8px;width:100%;min-height:40px;padding:5px 7px;display:grid}.guide-items>button:hover{background:#9dc9d01a}.guide-items>button[aria-pressed=true]{color:#fff;background:#9dc9d029;border-color:#8cbec54d}.guide-items>button>span:nth-child(2){font-family:Outfit,sans-serif;font-size:12px}.guide-items small{color:#89aab3;grid-column:2;font-size:9px}.guide-items .clear-selection{color:#a9c5cc;text-align:center;border-color:#8cbec53d;min-height:32px;margin-top:4px;font-size:10px;display:block}.view-tools{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#081926d1;padding:5px;top:15px}.view-tools .explore-button{color:#e6fffa;background:#74cec430;border:1px solid #7edbcf73;font-weight:700}.view-tools .explore-button[aria-pressed=true]{color:#ffe9bb;background:#d8a65d30;border-color:#e6c18380}.view-tools button{padding:8px 10px}.fact-card{z-index:2;border:1px solid color-mix(in srgb, var(--fact-color), transparent 58%);border-left:3px solid var(--fact-color);-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);pointer-events:none;background:#081926e0;border-radius:12px;width:240px;padding:13px 15px;position:absolute;bottom:78px;left:clamp(18px,2.5vw,40px);box-shadow:0 10px 32px #0003}.fact-eyebrow{color:#8faeb9;letter-spacing:.15em;margin-bottom:7px;font-size:8px;font-weight:700;display:block}.fact-card strong{color:var(--fact-color);font-size:12px}.fact-card p{color:#c2d6db;margin:7px 0 0;font-size:10px;line-height:1.55}.object-label{width:auto;max-width:210px;padding:9px 12px}.object-label p{display:none}.interaction-hint{bottom:17px}@media (width<=1000px){.stage-intro{width:190px;top:68px}.stage-intro h1{font-size:24px}.structure-guide{width:164px;top:68px}}@media (width<=700px){.app-shell{overflow:visible}.stage{flex:0 0 790px;min-height:790px}.stage-intro{width:180px;padding:11px 12px;top:18px;left:14px}.stage-intro h1{margin:8px 0 6px;font-size:23px}.stage-intro p{font-size:10px}.stage-intro .translation{font-size:9px}.structure-guide{grid-template-columns:1fr;width:151px;padding:4px;inset:18px 13px auto auto}.guide-toggle{letter-spacing:.1em;min-height:37px;font-size:8px}.guide-items>button{min-height:38px;padding:4px 6px}.guide-items>button>span:nth-child(2){font-size:10px}.view-tools{flex-wrap:wrap;justify-content:center;gap:2px;width:min(370px,100% - 20px);display:flex;top:auto;bottom:13px}.view-tools button{min-height:31px;padding:5px 7px;font-size:9px}.view-tools .explore-button{flex:100%}.view-tools #toggle-motion{border-left:0}.interaction-hint{font-size:9px;bottom:94px}.fact-card{width:min(220px,100% - 28px);padding:10px 12px;bottom:133px;left:14px}.object-label{max-width:160px}.footer{margin-top:auto}.fallback{inset:150px 14px 166px}}.start-mission{color:#fff0cf;cursor:pointer;background:#dba1562e;border:1px solid #ebb8708c;border-radius:22px;min-height:39px;padding:0 16px;font-size:12px;font-weight:700}.start-mission:hover{background:#dba1564a}.start-mission small{color:#ddc5a4;margin-left:8px;font-size:10px}.mission-hud{z-index:6;color:#eaf4f2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#071824e8;border:1px solid #8bd1d052;border-radius:16px;width:min(326px,100% - 36px);max-height:calc(100% - 86px);padding:17px 18px 14px;position:absolute;top:71px;left:clamp(18px,2.5vw,40px);overflow-y:auto;box-shadow:0 15px 44px #00000040}.mission-eyebrow{color:#89c9c9;letter-spacing:.19em;font-size:9px;font-weight:700;display:block}.mission-hud h2{letter-spacing:.035em;margin:8px 0 9px;font-family:Outfit,sans-serif;font-size:21px;font-weight:600}.mission-hud h2 small{color:#f4ce92;margin-left:5px;font-family:DM Sans,sans-serif;font-size:12px;display:inline-block}.mission-objective{margin:0;font-size:12px;font-weight:600;line-height:1.5}.mission-objective-zh{color:#b6ced0;margin:3px 0 13px;font-size:11px;line-height:1.5}.energy-heading{color:#a8c5c9;letter-spacing:.12em;justify-content:space-between;align-items:baseline;font-size:9px;font-weight:700;display:flex}.energy-heading strong{color:#efca8c;letter-spacing:0;font-size:18px}.energy-meter{background:#23404b;border:1px solid #6da9a54d;border-radius:10px;height:9px;margin:6px 0 8px;overflow:hidden}.energy-meter span{border-radius:inherit;background:linear-gradient(90deg,#d79268,#f2c77e,#cbe8aa);width:20%;height:100%;transition:width .12s linear;display:block;box-shadow:0 0 12px #f2c77e59}.mission-feedback{color:#f0d7ad;min-height:26px;margin-top:7px;font-size:10px;line-height:1.35}.mission-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.mission-actions button{color:#d8ebea;cursor:pointer;background:#143343;border:1px solid #83c9c74d;border-radius:8px;min-height:32px;padding:5px 9px;font-size:10px}.mission-actions button:hover{background:#205365}.mission-finish{border-top:1px solid #8fcfc93b;margin-top:12px;padding-top:12px}.mission-finish strong{color:#d9f0c6;font-family:Outfit,sans-serif;font-size:15px}.mission-finish p{color:#c7dedb;margin:7px 0;font-size:11px;line-height:1.5}.mission-finish .mission-recap{color:#f0d49e;font-weight:700}[data-mission-state=MISSION_COMPLETE] .mission-hud>.mission-objective,[data-mission-state=MISSION_COMPLETE] .mission-hud>.mission-objective-zh,[data-mission-state=MISSION_COMPLETE] .mission-hud>.mission-feedback,[data-mission-state=MISSION_COMPLETE] .mission-hud>.mission-actions{display:none}[data-mission-state=MISSION_COMPLETE] .mission-finish{margin-top:6px}.mission-interact{z-index:4;pointer-events:none;position:absolute;inset:0}.mission-target,.mission-token{color:#f3f5e9;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;justify-content:center;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex;position:absolute}.mission-target{text-align:center;background:#11353eb5;border:1px dashed #9de2d3d4;border-radius:22px;flex-direction:column;gap:2px;width:154px;min-height:69px;padding:8px;transform:translate(-50%,-50%);box-shadow:0 0 0 7px #69b8af14,0 0 25px #69b8af1f}.mission-target small{color:#b4d0ca;font-size:10px;font-weight:400;display:block}.cytoplasm-target{top:55%;left:46%}.mitochondria-target{background:#4b2d22c9;border-color:#f0b573c7;box-shadow:0 0 0 7px #ea9e5912,0 0 24px #ea9e5926}.mission-target.hinted{outline-offset:7px;outline:3px solid #f8e6ae}.mission-token{background:#102d3af5;border:1px solid #a8e0d4;border-radius:14px;min-width:135px;min-height:56px;padding:5px 11px;bottom:134px;left:46%;transform:translate(-50%);box-shadow:0 10px 26px #0005,0 0 18px #85d2bf33}.mission-token.selected{border-color:#fff0b6;box-shadow:0 0 0 4px #f0d38f33,0 10px 26px #0005}.mission-token .token-glyph{color:#d8eec8;font-size:30px;line-height:1}.mission-token small{color:#aed0cc;font-size:10px;font-weight:400;display:block}.pyruvate-token .token-glyph,.pyruvate-companion{color:#eab4a9}.oxygen-token .token-glyph{color:#a9d9ed;font-size:24px}.pyruvate-companion{font-size:24px;position:absolute;bottom:148px;left:calc(46% + 94px)}.mission-process{color:#ffe6aa;text-align:center;background:#31271bd6;border:1px solid #edc07c80;border-radius:20px;width:min(340px,85vw);padding:8px 12px;font-size:10px;font-weight:700;position:absolute;top:68%;left:50%;transform:translate(-50%)}.fact-card{z-index:8;pointer-events:auto;width:min(292px,100% - 28px);padding-right:30px}.fact-card strong{font-size:14px;line-height:1.4;display:block}.fact-card p{font-size:11px;line-height:1.5}.fact-card .fact-notice{color:#e7d5a7}.fact-close{color:#e6f1ed;cursor:pointer;background:0 0;border:0;width:28px;height:28px;font-size:21px;position:absolute;top:6px;right:7px}.energy-heading button{color:#a8c5c9;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0}.energy-heading button:hover{color:#fff1cb}.mission-process{z-index:5;pointer-events:auto;border-radius:18px;width:min(490px,100% - 32px);padding:15px;font-weight:500;top:auto;bottom:198px}.process-eyebrow{color:#f2c985;letter-spacing:.16em;margin-bottom:12px;font-size:10px;font-weight:800;display:block}.process-path{justify-content:center;align-items:stretch;gap:6px;display:flex}.process-path>span{opacity:.43;border:1px solid #dcb57488;border-radius:9px;flex:1;place-content:center;min-height:55px;padding:5px;display:grid}.process-path>span small{margin-top:2px;font-size:9px;font-weight:400;display:block}.process-path b{color:#e9ca91;align-self:center;font-size:18px}.mission-process[data-phase="1"] #process-glucose,.mission-process[data-phase="2"] #process-cytoplasm,.mission-process[data-phase="3"] #process-result{opacity:1;background:#d39c5140;box-shadow:0 0 20px #eece8a36}.mission-process[data-phase="3"] #process-result{border-color:#f7db91}.mission-process p{color:#ffe5b7;min-height:28px;margin:11px 0 0;font-size:12px;line-height:1.45}.small-atp{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;margin:1px 0 8px;display:flex}.small-atp span{color:#583e1b;background:#ffe3a0;border-radius:50%;place-items:center;width:31px;height:24px;font-size:9px;font-weight:800;display:inline-grid;box-shadow:0 0 12px #f1d28499}.small-atp small{color:#f6d896;width:100%;font-size:9px}.process-actions{justify-content:center;gap:10px;margin-top:9px;display:flex}.process-actions button{color:#fff1d2;cursor:pointer;background:#785632;border:1px solid #f4d28999;border-radius:9px;min-height:39px;padding:8px 16px}.process-actions button:last-child{background:#a56b34;font-weight:700}.transport-label{z-index:4;color:#f8e7bb;text-align:center;background:#332b22dd;border:1px solid #d8bb73a8;border-radius:10px;width:146px;padding:7px 9px;font-size:11px;position:absolute;transform:translate(-50%,-50%)}.transport-label small{color:#dec99d;font-size:10px;display:block}.power-up{z-index:5;color:#fff5d5;text-align:center;background:#5a422dda;border:1px solid #ffe5a6;border-radius:17px;width:min(300px,75vw);padding:17px 20px;position:absolute;top:53%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 35px #f9d89078}.power-up strong,.power-up span,.power-up small{display:block}.power-up strong{font-family:Outfit,sans-serif;font-size:25px}.power-up span{margin:5px 0;font-size:16px}.power-up small{font-size:10px;line-height:1.5}[data-mission-state]:not([data-mission-state=IDLE]) .structure-guide{z-index:7;width:192px;max-height:calc(100% - 100px);inset:80px 16px auto auto;overflow-y:auto}[data-mission-state=ENERGY_LOW] .stage-glow{opacity:.4}[data-mission-state=ATP_RECOVERY] .stage-glow{opacity:1}@media (width<=700px){.mission-hud{width:calc(100% - 24px);padding:12px 13px 11px;top:14px;left:12px}.mission-hud h2{margin:6px 0;font-size:17px}.mission-objective,.mission-objective-zh{font-size:10px}.mission-objective-zh{margin-bottom:7px}.mission-feedback{min-height:20px}.mission-actions button{min-height:35px}.mission-target{width:132px;min-height:60px;font-size:10px}.mission-target small{font-size:9px}.cytoplasm-target{top:56%;left:39%}.mission-token{min-width:124px;min-height:53px;bottom:147px;left:35%}.pyruvate-companion{bottom:160px;left:calc(35% + 82px)}.mission-process{padding:11px;top:auto;bottom:212px}.process-path{gap:2px}.process-path>span{min-height:53px;font-size:9px}.process-path>span small{font-size:8px}.mission-process p{font-size:10px}.fact-card{max-height:180px;bottom:101px;overflow-y:auto}[data-mission-state]:not([data-mission-state=IDLE]) .structure-guide{width:min(190px,51vw);max-height:45%;top:170px;right:12px}.transport-label{top:68%!important}.future-features{align-self:stretch}.start-mission{width:100%}}@media (prefers-reduced-motion:reduce){.energy-meter span{transition:none}}.brand-chinese{letter-spacing:.02em;font-size:14px}.reset-button,.start-mission,.start-mission small{font-size:16px}.stage-intro{width:260px}.stage-intro p,.stage-intro .translation{font-size:16px;line-height:1.45}.stage-intro .model-note{font-size:12px}.guide-toggle{letter-spacing:.04em;min-height:44px;font-size:16px}.structure-guide{width:224px}.guide-items>button{min-height:51px}.guide-items>button>span:nth-child(2){font-size:16px}.guide-items small{color:#b1ccd3;font-size:16px}.guide-items .clear-selection{min-height:43px;font-size:14px}.view-tools button{min-height:42px;font-size:14px}.object-label{max-width:270px;padding:11px 14px}.object-label strong{font-size:17px}.interaction-hint{font-size:14px}.fact-card{width:min(390px,100% - 28px);padding:19px 42px 18px 20px}.fact-eyebrow{letter-spacing:.1em;font-size:12px}.fact-card strong{font-size:21px;line-height:1.3}.fact-card p{white-space:pre-line;font-size:17px;line-height:1.48}.fact-close{width:42px;height:42px;font-size:27px}.mission-hud{width:min(410px,100% - 36px)}.mission-eyebrow{font-size:12px}.mission-hud h2{font-size:24px;line-height:1.2}.mission-hud h2 small{font-size:16px}.mission-objective{font-size:18px;line-height:1.4}.mission-objective-zh{color:#d0e2e3;font-size:17px;line-height:1.4}.energy-heading{letter-spacing:.04em;font-size:16px}.energy-heading strong{font-size:24px}.energy-meter{height:12px}.mission-feedback{min-height:24px;font-size:16px;line-height:1.4}.mission-feedback:empty{min-height:0;margin-top:0}[data-mission-state=GLYCOLYSIS] .stage-glow{opacity:.4}[data-mission-state=GLYCOLYSIS_RESULT] .stage-glow,[data-mission-state=PYRUVATE_READY] .stage-glow,[data-mission-state=PYRUVATE_IN_MITOCHONDRION] .stage-glow{opacity:.58}.mission-actions{gap:8px}.mission-actions button{min-height:44px;padding:8px 11px;font-size:16px;line-height:1.25}.mission-finish strong{font-size:20px}.mission-finish p{font-size:16px;line-height:1.5}.mission-target,.mission-token{font-size:16px;line-height:1.2}.mission-target{width:188px;min-height:82px}.mission-target small,.mission-token small{font-size:16px}.mission-token{min-width:164px;min-height:64px}.mission-process{width:min(610px,100% - 28px);padding:18px}.process-eyebrow{letter-spacing:.08em;font-size:16px}.process-path>span{opacity:.77;min-height:80px;padding:8px;font-size:16px;line-height:1.3}.process-path>span small{font-size:16px;line-height:1.25}.mission-process p{min-height:42px;font-size:17px;line-height:1.45}.small-atp span{width:39px;height:31px;font-size:12px}.small-atp small{font-size:16px}.process-actions button{min-height:46px;font-size:16px}.transport-label{width:185px;font-size:16px}.transport-label small{font-size:16px}.power-up{width:min(390px,80vw)}.power-up strong{font-size:30px}.power-up span{font-size:19px}.power-up small{font-size:16px}[data-mission-state]:not([data-mission-state=IDLE]) .structure-guide{width:224px}@media (width<=700px){.brand-chinese{font-size:12px}.reset-button{font-size:16px}.stage{flex-basis:850px;min-height:850px}.stage-intro{width:min(260px,100% - 28px)}.stage-intro p,.stage-intro .translation,.guide-toggle{font-size:16px}.structure-guide{width:min(240px,100% - 26px);top:165px}.guide-items>button>span:nth-child(2),.guide-items small{font-size:16px}.view-tools button{min-height:42px;font-size:16px}.object-label strong{font-size:16px}.fact-card{width:calc(100% - 28px);max-height:330px;bottom:110px;overflow-y:auto}[data-mission-state]:not([data-mission-state=IDLE]) .fact-card,[data-active-mission=nucleus] .fact-card{top:var(--mission-card-top,12px);width:calc(100vw - 24px);max-height:330px;position:fixed;bottom:auto;left:12px}.fact-card strong{font-size:20px}.fact-card p{font-size:16px}.mission-hud{width:calc(100% - 24px);max-height:46%;padding:13px 15px;top:14px;overflow-y:auto}.mission-hud h2{font-size:21px}.mission-hud h2 small{font-size:16px}.mission-objective{font-size:17px}.mission-objective-zh,.energy-heading{font-size:16px}.energy-heading strong{font-size:23px}.mission-feedback{font-size:16px}.mission-actions button{min-height:44px;font-size:16px}.mission-hud>.mission-actions{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);display:grid}.mission-finish .mission-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mission-finish p{font-size:16px}.mission-target{width:164px;min-height:78px;font-size:16px}.mission-target small{font-size:16px}.mission-token{min-width:154px;min-height:64px;font-size:16px}.mission-token small{font-size:16px}.pyruvate-companion{left:calc(35% + 101px)}.mission-process{padding:12px;bottom:70px}.process-path{gap:3px}.process-path>span{min-height:102px;padding:4px;font-size:16px}.process-path>span small{font-size:16px}.process-path b{font-size:15px}.mission-process p{font-size:16px}.transport-label{top:71%!important}.power-up{top:60%}[data-mission-state]:not([data-mission-state=IDLE]) .structure-guide{width:min(230px,62vw);max-height:min(340px,45vh);top:18px;right:12px}[data-mission-state]:not([data-mission-state=IDLE]) .structure-guide>.guide-toggle{z-index:1;background:#102b39;position:sticky;top:0}}.mission-selector{z-index:12;background:#0a2031f5;border:1px solid #a8d7cf8a;border-radius:18px;width:min(420px,100% - 36px);padding:16px;position:absolute;bottom:22px;right:clamp(18px,4vw,60px);box-shadow:0 20px 55px #0009}.mission-selector-head{justify-content:space-between;align-items:center;margin-bottom:12px;font-family:Outfit,sans-serif;font-size:22px;display:flex}.mission-selector-head small,.mission-choice small{color:#b8d7d9;font-size:16px}.mission-selector-head button{color:#fff;cursor:pointer;background:#294454;border:0;border-radius:50%;width:44px;height:44px;font-size:26px}.mission-choice{color:#fff;text-align:left;cursor:pointer;background:#183a4a;border:1px solid #a8d7cf55;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:74px;margin:7px 0;padding:11px 13px;display:flex}.mission-choice:hover{background:#235363}.mission-choice span{font-size:18px;font-weight:700}.mission-choice small{margin-top:2px;display:block}.mission-choice em{color:#bfe8c1;flex:none;font-size:13px;font-style:normal}.nucleus-hud{border-color:#c6a5e6a6}.nucleus-hud h2 small{color:#dfc6f4}.nucleus-progress{float:right;letter-spacing:.02em;color:#d9c1ef}#nucleus-story{color:#c5d6e5;margin:0 0 11px;font-size:16px;line-height:1.42}#nucleus-story span{color:#d6c4e7}.nucleus-hud .mission-objective-zh{margin-bottom:8px}.nucleus-hud .mission-feedback{white-space:pre-line;color:#f0d6ff}.nucleus-hud .mission-finish strong{color:#ead2ff}.nucleus-hud .mission-finish strong small{font-size:17px;display:block}.nucleus-hud .mission-recap{white-space:pre-line}[data-nucleus-focus=true] .fact-card{bottom:12px}[data-nucleus-state]:not([data-nucleus-state=SEARCH]):not([data-nucleus-state=IDLE]) #nucleus-story,[data-nucleus-state=COMPLETE] .nucleus-hud>.mission-objective,[data-nucleus-state=COMPLETE] .nucleus-hud>.mission-objective-zh,[data-nucleus-state=COMPLETE] .nucleus-hud>.mission-feedback,[data-nucleus-state=COMPLETE] .nucleus-hud>.mission-actions,[data-nucleus-state=COMPLETE] #nucleus-story{display:none}.nucleus-stage{z-index:4;pointer-events:none;position:absolute;inset:0}.nucleus-workbench{pointer-events:auto;background:radial-gradient(circle at 42% 46%,#4e3a6590,#151d3bcc 64%,#0a1e32dd);border:1px solid #c4a8e877;border-radius:30px;width:min(610px,52vw);height:min(550px,78%);position:absolute;top:6%;left:43%;overflow:hidden;box-shadow:0 22px 65px #0008,inset 0 0 50px #a481bb25}.nucleus-visual-title{z-index:1;color:#ead6fb;letter-spacing:.05em;font-size:16px;font-weight:800;position:absolute;top:16px;left:18px}.nucleus-visual-title small{color:#bcaacb;letter-spacing:0;font-size:13px;font-weight:500;display:block}.nucleus-zoom{background:radial-gradient(at 53% 48%,#7c608950,#402b6755 57%,#141c3866);border:8px double #cba9dfc4;border-radius:49% 51% 46% 54%;width:70%;height:72%;position:absolute;top:12%;left:10%;box-shadow:0 0 42px #d3a3ea45,inset 0 0 35px #d7b7f752}.nucleolus-visual{background:#d792c785;border-radius:50%;width:20%;height:23%;position:absolute;top:20%;left:58%;box-shadow:0 0 18px #eeaad788}.dna-helix{width:43%;height:80%;position:absolute;top:10%;left:24%;overflow:visible;transform:rotate(-22deg)}.dna-helix path{fill:none;stroke:#b8ddf6;stroke-width:5px;stroke-linecap:round;filter:drop-shadow(0 0 5px #9ac9ee)}.dna-helix path:nth-child(2){stroke:#efb5ce}.dna-helix .dna-rungs{stroke:#d3c7f1;stroke-width:3px}.dna-helix .gene-glow{stroke:#fff3a8;stroke-width:8px;filter:drop-shadow(0 0 9px #ffe884)}.copy-marker,.mrna-growing{z-index:1;pointer-events:none;display:none;position:absolute}.copy-marker{left:calc(39% + var(--copy-progress,0) * 22%);background:#66748c;border:3px solid #f6e7ad;border-radius:50%;width:20px;height:20px;top:41%;box-shadow:0 0 14px #ffe5a0}.mrna-growing{width:calc(var(--copy-progress,0) * 28%);transform-origin:0;background:linear-gradient(90deg,#a9efcf,#f7e8ab);border-radius:20px;height:8px;top:47%;left:54%;transform:rotate(-18deg);box-shadow:0 0 15px #aaefca}[data-nucleus-state=TRANSCRIBING] .copy-marker,[data-nucleus-state=TRANSCRIBING] .mrna-growing{display:block}[data-nucleus-state=TRANSCRIBING] .dna-helix .gene-glow{stroke-width:11px}.pore-dot{background:#38405e;border:3px solid #f3d5fb;border-radius:50%;width:15px;height:15px;position:absolute;box-shadow:0 0 13px #d6acff}.pore-one{top:24%;left:13%}.pore-two{top:12%;right:18%}.pore-three{bottom:12%;left:18%}.nucleus-object,.nuclear-pore,.nuclear-wall,.copy-instruction{z-index:2;color:#fff;cursor:pointer;touch-action:none;border-radius:13px;min-height:48px;padding:7px 12px;font-size:17px;font-weight:700;line-height:1.2;position:absolute}.nucleus-object small,.nuclear-pore small,.nuclear-wall small{margin-top:2px;font-size:15px;font-weight:500;display:block}.dna-original{background:#2a4c6cdd;border:1px solid #bde0f5;top:26%;left:17%}.gene-button{background:#815527ed;border:2px solid #fff0a0;top:51%;left:31%;box-shadow:0 0 24px #ffe38c99}.gene-button.selected{background:#a66e2d}.gene-relation{z-index:2;color:#fff0c6;pointer-events:none;background:#403343e8;border:1px solid #ffe3a1;border-radius:8px;padding:5px 8px;font-size:16px;font-weight:800;position:absolute;top:62%;left:29%}.gene-relation small{font-size:16px;font-weight:500;display:block}.copy-instruction{background:#7d5c35;border:1px solid #f7d99a;top:69%;left:23%}.nuclear-pore{background:#604e7be8;border:2px solid #cfb9ee;top:44%;right:4%}.nuclear-pore.available,[data-nucleus-hint="3"] .nuclear-pore{box-shadow:0 0 0 7px #ddbafa33,0 0 28px #dfbafd}.nuclear-wall{background:#33354ed9;border:1px dashed #bea8cf;bottom:8%;left:14%}.mrna-token{background:#21665ded;border:2px solid #9fe9d5;top:60%;left:44%;box-shadow:0 0 24px #9ce8cd99}.mrna-token.selected{outline-offset:4px;outline:4px solid #fff2b3}.mrna-flight{z-index:2;color:#e9fff0;background:#236b60;border:2px solid #aeefd5;border-radius:30px;padding:9px 12px;font-size:17px;font-weight:800;position:absolute;top:53%;left:40%;transform:translate(-50%,-50%);box-shadow:0 0 22px #91eac0}.nucleus-place-labels{color:#d7c7e5;text-align:center;justify-content:space-between;gap:5px;font-size:13px;font-weight:700;display:flex;position:absolute;bottom:10px;left:5%;right:5%}[data-nucleus-hint="3"][data-nucleus-state=SEARCH] .guide-items [data-type=nucleus],[data-nucleus-hint="3"][data-nucleus-state=SEARCH] #nucleus-hud{box-shadow:0 0 0 3px #eed5ff88,0 15px 44px #0004}[data-nucleus-hint="3"] .gene-button,[data-nucleus-hint="3"] .copy-instruction{outline-offset:5px;outline:2px solid #ffe9a9}.transcription-process{background:#352647ed;border-color:#e2b9f0;bottom:28px;left:66%}.transcription-process .process-eyebrow{color:#f1d3ff}.transcription-process[data-phase="1"] #transcription-dna,.transcription-process[data-phase="2"] #transcription-copy,.transcription-process[data-phase="3"] #transcription-mrna{opacity:1;background:#a875c155;box-shadow:0 0 20px #ddadf566}.transcription-process p{white-space:pre-line}.copy-track{background:#4f4465;border-radius:10px;height:7px;margin-top:10px;overflow:hidden}.copy-track span{width:calc(var(--copy-progress,0) * 100%);background:#bbefdc;height:100%;display:block;box-shadow:0 0 15px #adebd9}[data-nucleus-state=GENE_READY] .gene-button{animation:2.4s ease-in-out infinite gene-pulse}@keyframes gene-pulse{50%{box-shadow:0 0 35px #ffe38c}}[data-motion=reduced] .gene-button{animation:none!important}@media (prefers-reduced-motion:reduce){.gene-button{animation:none!important}}@media (width<=700px){.mission-selector{width:auto;position:fixed;inset:24% 12px auto}.mission-choice{min-height:84px}.mission-choice span{font-size:17px}.mission-choice em{font-size:12px}.nucleus-hud{max-height:38%;top:14px;overflow-y:auto}[data-nucleus-focus=true] .fact-card{bottom:auto}.nucleus-hud h2{font-size:20px}#nucleus-story{font-size:16px}.nucleus-workbench{border-radius:22px;width:94%;height:43%;top:41%;left:3%}.nucleus-visual-title{font-size:13px;top:9px;left:11px}.nucleus-visual-title small{font-size:11px}.nucleus-zoom{height:65%;top:18%}.nucleus-object,.nuclear-pore,.nuclear-wall,.copy-instruction{min-height:43px;padding:5px 7px;font-size:16px}.nucleus-object small,.nuclear-pore small,.nuclear-wall small{font-size:13px}.dna-original{top:27%;left:7%}.gene-button{top:53%;left:31%}.gene-relation{display:none}.copy-instruction{top:69%;left:19%}.nuclear-pore{max-width:110px;top:42%;right:1%}.nuclear-wall{bottom:4%;left:4%}.mrna-token{top:64%;left:41%}.nucleus-place-labels{font-size:10px;bottom:4px}.transcription-process{width:calc(100% - 26px);bottom:55px;left:50%}[data-nucleus-state]:not([data-nucleus-state=IDLE]) .structure-guide{z-index:7;width:min(230px,62vw);max-height:min(340px,45vh);top:18px;right:12px;overflow-y:auto}}.protein-hud{border-color:#9adfc0a6}.protein-hud h2 small{color:#baf2d2}.protein-hud .mission-feedback{white-space:pre-line;color:#c8f4d8}#protein-story{color:#d5eadc;margin:0 0 10px;font-size:16px;line-height:1.45}#protein-story span{color:#c6e4d6}.protein-hud .mission-finish strong{color:#c5f5d2}.protein-hud .mission-finish strong small{font-size:17px;display:block}[data-protein-state=COMPLETE] .protein-hud>.mission-objective,[data-protein-state=COMPLETE] .protein-hud>.mission-objective-zh,[data-protein-state=COMPLETE] .protein-hud>.mission-feedback,[data-protein-state=COMPLETE] .protein-hud>.mission-actions,[data-protein-state=COMPLETE] #protein-story{display:none}.protein-stage{z-index:4;pointer-events:none;position:absolute;inset:0}.protein-workbench{pointer-events:auto;background:radial-gradient(circle at 65% 35%,#205953e8,#123545f0 64%,#0b2438f5);border:1px solid #9de8c28c;border-radius:28px;width:min(640px,54vw);height:min(600px,78%);padding:20px;position:absolute;top:7%;left:43%;overflow:hidden;box-shadow:0 22px 65px #0009,inset 0 0 55px #9de6b126}.protein-bench-title{color:#c8f9d7;letter-spacing:.04em;font-size:19px;display:block}.protein-bench-title small{letter-spacing:0;font-size:15px;font-weight:500;display:block}.protein-bench-note{color:#ecf9e9;margin:10px 0;font-size:16px;line-height:1.45}.protein-bench-note span{color:#c9ead2}.protein-er-shelf{color:#c6eaff;text-align:center;pointer-events:none;background:#598bb127;border:2px dashed #9dd5ec99;border-radius:45%;width:45%;height:30%;padding:5px 12px;font-size:14px;font-weight:800;position:absolute;top:20%;right:6%}.protein-er-shelf small{font-size:14px}.protein-ribosome{color:#e7ffda;cursor:pointer;background:#307466;border:3px solid #c4f0aa;border-radius:45px;align-items:center;gap:13px;min-height:86px;padding:10px 19px;font-size:34px;font-weight:800;display:flex;position:absolute;top:29%;right:10%;box-shadow:0 0 0 9px #9de6b022,0 0 33px #c8f9a77c}.protein-ribosome span{text-align:left;font-size:20px}.protein-ribosome small{font-size:15px;font-weight:500;display:block}.protein-ribosome.found{background:#43896d}.protein-ribosome.working{animation:.8s ease-in-out infinite alternate protein-work}@keyframes protein-work{to{transform:scale(1.04);box-shadow:0 0 0 14px #b6f2bd42,0 0 48px #d7ffb0}}.protein-mrna{color:#fff;cursor:grab;touch-action:none;background:#197a81;border:2px solid #a0f2e0;border-radius:15px;min-height:70px;padding:9px 13px;font-size:22px;font-weight:800;position:absolute;top:31%;left:7%;box-shadow:0 0 25px #8ff3e477}.protein-mrna small{font-size:15px;font-weight:500;display:block}.protein-mrna.loaded{cursor:pointer;min-height:47px;font-size:17px;top:43%;left:45%}.protein-mrna.loaded small{display:none}.protein-mrna[aria-pressed=true],.protein-block[aria-pressed=true]{outline-offset:4px;outline:4px solid #ffe6a1}.protein-reading{z-index:5;color:#e7fff3;text-align:center;background:#154f54f5;border:2px solid #a5ebd7;border-radius:20px;flex-direction:column;justify-content:center;padding:18px;display:flex;position:absolute;inset:23% 8% 24%;box-shadow:0 0 28px #b4f5ce77}.protein-reading strong{font-size:22px}.protein-reading strong small{font-size:17px;display:block}.protein-reading p{font-size:18px;line-height:1.5}.protein-pool-label{color:#dffce6;text-align:center;position:absolute;top:53%;left:7%;right:7%}.protein-pool-label strong{font-size:17px}.protein-pool-label strong small{font-size:16px}.protein-pool-label p{margin:4px 0;font-size:16px;line-height:1.3}.protein-blocks{justify-content:center;gap:15px;animation:.55s ease-out both pool-arrive;display:flex;position:absolute;top:68%;left:7%;right:7%}@keyframes pool-arrive{0%{opacity:0;translate:-35px}to{opacity:1;translate:0}}.protein-block{color:#fff;cursor:grab;touch-action:none;background:#815a9d;border:2px solid #e5bcf9;border-radius:15px;min-width:85px;min-height:69px;padding:7px 11px;font-size:19px;font-weight:800}.protein-block:nth-child(2){background:#9e683d;border-color:#f6cea1}.protein-block:nth-child(3){background:#346c98;border-color:#b6dcf8}.protein-block.next{box-shadow:0 0 20px #fff7c7a6}.protein-block small{font-size:15px;font-weight:500;display:block}.protein-chain{background:#0e3a44e8;border:1px solid #9bdec5;border-radius:13px;width:65%;min-height:67px;padding:7px 11px;position:absolute;top:84%;left:7%}.protein-chain strong{color:#c4f2d8;font-size:16px}.protein-chain strong small{font-size:15px;font-weight:500}#protein-chain-pieces{gap:5px;margin-top:5px;display:flex}.chain-piece{color:#fff;background:#815a9d;border-radius:50%;place-items:center;width:32px;height:32px;font-size:21px;display:grid}.chain-piece+.chain-piece:before{content:"–";color:#f7e5b8;margin-left:-34px;position:absolute}.piece-1{background:#9e683d}.piece-2{background:#346c98}.protein-chain.complete{border-color:#d9ffb0;box-shadow:0 0 24px #c5ff9b8c}.protein-transfer{z-index:3;color:#f6edbd;text-align:center;white-space:pre-line;pointer-events:none;font-size:16px;font-weight:700;position:absolute;top:76%;left:7%;right:7%}.protein-process{z-index:4;color:#f4ffe5;text-align:center;background:#173d40f5;border:2px solid #d8f4b1;border-radius:22px;flex-direction:column;justify-content:center;padding:18px;display:flex;position:absolute;inset:12% 6%;box-shadow:0 0 38px #a8e9b755}.protein-process strong{font-size:21px}.protein-process-path{gap:8px;margin:16px 0;display:grid}.protein-process-path span{opacity:.45;border:1px solid #a4d9ba77;border-radius:10px;padding:8px;font-size:17px}.protein-process-path small{font-size:16px;display:block}.protein-process[data-phase="1"] span:first-child,.protein-process[data-phase="2"] span:nth-child(2),.protein-process[data-phase="3"] span:nth-child(3),.protein-process[data-phase="4"] span:nth-child(4){opacity:1;background:#6ea07577;box-shadow:0 0 18px #bbedb877}.protein-process p{white-space:pre-line;font-size:18px}[data-protein-hint="3"] .protein-ribosome{outline-offset:4px;outline:4px solid #ffe6a1}[data-motion=reduced] .protein-ribosome{animation:none}@media (prefers-reduced-motion:reduce){.protein-ribosome,.protein-blocks{animation:none}}@media (width<=700px){.protein-hud{max-height:34%;top:14px;overflow-y:auto}.protein-hud h2{font-size:20px}.protein-workbench{border-radius:20px;width:94%;height:50%;padding:12px;top:39%;left:3%}.protein-bench-title,.protein-bench-title small{font-size:16px}.protein-bench-note{margin:4px 0;font-size:16px}.protein-ribosome{gap:5px;min-height:66px;padding:7px;font-size:25px;top:28%;right:5%}.protein-ribosome span{font-size:16px}.protein-ribosome small{max-width:115px;font-size:16px}.protein-er-shelf{color:#0000;width:53%;height:30%;top:20%;right:2%}.protein-er-shelf small{color:#0000}.protein-mrna{min-height:62px;padding:6px;font-size:18px;top:29%;left:4%}.protein-mrna small{max-width:120px;font-size:16px}.protein-mrna.loaded{top:39%;left:37%}.protein-reading{padding:11px;inset:21% 4%}.protein-reading strong{font-size:19px}.protein-reading p{font-size:16px}.protein-pool-label{top:50%;left:4%;right:4%}.protein-pool-label strong,.protein-pool-label p{font-size:16px}.protein-blocks{gap:8px;top:72%;left:4%;right:4%}.protein-block{min-width:65px;min-height:56px;padding:4px;font-size:17px}.protein-block small{font-size:16px}.protein-chain{width:67%;min-height:54px;padding:4px 7px;top:87%;left:4%}.protein-chain strong,.protein-chain strong small{font-size:16px}.chain-piece{width:25px;height:25px;font-size:17px}.protein-transfer{font-size:14px;top:74%;left:3%;right:3%}.protein-process{padding:10px;inset:5%}.protein-process strong{font-size:18px}.protein-process-path{gap:4px;margin:8px 0}.protein-process-path span{padding:4px;font-size:16px}.protein-process-path small,.protein-process p{font-size:16px}[data-active-mission=protein] .fact-card{top:var(--mission-card-top,12px);width:calc(100vw - 24px);max-height:330px;position:fixed;bottom:auto;left:12px}[data-protein-state]:not([data-protein-state=IDLE]) .structure-guide{z-index:7;width:min(230px,62vw);max-height:min(340px,45vh);top:18px;right:12px;overflow-y:auto}}.shipping-hud{border-color:#efca9aa6}.shipping-hud h2 small{color:#f3d7a5}.shipping-hud .mission-feedback{white-space:pre-line;color:#ffe1b2}.shipping-hud .mission-finish strong{color:#ffe0ae}.shipping-hud .mission-finish strong small{font-size:17px;display:block}#shipping-story{color:#ecdfcf;margin:0 0 8px;font-size:16px;line-height:1.42}.shipping-scope{color:#f1d9ac;margin:6px 0 9px;font-size:16px;line-height:1.35}[data-shipping-state]:not([data-shipping-state=SEARCH_ER]) #shipping-story,[data-shipping-state=COMPLETE] .shipping-hud>.mission-objective,[data-shipping-state=COMPLETE] .shipping-hud>.mission-objective-zh,[data-shipping-state=COMPLETE] .shipping-hud>.mission-feedback,[data-shipping-state=COMPLETE] .shipping-hud>.mission-actions{display:none}.shipping-stage{z-index:4;pointer-events:none;position:absolute;inset:0}.shipping-workbench{color:#fff5e5;pointer-events:auto;background:radial-gradient(circle at 48% 40%,#70503d8c,#29384ddd 63%,#0a2338f5);border:1px solid #e9c9938c;border-radius:28px;width:min(640px,54vw);height:min(600px,78%);padding:20px;position:absolute;top:7%;left:43%;overflow:hidden;box-shadow:0 22px 65px #0009,inset 0 0 55px #f3d39425}.shipping-bench-title{color:#ffe6b8;letter-spacing:.04em;font-size:19px;display:block}.shipping-bench-title small{letter-spacing:0;font-size:16px;font-weight:500;display:block}.shipping-bench-note{margin:9px 0;font-size:16px;line-height:1.4}.shipping-bench-note span{color:#f2d6ae}.shipping-route{color:#ffe2ae;justify-content:space-between;align-items:center;gap:5px;font-size:16px;font-weight:800;display:flex;position:absolute;top:26%;left:8%;right:8%}.shipping-route b{color:#a9e9df}.shipping-node{color:#fff;cursor:pointer;background:#2d6182;border:2px solid #acd7e8;border-radius:17px;width:28%;min-height:98px;padding:9px;font-size:18px;font-weight:800;position:absolute;top:34%;box-shadow:0 0 15px #93dbeb44}.shipping-node small{margin-top:4px;font-size:16px;font-weight:500;display:block}.shipping-er{left:4%}.shipping-golgi{background:#665079;border-color:#e7c3e8;left:36%}.shipping-membrane{background:#2f6b5e;border-color:#b7e6c5;right:4%}.shipping-node.reached{outline-offset:4px;outline:4px solid #ffe9b4;box-shadow:0 0 24px #ffe0a680}.shipping-protein{color:#f7dcaa;text-align:center;background:#764f42;border:1px solid #ffdfac;border-radius:12px;max-width:38%;padding:9px;font-size:23px;font-weight:800;position:absolute;top:55%;left:6%}.shipping-protein small{font-size:15px;font-weight:500;display:block}[data-shipping-state=ER_LOADING] .shipping-protein{animation:2.2s ease-in-out both enter-er}@keyframes enter-er{50%{opacity:.85;transform:translate(12px,-26px)scale(.85)}to{opacity:.25;transform:translate(12px,-35px)scale(.55)}}.shipping-action{color:#fff7e9;cursor:pointer;background:#806448;border:2px solid #f1d49f;border-radius:12px;width:53%;min-height:55px;padding:9px;font-size:17px;font-weight:700;position:absolute;top:68%;left:7%}.shipping-vesicle{color:#fff;cursor:grab;touch-action:none;background:#36728a;border:3px solid #d2ecfa;border-radius:44px;align-items:center;gap:9px;min-height:82px;padding:9px 12px;font-size:29px;font-weight:800;display:flex;position:absolute;top:66%;box-shadow:0 0 24px #b6e9fa77}.shipping-transport{left:7%}.shipping-secretory{background:#94714b;border-color:#ffe4b2;left:38%}.shipping-vesicle span{text-align:left;font-size:18px}.shipping-vesicle small{font-size:15px;font-weight:500;display:block}.shipping-vesicle[aria-pressed=true]{outline-offset:5px;outline:4px solid #fff0a8}.shipping-process{z-index:5;color:#fff3de;text-align:center;background:#2a2e40;border:2px solid #f7dbac;border-radius:20px;flex-direction:column;justify-content:center;padding:16px;display:flex;position:absolute;inset:11% 7%;box-shadow:0 0 34px #f4d4a959}.shipping-process strong{font-size:20px}.shipping-process-steps{gap:7px;margin:13px 0;display:grid}.shipping-process-steps span{color:#e6dfd5;opacity:.75;white-space:pre-line;border:1px solid #e4ccac77;border-radius:10px;padding:7px;font-size:17px;line-height:1.3}.shipping-process-steps span.active{color:#fff7e9;opacity:1;background:#b186585c;box-shadow:0 0 16px #ffe2a866}.shipping-process p{white-space:pre-line;margin:5px 0 8px;font-size:17px}.shipping-process .process-actions{justify-content:center}.shipping-process .process-actions button{color:#fff;cursor:pointer;background:#74577c;border:1px solid #f8daaa;border-radius:9px;min-height:44px;padding:6px 15px;font-size:16px}.shipping-released{color:#f4fff1;background:#2e7356;border:2px solid #b8f4ca;border-radius:15px;padding:14px;font-size:24px;font-weight:800;position:absolute;bottom:9%;right:5%;box-shadow:0 0 26px #b5f6be88}.shipping-released strong{font-size:17px;display:block}.shipping-released small{font-size:16px;display:block}[data-shipping-hint="3"] .shipping-er,[data-shipping-hint="3"] .shipping-action,[data-shipping-hint="3"] .shipping-golgi,[data-shipping-hint="3"] .shipping-membrane{box-shadow:0 0 25px #ffe6ad}[data-motion=reduced] .shipping-protein{animation:none}@media (prefers-reduced-motion:reduce){.shipping-protein{animation:none}}@media (width<=700px){.shipping-hud{max-height:34%;top:14px;overflow-y:auto}.shipping-hud h2{font-size:20px}.shipping-workbench{border-radius:20px;width:94%;height:50%;padding:12px;top:39%;left:3%}.shipping-bench-title,.shipping-bench-title small{font-size:16px}.shipping-bench-note{margin:4px 0;font-size:16px}.shipping-route{font-size:14px;top:36%}.shipping-node{min-height:96px;padding:5px;font-size:16px;top:43%}.shipping-node small{font-size:16px}.shipping-er{width:29%;left:2%}.shipping-golgi{width:30%;left:35%}.shipping-membrane{width:31%;right:2%}.shipping-protein{max-width:49%;padding:5px;font-size:19px;top:66%;left:3%}.shipping-protein small{font-size:16px}.shipping-action{width:88%;min-height:52px;font-size:16px;top:80%;left:4%}.shipping-vesicle{max-width:78%;min-height:72px;padding:6px;font-size:23px;top:72%}.shipping-vesicle span,.shipping-vesicle small{font-size:16px}.shipping-transport{left:4%}.shipping-secretory{left:36%}.shipping-process{padding:9px;inset:5% 4%}.shipping-process strong{font-size:18px}.shipping-process-steps{gap:4px;margin:8px 0}.shipping-process-steps span{padding:4px;font-size:16px}.shipping-process p{font-size:16px}.shipping-released{padding:8px;font-size:19px;bottom:7%;right:4%}.shipping-released strong{font-size:16px}[data-active-mission=shipping] .fact-card{top:var(--mission-card-top,12px);width:calc(100vw - 24px);max-height:330px;position:fixed;bottom:auto;left:12px}[data-shipping-state]:not([data-shipping-state=IDLE]) .structure-guide{z-index:7;width:min(230px,62vw);max-height:min(340px,45vh);top:18px;right:12px;overflow-y:auto}.masthead{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 10px;padding:10px 12px;display:grid}.brand{grid-column:1;min-width:0}.brand-copy{white-space:nowrap}.brand-chinese{font-size:11px}.reset-button{grid-area:1/2;min-height:38px;font-size:12px}.audio-tools{grid-area:2/1/auto/-1;justify-content:flex-start;gap:4px;width:100%;max-width:none;margin:0;display:flex}.audio-tools button{min-height:34px;padding:3px 6px;font-size:11px}.mission-world-label[data-token=nuclearEnvelope]{translate:-20% 40%}.mission-world-label[data-token=amino0]{translate:-65% -270%}.mission-world-label[data-token=amino1]{translate:-50% -70%}.mission-world-label[data-token=amino2]{translate:-20% -240%}.mission-world-label[data-token=released]{translate:-100% -170%}}@media (width>=701px){[data-shipping-state=FUSION_RESULT] .teaching-pause{top:12px;bottom:auto}[data-shipping-state=FUSION_RESULT] .mission-world-label[data-token=released]{translate:-135% -170%}}.boundary-hud{border-color:#9de3d7aa;width:min(390px,100% - 36px)}@media (width>=701px){[data-boundary-mission=membrane] .boundary-hud{width:320px}}.stage{z-index:4}.boundary-hud h2 small{color:#a8e6d7;margin:3px 0 0;display:block}.boundary-hud .mission-feedback{white-space:pre-line;color:#ffe0b5}.boundary-knowledge{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:11px 0;display:grid}.boundary-knowledge button{color:#e8f9f4;cursor:pointer;background:#204551;border:1px solid #89bfc2;border-radius:9px;min-height:44px;padding:5px;font-size:13px;line-height:1.24}.boundary-knowledge button:hover,.boundary-knowledge button:focus-visible{border-color:#e9e1a9;box-shadow:0 0 15px #badfc88a}.boundary-label{z-index:5;white-space:normal;text-align:center;border-width:2px;max-width:210px;min-height:48px;padding:8px 11px;font-size:14px}.boundary-label[data-boundary-token=oxygen],.boundary-label[data-boundary-token=glucose],.boundary-label[data-boundary-token=particle]{background:#534371ed}.boundary-label[data-boundary-token=transporter],.boundary-label[data-boundary-token=lysosome]{background:#246157ed;border-color:#b6f4b4}.boundary-label[data-boundary-token=exporter]{background:#246157ed;border-color:#b6f4b4;max-width:150px;font-size:12px}.boundary-label[data-boundary-token=bilayer]{background:#245069ed;border-color:#a5e8eb;translate:-50% 52%}.boundary-label[data-boundary-token=lysosome]{translate:-5% -210%}.boundary-label[data-boundary-token=golgi]{background:#5b4267e8;border-color:#dbbbdf;translate:-25% 105%}.boundary-label[data-boundary-token=vesicle]{translate:-105% -60%}.boundary-label[data-boundary-token=cytoplasm]{translate:-50% -50%}.boundary-side-label{pointer-events:none;opacity:.9;background:#183843e0;border-color:#9cccd0;font-size:12px}.boundary-label[data-boundary-token=outside],.boundary-label[data-boundary-token=inside]{translate:-50% -30%}.boundary-membrane-key{color:#eafaf7;flex-wrap:wrap;gap:4px 9px;margin:5px 0;font-size:11px;line-height:1.25;display:flex}.boundary-membrane-key span{align-items:center;gap:4px;display:inline-flex}.boundary-membrane-key i{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.boundary-membrane-key .key-head{background:#a9e5ec}.boundary-membrane-key .key-tail{background:#e8b987}.boundary-membrane-key .key-protein{background:#a5efa9}.boundary-label[data-boundary-token=enzymes]{translate:12% 85%}.boundary-label[data-boundary-token=molecules]{translate:-95% -85%}.boundary-label[data-boundary-token=recycled]{color:#173829;background:#bdf1bd;border-color:#d7f7b1;translate:-50% 55%}.boundary-recap{flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0;display:flex}.boundary-recap span{opacity:.5;background:#234e50;border:1px solid #a8e3d4;border-radius:8px;padding:6px 7px;font-size:14px;font-weight:700;animation:.65s ease-out forwards recap-brighten}.boundary-recap span small{font-size:12px;font-weight:500;display:block}.boundary-recap span:nth-of-type(2){animation-delay:.55s}.boundary-recap span:nth-of-type(3){animation-delay:1.1s}.boundary-recap span:nth-of-type(4){animation-delay:1.65s}.boundary-recap b{color:#ddf4d4}@keyframes recap-brighten{to{opacity:1;box-shadow:0 0 13px #aedfc77a}}@media (prefers-reduced-motion:reduce){.boundary-recap span{opacity:1;animation:none}}@media (width<=700px){[data-boundary-state=MEMBRANE_1] .boundary-knowledge,[data-boundary-state=MEMBRANE_2] .boundary-knowledge,[data-boundary-state=MEMBRANE_3] .boundary-knowledge,[data-boundary-state=OXYGEN_PRE] .boundary-knowledge,[data-boundary-state=CARGO_PRE] .boundary-knowledge,[data-boundary-state=OXYGEN_PAUSE] .boundary-knowledge,[data-boundary-state=VESICLE_PAUSE] .boundary-knowledge{display:none}[data-boundary-mission=membrane] .boundary-hud{max-height:19%}}@media (width>=701px){[data-nucleus-state=COMPLETE] .fact-card{bottom:18px;left:auto;right:18px}}@media (width<=700px){[data-nucleus-state=COMPLETE] .fact-card{max-height:28vh;top:auto;bottom:12px}}[data-active-mission=membrane] .fact-card,[data-active-mission=lysosome] .fact-card{bottom:15px;left:auto;right:18px}@media (width<=700px){[data-boundary-mission=membrane] .teaching-pause,[data-boundary-mission=lysosome] .teaching-pause{max-height:26vh;padding:10px 12px}[data-boundary-mission=membrane] .teaching-pause p,[data-boundary-mission=lysosome] .teaching-pause p{font-size:15px;line-height:1.36}.boundary-hud{width:calc(100% - 20px);max-height:31%;padding:8px 10px;top:8px;left:10px}.boundary-hud h2{margin:3px 0;font-size:18px}.boundary-hud h2 small{font-size:14px}.boundary-hud .mission-objective{font-size:15px}.boundary-hud .mission-objective-zh{font-size:14px}.boundary-knowledge{margin:6px 0}.boundary-knowledge button{min-height:43px;font-size:12px}.boundary-label{max-width:124px;min-height:48px;font-size:12px;line-height:1.15}[data-active-mission=membrane] .fact-card,[data-active-mission=lysosome] .fact-card{top:var(--mission-card-top,12px);width:calc(100vw - 24px);max-height:220px;position:fixed;bottom:auto;left:12px;right:12px}[data-boundary-state]:not([data-boundary-state=IDLE]) .structure-guide{z-index:7;width:min(230px,62vw);max-height:35vh;top:12px;right:12px;overflow-y:auto}}@media (width<=700px) and (orientation:portrait){.masthead{padding-top:max(10px, env(safe-area-inset-top))}.footer{padding-bottom:max(12px, env(safe-area-inset-bottom))}.stage{--mobile-hud-height:0px;--mobile-card-height:0px;--mobile-explanation-height:0px;height:calc(250px + var(--mobile-card-height) + 500px + var(--mobile-explanation-height) + 140px);flex:none;min-height:0}[data-active-mission]:not([data-active-mission=""]) .stage{height:calc(20px + var(--mobile-hud-height) + var(--mobile-card-height) + 500px + var(--mobile-explanation-height) + 140px)}.cell-viewport{inset:calc(250px + var(--mobile-card-height)) 0 calc(140px + var(--mobile-explanation-height))}[data-active-mission]:not([data-active-mission=""]) .cell-viewport{top:calc(20px + var(--mobile-hud-height) + var(--mobile-card-height))}.cell-viewport canvas{touch-action:pan-y}.interaction-hint{text-align:center;white-space:normal;max-width:calc(100% - 24px)}.interaction-hint .desktop-hint{display:none}.interaction-hint .mobile-hint{display:inline}.mission-world-label,.boundary-label,.mission-target{touch-action:pan-y}.mission-world-label:is([data-token=dna],[data-token=nucleusMrna],[data-token=proteinMrna],[data-token=transport],[data-token=secretory],[data-token^=amino]),.boundary-label:is([data-boundary-token=oxygen],[data-boundary-token=glucose],[data-boundary-token=particle],[data-boundary-token=vesicle],[data-boundary-token=molecules]){touch-action:none}.mission-hud,.nucleus-hud,.protein-hud,.shipping-hud,.boundary-hud,[data-boundary-mission=membrane] .boundary-hud{width:calc(100% - 24px);max-height:none;top:12px;left:12px;overflow:visible}.fact-card,[data-mission-state]:not([data-mission-state=IDLE]) .fact-card,[data-active-mission] .fact-card,[data-nucleus-state=COMPLETE] .fact-card{width:calc(100% - 24px);max-height:min(330px,45dvh);position:absolute;inset:235px 12px auto;overflow-y:auto}[data-active-mission]:not([data-active-mission=""]) .fact-card{top:calc(20px + var(--mobile-hud-height))}.teaching-pause,[data-boundary-mission=membrane] .teaching-pause,[data-boundary-mission=lysosome] .teaching-pause{width:auto;max-height:min(340px,42dvh);position:absolute;inset:auto 12px 112px}.mission-process,.transcription-process{width:auto;max-height:min(340px,42dvh);inset:auto 12px 112px;overflow-y:auto;transform:none}.nucleus-workbench,.protein-workbench,.shipping-workbench{top:calc(20px + var(--mobile-hud-height) + var(--mobile-card-height));width:94%;height:500px;left:3%}.view-tools{bottom:max(12px, env(safe-area-inset-bottom))}[data-active-mission]:not([data-active-mission=""]) .interaction-hint{display:none}}
