:root{--navy:#142a41;--ink:#1c3045;--muted:#7e8b9b;--line:#e3e9ee;--blue:#246a94;--teal:#188c96;--bg:#f2f5f8;--amber:#d6a253;--green:#298f72;--red:#c56053}*{box-sizing:border-box}body{margin:0;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-size:14px;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{cursor:not-allowed;opacity:.4}button,input,textarea,select{outline:none}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #70bec9;outline-offset:2px}button,a{touch-action:manipulation}svg.icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{transition:background .16s,transform .16s}button:hover{background:#eaf0f4}button:active{transform:translateY(1px)}h1,h2,h3,p{margin:0}small{font-size:12px}a{color:var(--blue)}.shell{display:flex;min-height:100vh}.rail{width:82px;background:var(--navy);color:#a0b1c1;position:fixed;inset:0 auto 0 0;z-index:30;display:flex;flex-direction:column;align-items:center;padding:27px 10px 18px}.brand-symbol{color:#fff;font-size:25px;letter-spacing:-3px;font-weight:750;margin-bottom:40px;border:1px solid #627485;border-radius:10px;padding:8px 9px 8px 5px}.brand-symbol i{font-style:normal;color:#55bac0}.rail-nav{display:flex;flex-direction:column;gap:14px;width:100%}.rail-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:13px 4px;border-radius:9px;font-size:11px;color:#aab9c7;white-space:nowrap}.rail-btn svg{width:21px;height:21px}.rail-btn:hover,.rail-btn.active{background:#294359;color:#fff}.rail-btn.active:before{content:"";position:absolute;left:0;height:25px;width:3px;background:#58bcc3;border-radius:0 4px 4px 0}.rail-bottom{margin-top:auto;display:flex;flex-direction:column;gap:12px;align-items:center}.avatar{width:32px;height:32px;border-radius:50%;background:#d7e7ed;color:#24475a;display:grid;place-items:center;font-size:13px}.workspace{margin-left:82px;width:calc(100% - 82px);min-width:0}.topbar{height:78px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.wordmark{font-weight:650;font-size:16px;letter-spacing:.5px}.wordmark small{display:block;font-weight:400;font-size:10px;letter-spacing:2px;color:#92a0ad;margin-top:6px}.topright{display:flex;align-items:center;gap:22px;color:#6e8191;font-size:12px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4aaf94;margin-right:7px}.icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:white}.home-content{max-width:1500px;margin:auto;padding:32px 40px 26px}.section-eyebrow{color:var(--teal);font-size:10px;font-weight:650;letter-spacing:2.4px;display:flex;align-items:center;gap:9px}.section-eyebrow:before{content:"";width:22px;height:1px;background:currentColor}.welcome{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.welcome h1{font-size:27px;font-weight:620;letter-spacing:1px;margin:9px 0}.welcome p{color:#8591a0;font-size:13px}.tiny-date{font-size:11px;letter-spacing:1.3px;color:#8d98a4}.hero{height:310px;display:grid;grid-template-columns:44% 56%;background:#182d43;border-radius:14px;overflow:hidden;color:white;position:relative}.hero-copy{z-index:2;padding:36px 36px;background:linear-gradient(90deg,#182d43 82%,transparent);pointer-events:none}.hero-copy .eyebrow{color:#82acbd;font-size:10px;letter-spacing:3px}.hero h2{font-weight:500;font-size:31px;line-height:1.6;letter-spacing:2px;margin:12px 0 13px}.hero h2 span{color:#91c5cb}.hero p{font-size:12px;line-height:1.9;max-width:310px;color:#a2b7c8}.hero-tags{display:flex;gap:17px;font-size:10px;color:#bfced8;margin-top:23px;letter-spacing:.5px}.hero-tags span{display:flex;align-items:center;gap:6px}.hero-tags i{width:4px;height:4px;background:#6fc4c8}.hero-viewport{position:relative;min-width:0;height:100%}.hero-viewport:after{content:"三维场景 · 拖动探索";position:absolute;bottom:21px;right:26px;color:#8098ac;font-size:10px;letter-spacing:1px;pointer-events:none}.cards-heading{display:flex;justify-content:space-between;align-items:center;margin:29px 0 16px}.cards-heading h2{font-size:17px;font-weight:600}.cards-heading span{color:#8a99a6;font-size:11px}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.project-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:23px 26px;position:relative}.project-card:before{content:"";position:absolute;top:0;left:26px;width:40px;height:3px;background:var(--accent)}.project-top{display:flex;align-items:center;gap:14px;margin-bottom:17px}.project-icon{width:48px;height:48px;border-radius:10px;display:grid;place-items:center;background:#edf3f5;color:var(--accent)}.project-icon svg{width:30px;height:30px}.project-title h3{font-size:18px;font-weight:600;margin:6px 0}.project-title span{font-size:9px;color:#8b97a4;letter-spacing:1.7px}.pill{font-size:10px;display:inline-flex;gap:5px;align-items:center;border-radius:4px;padding:4px 7px;background:#edf5f4;color:#558d87}.project-top>.pill{margin-left:auto}.project-card p{font-size:12px;color:#8b97a5}.flow-steps{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:19px 0;font-size:11px;color:#637588}.flow-steps b{font-weight:400;color:#c1c9d1}.project-bottom{padding-top:15px;border-top:1px solid #eef1f4;display:flex;justify-content:space-between;align-items:center}.duration{font-size:11px;color:#8a96a3;display:flex;gap:7px;align-items:center}.duration svg{width:14px;height:14px}.btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid var(--line);padding:10px 15px;border-radius:7px;background:white;font-size:12px;font-weight:500;line-height:1.3}.btn:hover{background:#eaf2f5}.btn.primary{background:var(--blue);color:white;border-color:var(--blue)}.btn.primary:hover{background:#205b7e}.btn.teal{background:var(--teal);border-color:var(--teal);color:#fff}.btn.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.small{padding:7px 10px;font-size:11px}.btn.ghost{border-color:transparent;background:transparent;color:#6c8396}.btn.danger{color:var(--red)}.full{width:100%}.progress-line{height:4px;background:#eaf0f4;border-radius:4px;overflow:hidden;margin-top:17px}.progress-line>i{display:block;height:100%;background:#61aaa8}.home-bottom{display:flex;justify-content:space-between;margin-top:25px;color:#8797a6;font-size:11px}.home-bottom button{color:#638698}.home-bottom>span{display:flex;align-items:center;gap:8px}.experiment{height:calc(100vh - 78px);display:flex;flex-direction:column;min-height:620px}.experiment-heading{background:white;padding:17px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.exp-title{display:flex;align-items:center;gap:12px;min-width:230px}.exp-title h2{font-size:16px;font-weight:600}.exp-title small{display:block;font-size:10px;color:#8c99a6;letter-spacing:.8px;margin-top:6px}.stage-trail{display:flex;align-items:center;gap:18px}.stage-node{position:relative;color:#98a3af;font-size:11px;display:flex;gap:6px;align-items:center;padding:5px 0;white-space:nowrap}.stage-node b{font-size:10px;width:22px;height:22px;display:grid;place-items:center;border:1px solid #d9e1e7;border-radius:50%;font-weight:400}.stage-node.done{color:#39967e}.stage-node.done b{background:#eef8f4;border-color:#cfe9df}.stage-node.current{color:var(--blue);font-weight:600}.stage-node.current b{background:var(--blue);color:#fff;border-color:var(--blue)}.stage-node.current:after{content:"";height:2px;background:var(--blue);position:absolute;bottom:-17px;left:0;right:0}.lab-layout{flex:1;min-height:0;display:grid;grid-template-columns:220px minmax(300px,1fr) 290px;gap:0}.panel{background:#fff;overflow:auto;min-height:0}.panel.left{border-right:1px solid var(--line)}.panel.right{border-left:1px solid var(--line)}.panel-heading{padding:20px 18px 12px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600}.panel-heading small{color:#92a0ad;font-size:10px;font-weight:400}.panel-content{padding:0 18px 20px}.search{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;margin-bottom:16px;color:#9ba9b4}.search input{border:0;background:none;width:100%;font-size:11px;min-width:0}.category{font-size:10px;font-weight:500;color:#8d9aaa;margin:17px 0 9px;letter-spacing:1px}.component-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.component{position:relative;min-height:75px;border:1px solid #e9eef2;border-radius:6px;background:#f8fafb;padding:12px 4px 8px;display:flex;flex-direction:column;align-items:center;gap:9px;font-size:10px;cursor:grab}.component svg{color:#617d90;width:25px;height:25px}.component:hover{border-color:#79b9c4;background:#eff7f8}.component>small{position:absolute;top:3px;right:5px;background:#dcecef;color:#45828c;border-radius:3px;padding:1px 4px;font-size:9px}.component .addmark{position:absolute;right:5px;bottom:5px;color:#8ba7b6}.note{font-size:11px;line-height:1.8;color:#8a99a7;padding:12px;background:#f5f8fa;border-radius:7px}.note.amber{background:#faf5e9;color:#9a814e}.scene-column{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0}.viewport{position:relative;flex:1;min-height:280px;overflow:hidden}.viewport canvas{display:block;touch-action:none}.view-top{position:absolute;top:17px;left:19px;right:19px;display:flex;justify-content:space-between;align-items:start;pointer-events:none;z-index:3;gap:8px}.scene-label{font-size:11px;color:#577285;background:#ffffffdc;backdrop-filter:blur(12px);padding:9px 11px;border-radius:6px;border:1px solid #e2e9eda0}.scene-label strong{display:block;font-size:13px;color:#324e63;margin-bottom:4px}.view-switch{display:flex;padding:3px;background:#ffffffdc;backdrop-filter:blur(10px);border:1px solid #e2e9edaa;border-radius:7px;pointer-events:auto}.view-switch button{font-size:10px;padding:6px 8px;border-radius:4px;color:#7d8e9c}.view-switch button.active{background:#e3eef3;color:#39677e}.view-bottom{position:absolute;left:17px;right:17px;bottom:15px;display:flex;align-items:end;justify-content:space-between;pointer-events:none;z-index:4;gap:8px}.key-help{font-size:10px;color:#748c9a;display:flex;flex-wrap:wrap;gap:7px;padding:8px 10px;background:#ffffffd9;border-radius:6px;line-height:1.6;max-width:80%}kbd{font:9px system-ui;border:1px solid #b8c8d1;border-radius:3px;padding:1px 4px;background:#f7fafc;color:#526d80}.axis-label{width:38px;height:38px;font-size:9px;color:#63889c;position:relative}.axis-label:before{content:"";position:absolute;left:15px;top:10px;width:18px;height:18px;border-left:1px solid #5f99bd;border-bottom:1px solid #df8568;transform:skewY(-30deg)}.axis-label span{position:absolute;top:0;left:11px}.viewport-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:white;gap:8px}.tool-group{display:flex;gap:4px}.tool{display:flex;gap:5px;align-items:center;justify-content:center;padding:7px 8px;font-size:10px;border-radius:5px;color:#718698;white-space:nowrap}.tool svg{width:15px;height:15px}.tool.active{background:#e6f1f4;color:#277f91}.tool-divider{height:19px;border-left:1px solid var(--line);margin:5px 6px}.analysis-bar{padding:13px 17px;background:#fff;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.analysis-bar>span{color:#83919d;font-size:10px;margin-right:4px}.analysis-btn{font-size:10px;display:flex;gap:5px;align-items:center;background:#f4f7f9;border:1px solid #e5ebef;padding:7px 9px;border-radius:5px}.analysis-btn.active{border-color:#94c7ce;background:#ebf6f6;color:#168892}.analysis-btn svg{width:14px;height:14px}.exp-footer{height:39px;display:flex;justify-content:space-between;align-items:center;padding:0 21px;background:#eaf0f4;color:#8293a1;font-size:10px}.exp-footer>div{display:flex;gap:20px}.task-card{background:#eff6f7;border:1px solid #ddebed;border-radius:8px;padding:14px;margin-bottom:18px}.task-card .role{font-size:10px;color:#36888f;display:flex;align-items:center;gap:5px;margin-bottom:9px}.task-card h3{font-size:14px;font-weight:600;line-height:1.6}.task-card p{font-size:11px;color:#6c8490;line-height:1.8;margin-top:7px}.counter-row{display:flex;justify-content:space-between;font-size:11px;padding:10px 0;border-bottom:1px solid #edf1f4}.counter-row>span:first-child{color:#8292a0}.counter-row b{font-weight:550;color:#405f72}.subheading{font-size:12px;font-weight:600;margin:20px 0 12px;display:flex;justify-content:space-between;align-items:center}.empty-selection{border:1px dashed #d9e2e9;text-align:center;padding:24px 9px;border-radius:8px;font-size:11px;color:#8c9caa;line-height:1.9}.empty-selection svg{display:block;margin:0 auto 10px;color:#afbdc6;width:28px;height:28px}.props-name{font-size:12px;display:flex;align-items:center;gap:7px;color:#2c7788;margin-bottom:15px}.prop-label{font-size:10px;color:#8a9aa7;margin:12px 0 7px}.prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.prop-grid label{display:flex;align-items:center;background:#f6f8fa;border:1px solid var(--line);border-radius:4px;padding-left:7px;font-size:9px;color:#8398a5}.prop-grid input{width:100%;min-width:0;border:0;background:none;padding:8px 3px;font-size:11px;text-align:center;color:#456373}.prop-grid label:nth-child(1){border-bottom-color:#d59c87}.prop-grid label:nth-child(2){border-bottom-color:#a5bea0}.prop-grid label:nth-child(3){border-bottom-color:#8fb3c8}.checklist{list-style:none;padding:0;margin:14px 0;display:flex;flex-direction:column;gap:10px}.checklist li{display:flex;align-items:start;gap:8px;font-size:11px;color:#82919f;line-height:1.55}.check-circle{width:15px;height:15px;display:inline-grid;place-items:center;flex-shrink:0;border:1px solid #cbd8e1;border-radius:50%;font-size:9px}.checklist li.done{color:#438a7a}.checklist li.done .check-circle{background:#e6f4ed;border-color:#bdded0}.assistant-btn{width:100%;padding:13px 10px;border:1px solid #cbdfe8;border-radius:7px;color:#467990;display:flex;gap:9px;align-items:center;font-size:11px;background:linear-gradient(120deg,#f1f8fa,#fff);margin-top:14px}.assistant-btn small{margin-left:auto;font-size:9px;color:#90a7b3}.npc{display:flex;align-items:center;gap:10px;padding:12px 9px;border:1px solid transparent;border-radius:7px;text-align:left;width:100%;margin-bottom:6px}.npc.active{background:#edf5f7;border-color:#cde2e8}.npc-face{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e7edf1;color:#627b8d;font-size:14px}.npc span strong{display:block;font-size:11px;font-weight:500}.npc span small{display:block;font-size:9px;color:#92a1ad;margin-top:4px}.npc .done-badge{margin-left:auto;color:#4f9b83;font-size:12px}.meeting-dialog{position:absolute;left:24px;right:24px;bottom:64px;background:#ffffffef;backdrop-filter:blur(14px);border:1px solid #e3e9ec;box-shadow:0 12px 50px #1b3b5215;border-radius:12px;padding:20px 23px;z-index:8;max-height:65%;overflow:auto}.dialog-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.dialog-header strong{font-size:12px}.dialog-header span{font-size:10px;color:#8197a5;margin-left:auto}.meeting-dialog h3{font-size:14px;line-height:1.8;font-weight:550;margin-bottom:13px}.answers{display:flex;flex-direction:column;gap:7px}.answer{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #e0e8ed;border-radius:6px;background:#fff;font-size:11px;padding:10px 12px;line-height:1.6}.answer>b{font-size:10px;border-radius:4px;background:#f0f4f7;padding:2px 6px;color:#748e9f}.answer.correct{background:#edf8f1;border-color:#98c7b2}.answer.wrong{background:#fcf0ed;border-color:#ddb1a9}.feedback{font-size:11px;line-height:1.85;color:#4c8777;background:#eaf6ef;padding:11px 13px;margin-top:11px;border-radius:6px}.feedback.warn{color:#9a7059;background:#faf2e9}.issues{display:flex;flex-direction:column;gap:8px;margin-top:12px}.issue{font-size:11px;line-height:1.7;padding:9px 11px;background:#fff6e7;border-left:2px solid #d7ae60;border-radius:4px;cursor:pointer;color:#8e7a58}.issue.error{background:#fcf0ed;border-color:#d47c69;color:#a56a5e}.issue.ok{background:#edf7f3;border-color:#58aa90;color:#4b927d}.review-tabs{display:flex;gap:5px;margin-bottom:13px}.review-tabs button{flex:1;font-size:10px;padding:8px 4px;border-radius:5px;background:#f2f5f7}.review-tabs button.active{background:#dfeef2;color:#237a8c}.scheme{display:flex;align-items:center;width:100%;gap:12px;padding:13px 10px;border:1px solid var(--line);border-radius:7px;margin-bottom:10px;text-align:left}.scheme.active{background:#edf6f7;border-color:#8bbfc9}.scheme .letter{width:30px;height:30px;display:grid;place-items:center;background:#ecf0f4;border-radius:6px;font-size:15px;color:#698393}.scheme strong{display:block;font-size:11px;font-weight:500}.scheme small{display:block;font-size:9px;color:#8ba0ab;margin-top:5px}.star-row{padding:10px 0;border-bottom:1px solid #edf1f4;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#748b9b}.stars{display:flex;gap:1px}.stars button{font-size:19px;color:#d4dde3;padding:0 1px;line-height:1}.stars button.on{color:#ddb057}.checkbox-list{display:flex;flex-direction:column;gap:9px;font-size:11px;color:#7c8f9e}.checkbox-list label{display:flex;gap:6px;align-items:center;line-height:1.6}.checkbox-list input{accent-color:var(--teal)}.recommend{width:100%;background:#f4f7f9;border:1px solid var(--line);padding:9px;border-radius:6px;font-size:11px;color:#537085;margin:12px 0}.task-item{display:flex;align-items:center;gap:8px;padding:9px 8px;font-size:11px;color:#91a0aa;border-radius:5px;line-height:1.5}.task-item.current{background:#eaf4f6;color:#377f8e}.task-item.done{color:#4e927c}.task-item b{font-weight:400;font-size:9px;border:1px solid #d5e1e7;border-radius:50%;width:19px;height:19px;display:grid;place-items:center;flex-shrink:0}.experience-banner{position:absolute;top:71px;left:19px;right:19px;display:flex;gap:10px;align-items:center;z-index:6;background:#183b50e8;color:#d9edf4;border-radius:7px;padding:12px 15px;font-size:12px}.experience-banner>svg{color:#68c5c9}.experience-banner small{display:block;color:#8fb4c5;font-size:10px;margin-top:5px;line-height:1.7}.crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;border:1px solid #fff;border-radius:50%;pointer-events:none;box-shadow:0 0 5px #536d80}.report-page{padding:26px 32px;overflow:auto;flex:1}.report-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.report-top h2{font-size:23px;font-weight:550;margin:8px 0}.report-top p{color:#8797a4;font-size:12px}.report-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.report-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}.report-card h3{font-size:13px;font-weight:600;margin-bottom:19px}.score-card{background:var(--navy);color:#fff;position:relative}.score-card h3{color:#b6cad8}.score-big{font-size:62px;font-weight:400;margin:20px 0 8px;letter-spacing:-2px}.score-big small{font-size:20px;color:#7f9eb2;letter-spacing:0}.score-card p{font-size:11px;line-height:1.8;color:#96b1c3}.score-badge{display:inline-block;font-size:10px;color:#acd0c9;padding:5px 9px;border:1px solid #547b7f;border-radius:4px;margin:12px 0 8px}.score-row{margin:16px 0;display:grid;grid-template-columns:70px 1fr 27px;align-items:center;gap:8px;font-size:11px;color:#78909f}.score-track{background:#edf2f5;height:6px;border-radius:4px;overflow:hidden}.score-track i{display:block;height:100%;background:#609cad;border-radius:4px}.score-row b{text-align:right;color:#385e74;font-weight:500}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.metric strong{font-size:23px;font-weight:500;display:block;color:#3a6579}.metric small{color:#8fa0ae;display:block;font-size:10px;margin-top:7px}.span2{grid-column:span 2}.report-card textarea{width:100%;height:115px;resize:vertical;padding:12px;line-height:1.8;font-size:12px;border:1px solid var(--line);border-radius:6px;background:#f8fafb}.radar{width:100%;max-height:220px}.report-actions{margin:20px 0;display:flex;gap:10px;justify-content:flex-end}.records-page,.knowledge-page{max-width:1250px;margin:auto;padding:36px 40px}.page-heading{margin-bottom:27px;display:flex;align-items:center;justify-content:space-between}.page-heading h1{font-size:24px;font-weight:550}.page-heading p{font-size:12px;color:#889ba8;margin-top:9px}.records-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-size:12px}.records-table th{text-align:left;background:#f7f9fb;color:#8395a3;font-size:11px;font-weight:500;padding:15px}.records-table td{padding:18px 15px;border-bottom:1px solid var(--line)}.knowledge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.knowledge-card{padding:23px;background:#fff;border:1px solid var(--line);border-radius:8px}.knowledge-card small{color:#8ca8b8;font-size:10px}.knowledge-card h3{font-size:15px;font-weight:550;margin:12px 0}.knowledge-card p{color:#8597a6;font-size:12px;line-height:1.9}.modal-backdrop{position:fixed;inset:0;background:#10283d70;backdrop-filter:blur(6px);z-index:100;display:flex;align-items:center;justify-content:center;padding:28px}.modal{width:560px;max-width:96vw;max-height:88vh;overflow:auto;border-radius:12px;background:white;box-shadow:0 30px 100px #091e3e44}.modal.wide{width:750px}.modal-header{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:16px;font-weight:550}.modal-body{padding:24px;font-size:12px;line-height:1.9}.modal-body>p{color:#7a8fa0;margin-bottom:17px}.modal-footer{padding:17px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}.modal-body .form-label{display:block;font-size:11px;color:#78909e;margin:17px 0 7px}.text-input{border:1px solid var(--line);border-radius:6px;background:#f7fafb;padding:10px;width:100%;color:#456b80}.key-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.key-grid>div{display:flex;gap:10px;align-items:center;font-size:11px;color:#7e92a0}.key-grid kbd{min-width:65px;text-align:center;padding:5px}.hint-levels{display:flex;gap:7px;margin:18px 0}.hint-levels button{flex:1;font-size:11px;padding:10px 5px;background:#eef4f7;border:1px solid #deeaef;border-radius:5px}.hint-levels button.active{background:#247c92;color:white;border-color:#247c92}.hint-content{padding:20px;background:#f0f7f7;border:1px solid #d4e9e8;border-radius:8px;color:#4c7e84;font-size:13px;line-height:2}.hint-question{display:flex;gap:8px;margin:16px 0}.hint-question input{min-width:0;flex:1}.toast{opacity:1}#toast{position:fixed;bottom:27px;left:50%;transform:translateX(-50%) translateY(15px);max-width:90vw;padding:13px 23px;background:#1a3a4fee;color:#e3f1f5;border-radius:8px;z-index:150;font-size:12px;box-shadow:0 5px 25px #243e4826;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;line-height:1.8}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.step-complete{display:flex;align-items:center;gap:8px;color:#3f927c;padding:10px 0;font-size:12px}.loading-error{padding:30px;color:#516c7d;font-size:13px;line-height:1.8}.flow-status{position:absolute;top:75px;left:19px;z-index:7;background:#fffef0e6;border:1px solid #e2dab0;border-radius:7px;font-size:11px;color:#8b7b4d;padding:10px 13px}.tutorial-instruction{padding:15px;background:#eef7f7;border:1px solid #cfe4e7;border-radius:7px;line-height:1.9;font-size:12px;color:#477f8c}.file-input{display:none}.mode-badge{font-size:9px;letter-spacing:.4px;color:#7f929f;border:1px solid #dce6eb;padding:4px 7px;border-radius:4px}.mark-note{background:#fff5e8;border:1px solid #eddbbb;border-radius:6px;font-size:11px;line-height:1.7;padding:11px;color:#9c7b4d}.text-link{font-size:11px;color:#337b92;text-decoration:underline;text-underline-offset:3px}.flex{display:flex;gap:8px;align-items:center}.mt{margin-top:15px}.muted{color:#8b9fac}.no-webgl{position:absolute;inset:0;display:grid;place-items:center;padding:30px;background:#eef4f6;text-align:center}.no-webgl p{max-width:400px;font-size:12px;line-height:1.9}.training-progress{height:5px;border-radius:5px;background:#e6eef2;margin:15px 0}.training-progress i{display:block;height:100%;background:#52a7ab;border-radius:5px}canvas{outline:none}
@media(min-width:1650px){.lab-layout{grid-template-columns:246px minmax(400px,1fr) 318px}.panel-heading{padding:22px}.panel-content{padding:0 22px 22px}.component{min-height:85px;font-size:11px}.hero{height:350px}.hero-copy{padding:45px}.hero h2{font-size:35px}.home-content{padding-top:40px}.project-card{padding:28px}.topbar{height:84px}.experiment{height:calc(100vh - 84px)}}
@media(max-width:1250px){.stage-trail{gap:8px}.stage-node{font-size:10px;gap:4px}.exp-title{min-width:180px}.exp-title h2{font-size:13px}.lab-layout{grid-template-columns:186px minmax(260px,1fr) 253px}.panel-heading{padding:16px 13px 12px}.panel-content{padding:0 13px 16px}.topbar{padding:0 24px}.home-content{padding:27px}.hero-copy{padding:30px}.hero h2{font-size:26px}.project-title h3{font-size:15px}.project-card{padding:23px 20px}.tool{font-size:9px;padding:7px 5px}.analysis-btn{font-size:9px;padding:7px}.report-grid{gap:13px}.report-card{padding:17px}}
@media(max-width:1000px){.rail{width:65px}.workspace{margin-left:65px;width:calc(100% - 65px)}.wordmark{font-size:14px}.topright{gap:10px}.topright>span:first-child{display:none}.stage-node span{display:none}.exp-title{min-width:160px}.lab-layout{grid-template-columns:158px minmax(260px,1fr) 228px}.panel-content{padding:0 10px 14px}.component-list{gap:5px}.component{font-size:9px}.view-switch button{font-size:9px;padding:6px}.scene-label{font-size:9px}.scene-label strong{font-size:11px}.view-top{left:10px;right:10px}.hero{grid-template-columns:48% 52%}.hero h2{font-size:23px}.hero-copy{padding:28px}.hero-tags{gap:10px;font-size:9px}.project-top{gap:9px}.project-top>.pill{display:none}.project-title h3{font-size:14px}.flow-steps{font-size:10px}.report-grid{grid-template-columns:1fr 1fr}.report-card.span2{grid-column:span 2}.report-card:nth-child(3){grid-column:span 2}.knowledge-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.rail{width:56px;padding-left:4px;padding-right:4px}.brand-symbol{font-size:20px}.rail-btn{font-size:9px}.workspace{margin-left:56px;width:calc(100% - 56px)}.topbar{height:65px;padding:0 15px}.wordmark{font-size:12px}.wordmark small{font-size:8px}.topright>.mode-badge,.topright>.user-name{display:none}.home-content{padding:23px 17px}.welcome h1{font-size:22px}.tiny-date{display:none}.hero{height:405px;grid-template-columns:1fr;grid-template-rows:210px 195px}.hero-copy{padding:23px}.hero h2{font-size:23px;line-height:1.5;margin:10px 0}.hero p{font-size:11px;max-width:none}.hero-tags{margin-top:10px}.hero-viewport{height:195px}.projects-grid{grid-template-columns:1fr}.project-title h3{font-size:15px}.project-top>.pill{display:block}.home-bottom{gap:15px;line-height:1.9;align-items:start}.home-bottom>span{max-width:65%}.experiment{height:auto;min-height:calc(100vh - 65px)}.experiment-heading{padding:13px 10px;flex-direction:column;align-items:stretch;gap:13px}.exp-title h2{font-size:14px}.stage-trail{justify-content:space-between}.stage-node span{display:block;font-size:9px}.stage-node b{width:18px;height:18px;font-size:9px}.stage-node{gap:3px}.stage-node.current:after{bottom:-7px}.lab-layout{display:flex;flex-wrap:wrap}.panel.left{width:100%;max-height:210px;order:2;border-bottom:1px solid var(--line);border-right:0}.panel.left .panel-heading{padding:12px}.panel.left .component-list{grid-template-columns:repeat(4,1fr)}.panel.left .component{min-height:60px}.panel.left .category{margin:10px 0 7px}.panel.left .npc{width:auto;display:inline-flex;margin:0}.panel.left .npc-face{width:26px;height:26px}.scene-column{width:100%;height:520px;order:1}.viewport{min-height:300px}.panel.right{order:3;width:100%;border-left:0;max-height:none}.exp-footer{display:none}.view-top{top:12px}.meeting-dialog{left:12px;right:12px;bottom:55px;padding:15px;max-height:73%}.meeting-dialog h3{font-size:12px}.answer{font-size:11px;padding:8px}.viewport-toolbar{padding:8px 10px}.analysis-bar{padding:10px;gap:5px}.analysis-btn{font-size:10px}.report-page{padding:20px 14px}.report-grid{grid-template-columns:1fr}.report-card,.report-card.span2,.report-card:nth-child(3){grid-column:span 1}.report-top{gap:12px;align-items:start}.report-top h2{font-size:19px}.report-actions{flex-wrap:wrap}.report-actions .btn{font-size:11px}.records-page,.knowledge-page{padding:25px 17px}.records-table{font-size:10px}.records-table td,.records-table th{padding:12px 7px}.records-table th:nth-child(3),.records-table td:nth-child(3){display:none}.knowledge-grid{grid-template-columns:1fr}.modal-backdrop{padding:15px}.modal-header{padding:17px}.modal-body{padding:18px}.modal-footer{padding:15px}.key-grid{gap:10px}.key-grid>div{font-size:10px}.key-grid kbd{min-width:53px}.page-heading{gap:10px}.page-heading h1{font-size:20px}.experience-banner{top:64px;font-size:11px}}
@media print{.rail,.topbar,.experiment-heading,.report-actions,.exp-footer,.btn{display:none!important}.workspace{margin:0;width:100%}.experiment{height:auto}.report-page{overflow:visible;padding:0}.report-grid{display:block}.report-card{break-inside:avoid;margin-bottom:15px}.score-card{background:#fff;color:#234}.score-card h3,.score-card p{color:#567}.modal-backdrop{display:none}}

.night-shade,.rain-layer,.warning-shade{position:absolute;inset:0;pointer-events:none;z-index:2}.night-shade{background:#05152577}.rain-layer{opacity:.45;background:repeating-linear-gradient(115deg,transparent 0px,transparent 32px,#b5d8e950 33px,transparent 35px,transparent 71px);background-size:130px 180px;animation:rain 1s linear infinite}.warning-shade{box-shadow:inset 0 0 100px #cf604b66;animation:alert 1.3s ease-in-out infinite}@keyframes rain{to{background-position:-65px 180px}}@keyframes alert{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.rain-layer,.warning-shade{animation:none}}

[hidden]{display:none!important}@media(min-width:1251px){.component,.task-item,.counter-row,.checkbox-list,.star-row,.note,.task-card p,.props-name{font-size:12px}.stage-node{font-size:12px}.prop-grid input{font-size:12px}}
/* V2: legible guidance, evidence and review workflows */
.mode-badge{white-space:nowrap}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{min-width:0}.project-title h3{font-size:18px}.project-bottom{align-items:flex-start;gap:12px;flex-wrap:wrap}.project-bottom .duration{font-size:12px}.project-card .flow-steps{flex-wrap:wrap;gap:5px}.panel-content{font-size:13px}.panel select,.modal select{max-width:100%;width:100%;min-height:35px;border:1px solid #cedbe3;border-radius:6px;padding:7px;color:#263e54;background:#fff;font:inherit}.panel .text-input{width:100%;resize:vertical;min-height:64px}.form-label{display:block;font-size:12px;line-height:1.5;margin:14px 0 6px;color:#4c6577}.placement-guide{padding:12px;border-left:3px solid #4d9dba;border-radius:4px;background:#eef6f9;margin:10px 0;font-size:12px;line-height:1.65}.placement-guide b,.placement-guide span{display:block}.placement-guide p{margin:6px 0}.placement-guide .btn{margin:3px}.trial-gate{padding:13px;background:#fff7e7;border:1px solid #ead7af;border-radius:8px;font-size:12px;line-height:1.65}.trial-gate.done{background:#edf7f1;border-color:#b5d6c2}.trial-gate p{margin:5px 0 10px}.stars button:disabled{opacity:.3;cursor:not-allowed}.star-row{gap:6px}.star-row>span{font-size:12px}.scheme strong{font-size:12px;line-height:1.6}.scheme .letter{flex-shrink:0}.scheme small{font-size:12px}.analysis-bar{flex-wrap:wrap;gap:6px;min-height:48px;padding:9px 12px}.analysis-bar .btn{font-size:12px}.analysis-legend{position:absolute;left:16px;top:85px;max-width:350px;background:#ffffffed;color:#25445a;border:1px solid #bad1df;padding:12px 14px;border-radius:9px;z-index:6;font-size:12px;line-height:1.75;pointer-events:none;box-shadow:0 4px 18px #213d4d16}.blue-dot,.gold-dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;background:#409cce}.gold-dot{background:#e4b549}.target-tag{position:absolute;z-index:12;transform:translate(-50%,-100%);border:2px solid #429aaa;background:#19394fe8;color:#fff;padding:9px 13px;border-radius:9px;box-shadow:0 0 0 5px #51a5b433;white-space:normal;width:210px;max-width:80%;font-size:13px;line-height:1.5;cursor:pointer}.target-tag:after{content:'';position:absolute;bottom:-12px;left:calc(50% - 8px);border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid #429aaa}.target-tag.ready{border-color:#5ce7ba;background:#15534ee8;box-shadow:0 0 0 5px #59e9bc2b}.experience-banner{pointer-events:none;max-width:calc(100% - 32px);bottom:65px}.experience-banner small{font-size:12px;line-height:1.6}.view-top{gap:8px;flex-wrap:wrap}.view-switch{display:flex;flex-wrap:wrap;max-width:100%;gap:3px}.view-switch .btn{font-size:12px;padding:6px 8px}.scene-label{max-width:310px;font-size:12px}.condition-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.condition-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.condition-shade{position:absolute;inset:0;pointer-events:none;z-index:3}.condition-shade.is-night{background:#06192b7a;mix-blend-mode:multiply}.condition-shade.is-rain{background-image:repeating-linear-gradient(105deg,transparent 0 28px,#a4d0db55 29px 30px,transparent 31px 48px)}.condition-shade.is-dust{background:#be9e5560}.ledger-item{border:1px solid #dae5ea;border-left:3px solid #d8a452;border-radius:7px;padding:14px;margin:12px 0;background:#fff;font-size:13px;line-height:1.7}.ledger-item>div:first-child{display:flex;justify-content:space-between;gap:12px}.ledger-item p{margin:8px 0;white-space:pre-wrap}.ledger-item small{font-size:12px;color:#708593}.ledger-item.resolved{border-left-color:#4b9e83}.resolution{padding:8px;background:#edf6f2}.record-issue-summary{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dbe5ec;padding:12px 0}.table-scroll{overflow:auto}.priority-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fbs-row{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #e1e9ee}.fbs-row small{display:block;font-size:12px;margin-top:6px;color:#6f8392}.seat-detail-caption{position:absolute;left:20px;top:88px;z-index:9;background:#f9fcffef;padding:14px;border-radius:8px;font-size:12px;line-height:1.6;max-width:290px}.report-card p{overflow-wrap:anywhere}.evidence-thumb{max-width:100%;border-radius:7px;border:1px solid #d4e1e9;margin-top:8px}.comparison-specs{font-size:12px;line-height:1.8}.front-view-note{font-size:12px}.panel .note{font-size:12px;line-height:1.7}.btn:focus-visible,button:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #4599b5;outline-offset:2px}
@media(max-width:1500px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card:last-child{grid-column:auto}.lab-layout{grid-template-columns:235px minmax(350px,1fr) 300px}.experiment-heading{flex-wrap:wrap;gap:12px}.stage-trail{margin-left:auto}.scene-label{max-width:240px}.analysis-legend{max-width:270px;top:110px}.panel-content{padding:15px}.view-top .view-switch{max-width:240px}}
@media(max-width:1100px){.lab-layout{grid-template-columns:210px minmax(300px,1fr)}.panel.right{grid-column:1/-1;max-height:none}.panel.right .panel-content{columns:1}.scene-column{min-height:580px}.stage-trail{overflow:auto;max-width:100%;margin-left:0}.analysis-legend{max-width:260px}}
@media(max-width:760px){.projects-grid{grid-template-columns:1fr}.lab-layout{display:flex;flex-direction:column}.panel.left{max-height:340px}.scene-column{min-height:520px;height:520px}.panel.right{max-height:none}.view-top{left:10px;right:10px}.view-switch{margin-top:8px}.priority-row{grid-template-columns:1fr}.topright .mode-badge{display:none}.experience-banner{bottom:70px}.analysis-legend{top:130px;max-width:220px}.record-issue-summary{gap:12px}.project-title h3{font-size:17px}}
@media print{.ledger-item{break-inside:avoid}.report-card{break-inside:avoid}.table-scroll{overflow:visible}}
.experience-banner{top:auto;bottom:64px}.rail-btn,.btn.small,.stage-node,.prop-grid input,.task-item,.counter-row,.checkbox-list,.star-row,.component,.key-help,.exp-footer,.records-table,.view-switch button{font-size:12px}.scene-label{line-height:1.6}.stage-trail{gap:12px}.view-top{pointer-events:none}.view-switch{pointer-events:auto}.analysis-legend{max-height:165px;overflow:hidden}
@media(max-width:1100px){.experiment{height:auto;min-height:calc(100vh - 78px)}.lab-layout{flex:none;display:grid}.panel.right{overflow:visible}.panel.left{max-height:580px}.scene-column{min-height:580px;height:580px}.exp-footer{margin-top:0}}
@media(max-width:760px){.lab-layout{display:flex;flex-direction:column}.panel.left,.panel.right{width:100%;flex:auto;order:0}.panel.left{max-height:300px}.scene-column{width:100%;order:1;height:540px;min-height:540px}.panel.right{order:2}.experience-banner{top:auto;bottom:64px}.records-table th:nth-child(3),.records-table td:nth-child(3){display:table-cell}.records-page{overflow-x:auto}}

/* V2.1 supplied model references */
.model-reference-link{display:flex;justify-content:flex-end;margin-top:18px}.model-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.model-reference-grid figure{margin:0;border:1px solid #d9e3e9;border-radius:10px;overflow:hidden;background:#f3f6f8}.model-reference-grid img{width:100%;height:200px;object-fit:contain;display:block;background:#e7ecef}.model-reference-grid figcaption{padding:12px 15px;color:#29455a}.model-reference-grid p{font-size:12px;line-height:1.7;margin:5px 0 0}@media(max-width:760px){.model-reference-grid{grid-template-columns:1fr}}

/* V2.2 — UI from the three supplied student design ZIPs.
   Exact prototype foundation: white 72px header / 222px navigation / #1769e8.
   Existing interactive components, stage gates and exported report styles are retained. */
:root{--blue:#1769e8;--navy:#153857;--ink:#203c58;--muted:#71869c;--line:#dce6ef;--bg:#f3f7fb;--green:#0b9c80;--teal:#1769e8;--red:#c95148;--amber:#d79926;--sidebar-width:222px;--header-height:72px}
body{font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6;background:var(--bg);color:var(--ink)}
button,input,textarea,select{font-family:inherit}button:disabled{opacity:.45}button:hover{background:#eef5ff}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #78adff;outline-offset:2px}button:active{transform:translateY(1px)}
svg.icon{stroke-width:1.65}.shell{display:block;min-height:100dvh}.topbar{position:fixed;z-index:50;left:0;right:0;top:0;height:var(--header-height);padding:0 28px;background:#fff;border-bottom:1px solid var(--line);gap:18px}
.brand-lockup{display:flex;align-items:center;gap:13px;min-width:0}.brand-symbol{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;margin:0;padding:0;border:0;border-radius:12px;background:var(--blue);color:#fff;font-size:19px;font-weight:750;letter-spacing:-2px;box-shadow:0 4px 11px #1769e81c}.brand-symbol span{font-size:16px;margin:5px 0 0 2px;color:#d3e6ff}.brand-symbol:hover{background:#115bd1}.wordmark{font-size:18px;font-weight:650;letter-spacing:.2px;line-height:1.35;white-space:nowrap}.wordmark small{font-size:9px;letter-spacing:1.5px;margin-top:4px;color:#8497ab}.topright{gap:20px;font-size:12px;color:#6e8399}.topright .mode-badge{font-size:11px;padding:4px 8px;color:#527aa6;background:#f6faff;border:1px solid #dbe9fb;border-radius:5px}.environment-ready{white-space:nowrap}.live-dot{background:#0b9c80;width:6px;height:6px}.user-control{display:flex;align-items:center;gap:8px;padding:4px;border-radius:8px}.avatar{width:29px;height:29px;background:#eaf2ff;color:#2b71c9;font-size:12px}.icon-button{width:34px;height:34px;border-radius:8px;border-color:var(--line);color:#6e8ba7}.rail{position:fixed;inset:72px auto 0 0;width:var(--sidebar-width);z-index:30;display:flex;align-items:stretch;padding:24px 14px 15px;overflow:auto;scrollbar-width:thin;background:#fff;color:var(--ink);border-right:1px solid var(--line)}
.rail-caption{display:flex;align-items:center;justify-content:space-between;padding:0 12px;margin-bottom:12px;font-size:12px;font-weight:600;color:#7b8fa2}.rail-caption small{font-size:8px;letter-spacing:1.1px;font-weight:500;color:#a3b2c1}.rail-nav{gap:5px;flex-shrink:0;width:100%}.rail-btn{position:relative;flex-direction:row;justify-content:flex-start;gap:11px;padding:11px 12px;min-height:42px;border-radius:7px;font-size:13px;color:#607b96;line-height:1.5;white-space:normal;text-align:left;width:100%}.rail-btn svg{width:20px;height:20px;color:#7b99b9}.rail-btn:hover{background:#f0f6ff;color:var(--blue)}.rail-btn.active{background:#eaf2ff;color:var(--blue);box-shadow:inset 3px 0 var(--blue);font-weight:600}.rail-btn.active svg{color:var(--blue)}.rail-btn.active:before{display:none}.rail-btn>span:not(.nav-lock){flex:1}.rail-divider{flex:none;height:1px;background:#edf2f7;margin:18px 12px}.nav-progress{font-size:10px;font-weight:500;color:#849bb3;white-space:nowrap}.project-nav{font-size:12px;padding:10px}.train-subnav{margin:3px 0 0 12px;padding:0 0 0 8px;border-left:1px solid #e4edf8}.submodule-nav{font-size:12px;padding:8px 9px;min-height:36px;gap:9px}.submodule-nav svg{width:17px;height:17px}.nav-lock{font-size:15px;color:#a6b5c5}.rail-btn:disabled{opacity:.47;background:transparent;box-shadow:none;color:#7c91a7}.rail-btn:disabled svg{color:#9aafc4}.rail-bottom{width:100%;gap:12px;align-items:stretch;margin-top:auto;padding-top:24px;flex:none}.rail-assistant{display:flex;gap:10px;text-align:left;align-items:center;background:#f2f7ff;border:1px solid #dce9fb;border-radius:10px;padding:12px;color:#2c6fc8;font-size:12px;font-weight:600}.rail-assistant .icon{width:24px;height:24px}.rail-assistant small{display:block;margin-top:3px;color:#8c9eb5;font-size:10px;font-weight:400}.rail-utilities{display:flex;gap:8px}.rail-utilities .rail-btn{justify-content:center;gap:7px;min-height:32px;padding:5px;font-size:12px}.rail-utilities .rail-btn>span{flex:none}.rail-utilities svg{width:17px;height:17px}.rail-school{font-size:10px;text-align:center;white-space:nowrap;color:#a0afbd}.workspace{margin:var(--header-height) 0 0 var(--sidebar-width);width:calc(100% - var(--sidebar-width));min-height:calc(100dvh - var(--header-height))}
.home-content{max-width:1680px;padding:28px 30px 26px}.welcome{margin-bottom:24px}.welcome h1{font-size:27px;letter-spacing:.4px;font-weight:650;margin:6px 0}.welcome p{font-size:13px;color:var(--muted)}.section-eyebrow{color:var(--blue);font-size:10px;letter-spacing:1.9px}.tiny-date{font-size:10px;letter-spacing:1px;color:#8ea2b5}.hero{height:300px;grid-template-columns:42% 58%;background:#eaf3fd;border:1px solid #d9e7f6;border-radius:14px;color:var(--navy)}.hero-copy{padding:28px 30px;background:linear-gradient(90deg,#f1f7ff 80%,#f1f7ff00)}.hero-copy .eyebrow{color:#6688af;font-size:9px;letter-spacing:2.4px}.hero h2{font-size:30px;line-height:1.5;font-weight:650;letter-spacing:1px;margin:10px 0 12px}.hero h2 span{color:var(--blue)}.hero p{font-size:12px;color:#7890a7;line-height:1.9}.hero-tags{color:#6183a6;font-size:10px;margin-top:19px;gap:13px}.hero-tags i{border-radius:50%;background:var(--blue)}.hero-viewport:after{color:#7291ac;background:#ffffffb3;border:1px solid #dae8f4;padding:4px 9px;border-radius:6px;bottom:16px;right:18px}.cards-heading{margin:26px 0 16px}.cards-heading h2{font-size:18px;font-weight:650}.cards-heading span{font-size:10px;color:#8a9db1}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{border:1px solid var(--line);border-radius:12px;padding:20px;background:#fff;box-shadow:0 3px 14px #24466c03}.project-card:before{height:3px;background:#1769e8;width:30px;left:20px}.project-top{gap:11px;margin-bottom:13px}.project-icon{width:42px;height:42px;background:#eef5ff;color:var(--blue);border:1px solid #e2ecfa;border-radius:10px;flex:none}.project-icon svg{width:26px;height:26px}.project-title h3{font-size:15px;font-weight:650;line-height:1.55;margin:3px 0}.project-title span{font-size:8px;letter-spacing:1px}.project-top>.pill{font-size:9px;padding:3px 6px;white-space:nowrap}.project-card p{font-size:12px;line-height:1.7;color:#8294a7}.flow-steps{font-size:11px;color:#5f7d99;margin:17px 0}.project-bottom{gap:12px;padding-top:14px;align-items:center}.project-bottom .duration{font-size:11px;line-height:1.6;gap:5px}.project-bottom .btn{font-size:12px;width:100%;justify-content:space-between}.progress-line{height:3px;background:#eaf1fb}.progress-line>i{background:var(--blue)}.home-bottom{font-size:11px;color:#8a9caf;line-height:1.7}.home-bottom button{color:var(--blue)}.model-reference-link .btn{color:#6f8cad;font-size:11px}
.btn{font-size:12px;font-weight:500;border:1px solid #d7e4f2;background:#fff;border-radius:8px;padding:9px 14px;color:#507393;line-height:1.5;text-decoration:none}.btn:hover{background:#edf4ff;border-color:#a8caf4}.btn.primary,.btn.teal{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover,.btn.teal:hover{background:#0d5bd1;border-color:#0d5bd1}.btn.small{font-size:11px;padding:6px 10px}.btn.dark{background:#285c94;border-color:#285c94;color:#fff}.btn.ghost{color:#738da7}.btn.danger{color:var(--red)}.btn .icon{width:17px;height:17px}.pill{font-size:10px;border-radius:5px;padding:3px 7px;color:#168974;background:#eaf7f3}.flex{flex-wrap:wrap}.muted{color:#8296aa}
.experiment{height:calc(100dvh - 72px);min-height:650px;padding:22px 26px 15px;gap:16px;display:flex;flex-direction:column}.experiment-heading{background:transparent;padding:0;border:0;display:flex;flex-direction:column;align-items:stretch;gap:15px;flex-shrink:0}.exp-title{min-width:0;gap:11px}.exp-title .icon-button{width:32px;height:32px}.exp-title h2{font-size:19px;font-weight:650;line-height:1.4}.exp-title small{font-size:10px;letter-spacing:.6px;color:#8c9eb0;margin-top:4px}.stage-trail{padding:10px 12px;gap:8px;display:flex;justify-content:space-between;align-items:center;margin:0;max-width:100%;overflow:auto;flex-wrap:nowrap;background:#fff;border:1px solid var(--line);border-radius:12px;scrollbar-width:thin}.stage-node{display:flex;align-items:center;justify-content:center;flex:1;gap:8px;font-size:12px;font-weight:500;color:#8ca0b5;padding:7px 10px;border-radius:7px;white-space:nowrap}.stage-node span{display:block;font-size:12px}.stage-node b{width:24px;height:24px;border:1px solid #d4e0ec;background:#fff;color:#8c9eb0;font-size:11px;flex:none}.stage-node.done{color:#0b9c80}.stage-node.done b{background:#ecf8f4;border-color:#c8e8dd;color:#0b9c80}.stage-node.current{background:#eef5ff;color:var(--blue);font-weight:600}.stage-node.current b{color:#fff;border-color:var(--blue);background:var(--blue)}.stage-node.current:after{display:none}.stage-node:disabled{opacity:.48;background:transparent}.lab-layout{flex:1;min-height:0;display:grid;grid-template-columns:190px minmax(310px,1fr) 284px;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#d3dfec transparent}.panel.left,.panel.right{border:1px solid var(--line);max-height:none}.panel-heading{padding:14px 15px;border-bottom:1px solid #e8eef5;font-size:13px;font-weight:650;gap:8px;line-height:1.5}.panel-heading small{font-size:10px;font-weight:400;color:#8ea2b5;white-space:nowrap}.panel-content{padding:15px;font-size:12px}.search{border:1px solid #dfe9f3;border-radius:7px;background:#fbfdff;padding:7px 8px;margin-bottom:15px;gap:6px;color:#8ea8c2}.search .icon{width:15px;height:15px}.search input{font-size:11px;color:#526d8b;line-height:1.7}.search input::placeholder{color:#9bafc2}.category{font-size:11px;letter-spacing:0;color:#7d93aa;margin:18px 0 9px}.component-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.component{font-size:11px;min-height:80px;line-height:1.5;border:1px solid #dfe9f5;border-radius:8px;background:#f8fbff;padding:9px 4px 10px;gap:6px;color:#4c6a87}.component:hover{background:#eaf3ff;border-color:#84b8fb;box-shadow:0 0 0 1px #b9d7fb}.component svg.icon{width:30px;height:30px;color:#7d9fc6;margin:2px 0}.ui-part{display:block;flex-shrink:0;width:43px;height:34px;overflow:hidden;pointer-events:none}.component .ui-part{margin:1px 0 2px}.component>small{font-size:9px;background:#e1eeff;color:#2e77d3;padding:1px 4px;top:4px;right:4px;border-radius:4px}.component .addmark{font-size:11px;right:5px;bottom:3px;color:#82a6cd}.props-name .ui-part{width:29px;height:26px}.note,.panel .note{font-size:11px;line-height:1.8;color:#8197ad;background:#f5f9fd;border-radius:8px;padding:12px}.note.amber{background:#fff8e9;color:#a18039}.scene-column{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;height:auto;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;isolation:isolate}.viewport{position:relative;flex:1;min-height:300px;background:#f0f5fa;overflow:hidden}.viewport-toolbar{padding:10px 12px;min-height:53px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid #e8eef5;flex-shrink:0;gap:5px}.tool-group{gap:3px;flex-wrap:wrap}.tool{font-size:11px;padding:6px 7px;gap:5px;border-radius:6px;color:#7893af}.tool svg{width:17px;height:17px}.tool.active{background:#edf4ff;color:var(--blue)}.tool-divider{margin:5px 4px;height:17px;border-color:#dce7f4}.analysis-bar{min-height:51px;padding:10px 12px;gap:7px;background:#fff;flex-shrink:0}.analysis-bar>span{font-size:10px;color:#9bafc1;margin:0 3px 0 0}.analysis-btn{font-size:11px;gap:6px;border:1px solid #dce7f5;background:#f8fbff;padding:6px 8px;border-radius:6px;color:#5d7c9e}.analysis-btn svg{width:16px;height:16px;color:#7b9dc5}.analysis-btn.active{background:#eaf3ff;color:var(--blue);border-color:#8abafb}.analysis-bar .btn{font-size:11px}.view-top{top:15px;left:15px;right:15px;gap:8px;align-items:start;flex-wrap:wrap}.scene-label{font-size:10px;line-height:1.5;padding:9px 11px;max-width:240px;background:#ffffffed;border:1px solid #e0eaf5;border-radius:8px;box-shadow:0 2px 8px #285c9410;color:#829ab3}.scene-label strong{font-size:12px;font-weight:600;color:#496a8a;margin-bottom:3px}.view-top .view-switch{max-width:100%;margin:0;margin-left:auto;gap:2px;background:#fffffff0;border:1px solid #dbe7f5;border-radius:8px;padding:3px;box-shadow:0 2px 8px #285c9408;flex-wrap:wrap}.view-switch button,.view-switch .btn{font-size:11px;padding:5px 7px;border-radius:5px;color:#8ba1b8;background:transparent;border-color:transparent;line-height:1.5}.view-switch button.active{background:#eaf3ff;color:var(--blue)}.view-bottom{left:15px;right:15px;bottom:14px}.key-help{font-size:10px;color:#829ab2;background:#ffffffd9;border:1px solid #e0e9f1;padding:6px 9px;border-radius:6px;max-width:88%;gap:6px}.axis-label{width:30px;flex:none}.model-status{top:82px!important;bottom:auto!important;right:14px!important;left:auto!important;font-size:11px!important;max-width:calc(100% - 28px);border-radius:7px!important;color:#5c7d9b!important;border-color:#d6e6f6!important;box-shadow:none!important}.exp-footer{flex-shrink:0;min-height:25px;height:auto;padding:0 3px;background:transparent;color:#8fa3b6;font-size:10px;gap:14px;line-height:1.6;display:flex}.exp-footer>div{gap:16px}
.task-card{background:#f0f6ff;border:1px solid #ddeafa;border-radius:9px;padding:13px;margin-bottom:17px}.task-card .role{font-size:11px;gap:6px;color:#6693c7;margin-bottom:7px}.task-card .role .icon{width:17px;height:17px}.task-card h3{font-size:14px;font-weight:650;color:#244b73;line-height:1.6}.task-card p{font-size:12px;color:#7894b0;line-height:1.85;margin-top:7px}.counter-row{font-size:12px;padding:9px 0;border-bottom-color:#edf2f7;gap:10px}.counter-row>span:first-child{color:#8098b1}.counter-row b{font-weight:600;color:#4e75a0;text-align:right}.subheading{font-size:13px;font-weight:600;margin:20px 0 12px;color:#3b628a}.subheading small{font-size:10px;color:#8ea7be}.empty-selection{border-color:#d8e5f4;color:#8ca4bc;padding:22px 8px;font-size:11px;background:#fcfdff;line-height:1.9}.empty-selection .icon{color:#a0b9d3}.props-name{font-size:12px;color:#3876bb;gap:8px;line-height:1.5}.prop-label{font-size:11px;color:#819ab3;margin:11px 0 6px}.prop-grid{gap:6px}.prop-grid label{font-size:10px;background:#fbfdff;border-color:#d8e5f3;color:#8ca4bf;border-radius:6px;padding-left:6px}.prop-grid input{font-size:11px;padding:7px 2px;color:#4e6c8b}.placement-guide{font-size:11px;line-height:1.7;background:#f4f8fe;border-color:#6ba3eb;padding:10px}.placement-guide .btn{font-size:10px}.assistant-btn{font-size:12px;color:#286dc5;background:#f2f7ff;border-color:#d8e7fb;padding:12px;border-radius:8px;gap:8px}.assistant-btn small{font-size:10px;color:#89a5c4}.checklist li{font-size:11px;color:#7f96ae;line-height:1.8}.check-circle{border-color:#c8d9ed}.checklist li.done{color:#0b9c80}.checklist li.done .check-circle{background:#eaf7f1;border-color:#bbdfd0}.npc{gap:8px;padding:10px 7px;border-radius:8px;margin-bottom:8px}.npc.active{background:#edf5ff;border-color:#cadefa}.npc-face{background:#e7f0fc;border:1px solid #d6e4f7;color:#6c91be;border-radius:9px;width:32px;height:34px;font-size:13px;flex-shrink:0}.npc span strong{font-size:12px;color:#4d7195;line-height:1.6}.npc span small{font-size:10px;color:#8aa2bb;margin-top:1px}.npc .done-badge{color:#0b9c80}.meeting-dialog{left:17px;right:17px;bottom:60px;padding:17px 19px;border:1px solid #d8e7f7;background:#fffffff2;border-radius:11px;box-shadow:0 8px 30px #2e649517;max-height:72%;scrollbar-width:thin;backdrop-filter:blur(12px)}.dialog-header{gap:9px;margin-bottom:10px}.dialog-header strong{font-size:12px;color:#416b94}.dialog-header span{font-size:10px;color:#94a9be}.meeting-dialog h3{font-size:13px;font-weight:550;color:#3a5f84;line-height:1.75;margin-bottom:11px}.answer{font-size:12px;line-height:1.6;border-color:#dce8f6;border-radius:7px;padding:8px 11px;color:#5a7793;gap:9px}.answer>b{color:#5087c8;background:#f0f6ff;font-size:10px;min-width:24px;text-align:center}.answer:disabled{opacity:1;color:#738ca4}.answer.correct{background:#edf9f3;border-color:#a6d7bf}.answer.wrong{background:#fff3ef;border-color:#e8bcae}.feedback{font-size:11px;line-height:1.8;background:#edf9f3;color:#438c72;padding:10px 12px}.feedback.warn{background:#fff7ed;color:#a17946}.review-tabs{gap:5px}.review-tabs button{border:1px solid #e3ecf7;background:#f7faff;color:#8299b2;border-radius:6px;font-size:11px}.review-tabs button.active{background:#e9f2ff;border-color:#c1d8fa;color:var(--blue)}.scheme{border-color:#dce7f4;border-radius:8px;padding:11px 8px;gap:9px}.scheme.active{background:#eef5ff;border-color:#a5c8f5}.scheme .letter{background:#eaf2ff;color:#6091ce;border-radius:7px;width:29px;height:29px;font-size:13px}.scheme strong{font-size:11px;line-height:1.6;color:#466e98}.scheme small{font-size:10px;line-height:1.6;color:#8aa1b9}.star-row{font-size:12px;color:#7391ae;border-bottom-color:#edf2f8;gap:8px}.star-row>span{font-size:11px}.stars button{font-size:20px;color:#d9e3ef;line-height:1.3}.stars button.on{color:#efb840}.checkbox-list{font-size:12px;color:#7892ad;gap:8px}.checkbox-list input{accent-color:var(--blue)}.trial-gate{font-size:11px;border-color:#f0dfb9;background:#fff9ec;padding:12px;color:#947744}.trial-gate.done{background:#eff9f3;border-color:#bde1cd;color:#42856a}.trial-gate .btn{font-size:11px}.task-item{font-size:12px;line-height:1.6;color:#8da2b8;padding:9px 7px;border-radius:7px;gap:8px}.task-item.current{background:#eaf3ff;color:var(--blue)}.task-item.current b{background:var(--blue);color:#fff;border-color:var(--blue)}.task-item.done{color:#0b9c80}.task-item b{width:22px;height:22px;font-size:10px;border-color:#d2dfef}.tutorial-instruction{font-size:12px;line-height:1.9;color:#4d7aa9;background:#f0f6ff;border-color:#d3e4fa;border-radius:8px}.experience-banner{bottom:62px;top:auto;left:16px;right:16px;font-size:12px;line-height:1.65;padding:11px 14px;background:#ffffffed;color:#376b9f;border:1px solid #bad4f4;border-radius:8px;box-shadow:0 4px 18px #427ca21c}.experience-banner>svg{color:#4a91ed}.experience-banner small{font-size:11px;line-height:1.7;color:#7899ba}.analysis-legend{top:116px;left:15px;max-width:290px;max-height:190px;background:#fffffff0;border-color:#c9ddf5;color:#4f76a0;border-radius:8px;font-size:11px;padding:11px 13px;box-shadow:0 4px 15px #33629a0d}.target-tag{font-size:12px;background:#285c94ed;border-color:#9dc4f6;box-shadow:0 0 0 4px #579beb26;border-radius:9px}.target-tag:after{border-top-color:#6da3e4}.target-tag.ready{background:#137f72f0;border-color:#9de0c9;box-shadow:0 0 0 4px #4cbf9e25}.target-tag.ready:after{border-top-color:#65bd9e}.condition-row{gap:8px}.condition-controls{gap:5px}.condition-controls .btn{font-size:10px;padding:6px 4px}.panel select,.modal select{font-size:12px;min-height:34px;padding:6px 8px;border-color:#d9e5f4;border-radius:6px;color:#55799e}.panel .text-input{font-size:12px;border-color:#d9e5f3;background:#fcfdff;border-radius:7px;color:#527497}.form-label{font-size:12px;color:#6e8ca9}.issue{font-size:11px;line-height:1.75;border-radius:6px;background:#fff9ed;color:#9d824d;border-left-color:#e7bd61}.issue.error{color:#b16e60;background:#fff3ee;border-color:#dc9585}.issue.ok{color:#398a70;background:#edf8f2;border-color:#62b797}
.report-page{padding:4px 0 15px;overflow:auto;min-height:0}.report-top{margin:4px 0 22px;gap:15px}.report-top h2{font-size:24px;font-weight:650;color:#254d78;margin:7px 0}.report-top p{font-size:12px;color:#8ca3b8}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.report-card{padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px;min-width:0}.report-card h3{font-size:14px;color:#3d648f;font-weight:600;margin-bottom:17px}.score-card{color:#244c7b;background:#f0f6ff;border:1px solid #cfe0f7}.score-card h3{color:#5279a6}.score-big{font-size:62px;font-weight:600;color:var(--blue);margin:14px 0 7px}.score-big small{font-size:18px;color:#9db5d0}.score-card p{font-size:11px;color:#7e99b6;line-height:1.9}.score-badge{font-size:10px;color:#4b83c6;border:1px solid #bbd6f7;background:#f8fbff;border-radius:6px;padding:4px 8px}.score-row{font-size:11px;color:#8199b4;margin:15px 0;grid-template-columns:72px minmax(0,1fr) 28px}.score-row b{color:#4777af}.score-track{height:6px;background:#eaf1fb}.score-track i{background:#438aeb}.metric strong{font-size:25px;color:#3c7ccc}.metric small{font-size:10px;color:#8da4bc}.report-card textarea{font-size:12px;line-height:1.9;border:1px solid #d7e5f6;background:#fcfdff;color:#53799d;border-radius:8px;padding:12px}.report-actions{margin-top:20px;gap:10px}.ledger-item{border-color:#e0e9f4;border-left-color:#edb75b;border-radius:8px;font-size:12px;color:#5b7e9f;padding:13px}.ledger-item.resolved{border-left-color:#3caf8d}.ledger-item small{font-size:11px;color:#8da6bc}.resolution{background:#eff9f3;color:#438d72}.records-page,.knowledge-page{max-width:1500px;padding:28px 30px;margin:auto}.page-heading{margin-bottom:24px}.page-heading h1{font-size:27px;font-weight:650;color:#2d527a}.page-heading p{font-size:13px;color:#849aaf}.records-table{font-size:12px;border:1px solid #dce6f1;border-radius:10px;overflow:hidden}.records-table th{background:#f0f5fc;color:#7892ad;font-size:11px;padding:14px;font-weight:600}.records-table td{padding:16px 14px;border-bottom-color:#e5edf6;color:#5d7b9a}.knowledge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.knowledge-card{padding:21px;border-radius:12px;border-color:#dce6f1}.knowledge-card small{color:#89a5c6;font-size:9px;letter-spacing:.7px}.knowledge-card h3{font-size:15px;color:#3d6a9a;font-weight:650}.knowledge-card p{font-size:12px;color:#8098b0;line-height:1.9}.record-issue-summary{border-color:#e0eaf4;padding:12px 0;font-size:12px;color:#5f7d9a}.model-reference-grid figure{border-color:#dce7f4;border-radius:10px;background:#f5f9ff}.model-reference-grid figcaption{color:#527ba6}.model-reference-grid p{font-size:12px}
.modal-backdrop{background:#183d6552;backdrop-filter:blur(5px);padding:25px}.modal{border-radius:14px;box-shadow:0 25px 80px #153d6a30;border:1px solid #deebfa}.modal-header{padding:19px 23px;border-color:#e4edf7}.modal-header h2{font-size:17px;font-weight:600;color:#315c88}.modal-body{font-size:13px;line-height:1.9;padding:22px 23px;color:#57799d}.modal-body>p{color:#7b96ae;font-size:13px}.modal-footer{padding:16px 23px;border-color:#e4edf7;background:#fbfdff;border-radius:0 0 14px 14px;flex-wrap:wrap}.modal-body .form-label{font-size:12px;color:#7592ad}.text-input{font-size:13px;border:1px solid #d6e4f5;background:#fcfdff;color:#527ba1;border-radius:8px;padding:10px 12px}.hint-levels button{background:#f3f7fe;border-color:#dbe7f6;color:#7394b9;font-size:11px;border-radius:7px}.hint-levels button.active{background:var(--blue);border-color:var(--blue);color:#fff}.hint-content{background:#eff6ff;border-color:#cfe2fb;color:#4d7db1;font-size:13px;line-height:1.95;border-radius:9px}.key-grid>div{font-size:12px;color:#7d97b1}.key-grid kbd,kbd{color:#5c80a6;border-color:#cfdeee;background:#f7faff}.fbs-row{border-color:#e1ebf6;font-size:12px}.fbs-row small{color:#819bb5;font-size:11px}.training-progress{background:#e8f0fb}.training-progress i{background:var(--blue)}.step-complete{color:#0b9c80;font-size:12px}.seat-detail-caption{color:#4c769f;background:#fffffff0;border:1px solid #d7e7fa;border-radius:9px;font-size:11px}.no-webgl{background:#f0f5fb;color:#718eab}.no-webgl p{font-size:13px}#toast{font-size:12px;background:#234f80f2;color:#f3f8ff;box-shadow:0 5px 22px #234f8026;border:1px solid #5884b355;border-radius:9px;padding:11px 19px;bottom:24px}
@media(min-width:1600px){.home-content{padding:32px 36px 28px}.hero{height:330px}.hero-copy{padding:34px 38px}.hero h2{font-size:34px}.project-card{padding:23px}.project-title h3{font-size:17px}.experiment{padding:24px 30px 16px}.lab-layout{grid-template-columns:205px minmax(400px,1fr) 300px;gap:18px}.panel-content{padding:17px}.panel-heading{padding:15px 17px}.component{min-height:85px}.viewport{min-height:360px}.view-top{top:18px;left:18px;right:18px}.scene-label{font-size:11px}.scene-label strong{font-size:13px}.view-switch button,.view-switch .btn{font-size:12px}.task-card p{font-size:12px}.tool,.analysis-btn{font-size:12px}.report-card{padding:23px}}
@media(min-width:1151px) and (max-width:1439px){.experiment{padding:20px 20px 14px;gap:14px}.lab-layout{grid-template-columns:174px minmax(300px,1fr) 264px;gap:12px}.panel-content{padding:12px}.panel-heading{padding:13px 12px}.stage-node{font-size:11px;padding:6px 7px;gap:6px}.stage-node span{font-size:11px}.component{min-height:78px;font-size:10px}.component-list{gap:7px}.component .ui-part{width:40px;height:32px}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{padding:17px}.project-title h3{font-size:14px}.project-top{gap:8px;flex-wrap:wrap}.project-top>.pill{margin-left:0}.project-top .project-title{flex:1;min-width:110px}.project-title span{font-size:7px}.project-icon{width:35px;height:35px}.project-icon .icon{width:22px;height:22px}.hero-copy{padding:28px}.hero h2{font-size:28px}.hero-tags{gap:10px;font-size:9px}.view-top{left:12px;right:12px}.scene-label{font-size:10px;padding:7px 9px}.scene-label strong{font-size:11px}.view-switch button,.view-switch .btn{font-size:10px;padding:5px 6px}.tool{font-size:10px;padding:6px}.analysis-btn{font-size:10px;padding:6px 7px}.topright{gap:14px}}
@media(max-width:1150px){:root{--sidebar-width:185px}.rail{width:185px;padding:21px 10px 13px}.rail-caption{font-size:11px;padding:0 9px}.rail-caption small{font-size:7px}.rail-btn{font-size:12px;gap:8px;padding:10px}.rail-btn svg{width:18px;height:18px}.project-nav{font-size:11px;padding:10px 8px;gap:7px}.nav-progress{font-size:9px}.submodule-nav{font-size:11px;min-height:33px;padding:7px}.rail-school{font-size:8px}.topbar{height:72px;padding:0 22px}.wordmark{font-size:16px}.topright{gap:12px}.topright>.environment-ready{display:none}.workspace{margin-left:185px;width:calc(100% - 185px);margin-top:72px}.experiment{height:auto;min-height:calc(100dvh - 72px);padding:22px 20px 16px;gap:15px}.experiment-heading{padding:0;gap:14px}.exp-title h2{font-size:18px}.lab-layout{flex:none;display:grid;grid-template-columns:155px minmax(280px,1fr);gap:14px}.panel.left{max-height:570px;width:auto;order:0}.scene-column{height:570px;min-height:570px;width:auto;order:0}.panel.right{grid-column:1/-1;overflow:visible;max-height:none;width:auto;order:0}.panel.right .panel-content{columns:auto;display:block}.panel-content{padding:13px}.panel-heading{padding:13px}.component{min-height:76px;font-size:10px}.component-list{gap:7px}.component .ui-part{width:38px;height:32px}.stage-trail{max-width:100%;margin:0;gap:5px;padding:8px}.stage-node{flex:1;padding:6px;gap:5px}.stage-node span{display:block;font-size:10px}.stage-node b{width:21px;height:21px;font-size:10px}.view-top{top:13px;left:13px;right:13px}.view-switch button,.view-switch .btn{font-size:10px;padding:5px 6px}.analysis-legend{top:116px;max-width:265px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card:last-child{grid-column:auto}.project-title h3{font-size:16px}.project-top>.pill{display:inline-flex}.hero{height:300px;grid-template-columns:45% 55%}.hero-copy{padding:25px}.hero h2{font-size:27px}.hero-tags{flex-wrap:wrap;gap:8px 12px;margin-top:15px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.report-card.span2{grid-column:span 2}.report-card:nth-child(3){grid-column:auto}.report-page{padding:4px 0 15px}.knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exp-footer{display:flex;padding:0;gap:10px;flex-wrap:wrap}.exp-footer>div{gap:12px}.records-page,.knowledge-page,.home-content{padding:25px 22px}}
@media(max-width:850px){.wordmark{font-size:15px}.wordmark small{font-size:8px;letter-spacing:1px}.topright .mode-badge{display:none}.topright .user-name{display:none}.topbar{padding:0 18px}.brand-lockup{gap:10px}.lab-layout{grid-template-columns:140px minmax(240px,1fr);gap:12px}.panel-content{padding:11px}.panel-heading{padding:12px 10px;font-size:12px}.panel-heading small{font-size:9px}.scene-column{height:580px;min-height:580px}.stage-trail{justify-content:flex-start}.stage-node{min-width:max-content;flex:1;padding:6px}.scene-label{font-size:10px;max-width:150px}.scene-label strong{font-size:11px}.view-top{left:10px;right:10px;gap:6px}.view-top .view-switch{margin-left:0}.model-status{top:112px!important}.component-list{gap:6px}.component{font-size:10px;padding:8px 3px;min-height:74px}.component .ui-part{width:33px;height:29px}.view-switch button,.view-switch .btn{font-size:9px;padding:4px 5px}.analysis-legend{top:147px;font-size:10px;max-width:220px}.meeting-dialog{left:12px;right:12px;bottom:60px;padding:13px;max-height:68%}.meeting-dialog h3{font-size:12px}.answer{font-size:11px;padding:7px 9px}.tool{font-size:10px;padding:6px 5px}.viewport-toolbar{padding:8px;flex-wrap:wrap}.analysis-bar{padding:9px;gap:6px}.analysis-btn{font-size:10px}.analysis-btn svg{width:14px;height:14px}.hero{height:290px;grid-template-columns:48% 52%}.hero-copy{padding:23px 20px}.hero h2{font-size:24px;letter-spacing:0}.hero p{font-size:11px}.hero-tags{font-size:9px;gap:7px;margin-top:15px}.welcome h1{font-size:23px}.tiny-date{display:none}.project-card{padding:17px}.project-title h3{font-size:14px}.project-top{flex-wrap:wrap}.project-top>.pill{margin-left:0}.cards-heading{gap:12px}.cards-heading span{display:none}.home-bottom{gap:12px;align-items:start}.home-bottom>span{max-width:65%}.report-top h2{font-size:21px}.report-card{padding:17px}.priority-row{grid-template-columns:1fr}.records-table td,.records-table th{padding:12px 9px}.records-table{font-size:11px}}
@media(max-width:720px){:root{--sidebar-width:0px;--header-height:66px}.topbar{height:66px;padding:0 14px;gap:10px}.brand-symbol{width:34px;height:34px;border-radius:10px;font-size:17px}.brand-symbol span{font-size:14px}.brand-lockup{gap:9px}.wordmark{font-size:14px}.wordmark small{font-size:7px;letter-spacing:1px}.topright{gap:6px}.topright .avatar{width:27px;height:27px}.topright .icon-button{width:30px;height:30px}.rail{position:relative;inset:auto;width:100%;margin-top:66px;padding:10px 14px;background:#fff;border-right:0;border-bottom:1px solid var(--line);display:block;overflow:visible}.rail-caption,.rail-divider,.rail-bottom,.train-subnav{display:none}.rail-nav{flex-direction:row;gap:6px;width:100%;overflow:auto;scrollbar-width:none}.rail-nav:first-of-type{margin-bottom:8px}.rail-btn{width:auto;flex:1;min-width:max-content;justify-content:center;gap:7px;font-size:11px;min-height:35px;padding:7px 10px;border-radius:7px;white-space:nowrap}.rail-btn svg{width:17px;height:17px}.rail-btn>span:not(.nav-lock){flex:none}.rail-btn.active{box-shadow:none;background:#eaf3ff}.module-nav{padding-top:8px;border-top:1px solid #edf3f9}.project-nav{flex:1;min-width:max-content;font-size:10px;padding:6px 8px;gap:6px}.nav-progress{font-size:9px}.workspace{margin:0;width:100%;min-height:calc(100dvh - 168px)}.home-content,.records-page,.knowledge-page{padding:22px 16px}.welcome{margin-bottom:19px}.welcome h1{font-size:23px}.welcome p{font-size:12px}.hero{height:420px;display:grid;grid-template-columns:1fr;grid-template-rows:216px 204px}.hero-copy{padding:23px 24px;background:#f0f7ff}.hero h2{font-size:27px;line-height:1.4;margin:8px 0}.hero p{font-size:11px;line-height:1.8}.hero-tags{margin-top:12px;gap:13px;font-size:9px}.hero-viewport{height:204px}.hero-viewport:after{right:14px;bottom:12px;font-size:9px}.projects-grid{grid-template-columns:1fr;gap:14px}.project-card{padding:20px}.project-top{flex-wrap:nowrap}.project-title h3{font-size:16px}.project-top>.pill{margin-left:auto}.project-title span{font-size:8px}.project-bottom .btn{width:auto}.project-bottom{align-items:center}.home-bottom{font-size:10px;gap:15px}.home-bottom>span{max-width:65%}.experiment{padding:19px 14px 15px;gap:14px;height:auto;min-height:calc(100dvh - 164px)}.experiment-heading{padding:0;gap:13px}.exp-title h2{font-size:17px}.exp-title small{font-size:9px}.stage-trail{padding:8px;gap:4px;border-radius:10px}.stage-node{min-width:max-content;padding:5px 7px;gap:5px}.stage-node span{display:block;font-size:11px}.stage-node b{width:21px;height:21px;font-size:10px}.lab-layout{display:flex;flex-direction:column;gap:14px}.panel.left{width:100%;max-height:290px;order:0}.panel.left .panel-heading{padding:12px 14px}.panel.left .panel-content{padding:13px 14px}.panel.left .component-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.panel.left .component{min-height:73px;font-size:11px}.panel.left .component .ui-part{width:39px;height:31px}.panel.left .category{margin:13px 0 8px}.panel.left .npc{width:100%;display:flex;margin-bottom:6px}.panel.left .npc-face{width:31px;height:31px}.scene-column{width:100%;height:565px;min-height:565px;order:1}.viewport{min-height:350px}.panel.right{width:100%;max-height:none;order:2;border:1px solid var(--line)}.panel-content{padding:15px}.panel-heading{padding:14px 15px;font-size:13px}.panel-heading small{font-size:10px}.task-card p{font-size:13px}.exp-footer{display:flex;font-size:9px;gap:7px}.exp-footer>div{flex-wrap:wrap;gap:10px}.exp-footer>div:last-child span:last-child{display:none}.view-top{top:13px;left:12px;right:12px;gap:7px}.scene-label{max-width:190px;font-size:10px}.scene-label strong{font-size:12px}.view-top .view-switch{margin-left:auto}.view-switch button,.view-switch .btn{font-size:10px;padding:5px 6px}.model-status{top:104px!important;font-size:10px!important}.key-help{font-size:9px;max-width:87%}.view-bottom{left:12px;right:12px;bottom:13px}.meeting-dialog{left:12px;right:12px;bottom:57px;padding:14px;max-height:70%}.meeting-dialog h3{font-size:12px}.answer{font-size:11px;padding:8px 10px}.analysis-legend{top:140px;left:12px;max-width:250px}.viewport-toolbar{padding:9px 10px;flex-wrap:nowrap}.tool{font-size:10px;padding:6px}.analysis-bar{padding:10px;gap:6px}.analysis-btn{font-size:10px}.experience-banner{left:12px;right:12px;bottom:60px;font-size:12px;max-width:calc(100% - 24px)}.experience-banner small{font-size:11px}.report-page{padding:0 0 10px}.report-top{flex-direction:column;align-items:stretch;gap:13px}.report-top h2{font-size:22px}.report-grid{grid-template-columns:1fr;gap:14px}.report-card,.report-card.span2,.report-card:nth-child(3){grid-column:span 1}.report-card{padding:20px}.report-actions{flex-wrap:wrap;gap:8px}.report-actions .btn{font-size:11px}.records-page{overflow-x:auto}.page-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}.page-heading h1{font-size:23px}.page-heading p{font-size:12px}.records-table{font-size:11px}.records-table td,.records-table th{padding:12px 9px;min-width:76px}.records-table th:nth-child(3),.records-table td:nth-child(3){display:table-cell}.knowledge-grid{grid-template-columns:1fr;gap:14px}.priority-row{grid-template-columns:1fr}.fbs-row{grid-template-columns:1fr;gap:8px}.modal-backdrop{padding:14px}.modal{max-width:100%;max-height:90dvh}.modal-header{padding:17px}.modal-header h2{font-size:16px}.modal-body{padding:18px;font-size:12px}.modal-footer{padding:15px;gap:8px}.key-grid{grid-template-columns:1fr}.key-grid>div{font-size:12px}.hint-levels{gap:5px}.hint-levels button{font-size:10px;padding:8px 4px}.hint-content{padding:16px;font-size:12px}.model-reference-grid{grid-template-columns:1fr}}
@media(max-width:400px){.topright .user-control{display:none}.wordmark{font-size:13px}.wordmark small{font-size:7px}.module-nav .rail-btn{font-size:9px;padding:6px;gap:4px}.module-nav .nav-progress{display:none}.project-title h3{font-size:15px}.project-top>.pill{font-size:8px}.view-top .view-switch{margin-left:0}.view-switch button,.view-switch .btn{font-size:9px}.model-status{top:112px!important}.tool{font-size:9px;padding:5px}.tool svg{width:15px;height:15px}.tool-divider{margin:5px 2px}.panel.left .component-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media print{.rail,.topbar,.experiment-heading,.report-actions,.exp-footer,.btn{display:none!important}.workspace{margin:0!important;width:100%!important;min-height:0}.experiment{padding:0;height:auto;min-height:0;display:block}.report-page{overflow:visible;padding:0}.report-grid{display:block}.report-card{break-inside:avoid;margin-bottom:15px;box-shadow:none}.score-card{background:#f4f8fd;color:#244c7b}.score-card h3,.score-card p{color:#5279a6}.modal-backdrop{display:none!important}}
