:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#a7f3d061,#0000 28%),radial-gradient(circle at 100% 0,#c4b5fd52,#0000 30%),linear-gradient(#f8fafc 0%,#eef2ff 100%);font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}a{color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.player-page{width:min(1280px,100% - 32px);margin:0 auto;padding:0 0 72px}.page-hero{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.eyebrow{color:#0f766e;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.8rem;font-weight:800}.page-hero h1{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}.page-navbar{background:#ffffffeb;border-top:1px solid #94a3b847;border-bottom:1px solid #94a3b847;border-radius:0;justify-content:space-between;align-items:flex-start;gap:24px;width:100vw;margin-bottom:24px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-block:22px;padding-inline:max(16px,50vw - 624px);display:flex;box-shadow:0 22px 48px #0f172a12}.page-navbar h1{color:#0f766e;margin:0;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.08}.navbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:24px;display:flex}.navbar-group{align-items:center;gap:12px;display:flex}.navbar-drawer-group{min-width:168px}.navbar-inline-title{white-space:nowrap;margin:0}.nav-drawer-container{position:relative}.nav-drawer-trigger{cursor:pointer;color:#0f172a;background:#f8fafc;border:0;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;min-width:164px;padding:11px 14px;font-weight:700;transition:transform .2s,background-color .2s,box-shadow .2s;display:inline-flex}.nav-drawer-trigger:hover{background:#e2e8f0;transform:translateY(-1px)}.nav-drawer-trigger.active{background:#e2e8f0;box-shadow:inset 0 0 0 1px #0f766e29}.nav-drawer-arrow{font-size:.78rem;transition:transform .2s}.nav-drawer-trigger.active .nav-drawer-arrow{transform:rotate(180deg)}.nav-drawer-menu{z-index:40;background:#fffffffa;border:1px solid #94a3b847;border-radius:16px;flex-direction:column;gap:4px;min-width:100%;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 25px #0f172a1a}.nav-drawer-option{cursor:pointer;color:#475569;text-align:left;background:0 0;border:0;border-radius:10px;padding:9px 12px;font-weight:600;transition:background-color .2s,color .2s}.nav-drawer-option:hover{color:#0f172a;background:#f1f5f9}.nav-drawer-option.active{color:#fff;background:#0f766e}.hero-text{color:#475569;max-width:66ch;margin:14px 0 0;line-height:1.75}.hero-chip-group{flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:280px;display:flex}.hero-chip,.label-chip{border-radius:999px;justify-content:center;align-items:center;padding:8px 14px;font-size:.86rem;font-weight:700;display:inline-flex}.hero-chip{color:#115e59;background:#0f766e14}.control-panel,.timeline-panel,.scene-card,.info-card{background:#ffffffeb;border:1px solid #94a3b847;box-shadow:0 22px 48px #0f172a12}.control-panel{border-radius:24px;gap:16px;margin-bottom:18px;padding:18px;display:flex}.segmented-group{flex-direction:column;gap:10px;display:flex}.group-title{color:#64748b;font-size:.84rem;font-weight:700}.button-row{gap:10px;display:flex}.button-row.wrap{flex-wrap:wrap}.segmented-button,.control-button,.speed-button,.timeline-step{cursor:pointer;border:0;transition:transform .2s,background-color .2s,color .2s,box-shadow .2s}.segmented-button,.control-button,.speed-button{color:#0f172a;background:#f8fafc;border-radius:16px;padding:11px 14px;font-weight:700}.segmented-button.active,.speed-button.active{color:#fff;background:#0f766e}.control-button.primary{color:#fff;background:#7c3aed}.segmented-button:hover,.control-button:hover,.speed-button:hover,.timeline-step:hover{transform:translateY(-1px)}.timeline-panel{border-radius:24px;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px;margin-bottom:20px;padding:14px;display:grid}.timeline-step{text-align:left;background:#f8fafc;border-radius:18px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;display:flex}.timeline-step.active{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%)}.step-index{opacity:.8;font-size:.75rem;font-weight:800}.step-name{font-weight:700}.player-layout{grid-template-columns:1.3fr .9fr;align-items:stretch;gap:20px;display:grid}.scene-card{background:radial-gradient(circle at 0 0,#ffffffe6,#0000 32%),linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #94a3b833;border-radius:28px;width:100%;height:620px;position:relative;overflow:hidden}.scene-layer-shell{pointer-events:none;position:absolute}.scene-layer-motion{transform-origin:50%;will-change:transform, opacity;pointer-events:auto;width:100%;height:100%}.scene-layer-visual{object-fit:contain;width:100%;height:100%;display:block}.spindle-visual{width:100%;height:100%;position:relative}.spindle-visual-half{position:absolute;inset:0}.spindle-visual-top{clip-path:inset(0 0 50%);transform-origin:top}.spindle-visual-bottom{clip-path:inset(50% 0 0);transform-origin:bottom}.scene-overlay{pointer-events:none;position:absolute;inset:0}.scene-layer{object-fit:contain;will-change:transform, opacity;transform-origin:50%;max-width:none;max-height:none;position:absolute}.base-cell{object-fit:contain}.substage-explanation-list{flex-direction:column;gap:12px;display:flex}.substage-explanation{color:#0f172a;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #94a3b83d;border-radius:18px;flex-direction:column;gap:6px;width:100%;padding:14px 16px;transition:transform .2s,background-color .2s,color .2s,box-shadow .2s,border-color .2s;display:flex}.substage-explanation:hover{transform:translateY(-1px)}.substage-explanation.active{background:linear-gradient(135deg,#0f766e1f 0%,#14b8a62e 100%);border-color:#0f766e6b;box-shadow:0 10px 22px #0f766e1f}.substage-explanation-title{font-size:.98rem;font-weight:800}.substage-explanation-text{color:#475569;line-height:1.7}.nucleus-main,.plant-interphase-nucleus,.nucleus-outline,.nucleolus-main,.chromatin-main{z-index:2}.spindle-main{opacity:.86;z-index:1}.prophase3-spindle,.telophase1-spindle{opacity:1;z-index:1}.centrosome{width:70px}.centrosome.left{top:122px;left:88px}.centrosome.right{top:122px;right:88px}.centrosome.far-left{top:120px;left:56px}.centrosome.far-right{top:120px;right:56px}.fading-shell{opacity:.22;filter:saturate(.9)}.dissolving{opacity:.35}.fade-in{opacity:.78}.chromosome-double,.chromosome-single,.centromere-guide{width:92px}.prophase-1{top:138px;left:118px;transform:rotate(-16deg)}.prophase-2{top:116px;left:186px;transform:rotate(12deg)}.prophase-3{top:148px;left:260px;transform:rotate(-8deg)}.prophase-4{top:220px;left:208px;transform:rotate(18deg)}.metaphase-1{top:180px;left:150px}.metaphase-2{top:180px;left:215px}.metaphase-3{top:180px;left:280px}.metaphase-4{top:180px;left:345px}.anaphase-left-1{top:120px;left:118px;transform:rotate(-18deg)}.anaphase-left-2{top:200px;left:132px;transform:rotate(-4deg)}.anaphase-left-3{top:284px;left:164px;transform:rotate(14deg)}.anaphase-right-1{top:120px;right:118px;transform:rotate(18deg)scaleX(-1)}.anaphase-right-2{top:200px;right:132px;transform:rotate(4deg)scaleX(-1)}.anaphase-right-3{top:284px;right:164px;transform:rotate(-14deg)scaleX(-1)}.centromere-guide.center-1{width:34px;top:208px;left:212px}.centromere-guide.center-2{width:34px;top:208px;left:278px}.nucleus-side,.nucleus-outline-side{width:160px;top:165px}.telophase-nucleus-left,.telophase-nucleus-right{z-index:2}.nucleus-side.left,.nucleus-outline-side.left,.nucleolus-side.left{left:118px}.nucleus-side.right,.nucleus-outline-side.right,.nucleolus-side.right{right:118px}.nucleolus-side{width:46px;top:215px}.cell-plate-main{width:180px;top:250px;left:50%;transform:translate(-50%)}.cleavage-main{opacity:.92;width:360px;top:120px;left:50%;transform:translate(-50%)}.equatorial-line{border-top:5px dashed #fffffff2;border-image:repeating-linear-gradient(90deg,#fffffff2 0 16px,#0000 16px 30px) 1;width:32%;position:absolute;top:50%;left:47%;transform:translate(-50%,-50%)}.hotspot{cursor:pointer;z-index:8;background:0 0;border:0;padding:0;position:absolute}.hotspot:before{content:"";border:2px dashed #0f766e40;border-radius:999px;transition:border-color .25s,background-color .25s,transform .25s;position:absolute;inset:0}.hotspot:hover:before,.hotspot.active:before{background:#14b8a614;border-color:#0f766ea6}.hotspot.active:before{transform:scale(1.04)}.hotspot-pulse{background:#0f766e;border-radius:999px;width:12px;height:12px;animation:2.1s infinite hotspotPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 #0f766e61}.hotspot-highlight-ring{object-fit:contain;pointer-events:none;width:calc(100% + 16px);height:calc(100% + 16px);position:absolute;inset:-8px}.hotspot.nucleus-core{width:190px;height:150px;top:168px;left:255px}.hotspot.chromatin-core,.hotspot.chromosome-cluster,.hotspot.metaphase-band,.hotspot.center-split{width:280px;height:178px;top:158px;left:210px}.hotspot.spindle-zone{width:460px;height:300px;top:92px;left:120px}.hotspot.centrosome-pair{width:588px;height:120px;top:106px;left:56px}.hotspot.centrosome-pair-wide{width:628px;height:132px;top:96px;left:36px}.hotspot.centromere-band{width:150px;height:52px;top:192px;left:246px}.hotspot.anaphase-arms{width:510px;height:260px;top:104px;left:96px}.hotspot.telophase-nuclei{width:494px;height:188px;top:152px;left:102px}.hotspot.cell-plate-zone{width:182px;height:70px;top:235px;left:258px}.hotspot.cleavage-zone{width:320px;height:248px;top:114px;left:190px}.info-panel{flex-direction:column;gap:14px;height:620px;display:flex}.info-card{border-radius:22px;flex-direction:column;flex:auto;min-height:0;padding:18px 18px 20px;display:flex}.info-card h3{margin:0 0 10px;font-size:1rem}.info-card p{color:#475569;margin:0;line-height:1.7}.stage-explanation-body{flex:auto;min-height:0;padding-right:4px;overflow-y:auto}.playback-controls{background:#ffffffeb;border:1px solid #94a3b847;border-radius:22px;flex:0 0 96px;justify-content:space-between;align-items:center;min-height:96px;max-height:96px;margin-top:auto;padding:14px 18px;display:flex;box-shadow:0 22px 48px #0f172a12}.playback-buttons{gap:10px;margin-left:42px;display:flex}.playback-buttons .control-button:hover{color:#fff;background:#0f766e}.playback-toggle{color:#fff;background:#0f766e;justify-content:center;align-items:center;min-width:48px;padding-inline:0;font-size:1rem;display:inline-flex}.playback-toggle:hover{background:#115e59}.prophase1-chromosome,.metaphase-chromosome,.anaphase1-chromatid,.anaphase1-chromatid-second,.anaphase2-chromatid,.anaphase2-chromatid-second{z-index:3}.speed-selector-container{position:relative}.speed-trigger{cursor:pointer;color:#0f172a;background:#f8fafc;border:0;border-radius:16px;justify-content:space-between;align-items:center;gap:8px;min-width:116px;padding:11px 14px;font-weight:700;transition:background-color .2s,transform .2s;display:inline-flex}.speed-trigger-label{flex:none}.speed-trigger-value{text-align:right;font-variant-numeric:tabular-nums;min-width:2.8em}.speed-trigger:hover{background:#e2e8f0;transform:translateY(-1px)}.speed-trigger.active{background:#e2e8f0}.speed-trigger-arrow{font-size:.78rem;transition:transform .2s}.speed-trigger.active .speed-trigger-arrow{transform:rotate(180deg)}.speed-drawer{z-index:100;background:#fffffffa;border:1px solid #94a3b847;border-radius:16px;flex-direction:column;gap:4px;min-width:80px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 10px 25px #0f172a1a}.speed-option{cursor:pointer;color:#475569;text-align:center;background:0 0;border:0;border-radius:10px;padding:8px 12px;font-weight:600;transition:background-color .2s,color .2s}.speed-option:hover{color:#0f172a;background:#f1f5f9}.speed-option.active{color:#fff;background:#0f766e}.meiosis-placeholder{background:#ffffffeb;border:1px solid #94a3b847;border-radius:28px;padding:40px 32px;box-shadow:0 22px 48px #0f172a12}.meiosis-placeholder h2{margin:0 0 12px;font-size:1.5rem}.meiosis-placeholder p{color:#475569;margin:0;line-height:1.8}.highlight-card{background:linear-gradient(#ecfdf5fa,#d1fae5e6)}.exam-card{background:linear-gradient(#fef9c3f2,#fef08ae0)}.mistake-tip{font-weight:700;color:#92400e!important;margin-top:10px!important}.labels-card{background:linear-gradient(#f8fafcf5,#f1f5f9eb)}.compact-card{opacity:.92}.structure-card{background:linear-gradient(#eef2fffa,#e0e7ffeb)}.structure-title{font-size:1.02rem;font-weight:800;color:#312e81!important;margin-bottom:10px!important}.structure-exam-link{font-weight:700;color:#0f766e!important;margin-top:12px!important}.label-chip-list{flex-wrap:wrap;gap:10px;display:flex}.label-chip{color:#0f172a;cursor:pointer;background:#0f172a14;border:0;transition:transform .2s,background-color .2s,color .2s}.label-chip:hover{transform:translateY(-1px)}.label-chip.active{color:#fff;background:#0f766e}.label-chip.static{cursor:default}.label-chip.static:hover{transform:none}.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}@keyframes hotspotPulse{0%{transform:translate(-50%,-50%)scale(1);box-shadow:0 0 #0f766e5c}70%{transform:translate(-50%,-50%)scale(1.08);box-shadow:0 0 0 14px #0f766e00}to{transform:translate(-50%,-50%)scale(1);box-shadow:0 0 #0f766e00}}@media (width<=1100px){.player-layout{grid-template-columns:1fr}}@media (width<=860px){.page-hero,.timeline-panel{grid-template-columns:1fr;display:grid}.page-hero{flex-direction:column;display:flex}.hero-chip-group{justify-content:flex-start;max-width:none}.control-panel{flex-direction:column;align-items:flex-start}.timeline-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.player-page{width:min(100% - 20px,1280px);padding-top:20px}.button-row{flex-wrap:wrap}.timeline-panel{grid-template-columns:1fr}}
