:root{color-scheme:light;--bg:#f4f7fb;--panel:#fff;--ink:#15222d;--muted:#617381;--line:#dce6ed;--blue:#2674d9;--teal:#08a99a;--soft:#edf4f8;--radius:18px;font-family:Microsoft YaHei UI,Segoe UI,PingFang SC,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100%;background:var(--bg);color:var(--ink)}body{overflow-x:hidden}[hidden]{display:none!important}button,input,textarea{font:inherit}button{cursor:pointer}#app{width:100%;min-height:100svh;padding:14px 18px;display:flex;flex-direction:column;gap:14px}.mission-bar{flex:none;min-height:76px;display:grid;grid-template-columns:minmax(280px,1fr) minmax(380px,1.35fr) auto;align-items:center;gap:20px;padding:12px 20px;border:1px solid #dbe6ec;border-radius:20px;background:#ffffffe0;box-shadow:0 8px 26px #183d5814;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#4dc7c0,#6ea9f8);color:#fff;font-size:28px;font-weight:700;box-shadow:0 8px 18px #419dc133}.brand-lockup h1{margin:0;font-size:22px;letter-spacing:.02em;white-space:nowrap}.eyebrow{margin:0 0 5px;color:#6d8b9d;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.mission-status{min-width:0;padding-left:14px;border-left:3px solid var(--blue)}.status-caption{display:block;color:#7894a4;font-size:13px}.mission-status strong{display:block;font-size:17px;color:#172a39}.quick-nav{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.quick-nav button{border:1px solid #d4e1e8;border-radius:999px;padding:6px 10px;background:#f6fafc;color:#496676;font-size:13px}.quick-nav button:hover{border-color:#7cc9c5;color:#087f78;background:#eefcf9}.identity-console{display:flex;align-items:center;gap:7px}.identity-console #identity-badge,.identity-console #open-profile{display:none}.secondary-action,.tool-button,.view-cube button,.coordinate-readout button{border:1px solid #d6e2e9;border-radius:11px;padding:9px 12px;background:#fff;color:#416070;font-size:14px}.secondary-action:hover,.tool-button:hover,.view-cube button:hover,.coordinate-readout button:hover{border-color:#77cfc5;color:#087f78}.primary-action{border:0;border-radius:11px;padding:10px 16px;background:linear-gradient(135deg,#58c8c0,#5c97ea);color:#fff;font-weight:800}.portal-screen{position:relative;isolation:isolate;display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;padding:34px clamp(24px,6vw,96px) 22px;border:1px solid #d8e6eb;border-radius:24px;background:linear-gradient(145deg,#fbfdff,#edf7f7 58%,#f3f8fc);box-shadow:0 18px 52px #225b7414}.portal-topline,.portal-footer{position:relative;z-index:3;display:flex;justify-content:space-between;gap:14px;color:#71909f;font-size:13px;letter-spacing:.08em}.portal-status{display:inline-flex;align-items:center;gap:7px;color:#078f86}.portal-status i,.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#16b7a8;box-shadow:0 0 11px #16b7a899}.portal-center{position:relative;z-index:3;display:grid;grid-template-columns:minmax(280px,470px) minmax(500px,760px);align-items:center;justify-content:center;gap:clamp(48px,8vw,150px);width:min(1400px,100%);margin:auto}.portal-copy h2{margin:8px 0 18px;font-size:clamp(42px,5vw,76px);line-height:1.04;letter-spacing:-.05em;color:#132735}.portal-copy h2 em{font-style:normal;color:#20afa4}.portal-copy p:last-child{max-width:460px;color:#5c7480;font-size:16px;line-height:1.8}.home-composer{width:100%;padding:14px;border:1px solid #cfe0e7;border-radius:24px;background:#ffffffe6;box-shadow:0 22px 54px #20536b24}.home-composer textarea{display:block;width:100%;min-height:190px;padding:22px;border:0;outline:0;resize:none;color:#19303e;background:transparent;font-size:20px;line-height:1.55}.home-composer textarea::placeholder{color:#8ca3ae}.home-composer-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:13px 9px 5px;border-top:1px solid #e0e9ed}.home-chips{display:flex;flex-wrap:wrap;gap:7px}.home-chips button{border:1px solid #d3e1e6;border-radius:999px;padding:8px 11px;background:#f7fbfc;color:#52717e;font-size:13px}.home-chips button:hover{border-color:#7bcfc6;color:#07877f}.home-send{flex:none;border:0;border-radius:12px;padding:13px 18px;background:linear-gradient(135deg,#3ebcae,#5794e8);color:#fff;font-size:15px;font-weight:800}.home-response{margin:10px 8px 1px;padding:12px 14px;border:1px solid #bce0db;border-radius:12px;background:#effbf8;color:#3c6570;font-size:14px;line-height:1.6}.home-response strong{color:#078b82;font-size:12px;letter-spacing:.08em}.home-response p{margin:5px 0 0}.crystal-field{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.72}.field-grid{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:linear-gradient(30deg,transparent 48%,rgba(45,148,172,.09) 49%,transparent 50%),linear-gradient(150deg,transparent 48%,rgba(45,148,172,.07) 49%,transparent 50%);background-size:130px 96px;transform:perspective(600px) rotateX(62deg) rotate(-18deg);-webkit-mask-image:radial-gradient(ellipse at center,black 8%,transparent 72%);mask-image:radial-gradient(ellipse at center,black 8%,transparent 72%);animation:gridDrift 20s linear infinite}.field-orbit{position:absolute;border:1px solid rgba(54,161,164,.18);border-radius:50%;animation:fieldSpin 20s linear infinite}.orbit-1{width:440px;height:180px;left:58%;top:25%;transform:rotateX(68deg) rotate(10deg)}.orbit-2{width:340px;height:140px;left:66%;top:48%;transform:rotateX(70deg) rotate(-28deg);animation-duration:26s}.orbit-3{width:280px;height:110px;left:18%;top:62%;transform:rotateX(72deg) rotate(35deg);animation-duration:23s}.field-node{position:absolute;width:10px;height:10px;border-radius:50%;background:#3bb9b0;box-shadow:0 0 20px 4px #34beb373;animation:nodePulse 3.4s ease-in-out infinite}.node-1{left:62%;top:30%}.node-2{left:78%;top:40%;animation-delay:.6s}.node-3{left:70%;top:67%;animation-delay:1.2s}.node-4{left:47%;top:75%;animation-delay:1.8s}.node-5{left:28%;top:27%;animation-delay:2.4s}.node-6{left:37%;top:53%;animation-delay:1s}.portal-footer{margin-top:15px;padding:12px 4px 0;border-top:1px solid #dbe8eb}.workspace{width:100%;min-height:0}.scene-stage,.teacher-chat{position:relative}.legacy-controls,.task-dock{display:none!important}body:not([data-space=portal]){overflow:hidden;background:#0c151d}body:not([data-space=portal]) #app{height:100svh;padding:12px 16px;background:radial-gradient(circle at 16% 10%,rgba(56,117,150,.18),transparent 34%),#0b141b}body:not([data-space=portal]) .mission-bar{border-color:#92bccf33;background:#0f1b24eb;box-shadow:0 10px 30px #00000040}body:not([data-space=portal]) .brand-lockup h1{color:#edf6f8}body:not([data-space=portal]) .mission-status strong{color:#eaf4f6}body:not([data-space=portal]) .mission-status{border-left-color:#61c9ca}body:not([data-space=portal]) .secondary-action{background:#5e99b11a;border-color:#8fbccf33;color:#c7dce2}body:not([data-space=portal]) .workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,440px);grid-template-rows:minmax(0,1fr);gap:14px;height:calc(100svh - 112px)}body:not([data-space=portal]) .scene-stage{grid-column:1;grid-row:1;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(137,193,211,.24);border-radius:22px;background:radial-gradient(circle at 50% 45%,rgba(39,104,131,.25),transparent 44%),#0d1820}body:not([data-space=portal]) .scene-container{position:relative;min-height:0;overflow:hidden}body:not([data-space=portal]) .teacher-chat{grid-column:2;grid-row:1;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;min-height:0;max-height:none;overflow:hidden;padding:18px;border:1px solid rgba(137,193,211,.24);border-radius:22px;background:#101f29;box-shadow:0 16px 46px #00000042}body:not([data-space=portal]) .chat-heading{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:13px;border-bottom:1px solid rgba(145,191,207,.18)}body:not([data-space=portal]) .chat-heading h2{margin:0;color:#edf7f8;font-size:23px}body:not([data-space=portal]) .chat-heading .eyebrow{color:#7eb6c5}body:not([data-space=portal]) .chat-window-actions{display:flex;align-items:center;gap:7px}body:not([data-space=portal]) .live-indicator{display:inline-flex;align-items:center;gap:6px;color:#6cddd0;font-size:13px}body:not([data-space=portal]) .live-indicator i{width:7px;height:7px;border-radius:50%;background:#63d9ca;box-shadow:0 0 11px #63d9ca}body:not([data-space=portal]) .chat-context{padding:13px 0;border-bottom:1px solid rgba(145,191,207,.18)}body:not([data-space=portal]) .context-label{color:#7eb6c5;font-size:12px;letter-spacing:.1em}.task-brief{margin-top:5px;color:#d8eaee;font-size:14px;line-height:1.55}.evidence-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.evidence-chip{border:1px solid rgba(92,203,194,.28);border-radius:999px;padding:5px 8px;color:#a6e6df;background:#4eb7b41a;font-size:13px}.chat-messages{display:flex;flex-direction:column;gap:12px;min-height:0;padding:16px 2px;overflow-y:auto}.chat-message{max-width:94%;padding:12px 14px;border:1px solid rgba(141,191,207,.18);border-radius:14px;background:#182c38;color:#deedf0;line-height:1.6;font-size:14px}.chat-message.user{align-self:flex-end;background:#17455b;border-color:#5cbdd359}.chat-message strong{display:block;margin-bottom:3px;color:#7ed6cf;font-size:12px;letter-spacing:.08em}.chat-message p{margin:0}.message-blocks{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(150,205,214,.16)}.message-action{border:1px solid rgba(102,218,207,.3);border-radius:10px;padding:8px 10px;background:#53bebb1a;color:#a9eee6;font-size:13px}.message-fact{width:100%;display:flex;justify-content:space-between;gap:10px;color:#91b0ba;font-size:13px}.message-fact strong{color:#d9edf0}.chat-form{padding-top:12px;border-top:1px solid rgba(145,191,207,.18)}.composer-shell{border:1px solid rgba(134,191,212,.3);border-radius:14px;background:#0d1b24}.composer-shell textarea{width:100%;border:0;outline:0;resize:none;padding:12px 14px;color:#e7f1f4;background:transparent;line-height:1.5}.composer-actions{display:flex;align-items:center;gap:7px;padding:8px}.composer-tool{padding:7px 9px;border:1px solid rgba(141,191,207,.24);border-radius:9px;color:#9fd7d7;font-size:13px;cursor:pointer}.file-input{display:none}.chat-status{min-height:18px;padding-top:7px;color:#7fb0bd;font-size:13px}.scene-toolbar{z-index:4;display:flex;justify-content:space-between;align-items:center;margin:14px 14px 0;padding:10px 12px;border:1px solid rgba(143,193,210,.2);border-radius:14px;background:#09151cb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.scene-toolbar h2{margin:0;color:#eaf5f7;font-size:18px}.scene-toggles{display:flex;align-items:center;gap:7px}.scene-index-mini{display:flex;gap:6px}.scene-index-mini input{width:84px;border:1px solid rgba(143,193,210,.24);border-radius:9px;padding:8px;color:#e4f2f4;background:#050f159e}.tool-button,.view-cube button,.coordinate-readout button{background:#5d9db21a;border-color:#8fc1d238;color:#c7e0e6}.view-cube{z-index:4;display:flex;justify-content:flex-end;gap:6px;margin:9px 14px 0}.coordinate-readout{z-index:4;display:flex;gap:7px;margin:0 14px 14px}.scene-precision{position:absolute;left:18px;bottom:18px;z-index:5;display:flex;align-items:center;gap:12px;padding:8px 11px;border:1px solid rgba(143,193,210,.22);border-radius:10px;background:#050f15c7;color:#a8c5cc;font-size:13px}.scene-precision span+span{padding-left:12px;border-left:1px solid rgba(143,193,210,.2)}.app-drawer{color:var(--ink);background:#fff;border-color:#d5e3ea}.chat-fab{display:none!important}@keyframes fieldSpin{to{transform:rotateX(68deg) rotate(370deg)}}@keyframes gridDrift{to{background-position:130px 96px}}@keyframes nodePulse{0%,to{transform:scale(.7);opacity:.4}50%{transform:scale(1.25);opacity:1}}@media (max-width:1100px){.mission-bar{grid-template-columns:1fr auto}.mission-status{grid-column:1/-1;grid-row:2}.quick-nav{display:none}.portal-center{grid-template-columns:minmax(260px,420px) minmax(420px,600px);gap:40px}}@media (max-width:900px){body:not([data-space=portal]){overflow:auto}#app{padding:10px}.mission-bar{min-height:68px;padding:10px 14px}.brand-mark{width:42px;height:42px}.brand-lockup h1{font-size:18px}.mission-status{display:none}.portal-screen{height:auto;min-height:calc(100svh - 98px);padding:24px 18px}.portal-center{grid-template-columns:1fr;gap:28px;padding:34px 0}.portal-copy h2{font-size:clamp(38px,10vw,60px)}.home-composer textarea{min-height:140px}.home-composer-footer{align-items:stretch;flex-direction:column}.home-send{width:100%}.portal-footer{font-size:12px}.workspace{height:auto!important;grid-template-columns:1fr!important;grid-template-rows:minmax(480px,62svh) auto!important}.scene-stage{grid-column:1!important;grid-row:1!important}.teacher-chat{grid-column:1!important;grid-row:2!important;min-height:500px!important}.scene-precision{left:10px;right:10px;overflow:auto;white-space:nowrap}.scene-toolbar{margin:9px}.scene-toggles{flex-wrap:wrap}.view-cube,.coordinate-readout{margin-left:9px;margin-right:9px}.coordinate-readout{margin-bottom:9px}}.wetting-control{display:inline-flex;align-items:center;gap:8px;margin-left:auto;color:#b9dce2;font-size:13px}.wetting-control input{width:130px;accent-color:#61c9ca}.wetting-control output{min-width:28px;color:#e6f8f8;font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}body:not([data-space=portal]) .workspace{grid-template-columns:minmax(0,1fr) minmax(460px,520px)}body:not([data-space=portal]) .opacity-control{display:none!important}body:not([data-space=portal]) .mission-status{padding-right:8px}body:not([data-space=portal]) .quick-nav button{background:#62b2c214;border-color:#8fbccf33;color:#b9d4da}body:not([data-space=portal]) .quick-nav button:hover{border-color:#69ded2;color:#fff}@media (max-width:1180px) and (min-width:901px){body:not([data-space=portal]) .workspace{grid-template-columns:minmax(0,1fr) minmax(410px,45vw)}}.home-response-action{display:inline-flex;margin-top:10px;border:1px solid #9ed8d1;border-radius:10px;padding:8px 11px;background:#fff;color:#087f78;font-size:13px;font-weight:700}.home-response-action:hover{background:#eafaf7;border-color:#4abdb2}body:not([data-space=portal]) .scene-precision{bottom:68px}.teaching-step-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.teaching-step-chips button{border:1px solid rgba(102,218,207,.3);border-radius:9px;padding:7px 9px;background:#53bebb1a;color:#a9eee6;font-size:13px}.teaching-step-chips button:hover,.teaching-step-chips button.active{background:#53bebb3d;color:#fff}@media (max-width:900px){body:not([data-space=portal]) .scene-precision{bottom:58px;left:10px}}body:not([data-space=portal]) .mission-status small{display:block;color:#91b6c2;font-size:13px;line-height:1.35}body:not([data-space=portal]) .status-caption{color:#7fb0bd}body:not([data-space=portal]) .quick-nav{margin-top:7px}body[data-space=portal]{background:#07121a;color:#dcecf0}body[data-space=portal] #app{background:radial-gradient(circle at 12% 0%,rgba(36,111,135,.22),transparent 32%),radial-gradient(circle at 88% 12%,rgba(20,79,103,.2),transparent 30%),#07121a}body[data-space=portal] .mission-bar{border-color:#88c1d133;background:#0b1b25e6;box-shadow:0 14px 42px #00000047}body[data-space=portal] .brand-lockup h1,body[data-space=portal] .mission-status strong{color:#eff9fa}body[data-space=portal] .eyebrow,body[data-space=portal] .status-caption{color:#7eacbb}body[data-space=portal] .mission-status{border-left-color:#5ed5c8}body[data-space=portal] .secondary-action{background:#61a9be1a;border-color:#8bc3d13d;color:#c6e0e5}body[data-space=portal] .secondary-action:hover{border-color:#66d9cd;color:#fff;background:#58b7b52e}body[data-space=portal] .identity-console #identity-badge{display:inline-flex;padding:7px 9px;border:1px solid rgba(105,199,192,.26);border-radius:999px;color:#aee9e1;background:#4caca51f;font-size:12px;white-space:nowrap}body[data-space=portal] .identity-console #open-profile{display:inline-flex}body[data-space=portal] .brand-mark{position:relative;overflow:hidden;background:linear-gradient(145deg,#123d52,#116c79 55%,#4bc6b8);box-shadow:0 0 0 1px #81e8da47,0 10px 26px #16959d47;font-size:0}body[data-space=portal] .brand-mark:before,body[data-space=portal] .brand-mark:after{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid rgba(190,249,241,.72);border-radius:50%;transform:rotateX(66deg) rotate(18deg);animation:logoOrbit 6s linear infinite}body[data-space=portal] .brand-mark:after{top:13px;right:13px;bottom:13px;left:13px;transform:rotateX(66deg) rotate(-42deg);animation-duration:4.5s;animation-direction:reverse;border-color:#99daffcc}body[data-space=portal] .brand-mark i{position:absolute;width:6px;height:6px;border-radius:50%;background:#d8fff8;box-shadow:0 0 10px #8ff7e6;animation:logoNode 3.2s ease-in-out infinite}body[data-space=portal] .brand-mark i:nth-child(1){left:12px;top:10px}.brand-mark i:nth-child(2){right:10px;top:20px;animation-delay:.8s}.brand-mark i:nth-child(3){left:21px;bottom:10px;animation-delay:1.6s}body[data-space=portal] .portal-screen{border-color:#7ebfcf33;background:linear-gradient(145deg,#091c27f5,#081822f0 58%,#0a242df2);box-shadow:0 22px 70px #00000047}body[data-space=portal] .portal-topline,body[data-space=portal] .portal-footer{color:#7da9b6;border-color:#7ebfcf2e}body[data-space=portal] .portal-status{color:#70d8cb}body[data-space=portal] .portal-copy h2{color:#edf8fa}body[data-space=portal] .portal-copy h2 em{color:#6ce1d1}body[data-space=portal] .portal-copy p:last-child{color:#a9c8d0}body[data-space=portal] .home-composer{border-color:#80c7d340;background:#0d2531e6;box-shadow:0 22px 60px #0000004d}body[data-space=portal] .home-composer textarea{color:#e8f6f8}body[data-space=portal] .home-composer textarea::placeholder{color:#7297a4}body[data-space=portal] .home-composer-footer{border-color:#80c7d32e}body[data-space=portal] .home-chips button{border-color:#80c7d33d;background:#5099ad1f;color:#b6d7dc}body[data-space=portal] .home-chips button:hover{border-color:#6ad8ce;color:#fff;background:#4cb0ab33}body[data-space=portal] .home-response{border-color:#66d7c557;background:#327f7b33;color:#b8e2df}body[data-space=portal] .home-response strong{color:#79e5d3}.evidence-card{flex:1 1 260px;min-width:240px;padding:10px 12px;border:1px solid rgba(92,203,194,.3);border-radius:12px;background:#2c747821;color:#bfe5e4;line-height:1.4}.evidence-details{flex:1 1 100%;min-width:0;border:1px solid rgba(92,203,194,.3);border-radius:10px;background:#2c74781a;overflow:hidden}.evidence-details summary{cursor:pointer;list-style:none;padding:7px 10px;color:#a8e4dd;font-size:12px;font-weight:700}.evidence-details summary::-webkit-details-marker{display:none}.evidence-details summary:before{content:"▸";display:inline-block;margin-right:6px;color:#6de0d2;transition:transform .18s ease}.evidence-details[open] summary:before{transform:rotate(90deg)}.evidence-details-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:190px;overflow:auto;padding:8px;border-top:1px solid rgba(133,193,205,.16)}body:not([data-space=portal]) .evidence-strip{display:flex;align-items:flex-start;gap:6px;max-height:38px;overflow:visible}body:not([data-space=portal]) .evidence-details{flex:1 1 100%;max-height:34px}body:not([data-space=portal]) .evidence-details[open]{max-height:220px}body:not([data-space=portal]) .evidence-details-body{grid-template-columns:1fr;max-height:170px}.evidence-card-top{display:flex;justify-content:space-between;gap:10px;color:#e3f6f3;font-size:13px}.evidence-card-top span{color:#80c8c3;font-size:11px}.evidence-card p{margin:4px 0 0;font-size:12px}.evidence-card-page{color:#8dded2!important}.evidence-card small{display:block;margin-top:6px;color:#98bec3;font-size:11px;line-height:1.45}.evidence-card code{display:block;margin-top:6px;color:#68b4b8;font-size:10px;word-break:break-all}.evidence-empty{padding:7px 10px;border:1px dashed rgba(226,170,105,.55);border-radius:10px;color:#e9bd82;background:#b5792d1c;font-size:12px}.app-drawer{position:fixed;z-index:40;top:96px;right:24px;width:min(720px,calc(100vw - 48px));max-height:calc(100svh - 120px);overflow:auto;padding:18px;border:1px solid rgba(122,190,204,.3);border-radius:18px;background:#0d1e28fa;color:#dbecef;box-shadow:0 24px 70px #00000073;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(133,193,205,.2)}.drawer-header h2{margin:0;color:#effafa;font-size:20px}.drawer-header button{border:1px solid rgba(133,193,205,.3);border-radius:9px;padding:7px 11px;background:#69afbd1f;color:#c5e2e5}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-card{padding:14px;border:1px solid rgba(133,193,205,.18);border-radius:13px;background:#122d39a8}.admin-card h3{margin:0 0 10px;color:#8de0d4;font-size:14px}.admin-card input,.admin-card textarea{width:100%;margin:4px 0;padding:8px 9px;border:1px solid rgba(133,193,205,.23);border-radius:8px;background:#0b202b;color:#e7f5f6}.admin-card textarea{min-height:72px;resize:vertical}.admin-card button{margin:4px 5px 0 0;border:1px solid rgba(133,193,205,.3);border-radius:8px;padding:7px 9px;background:#53a8b026;color:#cce8e8}.admin-card button:hover{border-color:#6de0d2;background:#53beb440}.admin-card>div{margin-top:7px;color:#9cc4c8;font-size:12px;line-height:1.45}.report-strip{right:auto;left:24px;width:min(520px,calc(100vw - 48px))}.report-strip #score-meters,.report-strip #misconception-tags{color:#c7e1e4}@keyframes logoOrbit{to{transform:rotateX(66deg) rotate(378deg)}}@keyframes logoNode{0%,to{transform:scale(.6);opacity:.4}50%{transform:scale(1.35);opacity:1}}@media (max-width:700px){.admin-grid{grid-template-columns:1fr}.app-drawer{top:78px;right:12px;left:12px;width:auto;max-height:calc(100svh - 92px)}body[data-space=portal] .mission-bar{grid-template-columns:1fr auto}body[data-space=portal] .identity-console{gap:4px}body[data-space=portal] .identity-console #identity-badge,body[data-space=portal] .identity-console #open-profile{display:none}}.identity-console #identity-badge{display:inline-flex;padding:7px 9px;border:1px solid rgba(105,199,192,.26);border-radius:999px;color:#aee9e1;background:#4caca51f;font-size:12px;white-space:nowrap}.identity-console #open-profile{display:inline-flex}.equation-line{margin-top:7px!important;padding:7px 9px;border-left:2px solid #63d9ca;color:#9fd8d4!important;background:#439a991a;font-size:12px!important}.tool-receipt-strip{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:8px;padding:8px 10px;border:1px solid rgba(121,194,211,.22);border-radius:10px;background:#46879b1a;color:#8fbec6;font-size:11px;line-height:1.45}.tool-receipt-strip strong{color:#d1eeeb;font-weight:700}.defect-quick-panel{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid rgba(133,193,205,.18);color:#8fbec6;font-size:11px}.defect-quick-panel button{border:1px solid rgba(133,193,205,.28);border-radius:999px;padding:6px 9px;background:#53a8b01f;color:#c5e5e3;font-size:12px}.defect-quick-panel button:hover,.defect-quick-panel button.active{border-color:#6de0d2;color:#fff;background:#53beb43d}.drawer-note{margin:5px 0 0;color:#8fbec6;font-size:11px}.brand-mark,body[data-space=portal] .brand-mark{position:relative;display:grid;place-items:center;flex:none;width:54px;height:54px;padding:0;overflow:visible;border-radius:0;background:transparent!important;box-shadow:none!important;font-size:0}.dashboard-hero{display:grid;grid-template-columns:130px 1fr auto;gap:24px;align-items:center;margin:24px 0 16px;padding:24px;border:1px solid rgba(92,183,255,.24);border-radius:14px;background:linear-gradient(120deg,#122642f5,#0a192fe0);box-shadow:0 20px 60px #00000038}.report-more,.report-close{border:1px solid rgba(72,176,235,.35);border-radius:7px;padding:7px 10px;background:#2f9ce11a;color:#9cddff;font-size:12px}.report-more:hover,.report-close:hover{background:#2f9ce133}.report-replay-panel{grid-column:1/-1;margin-top:16px;padding:20px;border:1px solid rgba(100,145,207,.2);border-radius:10px;background:#0c1424f5}.report-replay-list{max-height:440px;overflow:auto}.replay-row{display:grid;grid-template-columns:36px 1.2fr 1fr 110px 190px;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid rgba(100,145,207,.11);font-size:12px}.replay-index{color:#4ed1ff}.replay-type{color:#dcecff}.replay-scene,.replay-row time{color:#7187a7}.replay-status{color:#67dec8}.replay-status.stale{color:#e5ad65}.replay-status.failed{color:#ff8e8e}.profile-coordinates-card{margin-top:16px;padding:20px;border:1px solid rgba(100,145,207,.2);border-radius:10px;background:#0c1424d1}.profile-sync-badge{color:#63decf!important}.profile-coordinate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.profile-coordinate-grid>div{padding:16px;border-radius:8px;background:linear-gradient(145deg,#1e37568c,#0d1c31a6);border:1px solid rgba(87,157,213,.14)}.profile-coordinate-grid span{display:block;color:#8ba5bf;font-size:12px}.profile-coordinate-grid strong{display:block;margin:8px 0 3px;color:#e9f8ff;font-size:29px;font-weight:400}.profile-coordinate-grid small{color:#607b99;font-size:11px}@media (max-width:800px){.profile-coordinate-grid{grid-template-columns:repeat(2,1fr)}.replay-row{grid-template-columns:28px 1fr 1fr}.replay-row time{display:none}}.progress-ring{--progress:0deg;width:112px;height:112px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#39d8d0 var(--progress),rgba(67,104,150,.26) 0);position:relative}.progress-ring:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:50%;background:#0b1628}.progress-ring>div{position:relative;text-align:center}.progress-ring strong{display:block;color:#eafcff;font-size:25px}.progress-ring span{color:#6f93af;font-size:10px}.dashboard-kicker{color:#4ed1ff;font-size:10px;letter-spacing:.16em}.dashboard-hero-copy h3{margin:7px 0;color:#eef8ff;font-size:22px;font-weight:500}.dashboard-hero-copy p{margin:0;color:#849bb6;font-size:13px;line-height:1.6}.progress-line{height:5px;margin-top:15px;border-radius:5px;background:#6085b133;overflow:hidden}.progress-line i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#4dd8cf,#4cbaff);transition:width .6s}.progress-steps{display:flex;justify-content:space-between;margin-top:8px;color:#6684a2;font-size:10px}.dashboard-total{text-align:right}.dashboard-total span{display:block;color:#7d96b2;font-size:12px}.dashboard-total strong{color:#f1fbff;font-size:42px;font-weight:400}.dashboard-total small{color:#6d8ba7}.dashboard-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px}.radar-card,.insight-card{min-height:300px}.radar-wrap{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:12px}.radar-wrap svg{width:min(100%,320px);height:250px;overflow:visible}.radar-grid{fill:none;stroke:#709fcb33;stroke-width:1}.radar-axis{stroke:#709fcb29;stroke-width:1}.radar-wrap text{fill:#7893af;font-size:11px}.radar-target{fill:#4b95e114;stroke:#4778b2;stroke-width:1;stroke-dasharray:3 3}.radar-value{fill:#35d7cf3d;stroke:#4dd8cf;stroke-width:2}.radar-center{fill:#dff;filter:drop-shadow(0 0 5px #4dd8cf)}.radar-legend{display:flex;flex-direction:column;gap:8px;color:#7893af;font-size:11px}.legend-dot{width:7px;height:7px;display:inline-block;margin-right:6px;border-radius:50%}.legend-dot.cyan{background:#4dd8cf}.legend-dot.blue{background:#4778b2}.insight-list{display:flex;flex-direction:column}.insight-row{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid rgba(100,145,207,.12);font-size:13px}.insight-row b{color:#8da7c1;white-space:nowrap;font-weight:500}.insight-row span{text-align:right;color:#d9e9f8;line-height:1.5}@media (max-width:800px){.dashboard-hero{grid-template-columns:100px 1fr;gap:14px;padding:16px}.dashboard-total{grid-column:2;text-align:left}.dashboard-grid{grid-template-columns:1fr}.progress-ring{width:90px;height:90px}.progress-ring strong{font-size:21px}}.brand-mark-svg{display:block;width:100%;height:100%;overflow:visible}.brand-cube{stroke-width:1.65;filter:drop-shadow(0 0 4px rgba(102,224,211,.45))}.brand-cube-inner{stroke:#a4f2e9;stroke-width:1.05;opacity:.58}.brand-orbit{transform-box:fill-box;transform-origin:center;animation:brandOrbitSpin 10s linear infinite}.brand-orbit ellipse{stroke:#9bf6ecd6;stroke-width:1.05;stroke-dasharray:2 4}.brand-orbit ellipse:nth-child(2){stroke:#8dc6ff;stroke-dasharray:1 5;opacity:.72}.brand-orbit-node{fill:#d8fff8;filter:drop-shadow(0 0 5px #7ee8dc);animation:brandNodePulse 2.8s ease-in-out infinite}@keyframes brandOrbitSpin{to{transform:rotate(360deg)}}@keyframes brandNodePulse{0%,to{opacity:.55;transform:scale(.72);transform-origin:61px 25px}50%{opacity:1;transform:scale(1.18);transform-origin:61px 25px}}:root{--ink:#e8f3ff;--muted:#7f91ad;--line:rgba(122,159,208,.2);--bg:#060a12;--panel:#0c1322;--blue:#42b9ff;--teal:#62e3d1}html,body{background:#060a12;color:var(--ink)}body[data-space=portal] #app{background:radial-gradient(circle at 72% 28%,rgba(31,55,129,.34),transparent 35%),linear-gradient(135deg,#050810,#090f21 62%,#071420);padding:0;gap:0}body[data-space=portal] .mission-bar{border:0;border-bottom:1px solid rgba(103,151,213,.18);border-radius:0;min-height:68px;padding:12px 3vw;background:#040810d1;box-shadow:none}body[data-space=portal] .brand-lockup h1{color:#e8f3ff;font-size:15px;letter-spacing:.08em;text-transform:uppercase}body[data-space=portal] .brand-lockup .eyebrow{color:#77a0c4;font-size:10px}body[data-space=portal] .portal-screen{border:0;border-radius:0;background:transparent;box-shadow:none;padding:clamp(48px,9vh,110px) 8vw 30px}body[data-space=portal] .portal-center{display:block;width:min(980px,100%);margin:0 auto}body[data-space=portal] .portal-copy{text-align:left;max-width:900px}body[data-space=portal] .portal-copy .eyebrow{color:#39c9ff;font-size:13px;letter-spacing:.2em}body[data-space=portal] .portal-copy h2{font-family:Georgia,Songti SC,serif;color:#f1f5ff;font-size:clamp(48px,7vw,92px);font-weight:500;letter-spacing:-.06em;line-height:1.08;margin:16px 0 20px}body[data-space=portal] .portal-copy h2 em{color:#42cfff;text-shadow:0 0 24px rgba(66,207,255,.32)}body[data-space=portal] .portal-copy p:last-child{color:#889bb7;font-size:17px;max-width:650px}body[data-space=portal] .home-composer{margin-top:38px;max-width:870px;border:1px solid rgba(76,161,234,.36);border-radius:12px;background:#07101fc7;box-shadow:0 24px 90px #00000057}body[data-space=portal] .home-composer textarea{min-height:170px;color:#eef6ff;font-size:18px}body[data-space=portal] .home-composer-footer{border-color:#5d8bc62e}body[data-space=portal] .home-chips button{background:transparent;border-color:#4fb0eb4d;color:#8bb6d8}body[data-space=portal] .home-send{background:linear-gradient(135deg,#2e9bff,#55c8ff);border-radius:7px;min-width:82px}body[data-space=portal] .portal-topline,body[data-space=portal] .portal-footer{color:#6783a5}body[data-space=portal] .portal-footer{border-color:#5d8bc633}body[data-space=portal] .crystal-field{opacity:.45}body[data-space=portal] .mission-status{border-left-color:#35baff}body[data-space=portal] .mission-status strong{color:#dcecff}body[data-space=portal] .identity-console .secondary-action{background:transparent;border-color:#6f9ed93d;color:#a8c3e1}.global-nav{display:flex;align-items:center;gap:18px;margin-top:8px}.global-nav a{color:#91a8c5;text-decoration:none;font-size:13px}.global-nav a:hover{color:#55d4ff}.engine-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(95,158,224,.35);border-radius:18px;color:#a5c9e8;font-size:11px;letter-spacing:.12em}.engine-pill i{width:7px;height:7px;border-radius:50%;background:#75e65f;box-shadow:0 0 10px #75e65f}.next-question-chip{display:block;margin-top:10px;width:100%;padding:10px 12px;border:1px solid rgba(77,212,205,.35);border-radius:10px;background:#3aaeb21a;color:#a8eee6;text-align:left;line-height:1.45;cursor:pointer}.next-question-chip:hover{background:#3aaeb238;border-color:#5de0d4;color:#efffff}.admin-card:has(#change-password),.admin-card:has(#api-key){display:none!important}body[data-page=reports] #app{padding:0;display:block;background:#060a12}body[data-page=reports] #reports-screen{display:block!important;min-height:100svh}.reports-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100svh;background:radial-gradient(circle at 72% 8%,rgba(30,51,115,.32),transparent 35%),#060a12}.reports-sidebar{display:flex;flex-direction:column;gap:10px;padding:28px 20px;border-right:1px solid rgba(106,145,204,.17);background:#050a13bf}.reports-brand{color:#e8f3ff;text-decoration:none;font-weight:800;letter-spacing:.14em}.reports-brand:first-letter{color:#54d9ff}.reports-eyebrow{margin:22px 0 4px;color:#49c8ff;font-size:11px;letter-spacing:.18em;font-weight:800}.reports-sidebar>a:not(.reports-brand){padding:11px 12px;border-radius:8px;color:#8094b0;text-decoration:none}.reports-sidebar>a.active,.reports-sidebar>a:hover{background:#2f9ce11f;color:#e7f5ff}.reports-sidebar-foot{margin-top:auto;color:#7087a6;font-size:12px}.reports-main{padding:42px clamp(24px,5vw,70px)}.reports-topbar{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid rgba(106,145,204,.17);padding-bottom:26px}.reports-topbar h2{margin:5px 0;color:#edf6ff;font-size:38px;font-weight:500}.reports-topbar p{color:#7f93b0}.report-back{border:1px solid rgba(72,176,235,.4);border-radius:7px;padding:11px 15px;color:#94d8ff;text-decoration:none}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.report-metrics>div,.report-card{border:1px solid rgba(100,145,207,.2);background:#0c1424d1;box-shadow:0 18px 50px #0000002e}.report-metrics>div{padding:18px;border-radius:9px}.report-metrics span,.report-card-head span{display:block;color:#7187a7;font-size:12px}.report-metrics strong{display:block;margin-top:8px;color:#e9f5ff;font-size:27px;font-weight:500}.reports-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:16px}.report-card{border-radius:10px;padding:20px}.report-card-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(100,145,207,.15);padding-bottom:14px}.report-card h3{margin:0;color:#e8f3ff;font-size:18px;font-weight:500}.report-events{display:flex;flex-direction:column}.report-event{display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:start;padding:16px 0;border-bottom:1px solid rgba(100,145,207,.11)}.report-event-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#4ed1ff;box-shadow:0 0 12px #4ed1ff}.report-event strong{color:#dcecff;font-size:14px}.report-event p{margin:5px 0 0;color:#7187a7;font-size:12px}.report-event time{color:#607898;font-size:11px}.report-empty{padding:36px 0;color:#7187a7}.evidence-summary{margin-top:18px;padding:16px;border-left:2px solid #4bd7ce;background:#369db314}.evidence-summary strong{color:#b6f7ea}.evidence-summary p{color:#7f96b4;line-height:1.7}.report-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.report-tags span{padding:7px 10px;border:1px solid rgba(75,201,255,.28);border-radius:20px;color:#8edaff;font-size:12px}@media (max-width:800px){.reports-shell{grid-template-columns:1fr}.reports-sidebar{position:static;flex-direction:row;align-items:center;flex-wrap:wrap;border-right:0;border-bottom:1px solid rgba(106,145,204,.17);padding:16px}.reports-sidebar .reports-eyebrow,.reports-sidebar-foot{display:none}.reports-main{padding:26px 16px}.reports-topbar{align-items:flex-start;gap:16px;flex-direction:column}.report-metrics{grid-template-columns:repeat(2,1fr)}.reports-grid{grid-template-columns:1fr}}@media (max-width:900px){.brand-mark,body[data-space=portal] .brand-mark{width:46px;height:46px}}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width:600px){.mission-bar,body[data-space=portal] .mission-bar{grid-template-columns:minmax(0,1fr);gap:10px}.brand-lockup h1{font-size:16px;white-space:normal;letter-spacing:0}.brand-lockup>div{min-width:0}.brand-lockup .eyebrow{font-size:10px;letter-spacing:0}.identity-console{flex-wrap:wrap;justify-content:flex-end}.identity-console button{white-space:nowrap}.scene-toolbar{flex-direction:column;align-items:stretch;gap:10px}.scene-toolbar h2{font-size:17px}.scene-toggles{gap:5px}.scene-toggles .tool-button{padding:7px 9px}.chat-window-actions .live-indicator{display:none!important}body:not([data-space=portal]) .scene-precision{flex-wrap:wrap;gap:5px;white-space:normal;font-size:11px;bottom:60px;overflow:hidden}}body:not([data-space=portal]) .teacher-chat{display:flex;flex-direction:column;min-height:0}body:not([data-space=portal]) .chat-heading{flex:none}body:not([data-space=portal]) .chat-context{flex:none;max-height:38%;overflow-y:auto;overflow-x:hidden}body:not([data-space=portal]) .chat-messages{flex:1;min-height:120px;overflow-y:auto}body:not([data-space=portal]) .chat-form{flex:none;position:sticky;bottom:0;background:#101f29;z-index:10}body:not([data-space=portal]) .chat-status{flex:none;background:#101f29}.evidence-details-body{height:190px;max-height:190px;overflow-y:auto;overflow-x:hidden;background:#102a35}body:not([data-space=portal]) .evidence-details[open]{position:relative;z-index:8;background:#102a35}body:not([data-space=portal]) .evidence-details-body{height:170px;max-height:170px;grid-template-columns:1fr}
