:root{--ink:#14213d;--muted:#667085;--line:#dce3ed;--paper:#f4f7fb;--white:#fff;--blue:#2559d6;--blue2:#163c9c;--cyan:#36c6d3;--orange:#ff8a3d;--yellow:#ffd469;--red:#ef5d68;--green:#1fa774;--shadow:0 18px 45px rgba(26,45,85,.11);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:var(--paper)}
[hidden]{display:none!important}
.generate-actions{display:flex;align-items:stretch;gap:8px}.add-more-button{border:1px solid #9fb4e4;background:#f4f7ff;color:#2559d6;border-radius:11px;padding:9px 12px;font:700 11px inherit;cursor:pointer;white-space:nowrap}.add-more-button span{font-size:16px;vertical-align:-1px;margin-right:3px}.add-more-button.active{background:#fff5e9;border-color:#ffb476;color:#c96721;box-shadow:0 0 0 3px rgba(255,138,61,.12)}#cubeCanvas.adding{cursor:crosshair}.planner-card{border:1px solid #dbe5f5;background:linear-gradient(145deg,#f7faff,#eef4ff);border-radius:12px;padding:12px;margin-top:12px}.planner-card>div:first-child{display:flex;justify-content:space-between;align-items:center}.planner-card small{font-size:8px;letter-spacing:.15em;color:#6682b8;font-weight:900}.planner-card>div:first-child span{font-size:8px;background:#dce8ff;color:#2559d6;padding:4px 7px;border-radius:10px}.planner-card strong{display:block;font-size:12px;margin-top:8px}.planner-card>p{font-size:9px;line-height:1.6;color:#66748a;margin:5px 0 9px}.plan-methods{display:grid;grid-template-columns:1fr 1fr;gap:5px}.plan-methods span{background:#fff;border:1px solid #dce5f2;border-radius:7px;padding:6px;font-size:8px;color:#536783;text-align:center}.plan-methods span.direct{color:#137951;border-color:#b6e3d1;background:#f1fbf7}.plan-methods span.verify{color:#9a6b00;border-color:#ead99e;background:#fffaf0}@media(max-width:1200px){body .result-panel .planner-card{grid-column:3;grid-row:1/3;margin-top:0}}@media(max-width:900px){body .result-panel .planner-card{display:block;margin-top:12px}.generate-actions{width:100%}}@media(max-width:560px){.generate-actions{display:grid;grid-template-columns:1fr}.add-more-button{width:100%}}
.canvas-tools{position:absolute;left:14px;top:14px;display:flex;align-items:center;background:rgba(255,255,255,.94);border:1px solid #dfe6ef;border-radius:10px;padding:4px;box-shadow:0 7px 20px rgba(31,52,89,.08);z-index:2}.canvas-tools button{height:28px;min-width:30px;border:0;border-radius:7px;background:transparent;color:#4c5c76;font:700 14px inherit;cursor:pointer}.canvas-tools button:hover{background:#edf3ff;color:#2559d6}.canvas-tools button:last-child{font-size:9px;padding:0 9px;border-left:1px solid #e5eaf2;margin-left:2px}.canvas-tools span{min-width:44px;text-align:center;font:700 9px ui-monospace,Consolas,monospace;color:#778397}.workspace-card .canvas-wrap{min-height:600px}.geometry-modal{position:fixed;inset:0;background:rgba(13,26,52,.65);backdrop-filter:blur(7px);z-index:60;display:grid;place-items:center;padding:18px}.geometry-modal-card{width:min(430px,100%);background:#fff;border-radius:18px;padding:27px;box-shadow:0 28px 80px rgba(0,0,0,.32);text-align:center}.modal-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#fff0f1;color:#d74858;border:1px solid #ffc9cf;font-size:23px;font-weight:900}.geometry-modal-card>small{color:#d74858;font-size:9px;font-weight:900;letter-spacing:.16em}.geometry-modal-card h2{font-size:20px;margin:6px 0 9px}.geometry-modal-card>p{color:#697589;font-size:11px;line-height:1.7;margin:0}.geometry-modal-card>div:nth-last-child(2){margin:15px 0;background:#fff6f2;border-radius:10px;padding:11px;color:#9a4d3e;font-size:11px;line-height:1.7;text-align:left}.geometry-modal-card button{width:100%;border:0;background:#2559d6;color:#fff;border-radius:10px;padding:11px;font-weight:800;cursor:pointer}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 55% 9%,#fff 0,#f4f7fb 37%,#eef3f9 100%);font-size:14px}.topbar{height:74px;padding:0 max(24px,calc((100vw - 1540px)/2));display:flex;align-items:center;gap:28px;background:rgba(255,255,255,.92);border-bottom:1px solid #e5eaf2;backdrop-filter:blur(12px);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;margin-right:auto}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--ink);color:white;display:grid;place-items:center;font-size:21px;font-weight:900;box-shadow:6px 6px 0 #d7e1f8}.brand b{display:block;font-size:18px;letter-spacing:.04em}.brand small{display:block;font-size:9px;color:#8791a5;letter-spacing:.14em;margin-top:2px}.student-field{display:flex;align-items:center;gap:9px}.student-field label{font-size:12px;color:var(--muted);font-weight:700}.student-field input{width:156px;border:1px solid var(--line);border-radius:9px;padding:9px 11px;outline:none;background:#f8fafc}.student-field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,89,214,.1)}.top-status{display:flex;align-items:center;gap:7px;color:#647086;font-size:12px}.top-status i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(31,167,116,.12)}main{max-width:1540px;margin:auto;padding:28px 24px 54px}.intro-strip{display:flex;align-items:end;justify-content:space-between;gap:32px;margin:3px 0 21px}.intro-strip span,.eyebrow{color:var(--blue);font-size:10px;letter-spacing:.17em;font-weight:900}.intro-strip h1{font-size:30px;margin:6px 0 0;letter-spacing:-.03em}.intro-strip p{margin:0;max-width:600px;color:var(--muted);line-height:1.75;text-align:right}.lab-layout{display:grid;grid-template-columns:270px minmax(530px,1fr) 330px;gap:17px;align-items:stretch}.panel,.workspace-card{background:rgba(255,255,255,.94);border:1px solid #e1e7f0;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.panel{padding:20px}.panel-heading{display:flex;align-items:center;gap:11px;padding-bottom:16px;border-bottom:1px solid #edf0f5}.panel-heading>span{width:35px;height:35px;border:1px solid #ccd5e3;border-radius:10px;display:grid;place-items:center;font-weight:900;color:var(--blue)}.panel-heading small{font-size:9px;letter-spacing:.18em;color:#97a0b0;font-weight:800}.panel-heading h2{margin:1px 0 0;font-size:16px}.rule-card{background:#f0f4fb;border-left:3px solid var(--blue);border-radius:7px;padding:13px 14px;margin:16px 0}.rule-card b{font-size:12px}.rule-card ol{margin:7px 0 0;padding-left:17px;color:#59657a;font-size:12px;line-height:1.9}.point-list{display:grid;gap:9px;min-height:180px}.point-item,.point-placeholder{min-height:52px;border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;padding:9px 10px;gap:10px}.point-placeholder{border-style:dashed;color:#9aa3b1}.point-placeholder b,.point-item>b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf1f6;color:#7d8798}.point-item{background:#fff;box-shadow:0 4px 12px rgba(28,48,85,.05)}.point-item>b{color:#fff}.point-item:nth-child(1)>b{background:var(--orange)}.point-item:nth-child(2)>b{background:var(--blue)}.point-item:nth-child(3)>b{background:var(--cyan)}.point-item div{min-width:0}.point-item strong{display:block;font-size:12px}.point-item small{display:block;color:#7f8999;font-family:ui-monospace,Consolas,monospace;font-size:10px;margin-top:3px;white-space:nowrap}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.button{border:0;border-radius:9px;padding:10px;font:inherit;font-weight:700;cursor:pointer}.button:disabled{opacity:.4;cursor:not-allowed}.secondary{background:#e9eef8;color:var(--blue2)}.ghost{background:#fff;border:1px solid var(--line);color:#667085}.subheading{display:flex;justify-content:space-between;align-items:end;margin:23px 0 10px}.subheading span{font-weight:800;font-size:12px}.subheading small{font-size:9px;color:#98a1b0}.presets>button{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px;display:flex;align-items:center;gap:10px;text-align:left;margin:7px 0;color:var(--ink);cursor:pointer;transition:.2s}.presets>button:hover{border-color:#9fb5ec;transform:translateX(2px);background:#f8faff}.presets>button>b{color:#a2aaba;font-size:10px}.presets>button span{font-size:12px;font-weight:800}.presets>button small{display:block;color:#929baa;font-weight:400;font-size:9px;margin-top:2px}.workspace-card{display:flex;flex-direction:column;min-height:690px}.workspace-bar{min-height:73px;padding:15px 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8edf4}.workspace-bar h2{font-size:16px;margin:3px 0 0}.view-buttons{display:flex;padding:3px;background:#eff3f8;border-radius:9px}.view-buttons button{border:0;background:transparent;color:#7b8595;font-size:11px;padding:7px 10px;border-radius:7px;cursor:pointer}.view-buttons button.active{background:#fff;color:var(--blue);font-weight:800;box-shadow:0 2px 8px rgba(23,41,73,.1)}.canvas-wrap{position:relative;flex:1;min-height:530px;background:radial-gradient(circle at 50% 45%,#fff 0,#f5f8fc 52%,#edf2f8 100%);overflow:hidden}.canvas-wrap:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(38,66,113,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(38,66,113,.04) 1px,transparent 1px);background-size:24px 24px;mask-image:radial-gradient(circle,#000 20%,transparent 75%)}#cubeCanvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}#cubeCanvas:active{cursor:grabbing}.canvas-tip{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);white-space:nowrap;background:rgba(20,33,61,.83);color:#dce5f8;padding:7px 12px;border-radius:20px;font-size:10px;pointer-events:none}.canvas-tip span{color:#fff;font-weight:800}.axis-badge{position:absolute;left:13px;bottom:14px;color:#8791a2;font-size:9px;display:flex;align-items:center;gap:4px}.axis-badge i{width:12px;height:2px;display:inline-block;margin-left:3px}.axis-badge .x{background:var(--red)}.axis-badge .y{background:var(--green)}.axis-badge .z{background:var(--blue)}.shape-preview{position:absolute;right:15px;top:14px;background:rgba(255,255,255,.9);border:1px solid #dfe6ef;border-radius:11px;padding:9px 12px;min-width:120px;box-shadow:0 8px 22px rgba(31,52,89,.08)}.shape-preview small{display:block;color:#8e98a8;font-size:9px}.shape-preview b{display:block;margin-top:3px;color:var(--blue);font-size:14px}.canvas-message{position:absolute;top:14px;left:50%;transform:translate(-50%,-10px);opacity:0;background:#172440;color:#fff;border-radius:9px;padding:9px 14px;pointer-events:none;transition:.25s;font-size:12px;max-width:70%;text-align:center}.canvas-message.show{transform:translate(-50%,0);opacity:1}.canvas-message.error{background:#a43a48}.generate-bar{padding:14px 16px;border-top:1px solid #e5eaf2;display:flex;align-items:center;justify-content:space-between;gap:15px}.progress-copy b{display:block;font-size:12px}.progress-copy span{display:block;font-size:10px;color:#8b94a3;margin-top:4px}.generate-button{min-width:180px;border:0;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:12px 14px 12px 17px;display:flex;justify-content:space-between;align-items:center;font:inherit;cursor:pointer;box-shadow:0 9px 22px rgba(37,89,214,.25)}.generate-button:disabled{background:#c7ced9;box-shadow:none;cursor:not-allowed}.generate-button b{font-size:18px}.result-panel{position:relative}.result-empty{text-align:center;padding:72px 13px 20px}.empty-orbit{width:92px;height:92px;margin:0 auto 24px;border:1px dashed #aab8cf;border-radius:50%;position:relative;display:grid;place-items:center}.empty-orbit:after{content:"";position:absolute;width:61px;height:61px;border:1px solid #d9e1ed;transform:rotate(35deg)}.empty-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--blue)}.empty-orbit i:first-child{top:8px;left:18px}.empty-orbit i:nth-child(2){right:4px;bottom:25px;background:var(--orange)}.empty-orbit b{font-size:24px;color:#9aa8bd}.result-empty h3{font-size:15px;margin:0 0 8px}.result-empty p{font-size:11px;color:#8c96a6;line-height:1.65;margin:0}.result-content{padding-top:15px}.answer-card{border-radius:12px;background:linear-gradient(135deg,#16264a,#263c6c);padding:14px;color:#fff;position:relative;overflow:hidden}.answer-card:after{content:"";position:absolute;width:90px;height:90px;border:18px solid rgba(255,255,255,.05);border-radius:50%;right:-33px;top:-38px}.answer-card>small{color:#9fb6e7;font-size:9px;letter-spacing:.14em}.answer-card>div{display:flex;align-items:baseline;gap:8px;margin-top:5px}.answer-card strong{font-size:23px}.answer-card span{font-size:10px;color:#c8d6f1}.answer-card p{font-family:ui-monospace,Consolas,monospace;color:#9fb2d8;font-size:9px;margin:8px 0 0}.method-tabs{display:grid;grid-template-columns:1fr 1fr;background:#eef2f7;border-radius:10px;padding:3px;margin:14px 0 11px}.method-tabs button{border:0;background:transparent;border-radius:8px;padding:8px 4px;font:inherit;font-size:11px;color:#697487;cursor:pointer}.method-tabs button small{display:block;font-size:8px;color:#929cab;margin-bottom:2px}.method-tabs button.active{background:#fff;color:var(--blue);font-weight:800;box-shadow:0 3px 9px rgba(26,43,75,.1)}.step-card{border:1px solid var(--line);border-radius:12px;padding:14px;min-height:190px}.step-meta{display:flex;align-items:center;justify-content:space-between}.step-meta span{font-size:9px;color:#8c95a4}.step-meta em{font-style:normal;background:#edf2ff;color:var(--blue);font-size:9px;padding:4px 7px;border-radius:10px}.step-card h3{font-size:14px;margin:13px 0 7px}.step-card>p{font-size:11px;line-height:1.72;color:#606c7f;margin:0;min-height:56px}.step-rule{background:#fff8e7;border-radius:8px;padding:9px 10px;margin-top:10px}.step-rule b{display:block;color:#9a6b00;font-size:9px}.step-rule span{font-size:10px;color:#76643c;line-height:1.55;display:block;margin-top:2px}.step-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;margin-top:10px}.step-actions button,.copy-summary{border:1px solid var(--line);background:#fff;color:#6b7484;padding:9px;border-radius:9px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.step-actions button:disabled{opacity:.38;cursor:not-allowed}.step-actions .next{background:var(--blue);border-color:var(--blue);color:#fff}.coordinates{border-top:1px solid #e8edf3;margin-top:15px;padding-top:10px}.coordinates summary{list-style:none;cursor:pointer;font-size:11px;font-weight:800;display:flex;justify-content:space-between}.coordinates summary::-webkit-details-marker{display:none}.coordinates summary span{color:#8f98a6;font-size:9px;font-weight:400}.coordinates>div{margin-top:9px;display:grid;grid-template-columns:1fr 1fr;gap:5px}.coordinate-row{background:#f4f7fa;border-radius:6px;padding:6px 7px;font:9px ui-monospace,Consolas,monospace;color:#536078}.copy-summary{width:100%;margin-top:10px;color:var(--blue);border-color:#b9c9eb}.principle-band{margin-top:18px;border-radius:16px;background:#172440;color:#fff;padding:20px 24px;display:grid;grid-template-columns:1fr auto 1fr 1.25fr;gap:24px;align-items:center;box-shadow:var(--shadow)}.principle-band>div span{color:#80a5ff;font-size:8px;letter-spacing:.16em}.principle-band h3{font-size:14px;margin:4px 0}.principle-band p{margin:0;color:#adb9d0;font-size:10px}.principle-band>b{color:#5d6c89}.principle-band aside{border-left:1px solid #3a4864;padding-left:22px}.principle-band aside strong{color:var(--yellow);font-size:11px}.principle-band aside p{margin-top:4px;color:#fff}.agent-launcher{position:fixed;right:24px;bottom:22px;z-index:20;border:0;border-radius:28px;background:#172440;color:white;padding:8px 16px 8px 8px;display:flex;align-items:center;gap:9px;box-shadow:0 14px 35px rgba(14,30,64,.3);cursor:pointer}.agent-launcher b{font-size:12px}.agent-face,.agent-avatar span{width:34px;height:34px;background:linear-gradient(145deg,#66dbe1,#2f71dc);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:5px;position:relative}.agent-face i,.agent-avatar i{width:4px;height:6px;border-radius:3px;background:#fff}.agent-drawer{position:fixed;z-index:30;right:22px;bottom:22px;width:370px;max-height:min(680px,calc(100vh - 44px));background:#fff;border:1px solid #dae2ed;border-radius:18px;box-shadow:0 24px 70px rgba(12,27,59,.3);display:flex;flex-direction:column;transform:translateY(24px) scale(.96);opacity:0;pointer-events:none;transition:.22s;overflow:hidden}.agent-drawer.open{transform:none;opacity:1;pointer-events:auto}.agent-drawer header{background:#172440;color:#fff;padding:14px;display:flex;align-items:center;gap:10px}.agent-avatar span{width:38px;height:38px}.agent-drawer header>div:nth-child(2){flex:1}.agent-drawer header b{display:block;font-size:13px}.agent-drawer header small{color:#9facbf;font-size:9px;display:flex;align-items:center;gap:5px;margin-top:3px}.agent-drawer header small i{width:6px;height:6px;background:var(--green);border-radius:50%}.agent-drawer header>button{border:0;background:transparent;color:#b8c2d2;font-size:24px;cursor:pointer}.chat-context{background:#eef4ff;color:#49648f;padding:8px 14px;font-size:9px;border-bottom:1px solid #dfe8f8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-messages{height:330px;overflow-y:auto;padding:15px;background:#f7f9fc;display:flex;flex-direction:column;gap:10px}.message{max-width:86%;padding:10px 12px;border-radius:12px;font-size:11px;line-height:1.65;white-space:pre-wrap}.message.assistant{align-self:flex-start;background:#fff;color:#49556a;border:1px solid #e1e7ef;border-bottom-left-radius:3px}.message.user{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:3px}.message.loading:after{content:"•••";letter-spacing:3px;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.35}}.quick-questions{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;border-top:1px solid #edf0f4}.quick-questions button{flex:none;border:1px solid #ccd8eb;background:#f7f9fd;color:#56709d;border-radius:16px;padding:6px 9px;font-size:9px;cursor:pointer}.chat-input{display:grid;grid-template-columns:1fr 36px 36px;gap:7px;align-items:end;padding:10px 12px}.chat-input textarea{resize:none;max-height:85px;border:1px solid var(--line);border-radius:10px;padding:9px 10px;font:inherit;font-size:11px;outline:none}.chat-input textarea:focus{border-color:var(--blue)}.voice-button,.send-button{width:36px;height:36px;border-radius:10px;border:0;cursor:pointer}.voice-button{background:#eef2f8;position:relative}.voice-button span{position:absolute;left:14px;top:8px;width:8px;height:13px;border:2px solid #55657d;border-radius:8px}.voice-button span:after{content:"";position:absolute;width:14px;height:8px;border:2px solid #55657d;border-top:0;border-radius:0 0 9px 9px;left:-5px;top:8px}.voice-button.listening{background:#ffe7e9;animation:pulse 1s infinite}.voice-button.listening span,.voice-button.listening span:after{border-color:var(--red)}.send-button{background:var(--blue);color:#fff;font-size:18px}.record-notice{font-size:8px;color:#9ca5b3;text-align:center;margin:0 10px 9px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,15px);opacity:0;background:#172440;color:white;padding:9px 14px;border-radius:9px;z-index:50;font-size:11px;transition:.2s}.toast.show{transform:translate(-50%,0);opacity:1}@media(max-width:1200px){.lab-layout{grid-template-columns:250px minmax(470px,1fr)}.result-panel{grid-column:1/-1}.result-panel .result-content{display:grid;grid-template-columns:240px 1fr 230px;gap:12px;align-items:start}.result-panel .answer-card{grid-row:1/4}.result-panel .method-tabs{margin:0}.result-panel .step-card{grid-column:2;grid-row:2/5}.result-panel .step-actions{grid-column:2}.result-panel .coordinates,.result-panel .copy-summary{margin-top:0}.result-empty{padding:35px}.workspace-card{min-height:640px}}@media(max-width:820px){.topbar{height:auto;padding:12px 16px;flex-wrap:wrap}.student-field{order:3;width:100%}.student-field input{flex:1}.top-status{display:none}main{padding:20px 12px 45px}.intro-strip{display:block}.intro-strip p{text-align:left;margin-top:8px}.lab-layout{display:flex;flex-direction:column}.left-panel{order:2}.workspace-card{order:1;min-height:590px}.result-panel{order:3}.point-list{min-height:auto;grid-template-columns:repeat(3,1fr)}.point-placeholder,.point-item{min-width:0}.point-item small{white-space:normal}.presets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.presets .subheading{grid-column:1/-1}.presets>button{margin:0}.result-panel .result-content{display:block}.result-panel .method-tabs{margin:14px 0 11px}.result-panel .step-card{min-height:auto}.result-panel .coordinates{margin-top:15px}.principle-band{grid-template-columns:1fr 1fr}.principle-band>b{display:none}.principle-band aside{grid-column:1/-1;border-left:0;border-top:1px solid #3a4864;padding:12px 0 0}.canvas-wrap{min-height:460px}}@media(max-width:560px){.brand small{display:none}.brand b{font-size:15px}.intro-strip h1{font-size:23px}.point-list{grid-template-columns:1fr}.presets{grid-template-columns:1fr}.workspace-bar{align-items:flex-start;gap:9px;flex-direction:column}.canvas-wrap{min-height:400px}.view-buttons{width:100%}.view-buttons button{flex:1}.canvas-tip{display:none}.generate-bar{align-items:stretch;flex-direction:column}.generate-button{width:100%}.principle-band{grid-template-columns:1fr}.agent-drawer{width:calc(100vw - 20px);right:10px;bottom:10px;max-height:calc(100vh - 20px)}.agent-launcher{right:13px;bottom:13px}.top-status{display:none}}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:none}button,input,textarea,summary{touch-action:manipulation}.workspace-card{min-width:0}#cubeCanvas{-webkit-user-select:none;user-select:none;overscroll-behavior:contain}.result-panel:not(.is-demonstrating) .step-card{border-color:#b8c9ee;background:linear-gradient(145deg,#fff,#f4f7ff)}
@media(max-width:900px){.topbar{height:auto;padding:12px max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));flex-wrap:wrap}.student-field{order:3;width:100%}.student-field input{flex:1;min-width:0}.top-status{display:none}main{padding:20px max(12px,env(safe-area-inset-left)) calc(45px + env(safe-area-inset-bottom));}.intro-strip{display:block}.intro-strip p{text-align:left;margin-top:8px}.lab-layout{display:flex;flex-direction:column}.left-panel{order:2}.workspace-card{order:1;min-height:0}.result-panel{order:3}.point-list{min-height:auto;grid-template-columns:repeat(3,minmax(0,1fr))}.point-placeholder,.point-item{min-width:0}.point-item small{white-space:normal}.presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.presets .subheading{grid-column:1/-1}.presets>button{margin:0}.result-panel .result-content{display:block}.result-panel .method-tabs{margin:14px 0 11px}.result-panel .step-card{min-height:auto}.result-panel .coordinates{margin-top:15px}.principle-band{grid-template-columns:1fr 1fr}.principle-band>b{display:none}.principle-band aside{grid-column:1/-1;border-left:0;border-top:1px solid #3a4864;padding:12px 0 0}.workspace-card .canvas-wrap{min-height:clamp(430px,58dvh,560px)}}
@media(max-width:560px){.workspace-card .canvas-wrap{min-height:clamp(360px,54dvh,450px)}.shape-preview{min-width:100px;padding:7px 9px}.canvas-tools{left:8px;top:8px}.agent-drawer{max-height:calc(100dvh - 20px - env(safe-area-inset-bottom));bottom:max(10px,env(safe-area-inset-bottom))}.agent-launcher{right:max(13px,env(safe-area-inset-right));bottom:max(13px,env(safe-area-inset-bottom))}}
@media(max-height:700px) and (min-width:700px){.workspace-card .canvas-wrap{min-height:420px}.agent-drawer{max-height:calc(100dvh - 24px)}}
@media(hover:none),(pointer:coarse){.button,.generate-button,.add-more-button,.view-buttons button,.method-tabs button,.step-actions button,.copy-summary,.presets>button,.canvas-tools button,.quick-questions button{min-height:44px}.voice-button,.send-button{width:44px;height:44px}.chat-input{grid-template-columns:1fr 44px 44px}.presets>button:hover{transform:none;background:#fff}.canvas-tools button:hover{background:transparent;color:#4c5c76}.method-tabs button{font-size:12px}.step-actions button,.copy-summary{font-size:12px}.canvas-tip{bottom:12px}}
@media(max-width:1200px){.button,.generate-button,.add-more-button,.view-buttons button,.method-tabs button,.step-actions button,.copy-summary,.presets>button,.canvas-tools button{min-height:44px}}
@media(max-height:820px) and (min-width:901px){.workspace-card{min-height:560px}.workspace-card .canvas-wrap{min-height:460px}}
@media(max-width:1200px) and (min-width:901px){.lab-layout{align-items:start}.workspace-card{width:100%}}
.agent-drawer{max-height:min(680px,calc(100dvh - 44px - env(safe-area-inset-bottom)))}
