:root{--bg:#000;--panel:#1c1c2085;--panel-strong:#23232aad;--panel-elevated:#2d2d34b8;--glass:#ffffff0f;--glass-strong:#ffffff1a;--text:#ffffffd9;--text-strong:#fff;--text-muted:#ffffff80;--text-faint:#ffffff52;--primary:#61f5df;--primary-strong:#8afff0;--primary-soft:#61f5df24;--violet:#b8a8ff;--coral:#ff9e88;--amber:#f5d07a;--blue:#7ec4ff;--line:#ffffff14;--line-strong:#ffffff29;--shadow-soft:0 12px 40px #00000073;--shadow-glow:0 0 24px #61f5df1f;--shadow-elevated:0 24px 80px #0000008c;--radius-xs:12px;--radius-sm:16px;--radius-md:24px;--radius-lg:32px;--radius-xl:40px;--radius-full:999px;--font-sans:Inter, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-display:"Smiley Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-tech:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}@font-face{font-family:Smiley Sans;src:url(./SmileySans-Oblique.ttf-K8hpreXB.woff2)format("woff2");font-style:oblique;font-weight:400 900;font-display:swap}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{color:var(--text);background:#000;overflow:hidden}#root{flex-direction:column;display:flex}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--text-strong);font-family:var(--font-display);letter-spacing:0;font-weight:760}button{color:inherit;cursor:pointer;font:inherit}button:focus-visible{outline-offset:3px;outline:2px solid #61f5df66}::selection{background:#61f5df47}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}::-webkit-scrollbar-track{background:0 0}::view-transition-old(root){animation-duration:.56s;animation-timing-function:cubic-bezier(.18,.92,.22,1)}::view-transition-new(root){animation-duration:.56s;animation-timing-function:cubic-bezier(.18,.92,.22,1)}.spatial-shell{background:#000;width:100%;height:100vh;animation:.6s cubic-bezier(.16,1,.3,1) both shell-enter;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}@supports (height:100dvh){.spatial-shell{height:100dvh}}.is-focus-mode .spatial-top-bar,.is-focus-mode .spatial-dock,.is-focus-mode .spatial-inspector,.is-focus-mode .stage-title,.is-focus-mode .stage-status{opacity:0;pointer-events:none;transition:opacity .4s}.spatial-shell.has-panel-open .stage-title,.spatial-shell.has-panel-open .stage-status{opacity:.72}.spatial-stage{z-index:0;background:#000;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.viewer{width:100%;height:100%;animation:.54s cubic-bezier(.18,.92,.22,1) both viewer-enter;position:relative}.viewer canvas{filter:saturate(1.14)contrast(1.06);display:block;width:100%!important;height:100%!important}.stage-title{z-index:4;pointer-events:none;max-width:min(480px,62%);animation:.6s cubic-bezier(.16,1,.3,1) .12s both float-in;position:absolute;top:92px;left:28px}.stage-title span{color:var(--primary);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);font-family:var(--font-tech);letter-spacing:.1em;text-transform:uppercase;background:#14141999;align-items:center;gap:8px;margin-bottom:10px;padding:5px 12px;font-size:11px;font-weight:900;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff14,0 4px 16px #0000004d}.stage-title h2{color:var(--text-strong);font-family:var(--font-display);text-shadow:0 0 40px #0009,0 8px 32px #0006;font-size:clamp(42px,5.6vw,84px);line-height:.96}.stage-title p{color:var(--text-muted);text-shadow:0 2px 12px #00000080;margin-top:10px;font-size:15px;font-weight:600}.stage-status{z-index:4;color:var(--primary-strong);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);font-family:var(--font-tech);pointer-events:none;background:#1414198c;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:900;animation:.6s cubic-bezier(.16,1,.3,1) .2s both float-in;display:inline-flex;position:absolute;top:92px;right:28px;box-shadow:inset 0 0 0 1px #ffffff14,0 4px 16px #00000040}.signal-dot{background:var(--primary);border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite dot-pulse;box-shadow:0 0 0 3px #61f5df26,0 0 14px #61f5df73}.spatial-top-bar{z-index:10;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(40px)saturate(1.6);backdrop-filter:blur(40px)saturate(1.6);background:#1c1c208c;align-items:center;gap:6px;min-height:52px;padding:6px 8px;animation:.6s cubic-bezier(.16,1,.3,1) 80ms both top-bar-enter;display:inline-flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #ffffff14,0 12px 40px #00000073}.top-bar-brand{align-items:center;gap:10px;padding:4px 12px 4px 4px;display:flex}.brand-symbol{color:#031210;background:linear-gradient(145deg, var(--primary), #b2fff4);border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 0 20px #61f5df40}.brand-text{min-width:0}.brand-text h1{color:var(--text-strong);letter-spacing:.02em;font-size:16px;line-height:1.1}.product-kicker{color:var(--text-faint);font-family:var(--font-tech);letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:800;line-height:1.1}.top-bar-domain{min-height:38px;color:var(--text);border-radius:var(--radius-full);background:#ffffff0f;align-items:center;gap:7px;padding:0 32px 0 13px;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff12}.top-bar-domain span{color:var(--text-faint);font-family:var(--font-tech);font-size:10px;font-weight:900}.top-bar-domain-trigger{min-width:92px;max-width:150px;color:var(--text-strong);font-family:var(--font-display);text-align:left;cursor:pointer;background:0 0;border:0;outline:0;font-size:13px;font-weight:850;line-height:1}.top-bar-domain-menu{z-index:20;-webkit-backdrop-filter:blur(30px)saturate(1.35);backdrop-filter:blur(30px)saturate(1.35);background:#16171beb;border:1px solid #ffffff1a;border-radius:18px;width:min(330px,100vw - 32px);max-height:min(430px,100dvh - 92px);padding:8px;position:absolute;top:calc(100% + 10px);left:0;overflow-y:auto;box-shadow:0 24px 60px #0000006b}.top-bar-domain-option{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;gap:3px;padding:10px 12px;display:grid}.top-bar-domain-option strong{color:var(--text-strong);font-size:13px;line-height:1.2}.top-bar-domain-option small{color:var(--text-muted);font-size:11px;line-height:1.35}.top-bar-domain-option.active,.top-bar-domain-option.focused,.top-bar-domain-option:hover{background:color-mix(in srgb, var(--accent) 18%, #ffffff14)}.top-bar-domain svg{color:var(--text-muted);pointer-events:none;position:absolute;right:12px}.top-bar-center{border-left:1px solid #ffffff14;border-right:1px solid #ffffff14;align-items:center;padding:0 14px;display:flex}.center-model{color:var(--primary-strong);font-family:var(--font-display);white-space:nowrap;align-items:center;gap:7px;font-size:13px;font-weight:800;display:inline-flex}.top-bar-action{color:#031210;background:linear-gradient(135deg, var(--primary), #b2fff4);border-radius:var(--radius-full);min-height:38px;font-family:var(--font-display);border:0;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:900;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 0 20px #61f5df26}.top-bar-action:hover{transform:translateY(-1px);box-shadow:0 0 30px #61f5df40}.spatial-toolbar{z-index:5;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(40px)saturate(1.6);backdrop-filter:blur(40px)saturate(1.6);background:#1c1c208c;gap:6px;padding:6px;animation:.6s cubic-bezier(.16,1,.3,1) .24s both toolbar-enter;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #ffffff14,0 12px 40px #00000073}.spatial-tool{width:44px;height:44px;color:var(--text-muted);background:#ffffff0d;border:0;border-radius:50%;place-items:center;transition:background .2s,color .2s,transform .2s,box-shadow .2s;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff0f}.spatial-tool:hover,.spatial-tool.active{color:var(--primary-strong);background:#61f5df24;transform:translateY(-2px);box-shadow:0 0 20px #61f5df26,inset 0 0 0 1px #61f5df33}.spatial-tool-tip{width:max-content;max-width:160px;color:var(--text-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;pointer-events:none;background:#23232ad9;border-radius:12px;padding:6px 10px;font-size:12px;line-height:1.3;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:inset 0 0 0 1px #ffffff1a,0 8px 24px #0006}.spatial-tool:hover .spatial-tool-tip{opacity:1;transform:translate(-50%)translateY(0)}.spatial-tool:focus-visible .spatial-tool-tip{opacity:1;transform:translate(-50%)translateY(0)}.spatial-dock{z-index:20;flex-direction:column-reverse;align-items:flex-start;gap:14px;animation:.6s cubic-bezier(.16,1,.3,1) .16s both dock-enter;display:flex;position:fixed;bottom:22px;left:22px}.dock-trigger{width:52px;height:52px;color:var(--text);-webkit-backdrop-filter:blur(30px)saturate(1.5);backdrop-filter:blur(30px)saturate(1.5);background:#1c1c2099;border:0;border-radius:50%;place-items:center;transition:background .2s,color .2s,transform .2s,box-shadow .2s;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff1a,0 8px 28px #0006}.dock-trigger:hover{color:var(--primary-strong);background:#2d2d34bf;transform:scale(1.06);box-shadow:inset 0 0 0 1px #61f5df33,0 8px 28px #00000073}.dock-badge{color:#031210;background:var(--primary);min-width:20px;height:20px;font-family:var(--font-tech);border-radius:50%;place-items:center;padding:0 5px;font-size:10px;font-weight:900;display:grid;position:absolute;top:-2px;right:-2px;box-shadow:0 0 10px #61f5df4d}.dock-panel{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(40px)saturate(1.6);backdrop-filter:blur(40px)saturate(1.6);background:#1c1c2099;flex-direction:column;width:280px;max-height:calc(100dvh - 120px);animation:.4s cubic-bezier(.16,1,.3,1) both panel-rise;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1a,0 24px 80px #0000008c}.dock-panel .model-library{min-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.dock-panel .panel-heading{flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 10px;display:flex}.dock-panel .panel-heading h2{margin-top:4px;font-size:18px;line-height:1.2}.library-domain{color:var(--primary-strong);margin-top:7px;font-size:12px;font-weight:850;display:inline-flex}.library-domain-copy{color:var(--text-muted);flex:none;margin:-2px 18px 12px;font-size:11.5px;line-height:1.45}.dock-panel .forge-entry{color:#031210;border-radius:var(--radius-sm);width:calc(100% - 24px);min-height:44px;font-family:var(--font-display);background:linear-gradient(135deg,#61f5dff2,#b2fff4d9);border:0;flex:none;justify-content:center;align-items:center;gap:8px;margin:0 12px 8px;font-size:14px;font-weight:900;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 0 24px #61f5df26,inset 0 0 0 1px #fff3}.dock-panel .forge-entry:hover{transform:translateY(-2px);box-shadow:0 0 36px #61f5df38,inset 0 0 0 1px #ffffff47}.generated-models-notice{width:calc(100% - 24px);min-height:34px;color:var(--text-muted);border-radius:var(--radius-sm);background:#ffffff0b;flex:none;align-items:center;gap:7px;margin:0 12px 8px;padding:7px 10px;font-size:11.5px;line-height:1.35;display:flex;box-shadow:inset 0 0 0 1px #ffffff0f}.generated-models-notice.loading svg{color:var(--primary-strong);animation:1s linear infinite spin}.generated-models-notice.error{color:#ffc6baf0;background:#ff8f7517;box-shadow:inset 0 0 0 1px #ff8f7524}.dock-panel .model-list{scrollbar-gutter:stable;flex-direction:column;gap:6px;margin:0;padding:6px 10px 12px;list-style:none;display:flex;overflow:hidden auto}.model-list-item{flex:none;width:100%;min-width:0;position:relative}.model-card{text-align:left;border-radius:var(--radius-sm);background:0 0;border:0;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:8px;transition:background .22s,box-shadow .22s,transform .22s;display:grid;position:relative;transform:translateZ(0)}.model-card:before{content:"";border-radius:inherit;opacity:0;background:linear-gradient(90deg,#61f5df0f,#9d8cff0a);transition:opacity .22s;position:absolute;top:0;bottom:0;left:0;right:0}.model-card:hover{transform:translate(2px)}.model-card.missing{cursor:not-allowed;opacity:.65}.model-card.missing:hover{transform:none}.model-card.missing .model-thumb img{filter:grayscale(.4)saturate(.55)}.model-card:hover:before,.model-card.active:before{opacity:1}.model-card.active{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--accent,var(--primary)) 45%, transparent), 0 0 24px color-mix(in srgb, var(--accent,var(--primary)) 12%, transparent)}.model-card>*{z-index:1;position:relative}.model-thumb{background:#ffffff0a;border-radius:14px;place-items:center;width:56px;height:56px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f,0 0 16px #ffffff08}.model-thumb.missing{color:#ffffff4d;background:linear-gradient(135deg,#ffffff08,#ffffff0d),#141419b3}.model-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .52s cubic-bezier(.18,.92,.22,1),filter .52s;display:block;transform:scale(1.02)}.model-card:hover .model-thumb img,.model-card.active .model-thumb img{filter:saturate(1.15)contrast(1.05);transform:scale(1.1)}.model-card-body,.model-card-topline,.model-card-foot{min-width:0;display:flex}.model-card-body{flex-direction:column;gap:3px}.model-card-topline,.model-card-foot{justify-content:space-between;align-items:center;gap:8px}.model-name{min-width:0;color:var(--text-strong);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:850;overflow:hidden}.model-subtitle{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.model-card-foot{color:var(--text-faint);font-family:var(--font-tech);font-size:10.5px}.model-list-item:has(.model-delete) .model-card{padding-right:38px}.model-delete{z-index:3;width:30px;height:30px;color:var(--text-faint);opacity:0;background:#ff8f7514;border:0;border-radius:50%;place-items:center;transition:opacity .18s,transform .18s,color .18s,background .18s;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)scale(.92);box-shadow:inset 0 0 0 1px #ff8f7514}.model-list-item:hover .model-delete{opacity:1;transform:translateY(-50%)scale(1)}.model-delete:focus-visible{opacity:1;transform:translateY(-50%)scale(1)}.model-delete:hover{color:var(--coral);background:#ff8f7529}.load-badge{color:var(--text-muted);align-items:center;gap:4px;font-weight:850;display:inline-flex}.load-badge.ready{color:var(--primary-strong)}.load-badge.loading svg{animation:1s linear infinite spin}.load-badge.error{color:var(--coral)}.library-count,.category-chip,.difficulty-pill{min-height:22px;color:var(--primary-strong);border-radius:var(--radius-full);font-family:var(--font-display);white-space:nowrap;background:#61f5df1a;justify-content:center;align-items:center;padding:2px 8px;font-size:10.5px;font-weight:850;display:inline-flex;box-shadow:inset 0 0 0 1px #61f5df24}.section-kicker{color:var(--text-faint);font-family:var(--font-tech);letter-spacing:.18em;text-transform:uppercase;font-size:9.5px;font-weight:800;line-height:1.1}.spatial-inspector{z-index:20;flex-direction:column-reverse;align-items:flex-end;gap:14px;animation:.6s cubic-bezier(.16,1,.3,1) .18s both inspector-enter;display:flex;position:fixed;bottom:22px;right:22px}.inspector-trigger{width:52px;height:52px;color:var(--text);-webkit-backdrop-filter:blur(30px)saturate(1.5);backdrop-filter:blur(30px)saturate(1.5);background:#1c1c2099;border:0;border-radius:50%;place-items:center;transition:background .2s,color .2s,transform .2s,box-shadow .2s;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff1a,0 8px 28px #0006}.inspector-trigger:hover{color:var(--primary-strong);background:#2d2d34bf;transform:scale(1.06);box-shadow:inset 0 0 0 1px #61f5df33,0 8px 28px #00000073}.inspector-panel{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(40px)saturate(1.6);backdrop-filter:blur(40px)saturate(1.6);background:#1c1c2099;flex-direction:column;width:400px;max-height:calc(100dvh - 120px);animation:.4s cubic-bezier(.16,1,.3,1) both panel-slide;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1a,0 24px 80px #0000008c}.inspector-panel .study-panel{min-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.inspector-panel .panel-heading{flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 10px;display:flex}.inspector-panel .panel-heading h2{margin-top:4px;font-size:18px;line-height:1.2}.study-tabs{border-radius:var(--radius-full);background:#ffffff0a;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0 14px 10px;padding:4px;display:grid;position:relative}.study-tabs:before{content:"";border-radius:var(--radius-full);width:calc(33.3333% - 2.66667px);transform:translateX(calc(var(--tab-index,0) * 100%));background:linear-gradient(90deg,#61f5df2e,#9d8cff1f);transition:transform .28s cubic-bezier(.18,.92,.22,1);position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 0 16px #61f5df14}.study-tabs button{z-index:1;min-width:0;min-height:32px;color:var(--text-muted);border-radius:var(--radius-full);background:0 0;border:0;font-size:13px;font-weight:850;transition:color .18s;position:relative}.study-tabs button:hover,.study-tabs button.active{color:var(--primary-strong)}.study-content{min-height:0;padding:0 14px 14px;overflow-y:auto}.study-section{gap:12px;animation:.32s cubic-bezier(.18,.92,.22,1) both content-in;display:grid}.lesson-goal,.reading-card,.guide-card,.stats-grid div,.data-strip>div,.structure-list li{background:#ffffff0a;border-radius:18px;box-shadow:inset 0 0 0 1px #ffffff0f}.lesson-goal,.reading-card{grid-template-columns:26px minmax(0,1fr);gap:10px;padding:12px;display:grid}.guide-card{gap:10px;padding:12px;display:grid}.lesson-goal svg,.reading-card svg{color:var(--primary);filter:drop-shadow(0 0 10px #61f5df2e);margin-top:2px}.lesson-goal span{color:var(--text-muted);font-family:var(--font-tech);font-size:10.5px;font-weight:850;display:block}.lesson-goal p,.reading-card p{color:var(--text);margin-top:3px;font-size:13px;line-height:1.65}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.stats-grid div,.data-strip>div{min-width:0;padding:10px}.stats-grid dt,.data-strip span{color:var(--text-faint);font-family:var(--font-tech);font-size:10px;font-weight:850;display:block}.stats-grid dd{overflow-wrap:anywhere;color:var(--text-strong);margin:3px 0 0;font-size:13.5px;font-weight:850}.data-strip{gap:8px;display:grid}.data-strip strong{color:var(--text-strong);margin-top:4px;font-size:13px;line-height:1.45;display:block}.reading-card h3,.section-title-row h3{font-size:14.5px;line-height:1.3}.accent-card{background:#9d8cff0f}.accent-card svg{color:var(--violet)}.principle-card{background:#68b8ff0d}.principle-card svg{color:var(--blue)}.mechanism-card{background:#f4c7660d}.mechanism-card svg{color:var(--amber)}.section-title-row{align-items:center;gap:8px;display:flex}.section-title-row svg{color:var(--primary)}.structure-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.structure-list li{grid-template-columns:32px minmax(0,1fr);gap:10px;padding:10px;transition:transform .18s,background .18s,box-shadow .18s;display:grid}.structure-list li:hover{background:#fff1;transform:translate(3px);box-shadow:inset 0 0 0 1px #ffffff17,0 0 20px #ffffff08}.structure-index{width:26px;height:26px;color:var(--primary-strong);font-family:var(--font-tech);background:#61f5df1a;border-radius:8px;place-items:center;font-size:10.5px;font-weight:950;display:grid}.structure-list strong{color:var(--text-strong);font-size:13.5px;display:block}.structure-list p{color:var(--text-muted);margin-top:3px;font-size:12px;line-height:1.55}.guide-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.guide-list li{color:var(--text);padding-left:18px;font-size:12.5px;line-height:1.58;position:relative}.guide-list li:before{content:"";background:var(--primary);border-radius:50%;width:7px;height:7px;position:absolute;top:.68em;left:2px;box-shadow:0 0 10px #61f5df59}.context-stack{align-content:start}.habitat-chip{color:var(--amber);border-radius:var(--radius-full);background:#f4c7661a;margin-top:10px;padding:5px 10px;font-size:12px;font-weight:850;display:inline-flex}.model-quick-view{border-radius:var(--radius-md);background:linear-gradient(135deg,#61f5df14,#9d8cff0d);grid-template-columns:56px minmax(0,1fr);gap:14px;padding:14px;transition:transform .2s,box-shadow .2s;display:grid;box-shadow:inset 0 0 0 1px #61f5df1f}.model-quick-view:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #61f5df2e,0 8px 24px #0003}.mqv-visual{background:#ffffff0f;border-radius:16px;place-items:center;width:56px;height:56px;display:grid;box-shadow:inset 0 0 0 1px #ffffff14}.mqv-icon{color:var(--primary-strong);font-family:var(--font-display);font-size:22px;font-weight:900}.mqv-body{gap:3px;min-width:0;display:grid}.mqv-body strong{color:var(--text-strong);font-family:var(--font-display);font-size:16px;font-weight:850}.mqv-body>span{color:var(--text-muted);font-size:12px}.mqv-tags{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.mqv-domain,.mqv-difficulty,.mqv-category{border-radius:var(--radius-full);min-height:20px;font-family:var(--font-tech);align-items:center;padding:2px 8px;font-size:10px;font-weight:900;display:inline-flex}.mqv-domain{color:var(--primary-strong);background:#61f5df1f;box-shadow:inset 0 0 0 1px #61f5df2e}.mqv-difficulty{color:var(--amber);background:#f4c7661f;box-shadow:inset 0 0 0 1px #f4c7662e}.mqv-category{color:var(--violet);background:#9d8cff1f;box-shadow:inset 0 0 0 1px #9d8cff2e}.tag-cloud{background:#ffffff09;border-radius:18px;gap:10px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0d}.tag-cloud-list{flex-wrap:wrap;gap:6px;display:flex}.tag-pill{border-radius:var(--radius-full);white-space:nowrap;align-items:center;min-height:26px;padding:3px 10px;font-size:11.5px;font-weight:850;transition:transform .15s;display:inline-flex}.tag-pill:hover{transform:translateY(-1px)scale(1.03)}.timeline{background:#ffffff09;border-radius:18px;gap:10px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0d}.timeline-track{flex-wrap:wrap;gap:8px 20px;display:flex}.timeline-step{align-items:center;gap:8px;display:inline-flex;position:relative}.timeline-dot{width:24px;height:24px;color:var(--text-strong);background:linear-gradient(135deg, var(--primary), var(--blue));font-family:var(--font-tech);border-radius:50%;flex:none;place-items:center;font-size:10.5px;font-weight:950;display:grid}.timeline-label{color:var(--text);font-size:12.5px;font-weight:600;line-height:1.45}.timeline-line{display:none}.structure-hierarchy{background:#68b8ff0a;border-radius:18px;gap:10px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #68b8ff14}.hierarchy-tree{padding-left:6px}.hierarchy-root{color:var(--text-strong);align-items:center;gap:10px;font-size:13.5px;font-weight:850;display:flex}.hierarchy-children{gap:6px;margin-top:6px;padding-left:20px;display:grid;position:relative}.hierarchy-child{color:var(--text-muted);align-items:center;gap:10px;min-height:28px;font-size:12.5px;font-weight:600;display:flex;position:relative}.hierarchy-dot{background:var(--primary);border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 10px #61f5df40}.hierarchy-dot-sm{background:var(--blue);border-radius:50%;flex:none;width:7px;height:7px}.hierarchy-line-v{background:#ffffff1a;width:1.5px;position:absolute;top:-6px;bottom:50%;left:3px}.expandable-guide .expandable-list{gap:6px;display:grid}.expandable-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:#ffffff08;border:0;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:10px 12px;font-size:12.5px;font-weight:600;line-height:1.5;transition:background .18s,box-shadow .18s;display:grid;box-shadow:inset 0 0 0 1px #ffffff0d}.expandable-item:hover{background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff14}.expandable-item.is-open{background:#9d8cff0f;box-shadow:inset 0 0 0 1px #9d8cff1f}.expandable-q{min-width:0}.expandable-chevron{color:var(--text-muted);flex:none;margin-top:1px}.expandable-hint{color:var(--text-muted);border-top:1px solid #ffffff0f;grid-column:1/-1;margin-top:4px;padding-top:8px;font-size:12px;line-height:1.55}.quote-card{background:#ffffff09;border-radius:18px;grid-template-columns:3px minmax(0,1fr);gap:12px;padding:14px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d}.quote-accent{background:linear-gradient(180deg, var(--primary), var(--blue));border-radius:2px}.quote-body{gap:6px;display:grid}.quote-body p{color:var(--text);font-size:13.5px;font-style:italic;line-height:1.65}.warning-card{background:#f4c7660a;box-shadow:inset 0 0 0 1px #f4c7661a}.warning-card .section-title-row svg{color:var(--amber)}.warning-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.warning-list li{color:var(--text-muted);padding-left:18px;font-size:12.5px;line-height:1.55;position:relative}.warning-list li:before{content:"";background:var(--amber);border-radius:50%;width:7px;height:7px;position:absolute;top:.55em;left:2px;box-shadow:0 0 8px #f4c76659}.lesson-goal,.reading-card,.guide-card,.quote-card,.structure-list li,.tag-cloud,.timeline,.structure-hierarchy{transition:transform .2s,box-shadow .2s,background .2s}.lesson-goal:hover,.reading-card:hover,.guide-card:hover,.quote-card:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #ffffff17,0 6px 20px #00000026}.study-section>.lesson-goal{border-left:2px solid var(--primary)}.study-section>.reading-card.principle-card{border-left:2px solid var(--blue)}.study-section>.reading-card.mechanism-card{border-left:2px solid var(--amber)}.study-section>.reading-card.accent-card{border-left:2px solid var(--violet)}.study-section>.guide-card{border-left:2px solid #ffffff14}.study-section>.guide-card.warning-card{border-left:2px solid var(--amber)}.progress-overlay{z-index:8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0000008c;place-items:center;padding:18px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.progress-panel{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(24px)saturate(1.5);backdrop-filter:blur(24px)saturate(1.5);background:#1c1c20b8;gap:14px;width:min(380px,92%);padding:22px;display:grid;box-shadow:inset 0 0 0 1px #ffffff1a,0 24px 72px #00000073}.progress-icon{width:46px;height:46px;color:var(--primary);background:#61f5df1a;border-radius:16px;place-items:center;display:grid;box-shadow:0 0 20px #61f5df1f}.progress-icon svg{animation:1.1s linear infinite spin}.progress-icon.error{color:var(--coral);background:#ff8f751a}.progress-icon.error svg{animation:none}.progress-copy{gap:2px;display:grid}.progress-copy span{color:var(--text-muted);font-family:var(--font-tech);font-size:12px;font-weight:850}.progress-copy strong{color:var(--text-strong);font-size:20px}.progress-track{border-radius:var(--radius-full);background:#ffffff0f;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--primary), var(--blue), var(--violet));border-radius:var(--radius-full);height:100%;transition:width .18s}.progress-meta{color:var(--text-muted);font-family:var(--font-tech);justify-content:space-between;gap:12px;font-size:12px;font-weight:850;display:flex}.progress-error{gap:12px;display:grid}.progress-error p{color:var(--text-muted);font-size:13px;line-height:1.6}.retry-button{color:#031210;background:var(--primary);border-radius:var(--radius-full);border:0;align-items:center;gap:7px;width:-moz-fit-content;width:fit-content;padding:8px 14px;font-size:13px;font-weight:900;display:inline-flex}.generator-layer{z-index:50;-webkit-backdrop-filter:blur(24px)saturate(1.2);backdrop-filter:blur(24px)saturate(1.2);background:#000000a6;place-items:center;padding:18px;animation:.22s both content-in;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.generator-shell{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(40px)saturate(1.5);backdrop-filter:blur(40px)saturate(1.5);background:#16161ab8;grid-template-rows:auto auto auto 1fr auto;width:min(680px,100%);height:min(780px,100dvh - 40px);display:grid;position:relative;overflow:hidden;box-shadow:0 36px 120px #0009,inset 0 0 0 1px #ffffff1a}.generator-aurora{filter:blur(24px);pointer-events:none;background:linear-gradient(95deg,#0000,#61f5df1a,#9d8cff14,#0000);height:44%;animation:8s ease-in-out infinite stage-sheen;position:absolute;top:-30%;bottom:auto;left:-20%;right:-20%;transform:translate(-35%)}.generator-header{z-index:1;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 12px;display:flex;position:relative}.generator-header h2{margin-top:5px;font-size:26px;line-height:1.05}.icon-close{width:40px;height:40px;color:var(--text-muted);background:#ffffff0d;border:0;border-radius:50%;place-items:center;transition:color .18s,background .18s;display:grid;box-shadow:inset 0 0 0 1px #ffffff14}.icon-close:hover{color:var(--primary-strong);background:#ffffff1a}.generator-auth-frame{z-index:1;place-items:center;padding:24px;display:grid;position:relative;overflow-y:auto}.generator-auth-card{text-align:center;place-items:center;gap:16px;width:100%;max-width:360px;padding:32px 24px;display:grid}.generator-auth-icon{width:56px;height:56px;color:var(--primary);background:#61f5df1a;border-radius:50%;place-items:center;display:grid;box-shadow:0 0 24px #61f5df1f}.generator-auth-title{color:var(--text-strong);font-family:var(--font-display);margin:0 0 4px;font-size:16px;font-weight:850}.generator-auth-desc{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.generator-auth-input{width:100%;min-height:44px;color:var(--text-strong);border-radius:var(--radius-md);font:inherit;background:#00000059;border:0;outline:0;padding:0 14px;font-size:14px;box-shadow:inset 0 0 0 1px #ffffff1a}.generator-auth-input:focus{box-shadow:0 0 24px #61f5df1a,inset 0 0 0 1px #61f5df4d}.generator-tabs{z-index:1;border-bottom:1px solid #ffffff0f;gap:4px;padding:0 18px;display:flex;position:relative}.generator-tabs button{min-height:40px;color:var(--text-muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:900;transition:color .18s,background .18s;display:inline-flex;position:relative}.generator-tabs button:hover:not(:disabled){color:var(--text-strong);background:#ffffff08}.generator-tabs button.active{color:var(--primary-strong);background:#61f5df0f}.generator-tabs button.active:after{content:"";background:var(--primary);border-radius:var(--radius-full);height:2px;position:absolute;bottom:0;left:20%;right:20%}.generator-tabs button:disabled{color:var(--text-faint);cursor:not-allowed;opacity:.5}.generator-content{z-index:1;overscroll-behavior:contain;min-height:0;padding:14px 18px;position:relative;overflow-y:auto}.generator-notice{z-index:2;margin-bottom:10px;position:sticky;top:0}.generator-empty{text-align:center;color:var(--text-muted);place-items:center;gap:10px;padding:48px 24px;display:grid}.generator-empty svg{color:var(--text-faint)}.generator-empty p{color:var(--text-strong);font-family:var(--font-display);margin:0;font-size:16px;font-weight:850}.generator-empty span{font-size:13px;line-height:1.5}.gen-card{border-radius:var(--radius-md);background:#ffffff09;align-content:start;gap:14px;padding:16px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0f}.gen-section-title{color:var(--primary);font-family:var(--font-tech);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:900;display:flex}.stepper{justify-content:center;align-items:center;gap:6px;padding:10px 18px 6px;display:flex}.stepper-step{align-items:center;gap:6px;display:flex;position:relative}.stepper-step:not(:last-child):after{content:"";background:#ffffff1a;width:28px;height:1px}.stepper-step.active .stepper-label,.stepper-step.done .stepper-label{color:var(--primary)}.stepper-dot{width:24px;height:24px;color:var(--text-faint);place-items:center;transition:color .2s;display:grid}.stepper-step.active .stepper-dot{color:var(--primary);animation:2s ease-in-out infinite dot-pulse}.stepper-step.done .stepper-dot{color:var(--primary)}.stepper-label{color:var(--text-faint);font-size:11px;font-weight:850;transition:color .2s}.generator-input,.generator-status{align-content:start;gap:14px;min-width:0;min-height:0;display:grid}.mode-switch{border-radius:var(--radius-full);background:#00000059;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;display:grid}.mode-switch button,.domain-grid button{color:var(--text-muted);background:0 0;border:0;transition:color .18s,background .18s,transform .18s,box-shadow .18s}.mode-switch button{border-radius:var(--radius-full);justify-content:center;align-items:center;gap:7px;min-height:38px;font-size:13px;font-weight:900;display:inline-flex}.mode-switch button.active,.mode-switch button:hover{color:var(--primary-strong);background:#61f5df1f;box-shadow:0 0 20px #61f5df1a}.field-block{gap:8px;display:grid}.field-block span,.field-label{color:var(--text-muted);font-family:var(--font-tech);font-size:11px;font-weight:900}.field-block textarea{resize:vertical;min-height:100px;color:var(--text-strong);border-radius:var(--radius-md);font:inherit;background:#00000059;border:0;outline:0;padding:13px;line-height:1.65;box-shadow:inset 0 0 0 1px #ffffff1a}.field-block textarea:focus{box-shadow:0 0 24px #61f5df1a,inset 0 0 0 1px #61f5df4d}.upload-zone{text-align:center;border-radius:var(--radius-md);cursor:pointer;background:linear-gradient(135deg,#61f5df0f,#9d8cff0f),#00000047;place-items:center;gap:5px;min-height:96px;padding:14px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1a}.upload-stack{gap:10px;display:grid}.upload-zone input{opacity:0;cursor:pointer;position:absolute;top:0;bottom:0;left:0;right:0}.upload-zone svg,.upload-zone strong,.upload-zone span{z-index:1;position:relative}.upload-zone svg{color:var(--primary)}.upload-zone strong{max-width:100%;color:var(--text-strong);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-weight:900;overflow:hidden}.upload-zone span{color:var(--text-muted);font-size:12px}.uploaded-preview{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.uploaded-thumb{aspect-ratio:1;background:#0000004d;border-radius:12px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14}.uploaded-thumb img{object-fit:cover;width:100%;height:100%}.uploaded-thumb select{color:var(--text-strong);background:#0009;border:0;border-radius:6px;outline:0;padding:3px 4px;font-size:10px;position:absolute;bottom:4px;left:4px;right:4px}.uploaded-remove{width:22px;height:22px;color:var(--text-strong);cursor:pointer;background:#ff8f75cc;border:0;border-radius:6px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.domain-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.domain-grid button{text-align:left;border-radius:var(--radius-sm);background:#00000047;align-content:center;gap:3px;min-height:66px;padding:10px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0f}.domain-grid button.active,.domain-grid button:hover{color:var(--primary-strong);background:#61f5df1a;box-shadow:0 0 18px #61f5df1a,inset 0 0 0 1px #61f5df2e}.domain-grid span{color:var(--text-strong);font-size:13px;font-weight:900}.domain-grid small{color:var(--text-faint);font-size:11px;line-height:1.35}.engine-panel{gap:10px;display:grid}.engine-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.engine-options button{text-align:left;border-radius:var(--radius-sm);min-height:54px;color:var(--text-muted);background:#00000047;border:0;align-content:center;gap:2px;padding:10px;transition:color .18s,background .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:inset 0 0 0 1px #ffffff0f}.engine-options button.active,.engine-options button:hover{color:var(--primary-strong);background:#61f5df1a;transform:translateY(-1px);box-shadow:0 0 18px #61f5df1a,inset 0 0 0 1px #61f5df2e}.engine-options strong{color:var(--text-strong);font-size:13px;font-weight:900}.engine-options small{color:var(--text-faint);font-size:11px;line-height:1.35}.primary-action{color:#031210;background:linear-gradient(135deg, var(--primary), #b2fff4);border-radius:var(--radius-md);min-height:46px;font-family:var(--font-display);border:0;justify-content:center;align-items:center;gap:8px;font-weight:950;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 0 28px #61f5df26}.primary-action:hover{transform:translateY(-1px);box-shadow:0 0 38px #61f5df38}.primary-action:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.48}.primary-action svg{animation:none}.primary-action.loading svg{animation:1s linear infinite spin}.status-header{align-items:center;gap:14px;display:flex}.status-header .status-orb{width:56px;height:56px;color:var(--primary);background:radial-gradient(circle,#61f5df24,#9d8cff0f);border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:0 0 24px #61f5df1f,inset 0 0 0 1px #ffffff14}.status-header .status-orb svg{filter:drop-shadow(0 0 10px #61f5df4d)}.status-header .status-copy{gap:3px;min-width:0;display:grid}.status-header .status-copy span{color:var(--primary);font-family:var(--font-tech);font-size:11px;font-weight:900}.status-header .status-copy strong{color:var(--text-strong);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.15;overflow:hidden}.status-header .status-copy p{color:var(--text-muted);font-size:12px}.progress-bar{align-items:center;gap:10px;display:flex}.progress-bar-track{border-radius:var(--radius-full);background:#ffffff0f;flex:auto;height:6px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--primary), var(--blue));border-radius:var(--radius-full);height:100%;transition:width .4s}.progress-bar-label{color:var(--primary-strong);font-family:var(--font-tech);text-align:right;min-width:36px;font-size:12px;font-weight:900}.view-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.view-card{text-align:center;background:#00000040;border-radius:14px;gap:6px;padding:8px;transition:background .2s,box-shadow .2s;display:grid;box-shadow:inset 0 0 0 1px #ffffff0f}.view-card.done{background:#61f5df0f;box-shadow:inset 0 0 0 1px #61f5df2e}.view-card.active{background:#61f5df1a;box-shadow:inset 0 0 0 1px #61f5df47,0 0 16px #61f5df1a}.view-card-visual{aspect-ratio:1;background:#ffffff05;border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.view-card-visual img{object-fit:contain;width:100%;height:100%}.view-card-placeholder{color:var(--text-faint);font-family:var(--font-display);font-size:14px;font-weight:900}.view-card-check{color:var(--primary-strong);background:#00000059;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.view-card-spinner{background:#00000059;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.view-card-spinner:after{content:"";border:2px solid #ffffff1f;border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}.view-card-label{color:var(--text-muted);font-size:12px;font-weight:850}.view-card.done .view-card-label{color:var(--primary-strong)}.view-card.active .view-card-label{color:var(--primary)}.prompt-pack{gap:8px;display:grid}.prompt-pack summary{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 0;font-size:12px;font-weight:850}.prompt-pack summary:hover{color:var(--primary-strong)}.prompt-pack p{color:var(--text-muted);background:#00000040;border-radius:14px;gap:4px;padding:10px;font-size:12px;line-height:1.55;display:grid;box-shadow:inset 0 0 0 1px #ffffff0f}.prompt-pack strong{color:var(--primary);font-family:var(--font-tech);font-size:11px}.gen-actions-row{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#16161ad9;border-top:1px solid #ffffff0f;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 18px;display:grid;position:relative}.gen-actions-row button{border-radius:var(--radius-md);min-height:44px;color:var(--text);background:#00000052;border:0;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:900;transition:color .18s,background .18s,transform .18s,box-shadow .18s;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff14}.gen-actions-row button:not(:disabled):hover{color:var(--primary-strong);background:#61f5df1f;transform:translateY(-2px);box-shadow:0 0 20px #61f5df1f,inset 0 0 0 1px #61f5df29}.gen-actions-row button:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.48}.gen-summary-bar{border-radius:var(--radius-md);background:#ffffff0a;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:inset 0 0 0 1px #ffffff12}.gen-summary-left{gap:2px;min-width:0;display:grid}.gen-summary-subject{color:var(--text-strong);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:850;overflow:hidden}.gen-summary-meta{color:var(--text-muted);font-size:11.5px;font-weight:600}.gen-summary-status{min-height:26px;color:var(--primary-strong);border-radius:var(--radius-full);font-family:var(--font-tech);white-space:nowrap;background:#61f5df1a;flex:none;align-items:center;padding:2px 10px;font-size:11px;font-weight:900;display:inline-flex;box-shadow:inset 0 0 0 1px #61f5df29}.gen-summary-status.is-error{color:var(--coral);background:#ff8f751a;box-shadow:inset 0 0 0 1px #ff8f7529}.gen-summary-status.is-done{color:var(--primary-strong);background:#61f5df1f;box-shadow:inset 0 0 0 1px #61f5df38}.gen-toggle-input{min-height:32px;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:850;transition:color .18s,background .18s;display:inline-flex}.gen-toggle-input:hover{color:var(--primary-strong);background:#61f5df14}.generator-error{color:var(--coral);background:#ff8f751a;border-radius:14px;padding:10px 12px;font-size:13px;line-height:1.55}.generator-success{color:var(--primary-strong);background:#61f5df1a;border-radius:14px;align-items:center;gap:7px;padding:9px 12px;font-size:13px;font-weight:850;display:inline-flex}@media (max-width:1180px){.spatial-top-bar{justify-content:space-between;width:min(720px,100vw - 24px)}.top-bar-center{flex:auto;min-width:0}.top-bar-domain{flex:none}.top-bar-domain-trigger{max-width:128px}.center-model{text-overflow:ellipsis;min-width:0;overflow:hidden}.stage-title{max-width:min(520px,72vw);top:84px;left:18px}.stage-status{top:84px;right:18px}.spatial-dock{align-items:flex-start;bottom:12px;left:12px;right:auto}.spatial-inspector{align-items:flex-end;bottom:12px;left:auto;right:12px}.spatial-dock.is-open,.spatial-inspector.is-open{left:12px;right:12px}.dock-panel,.inspector-panel{border-radius:28px;width:calc(100vw - 24px);max-height:min(58dvh,560px)}.inspector-panel .study-panel{max-height:inherit}.dock-panel .model-list{flex-direction:column;overflow:hidden auto}.model-list-item{flex:none;width:100%}.generator-grid{grid-template-columns:1fr;overflow-y:auto}.generator-shell{height:min(780px,100dvh - 24px)}}@media (max-width:760px){.spatial-top-bar{min-height:48px;padding:5px;top:10px}.top-bar-brand{padding-right:6px}.brand-symbol{width:34px;height:34px}.brand-text h1{font-size:14px}.product-kicker,.top-bar-center{display:none}.top-bar-action{min-height:34px;padding-inline-start:12px;padding-inline-end:12px;font-size:12px}.stage-title{max-width:calc(100vw - 24px);top:68px;left:12px}.stage-title span{display:none}.stage-title h2{font-size:clamp(26px,9vw,40px);line-height:1.05}.stage-title p{max-width:82vw;font-size:12px;line-height:1.35}.stage-status{display:none}.spatial-toolbar{bottom:18px}.spatial-tool{width:40px;height:40px}.spatial-tool-tip{display:none}.dock-trigger,.inspector-trigger{width:48px;height:48px}.dock-panel,.inspector-panel{border-radius:24px;max-height:min(56dvh,480px)}.dock-panel .panel-heading,.inspector-panel .panel-heading{padding:16px 16px 8px}.dock-panel .model-list{padding-inline-start:8px;padding-inline-end:8px}.model-list-item{flex:none;width:100%}.study-content{padding-inline-start:10px;padding-inline-end:10px}.generator-layer{padding:8px}.generator-shell{border-radius:26px;height:calc(100dvh - 16px)}.generator-header{padding:16px 16px 8px}.generator-header h2{font-size:21px}.generator-tabs{padding:0 10px}.generator-tabs button{min-height:38px;font-size:12px}.generator-content{padding:10px}.generator-input,.generator-status{border-radius:20px;gap:11px;padding:12px}.gen-actions-row{gap:8px;padding:10px}.domain-grid,.engine-options,.view-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.source-image-grid,.generator-actions{grid-template-columns:1fr}.field-block textarea{min-height:116px}}@media (max-width:420px){.stage-title h2{font-size:31px}.model-card-foot span:last-child{display:none}.study-tabs{gap:3px}.study-tabs button{font-size:12px}}@keyframes shell-enter{0%{opacity:0}}@keyframes viewer-enter{0%{opacity:0;transform:scale(.985)}}@keyframes top-bar-enter{0%{opacity:0;transform:translate(-50%)translateY(-16px)scale(.96)}}@keyframes toolbar-enter{0%{opacity:0;transform:translate(-50%)translateY(16px)scale(.96)}}@keyframes dock-enter{0%{opacity:0;transform:translateY(16px)}}@keyframes inspector-enter{0%{opacity:0;transform:translateY(16px)}}@keyframes panel-rise{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes panel-slide{0%{opacity:0;transform:translate(16px)scale(.97)}}@keyframes float-in{0%{opacity:0;transform:translateY(12px)}}@keyframes content-in{0%{opacity:0;transform:translateY(6px)}}@keyframes stage-sheen{0%,48%{transform:translate(-58%)}78%,to{transform:translate(58%)}}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 3px #61f5df26,0 0 14px #61f5df73}50%{box-shadow:0 0 0 5px #61f5df14,0 0 22px #61f5df99}}@keyframes ring-pulse{0%,to{opacity:.42;transform:scale(.96)}50%{opacity:.86;transform:scale(1.04)}}@keyframes ring-spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress-shine{0%{transform:translate(-100%)}to{transform:translate(200%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.workbench-page{z-index:80;color:var(--text-primary);background:linear-gradient(#0a1019f5,#090e16fa),radial-gradient(circle at 18% 20%,#61f5df1f,#0000 30%),radial-gradient(circle at 82% 12%,#f4c7661a,#0000 26%);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.workbench-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080c14b8;border-bottom:1px solid #ffffff1a;grid-template-columns:minmax(150px,220px) 1fr minmax(130px,auto);align-items:center;gap:18px;padding:18px clamp(18px,3vw,36px);display:grid}.workbench-header h1{letter-spacing:0;margin:2px 0 0;font-size:clamp(22px,3vw,34px)}.workbench-back,.workbench-auth-state{min-height:40px;color:var(--text-primary);background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.workbench-auth-state{color:var(--text-secondary);justify-self:end}.workbench-auth-state.unlocked{color:var(--primary-strong);border-color:#61f5df57}.workbench-layout{flex:1;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:22px;min-height:0;padding:22px clamp(18px,3vw,36px);display:grid}.workbench-steps{border-right:1px solid #ffffff1a;min-height:0;padding:14px;overflow:auto}.workbench-step{color:var(--text-secondary);grid-template-columns:42px 1fr;align-items:start;gap:12px;padding:14px 4px;display:grid}.workbench-step+.workbench-step{border-top:1px solid #ffffff14}.workbench-step-index{width:34px;height:34px;color:var(--text-primary);background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.workbench-step.running .workbench-step-index{color:var(--primary-strong);background:#61f5df29}.workbench-step.succeeded .workbench-step-index{color:var(--primary-strong);background:#61f5df2e}.workbench-step.failed .workbench-step-index{color:#ff8f75;background:#ff76762e}.workbench-step strong{color:var(--text-primary);font-size:14px;display:block}.workbench-step span:last-child{margin-top:4px;font-size:12px;line-height:1.45;display:block}.workbench-main{flex-direction:column;gap:14px;min-height:0;display:flex;overflow:auto}.workbench-panel{background:#ffffff12;border:1px solid #ffffff1f;border-radius:8px;width:min(980px,100%);padding:clamp(18px,2.4vw,28px);box-shadow:0 20px 60px #00000042}.workbench-section-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.workbench-section-head h2{margin:2px 0 0;font-size:clamp(20px,2.4vw,30px)}.workbench-section-head>span{color:var(--primary-strong);font-size:13px}.workbench-field{gap:8px;margin-bottom:16px;display:grid}.workbench-field.compact{max-width:360px}.workbench-field>span,.workbench-field-head label{color:var(--text-secondary);font-size:13px}.workbench-field input,.workbench-field textarea,.analysis-module input,.analysis-module textarea{width:100%;color:var(--text-primary);font:inherit;letter-spacing:0;background:#0000002e;border:1px solid #ffffff24;border-radius:8px;padding:12px 14px}.workbench-field textarea,.analysis-module textarea{resize:vertical;min-height:106px}.workbench-field-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.workbench-field-ai{min-height:34px;color:var(--primary-strong);white-space:nowrap;background:#61f5df1a;border:1px solid #61f5df3d;border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.workbench-field-ai:disabled{cursor:progress;opacity:.72}.workbench-field-ai:disabled svg{animation:1s linear infinite spin}.workbench-domain-picker{position:relative}.workbench-domain-trigger{width:100%;min-height:68px;color:var(--text-primary);text-align:left;background:#0000002e;border:1px solid #ffffff24;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:12px 14px;display:grid}.workbench-domain-trigger:hover,.workbench-domain-trigger[aria-expanded=true]{background:#61f5df12;border-color:#61f5df57}.workbench-domain-trigger span,.workbench-domain-option strong{color:var(--text-primary);font-size:15px}.workbench-domain-trigger small{color:var(--text-secondary);grid-column:1/2;font-size:12px;line-height:1.35}.workbench-domain-trigger svg{color:var(--primary-strong);grid-area:1/2/3/3;transition:transform .18s}.workbench-domain-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.workbench-domain-menu{z-index:40;left:0;right:0;background:#0e1219fa;border:1px solid #61f5df3d;border-radius:8px;gap:6px;max-height:min(390px,58vh);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);overflow:auto;box-shadow:0 18px 46px #0006}.workbench-domain-option{width:100%;color:var(--text-primary);text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;gap:4px;padding:10px;display:grid}.workbench-domain-option:hover,.workbench-domain-option.active{background:#61f5df1a;border-color:#61f5df3d}.workbench-domain-option span{color:var(--text-secondary);font-size:12px;line-height:1.4}.examples-drawer{margin:4px 0 18px}.examples-drawer>button,.analysis-module-head button{color:var(--text-primary);background:#ffffff12;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:0 12px;display:inline-flex}.analysis-module-head button:disabled{cursor:progress;opacity:.72}.analysis-module-head button:disabled svg{animation:1s linear infinite spin}.examples-drawer.open>button svg{transform:rotate(180deg)}.example-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.example-list button{text-align:left;color:var(--text-primary);background:#00000026;border:1px solid #ffffff1f;border-radius:8px;padding:12px}.example-list strong,.example-list span{display:block}.example-list span{color:var(--text-secondary);margin-top:5px;font-size:12px;line-height:1.45}.workbench-notice{border-radius:8px;align-items:center;gap:10px;width:min(980px,100%);padding:12px 14px;display:flex}.workbench-notice.error,.workbench-inline-error{color:#ffaf9f;background:#ff76761f}.auth-panel{align-content:start;gap:16px;display:grid}.auth-panel p{color:var(--text-secondary);margin:6px 0 0}.workbench-inline-error{border-radius:8px;margin:0;padding:9px 11px;font-size:13px}.primary-action.large{min-height:50px;font-size:15px}.workbench-progress-track{background:#ffffff1a;border-radius:999px;height:10px;margin-bottom:18px;overflow:hidden}.workbench-progress-track>div{background:linear-gradient(90deg, var(--primary), var(--amber));height:100%;transition:width .26s;position:relative;overflow:hidden}.workbench-progress-track>div:after{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000);animation:2s ease-in-out infinite progress-shine;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-100%)}.current-step-banner{background:#61f5df14;border:1px solid #61f5df29;border-radius:8px;align-items:center;gap:14px;margin-bottom:18px;padding:14px;display:flex}.current-step-banner svg{color:var(--primary-strong);animation:1s linear infinite spin}.current-step-banner.failed{background:#ff76761a;border-color:#ff767642}.current-step-banner.failed svg{color:#ff8f75}.current-step-banner strong,.current-step-banner span{display:block}.current-step-banner span{color:var(--text-secondary);margin-top:3px;font-size:13px}.reference-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.reference-tile{min-height:160px;color:var(--text-secondary);background:#00000024;border:1px solid #ffffff1f;border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.reference-tile-placeholder{flex-direction:column;align-items:center;gap:8px;display:flex}.reference-tile-status{color:var(--text-muted);font-size:12px}.reference-tile img{object-fit:cover;width:100%;height:100%}.reference-tile span{color:#fff;background:#0000008a;border-radius:6px;padding:4px 7px;font-size:12px;position:absolute;bottom:8px;left:8px}.workbench-events{gap:8px;margin-bottom:18px;display:grid}.workbench-events h3,.analysis-module h3{margin:0;font-size:15px}.workbench-event{color:var(--text-secondary);grid-template-columns:74px 1fr;align-items:start;gap:10px;font-size:13px;display:grid}.workbench-event p{color:var(--text-primary);margin:0}.analysis-editor{gap:14px;display:grid}.analysis-module{background:#0000001f;border:1px solid #ffffff1a;border-radius:8px;gap:10px;padding:14px;display:grid}.analysis-module-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.structure-edit-row,.misconception-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.question-group{gap:8px;display:grid}.question-group strong{color:var(--primary-strong);font-size:13px}.narration-player{background:#61f5df14;border:1px solid #61f5df2e;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.narration-player button{min-height:34px;color:var(--primary-strong);background:#61f5df1f;border:1px solid #61f5df47;border-radius:8px;padding:0 14px}.narration-player input{width:100%}.narration-player span{color:var(--text-secondary);font-size:12px}.narration-player.unavailable{background:#f4c76614;border-color:#f4c7663d;grid-template-columns:1fr}.narration-player .narration-error{color:#ffb4a8;grid-column:1/-1}@media (max-width:920px){.workbench-header{grid-template-columns:1fr}.workbench-auth-state,.workbench-back{justify-self:start}.workbench-layout{grid-template-columns:1fr;overflow:auto}.workbench-steps{border-bottom:1px solid #ffffff1a;border-right:0;grid-template-columns:repeat(6,minmax(120px,1fr));padding:0 0 12px;display:grid;overflow-x:auto}.workbench-step{grid-template-columns:34px 1fr;padding:10px;border-top:0!important}.reference-grid,.example-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.workbench-layout,.workbench-panel{padding:14px}.reference-grid,.example-list,.structure-edit-row,.misconception-row{grid-template-columns:1fr}.workbench-field-head{align-items:flex-start}.workbench-domain-trigger{min-height:52px}.workbench-domain-trigger small,.workbench-domain-option span{display:none}.workbench-domain-menu{max-height:260px}}@media (max-width:1180px){.stage-title{top:80px;left:18px}.stage-title h2{font-size:clamp(32px,5vw,56px)}.stage-status{top:80px;right:18px}.spatial-top-bar{min-height:46px;padding:5px 6px;top:12px}.top-bar-brand{padding:3px 8px 3px 3px}.brand-symbol{width:34px;height:34px}.brand-text h1{font-size:14px}.top-bar-center{padding:0 10px}.top-bar-domain{min-height:34px;padding-right:28px}.top-bar-domain-trigger{min-width:82px;max-width:118px;font-size:12px}.center-model{font-size:12px}.top-bar-action span{display:none}.spatial-toolbar{bottom:18px}.spatial-dock{bottom:14px;left:14px}.spatial-inspector{bottom:14px;right:14px}.dock-panel{width:280px;max-height:calc(100dvh - 100px)}.inspector-panel{width:360px;max-height:calc(100dvh - 100px)}.generator-grid{grid-template-columns:1fr;max-height:calc(100dvh - 120px);overflow-y:auto}}@media (max-width:760px){.spatial-shell{height:100dvh}.viewer canvas{filter:none}.stage-title{max-width:72%;top:68px;left:14px}.stage-title span{padding:4px 8px;font-size:9px}.stage-title h2{font-size:28px}.stage-title p{margin-top:5px;font-size:13px}.stage-status{display:none}.spatial-top-bar{min-height:42px;padding:4px 5px;top:10px}.brand-text{display:none}.top-bar-center{border-left:0;border-right:0;padding:0 8px}.top-bar-domain{gap:0;padding:0 25px 0 10px}.top-bar-domain span{display:none}.top-bar-domain-trigger{min-width:74px;max-width:96px}.top-bar-domain-menu{width:min(220px,100vw - 20px)}.top-bar-domain-option small{display:none}.center-model{font-size:12px}.top-bar-action{min-height:34px;padding:0 12px}.spatial-toolbar{gap:4px;padding:5px;bottom:14px}.spatial-tool{width:40px;height:40px}.spatial-tool-tip{display:none}.spatial-dock{bottom:10px;left:10px}.spatial-inspector{bottom:10px;right:10px}.dock-trigger,.inspector-trigger{width:46px;height:46px}.dock-panel{width:calc(100vw - 20px);max-height:calc(100dvh - 80px);animation:.35s cubic-bezier(.16,1,.3,1) both panel-rise;position:fixed;bottom:66px;left:10px}.inspector-panel{width:calc(100vw - 20px);max-height:calc(100dvh - 90px);animation:.35s cubic-bezier(.16,1,.3,1) both panel-rise;position:fixed;bottom:66px;right:10px}.dock-panel .model-list{flex-direction:column;gap:6px;padding:6px 8px 10px;overflow:hidden auto}.dock-panel .model-list li{flex:none;width:100%;min-width:0}.dock-panel .panel-heading{padding:14px 14px 6px}.dock-panel .panel-heading h2{font-size:16px}.dock-panel .forge-entry{min-height:40px;margin:0 10px 6px;font-size:13px}.inspector-panel .panel-heading{padding:14px 14px 6px}.inspector-panel .panel-heading h2{font-size:16px}.model-card{grid-template-columns:48px minmax(0,1fr);gap:8px;padding:6px}.model-thumb{border-radius:12px;width:48px;height:48px}.model-name{font-size:13px}.model-subtitle,.model-card-foot,.difficulty-pill{font-size:10px}.difficulty-pill{min-height:20px;padding:2px 6px}.study-tabs{margin:0 10px 8px}.study-tabs button{min-height:30px;font-size:12px}.study-content{padding:0 10px 10px}.study-section{gap:10px}.stats-grid{gap:6px}.stats-grid div,.data-strip>div,.lesson-goal,.reading-card,.guide-card,.structure-list li{padding:9px}.lesson-goal,.reading-card{grid-template-columns:24px minmax(0,1fr)}.lesson-goal p,.reading-card p,.data-strip strong{font-size:12px}.structure-list p{font-size:11.5px}.generator-layer{padding:8px}.generator-shell{border-radius:var(--radius-lg);max-height:calc(100dvh - 16px)}.generator-header{padding:16px 16px 8px}.generator-header h2{font-size:20px}.generator-grid{gap:10px;padding:0 10px 10px}.generator-input,.generator-status{border-radius:var(--radius-sm);gap:11px;padding:12px}.domain-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.field-block textarea{min-height:100px}.status-copy strong{font-size:18px}.generator-actions,.source-image-grid{grid-template-columns:1fr}.model-quick-view{grid-template-columns:48px minmax(0,1fr);gap:10px;padding:10px}.mqv-visual{width:48px;height:48px}.mqv-icon{font-size:18px}.mqv-body strong{font-size:14px}.timeline-track{flex-direction:column;gap:10px}.timeline-step{gap:10px}.timeline-line{display:none}.tag-cloud,.structure-hierarchy{padding:10px}.expandable-item{padding:8px 10px;font-size:12px}.quote-card{padding:10px}}@media (max-width:420px){.stage-title h2{font-size:24px}.top-bar-center{display:none}.spatial-toolbar{bottom:12px}.spatial-tool{width:36px;height:36px}.model-card-foot span:last-child{display:none}.study-tabs{gap:3px;margin-inline-start:6px;margin-inline-end:6px}.study-tabs button{padding-inline-start:0;padding-inline-end:0;font-size:11px}.stats-grid{grid-template-columns:1fr}.gen-actions-row{grid-template-columns:1fr;gap:8px}.gen-actions-row button{min-height:42px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
