:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#eef8f6;color:#17211f;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;--paper: rgba(248, 252, 250, .86);--paper-deep: #e5f5ef;--ink: #17211f;--muted: #65736f;--line: rgba(20, 67, 57, .15);--shadow: 0 24px 70px rgba(29, 70, 64, .16);--shadow-soft: 0 12px 34px rgba(29, 70, 64, .1);--serif: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--note: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lab-teal: #16a993;--lab-coral: #f26f5b;--lab-amber: #e9aa38;--lab-ink: #17211f}*{box-sizing:border-box}html{min-width:320px;background:linear-gradient(rgba(22,169,147,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(242,111,91,.06) 1px,transparent 1px),linear-gradient(135deg,#eefaf7,#f9fcff 48%,#fff3ed);background-size:42px 42px,42px 42px,auto}body{margin:0;min-width:320px;min-height:100vh}button,a,input{font:inherit}button{border:0;color:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;padding:22px;background:linear-gradient(120deg,#ffffff9e,#ffffff1f 44%,#fff6ef99),linear-gradient(180deg,#e5f9f4e0,#ffffff85)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 auto 22px;max-width:1880px;padding:14px;border:1px solid rgba(20,67,57,.12);border-radius:18px;background:#f8fcfac2;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-block{display:flex;align-items:center;min-width:0;gap:18px;animation:rise-in .52s ease both}.brand-orb{width:72px;height:72px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(22,169,147,.26);border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--lab-teal),#67d6c0 52%,var(--lab-coral));box-shadow:0 16px 32px #16a9932e,inset 0 1px #ffffff7a}.brand-block h1{margin:0;font-family:var(--serif);font-size:3.7rem;font-weight:900;line-height:.96;letter-spacing:0;color:transparent;background:linear-gradient(90deg,#10211e,var(--lab-teal) 46%,var(--lab-coral));-webkit-background-clip:text;background-clip:text}.brand-block p{display:inline-flex;align-items:center;margin:8px 0 0;color:#49625d;font-family:var(--note);font-size:1rem;font-weight:800;letter-spacing:0}.top-nav{display:flex;align-items:center;gap:24px;flex:0 0 auto;animation:fade-in .62s ease both}.top-nav a,.top-nav button,.avatar-button,.language-select{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:#203530}.top-nav a{flex-direction:column;min-width:64px;font-size:.9rem}.top-nav button{flex-direction:column;min-width:74px;cursor:pointer;border:1px solid transparent;border-radius:12px;background:#ffffff57;font-size:.9rem;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}.top-nav button:hover,.top-nav button.is-active{transform:translateY(-1px);border-color:#16a99347;color:var(--lab-teal);background:linear-gradient(135deg,#16a9931f,#f26f5b14),#ffffffad}.language-select{position:relative;min-width:156px;padding:0 12px;border:1px solid rgba(20,67,57,.14);border-radius:12px;background:#ffffffad;box-shadow:var(--shadow-soft)}.language-select>span{color:#39504a;font-size:.88rem;font-weight:700;white-space:nowrap}.language-select select{min-width:84px;cursor:pointer;border:0;background:transparent;color:#203530;outline:0}.top-nav svg{stroke-width:1.7}.avatar-button{padding:4px;cursor:pointer;background:transparent}.avatar-core{width:58px;height:58px;display:grid;place-items:center;border:2px solid rgba(22,169,147,.42);border-radius:16px}.avatar-core span{width:30px;height:30px;border-radius:50%;box-shadow:12px 4px #ffffffad,-8px 8px #ffffff6b}.app-grid{display:grid;grid-template-columns:minmax(240px,300px) minmax(560px,1fr) minmax(300px,380px);align-items:start;gap:20px;max-width:1880px;margin:0 auto}.standalone-page{display:grid;gap:18px;max-width:1480px;margin:0 auto}.left-rail,.right-rail,.center-stack{min-width:0}.left-rail,.right-rail{display:grid;gap:18px}.panel,.stage-panel{border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#ffffffd1,#ffffff6b),var(--paper);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel{padding:20px;animation:rise-in .52s ease both}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(20,67,57,.12);color:#0f7f6f;font-family:var(--note);font-size:1rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.panel-heading span{display:inline-flex;align-items:center;min-width:0;gap:8px}.cell-list,.organelle-list{display:grid;gap:10px}.cell-row{display:grid;grid-template-columns:58px minmax(0,1fr) 28px;align-items:center;gap:12px;width:100%;min-height:78px;padding:10px 12px;cursor:pointer;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.cell-row:hover,.cell-row.is-active{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 38%,transparent);background:var(--accent-soft);box-shadow:0 10px 24px #3e362c14}.cell-row-copy{display:grid;gap:4px;min-width:0}.cell-row-copy strong,.compare-row strong{overflow:hidden;font-family:var(--serif);font-size:1.04rem;font-weight:600;line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.cell-row-copy span,.compare-row em{overflow:hidden;color:var(--muted);font-size:.92rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.favorite-dot{display:grid;place-items:center;width:28px;height:28px;color:color-mix(in srgb,var(--accent) 58%,#5f574d);cursor:pointer;opacity:.72}.favorite-dot.is-on{color:var(--accent);opacity:1}.mini-cell{position:relative;display:block;width:54px;height:54px;flex:0 0 auto;border-radius:8px;background:#ffffffa3;box-shadow:inset 0 0 0 1px #483c2e14}.mini-cell.has-preview{overflow:hidden;background:radial-gradient(circle at 36% 22%,rgba(255,255,255,.86),transparent 35%),#f7f1e7;box-shadow:inset 0 0 0 1px #483c2e14,0 10px 20px #2d261e1f}.mini-cell.has-preview img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}.mini-cell span,.mini-cell i,.mini-cell b{position:absolute;display:block;background:var(--thumb)}.mini-cell span{inset:12px;border-radius:50%;opacity:.85}.mini-cell i{width:18px;height:18px;left:25px;top:12px;border-radius:50%;opacity:.54}.mini-cell b{width:24px;height:8px;left:15px;bottom:13px;border-radius:99px;opacity:.62}.mini-cell-plant span{border-radius:32% 46% 42% 34%}.mini-cell-bacteria span,.mini-cell-muscle span{inset:20px 8px;border-radius:99px}.mini-cell-neuron i,.mini-cell-neuron b{height:3px;transform:rotate(-30deg)}.organelle-row{display:flex;align-items:center;width:100%;gap:12px;min-height:40px;padding:8px 10px;cursor:pointer;border-radius:8px;background:transparent;color:#39332a;text-align:left;transition:background .18s ease,transform .18s ease}.organelle-row:hover,.organelle-row.is-active{transform:translate(2px);background:#ffffff94}.color-dot{width:11px;height:11px;flex:0 0 auto;border-radius:50%;box-shadow:0 0 0 5px #ffffff7a}.center-stack{display:grid;gap:18px}.stage-panel{position:relative;min-height:820px;padding:28px;overflow:hidden;background:linear-gradient(180deg,#ffffffe6,#eefaf7ad),linear-gradient(135deg,#16a99314,#f26f5b14);animation:scale-in .56s ease both}.stage-title{position:relative;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.stage-title h2{margin:0;max-width:640px;font-family:var(--serif);font-size:3.55rem;font-weight:900;line-height:.92;letter-spacing:0;color:#17211f}.stage-title p{margin:12px 0 0;color:#183b34a8;font-family:var(--serif);font-size:1.12rem;font-style:normal;font-weight:800;letter-spacing:0}.view-card{display:grid;width:min(100%,300px);gap:12px;padding:18px;border:1px solid rgba(22,169,147,.16);border-radius:14px;background:#ffffffad;box-shadow:var(--shadow-soft)}.view-card>span{color:#49625d;font-family:var(--note);font-weight:800;text-transform:uppercase}.mode-switcher{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mode-switcher button{display:grid;place-items:center;min-height:52px;cursor:pointer;border:1px solid rgba(20,67,57,.14);border-radius:12px;background:#ffffff9e;transition:background .18s ease,border-color .18s ease,transform .18s ease}.mode-switcher button:hover,.mode-switcher button.is-active{transform:translateY(-1px);border-color:#16a9936b;background:linear-gradient(135deg,#16a99324,#f26f5b14);color:var(--lab-teal)}.toggle-line{display:grid;grid-template-columns:minmax(0,1fr) 0 52px;align-items:center;gap:10px;cursor:pointer;color:#443c31}.toggle-line input{width:0;height:0;opacity:0}.toggle-line i{position:relative;display:block;width:52px;height:28px;border-radius:999px;background:#d5ccbc;transition:background .18s ease}.toggle-line i:after{position:absolute;top:4px;left:4px;width:20px;height:20px;content:"";border-radius:50%;background:#fff;box-shadow:0 2px 7px #322a223d;transition:transform .18s ease}.toggle-line input:checked+i{background:var(--accent)}.toggle-line input:checked+i:after{transform:translate(24px)}.tip-note{position:absolute;z-index:4;top:226px;left:78px;display:grid;gap:6px;width:210px;padding:22px 24px;color:#1e3d38;font-family:var(--note);font-size:.95rem;font-weight:800;transform:none;border:1px solid rgba(22,169,147,.22);border-radius:16px;background:linear-gradient(135deg,#16a99324,#f26f5b14),#ffffffc7;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tip-note:before{position:absolute;top:8px;left:18px;width:54px;height:4px;content:"";border-radius:999px;background:var(--lab-coral)}.canvas-wrap{position:absolute;inset:180px 22px 188px;z-index:1}.cell-canvas{width:100%!important;height:100%!important;cursor:grab}.cell-canvas.is-native-asset{filter:brightness(1.04) saturate(1.12) contrast(1.07)}.cell-canvas:active{cursor:grabbing}.model-loader{pointer-events:none}.model-loader>div{display:grid;width:260px;gap:10px;padding:18px;border:1px solid rgba(84,74,58,.16);border-radius:8px;background:#fbf7eeeb;box-shadow:var(--shadow-soft);color:#332d24;text-align:left;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.model-loader span,.model-loader em{color:#756d61;font-size:.86rem;font-style:normal}.model-loader strong{font-family:var(--serif);font-size:1.24rem;line-height:1.05}.model-loader i{position:relative;display:block;height:8px;overflow:hidden;border-radius:999px;background:#5a4e3d21}.model-loader b{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s ease}.stage-toolbar,.export-toolbar{position:absolute;z-index:6;display:flex;align-items:center;gap:0;overflow:hidden;border:1px solid rgba(20,67,57,.14);border-radius:14px;background:#ffffffc2;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stage-toolbar{left:34px;bottom:28px}.export-toolbar{right:34px;bottom:28px}.stage-toolbar button,.export-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;gap:8px;padding:0 16px;cursor:pointer;border-right:1px solid rgba(20,67,57,.12);background:transparent;white-space:nowrap}.stage-toolbar button:last-child,.export-toolbar button:last-child{border-right:0}.stage-toolbar button:hover,.stage-toolbar button.is-active,.export-toolbar button:hover{color:var(--lab-teal);background:#16a9931a}.detail-heading button{display:grid;place-items:center;width:36px;height:36px;cursor:pointer;color:color-mix(in srgb,var(--accent) 72%,#b24778);background:transparent}.detail-hero{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:18px;margin-bottom:22px}.organelle-orb{display:block;width:72px;height:72px;border-radius:50%;box-shadow:inset -12px -16px #3424502e,inset 10px 10px #ffffff40,0 12px 22px #463a2a1f}.detail-hero h3{margin:0;overflow-wrap:anywhere;font-family:var(--serif);font-size:1.9rem;line-height:1;letter-spacing:0}.detail-hero p{margin:8px 0 0;color:#3730289e;font-family:var(--serif);font-size:1.08rem;font-style:italic}.attribute-list{display:grid;gap:16px;margin:0}.attribute-list div{display:grid;grid-template-columns:minmax(88px,.8fr) minmax(0,1.2fr);align-items:center;gap:10px}.attribute-list dt{color:#2d271f94;font-family:var(--serif);font-size:1rem}.attribute-list dd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;color:#2c251d;font-family:var(--serif);font-size:1rem}.mini-toggle{position:relative;display:block;width:46px;height:24px;border-radius:999px;background:var(--accent)}.mini-toggle:after{position:absolute;top:3px;right:3px;width:18px;height:18px;content:"";border-radius:50%;background:#fff}.detail-dot{width:16px;height:16px;border-radius:50%}.notes-panel p{margin:0;color:#4b4236;font-family:var(--serif);font-size:1.04rem;line-height:1.65}.fun-fact{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(20,67,57,.12);color:var(--lab-coral);font-family:var(--note);font-size:1.02rem;font-weight:800;line-height:1.35}.notes-occurrence{display:grid;gap:8px;margin-top:18px;padding:14px;border:1px solid rgba(20,67,57,.12);border-radius:12px;background:linear-gradient(135deg,#16a9931a,#f26f5b0f),#ffffff94}.notes-occurrence strong{color:#0f7f6f;font-family:var(--note);font-size:.92rem;font-weight:900;text-transform:uppercase}.notes-occurrence h4{margin:0;color:#17211f;font-family:var(--serif);font-size:1.14rem;line-height:1.2}.note-expansion{display:grid;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(20,67,57,.12)}.note-expansion h4{margin:0;color:#0f7f6f;font-family:var(--note);font-size:1rem;text-transform:uppercase}.note-expansion article,.note-composer,.saved-note-list article{border:1px solid rgba(20,67,57,.12);border-radius:12px;background:#ffffff94}.note-expansion article{padding:12px}.note-expansion strong,.note-composer-head span{color:#0f7f6f;font-family:var(--note);font-weight:800}.note-expansion p{margin:6px 0 0;color:#4b4236;font-family:var(--serif);font-size:.98rem;line-height:1.58}.note-composer{display:grid;gap:10px;margin-top:16px;padding:12px}.note-composer-head,.note-color-row{display:flex;align-items:center;gap:8px}.note-composer-head{justify-content:space-between}.note-composer-head span{display:inline-flex;align-items:center;gap:8px}.note-composer-head em{color:var(--muted);font-size:.82rem;font-style:normal}.note-color-row button{width:28px;height:28px;cursor:pointer;border:2px solid transparent;border-radius:50%;background:var(--note-color);box-shadow:0 4px 10px #372e241f}.note-color-row button.is-active{border-color:#2c251d}.note-composer textarea{min-height:92px;resize:vertical;padding:12px;border:1px solid rgba(20,67,57,.16);border-radius:12px;background:#ffffffc2;color:#17211f;line-height:1.5;outline-color:var(--accent)}.note-add-button{display:inline-flex;align-items:center;justify-content:center;justify-self:start;gap:8px;min-height:40px;padding:0 14px;cursor:pointer;border-radius:12px;background:linear-gradient(135deg,var(--lab-teal),var(--lab-coral));color:#fff}.saved-note-list{display:grid;gap:10px;margin-top:14px}.saved-note-list>p{margin:0;color:var(--muted);font-size:.94rem}.saved-note-list article{position:relative;display:grid;grid-template-columns:8px minmax(0,1fr) 32px;gap:10px;padding:10px}.saved-note-list article>span{width:8px;border-radius:8px;background:var(--note-color)}.saved-note-list article p{margin:0;color:#3f372d;font-family:var(--serif);line-height:1.45}.saved-note-list article button{display:grid;place-items:center;width:32px;height:32px;cursor:pointer;border-radius:8px;background:#ffffff7a;color:#7f5b5b}.saved-note-list article time{grid-column:2 / 4;color:var(--muted);font-size:.78rem}.learning-panel{display:grid;gap:18px}.mastery-meter{display:grid;gap:10px}.mastery-meter>div{display:flex;align-items:center;gap:9px;color:#213a34}.mastery-meter strong{margin-left:auto;font-family:var(--serif);font-size:1.26rem}.mastery-meter i{display:block;height:10px;overflow:hidden;border-radius:999px;background:#1443391f}.mastery-meter b{display:block;width:var(--progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lab-teal),var(--lab-amber),var(--lab-coral))}.mastery-meter small{color:#183b34ad;line-height:1.35}.lesson-focus,.tutor-prompt{display:grid;gap:8px;padding:14px;border:1px solid rgba(20,67,57,.12);border-radius:12px;background:#ffffff94}.lesson-focus>span,.tutor-prompt>span{display:inline-flex;align-items:center;gap:8px;color:#0f7f6f;font-family:var(--note);font-weight:800}.lesson-focus p,.tutor-prompt p{margin:0;color:#4b4236;font-family:var(--serif);line-height:1.55}.lesson-focus strong{color:var(--accent)}.prompt-list{display:grid;gap:8px}.prompt-list button{padding:10px 12px;cursor:pointer;border:1px solid rgba(20,67,57,.12);border-radius:12px;background:#ffffff94;color:#213a34;text-align:left;line-height:1.35;transition:color .18s ease,background .18s ease,transform .18s ease}.prompt-list button:hover{transform:translateY(-1px);color:var(--lab-teal);background:#16a9931a}.bottom-grid{display:grid;grid-template-columns:1fr;gap:18px}.micro-card-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.micro-card{display:grid;grid-template-rows:116px auto;gap:10px;min-width:0;padding:8px;cursor:pointer;border:1px solid rgba(84,74,58,.12);border-radius:8px;background:#ffffff6b;text-align:left;transition:transform .18s ease,box-shadow .18s ease}.micro-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.micro-card span{display:block;min-height:116px;border-radius:8px;background:radial-gradient(circle at 20% 30%,var(--micro),transparent 18%),radial-gradient(circle at 72% 40%,color-mix(in srgb,var(--micro) 66%,#ffffff),transparent 20%),radial-gradient(circle at 50% 80%,color-mix(in srgb,var(--micro) 78%,#6a4e78),transparent 22%),repeating-linear-gradient(45deg,#ffffff3d 0 10px,#4d3a2a0d 10px 18px),color-mix(in srgb,var(--micro) 28%,#fff8ea)}.micro-card strong{overflow:hidden;color:#2f2922;font-size:.94rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.add-card{place-items:center;text-align:center;color:#40372ca3;border-style:dashed}.add-card svg{margin-top:36px;color:var(--accent)}.compare-row{display:grid;grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:14px}.compare-row>div{display:flex;align-items:center;min-width:0;gap:12px;padding:12px;border:1px solid rgba(84,74,58,.12);border-radius:8px;background:#ffffff57}.compare-row>div>span{display:grid;min-width:0;gap:4px}.compare-row>b{display:grid;place-items:center;width:58px;height:58px;color:#fff;border-radius:50%;background:#8260b7;box-shadow:0 12px 24px #5e448647}.comparison-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;gap:8px;cursor:pointer;border:1px solid rgba(84,74,58,.14);border-radius:8px;background:#ffffff6b;transition:color .18s ease,background .18s ease}.comparison-button:hover{color:var(--accent);background:#ffffffb8}.curriculum-gallery,.curriculum-library{scroll-margin-top:22px}.section-intro{margin:-4px 0 18px;color:#4b4236;font-family:var(--serif);font-size:1.04rem;line-height:1.6}.mindmap-grid,.library-grid{display:grid;gap:14px}.mindmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mindmap-card,.library-grid article{border:1px solid rgba(84,74,58,.12);border-radius:8px;background:#ffffff61}.mindmap-card{display:grid;gap:14px;padding:16px}.mindmap-card header span,.library-grid article>span{display:inline-flex;width:fit-content;padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:800}.mindmap-card h3,.library-grid h3{margin:10px 0 6px;font-family:var(--serif);font-size:1.28rem;line-height:1.1}.mindmap-card header p,.library-grid p{margin:0;color:#5b5144;line-height:1.55}.mindmap-card header em{display:block;margin-top:10px;padding:10px 12px;border-left:5px solid var(--accent);border-radius:8px;background:#fbf7eeb8;color:#443c31;font-style:normal;font-weight:700;line-height:1.45}.mindmap-body{display:grid;grid-template-columns:minmax(112px,.48fr) minmax(0,1fr);align-items:center;gap:14px}.mindmap-center{display:grid;place-items:center;min-height:116px;padding:14px;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.86),transparent 36%),var(--accent-soft);color:var(--accent);font-family:var(--serif);font-size:1.05rem;font-weight:700;text-align:center}.mindmap-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mindmap-branches div{padding:10px;border-left:5px solid var(--branch-color);border-radius:8px;background:#fbf7eeb8}.mindmap-branches strong{color:#342d24;font-size:.94rem}.mindmap-branches ul,.library-grid ul{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}.mindmap-branches li,.library-grid li{color:#5a5044;font-size:.9rem;line-height:1.35}.mindmap-branches li:before,.library-grid li:before{color:var(--accent);content:"• ";font-weight:900}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-grid article{padding:16px}.chapter-road{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:14px;border-top:1px dashed rgba(87,78,64,.22)}.chapter-card{position:relative;display:grid;min-width:0;gap:10px;padding:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--chapter-color) 24%,rgba(84,74,58,.12));border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--chapter-color) 11%,transparent),#ffffff57),#ffffff75}.chapter-card:before{position:absolute;inset:0 auto 0 0;width:6px;content:"";background:var(--chapter-color)}.chapter-card-head,.question-footer,.exam-summary,.question-tags,.connection-pills{display:flex;align-items:center;gap:8px}.chapter-card-head{justify-content:space-between}.chapter-card-head span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--chapter-color);color:#fff;font-family:var(--serif);font-weight:700}.chapter-card-head em,.question-tags span,.connection-pills span{padding:4px 8px;border-radius:999px;background:#ffffff9e;color:#4a4237;font-size:.78rem;font-style:normal;font-weight:800}.chapter-card h4{margin:0;color:#2f2922;font-family:var(--serif);font-size:1.14rem;line-height:1.12}.chapter-card p,.answer-panel p{margin:0;color:#50483d;line-height:1.55}.chapter-card ul,.library-detail-list ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.chapter-card li,.library-detail-list li{color:#5a5044;font-size:.9rem;line-height:1.35}.chapter-card li:before,.library-detail-list li:before{color:var(--chapter-color, var(--accent));content:"•";font-weight:900;margin-right:6px}.chapter-card>strong{padding:10px;border-radius:8px;background:color-mix(in srgb,var(--chapter-color) 12%,rgba(251,247,238,.8));color:#3b3329;font-size:.9rem;line-height:1.45}.connection-pills{flex-wrap:wrap}.library-detail-list{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed rgba(87,78,64,.22)}.library-detail-list section{display:grid;gap:8px;padding:10px;border-radius:8px;background:#fbf7ee94}.library-detail-list strong{color:#3f345f;font-family:var(--note);font-weight:900}.mock-exam{display:grid;gap:18px}.exam-summary{flex-wrap:wrap}.exam-summary>div{display:grid;min-width:min(100%,280px);flex:1;gap:6px;padding:14px;border:1px solid rgba(84,74,58,.12);border-radius:8px;background:linear-gradient(135deg,#ffffff94,#ffffff47),var(--accent-soft)}.exam-summary span{color:#645b4c;font-size:.86rem;font-weight:800}.exam-summary strong{color:#2f2922;font-family:var(--serif);font-size:1.16rem;line-height:1.2}.question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.exam-question{display:grid;gap:12px;padding:16px;border:1px solid rgba(84,74,58,.12);border-radius:8px;background:#ffffff6b}.exam-question header{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px}.exam-question header>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--serif);font-weight:700}.exam-question header div{display:grid;min-width:0;gap:3px}.exam-question header strong,.exam-question h3{overflow-wrap:anywhere}.exam-question header strong{color:#3f345f;font-size:.94rem}.exam-question header em{color:var(--muted);font-size:.82rem;font-style:normal}.exam-question h3{margin:0;color:#2f2922;font-family:var(--serif);font-size:1.16rem;line-height:1.25}.option-list{display:grid;gap:8px}.option-list button{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:8px 10px;cursor:pointer;border:1px solid rgba(84,74,58,.12);border-radius:8px;background:#fbf7eeb8;color:#342d24;text-align:left}.option-list button b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#544a3a1a;color:#554b3e}.option-list button:hover,.option-list button.is-selected{border-color:color-mix(in srgb,var(--accent) 42%,rgba(84,74,58,.12));background:var(--accent-soft)}.option-list button.is-correct{border-color:#3f9f72;background:#5fb4702e}.option-list button.is-wrong{border-color:#bd514d;background:#bd514d24}.question-footer{justify-content:space-between;flex-wrap:wrap}.question-footer>button{min-height:38px;padding:0 12px;cursor:pointer;border-radius:8px;background:var(--accent);color:#fff;font-weight:800}.question-tags{flex-wrap:wrap}.answer-panel{display:grid;gap:6px;padding:12px;border-radius:8px;background:#fbf7eeb8}.answer-panel.is-correct{border-left:5px solid #3f9f72}.answer-panel.is-wrong{border-left:5px solid #bd514d}.source-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:14px;border-top:1px dashed rgba(87,78,64,.22)}.source-strip strong{width:100%;color:#3f345f;font-family:var(--note);font-size:.95rem;text-transform:uppercase}.source-strip a{padding:6px 9px;border-radius:999px;background:#ffffff80;color:#4b4236;font-size:.84rem}.modal-layer{position:fixed;z-index:70;inset:0;display:grid;place-items:center;padding:24px;background:#30271c47;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.comparison-modal{position:relative;width:min(760px,100%);padding:28px;border:1px solid rgba(84,74,58,.18);border-radius:8px;background:var(--paper);box-shadow:var(--shadow);animation:scale-in .22s ease both}.modal-close{position:absolute;top:18px;right:18px;min-height:38px;padding:0 14px;cursor:pointer;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.comparison-modal-head h3{margin:0;font-family:var(--serif);font-size:2rem}.comparison-modal-head p{margin:6px 0 24px;color:var(--muted)}.comparison-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.comparison-columns section{padding:18px;border:1px solid rgba(84,74,58,.12);border-radius:8px;background:#fff6}.comparison-columns h4{margin:16px 0 4px;font-family:var(--serif);font-size:1.45rem}.comparison-columns p{margin:0 0 16px;color:var(--muted)}.comparison-columns dl{display:grid;gap:12px;margin:0}.comparison-columns dt{color:var(--muted);font-size:.86rem}.comparison-columns dd{margin:4px 0 0;font-family:var(--serif)}.floating-tutor{position:fixed;z-index:45;border:1px solid rgba(84,74,58,.16);border-radius:8px;background:#fbf7eef5;box-shadow:var(--shadow);color:#2f2922;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.floating-tutor.is-closed{display:inline-flex;align-items:center;justify-content:center;min-width:174px;min-height:58px;gap:9px;cursor:pointer;background:linear-gradient(135deg,var(--accent-soft),rgba(255,255,255,.74)),var(--paper);color:var(--accent);font-weight:800}.floating-tutor.is-open{display:grid;width:min(386px,calc(100vw - 24px));max-height:min(720px,calc(100vh - 24px));gap:14px;padding:14px;overflow:auto}.floating-tutor-head{display:grid;grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;gap:8px;padding-bottom:10px;cursor:grab;border-bottom:1px dashed rgba(87,78,64,.22);-webkit-user-select:none;user-select:none}.floating-tutor-head:active{cursor:grabbing}.floating-tutor-head span,.floating-tutor-head em{display:inline-flex;align-items:center;gap:8px}.floating-tutor-head span{color:#3f345f;font-family:var(--note);font-weight:900;text-transform:uppercase}.floating-tutor-head em{color:var(--muted);font-size:.78rem;font-style:normal}.floating-tutor-head button{display:grid;place-items:center;width:34px;height:34px;cursor:pointer;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.tutor-chat{display:grid;gap:10px}.tutor-chat>span{color:#3f345f;font-family:var(--note);font-weight:900;text-transform:uppercase}.tutor-messages{display:grid;max-height:220px;gap:8px;overflow-y:auto;padding:10px;border:1px solid rgba(84,74,58,.12);border-radius:8px;background:#ffffff61}.tutor-messages p{max-width:92%;margin:0;padding:9px 11px;border-radius:8px;color:#3f372d;line-height:1.45}.tutor-messages p.is-assistant{justify-self:start;background:#fbf7eedb}.tutor-messages p.is-user{justify-self:end;background:var(--accent-soft);color:var(--accent)}.tutor-chat-form{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.tutor-chat-form input{min-width:0;padding:0 12px;border:1px solid rgba(84,74,58,.14);border-radius:8px;background:#fbf7eecc;outline-color:var(--accent)}.tutor-chat-form button{display:grid;place-items:center;min-height:42px;cursor:pointer;border-radius:8px;background:var(--accent);color:#fff}.toast{position:fixed;z-index:40;right:24px;bottom:24px;max-width:360px;padding:14px 18px;border:1px solid rgba(84,74,58,.14);border-radius:8px;background:#fbf7eef0;box-shadow:var(--shadow);color:#2f2922;animation:rise-in .18s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@media(max-width:1500px){.export-toolbar{bottom:86px}}@media(max-width:1400px){.topbar{gap:18px}.brand-orb{width:64px;height:64px}.brand-block h1{font-size:3.45rem;white-space:nowrap}.brand-block p{font-size:1.05rem}.top-nav{gap:16px}.app-grid{grid-template-columns:260px minmax(0,1fr)}.stage-panel{min-height:700px}.stage-title h2{font-size:3.15rem}.canvas-wrap{inset:92px 18px 196px}.right-rail{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.details-panel,.notes-panel{min-height:100%}}@media(max-width:1080px){.app-shell{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.top-nav{width:100%;justify-content:space-between;gap:10px;overflow-x:auto;padding-bottom:4px}.brand-block h1{font-size:3.35rem;white-space:normal}.app-grid,.left-rail{grid-template-columns:1fr}.cell-list{grid-template-columns:repeat(2,minmax(0,1fr))}.right-rail,.bottom-grid,.mindmap-grid,.library-grid,.chapter-road,.question-grid{grid-template-columns:1fr}.stage-panel{min-height:780px}.stage-title{flex-direction:column}.stage-title h2{font-size:3.65rem}.stage-title p{font-size:1.25rem}.view-card{width:100%}.tip-note{top:262px;left:28px}.canvas-wrap{inset:326px 12px 156px}.export-toolbar{bottom:20px}}@media(max-width:720px){.brand-orb{width:56px;height:56px}.brand-block{align-items:flex-start}.brand-block h1{font-size:2.35rem}.brand-block p{font-size:.98rem}.top-nav a span,.top-nav button span,.language-select>span{display:none}.top-nav a,.top-nav button{min-width:44px}.language-select{min-width:112px;padding:0 8px}.avatar-core{width:48px;height:48px}.cell-list,.micro-card-row,.comparison-columns,.mindmap-body,.mindmap-branches,.chapter-road,.question-grid{grid-template-columns:1fr}.mindmap-center{min-height:96px;border-radius:8px}.floating-tutor.is-open{width:calc(100vw - 24px)}.floating-tutor-head{grid-template-columns:minmax(0,1fr) 34px}.floating-tutor-head em{display:none}.center-stack{order:1}.left-rail{order:2}.right-rail{order:3}.cell-row{grid-template-columns:54px minmax(0,1fr) 28px}.stage-panel{min-height:800px;padding:20px}.stage-title h2{font-size:3rem}.tip-note{position:relative;top:auto;left:auto;z-index:6;width:100%;margin:16px 0 0;transform:none}.canvas-wrap{inset:326px 10px 170px}.stage-toolbar,.export-toolbar{left:20px;right:20px;justify-content:stretch}.stage-toolbar{bottom:78px;overflow-x:auto}.export-toolbar{bottom:20px}.stage-toolbar button,.export-toolbar button{flex:1 0 auto;padding:0 10px}.compare-row{grid-template-columns:1fr}.compare-row>b{justify-self:center}}
