:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#dbe4ee;background:#0e141c;font-synthesis:none;--bg: #101720;--panel: #151d27;--panel2: #1b2531;--border: #2a3543;--text: #dbe4ee;--muted: #8796aa;--accent: #85d7b6;--accent-bg: #1f3d36;--input: #101720;color-scheme:dark;font-size:12px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select,input,textarea{border:1px solid var(--border);border-radius:6px;background:var(--input);color:var(--text)}button,select{cursor:pointer}button{padding:8px 11px;transition:background .15s,border-color .15s}button:hover{background:var(--panel2);border-color:#587062}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.4;cursor:not-allowed}.primary{background:var(--accent);color:#112a24;border-color:var(--accent);font-weight:650}.primary:hover{background:#a0e7ca;border-color:#a0e7ca}input,select,textarea{padding:8px;width:100%;min-width:0}input[type=checkbox]{width:13px;height:13px;accent-color:var(--accent);flex-shrink:0;margin:0}input[type=color]{padding:2px;cursor:pointer}input[type=range]{padding:0;height:16px;accent-color:var(--accent);cursor:pointer}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{appearance:none}label{display:block;color:var(--muted);font-size:11px;line-height:1.6}label input,label select{margin-top:4px}textarea{resize:vertical;line-height:1.7;margin:8px 0}h1,h2,p{margin:0}p{line-height:1.65}small{font-size:10px}button[hidden],[hidden]{display:none!important}.topbar{height:68px;padding:0 20px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--border);background:var(--panel)}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;flex-shrink:0;font-size:21px;letter-spacing:-.8px;font-weight:650}.brand b{font-weight:400;color:var(--accent)}.brand small{display:block;font-size:7px;letter-spacing:1.4px;font-weight:500;color:var(--muted);margin-top:4px}.brandmark{height:35px;width:35px;border:1px solid var(--accent);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--accent);position:relative;font-size:24px}.brandmark span{position:absolute;background:var(--panel);font-size:19px;bottom:-5px;right:-2px}.project-title{display:flex;align-items:center;gap:8px;flex:1;min-width:0;font-size:11px}.project-title>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.project-title small{color:var(--muted);border-left:1px solid var(--border);padding-left:10px;white-space:nowrap}.online{height:5px;width:5px;display:inline-block;border-radius:50%;background:var(--accent);flex-shrink:0}.header-actions{display:flex;align-items:center;gap:7px}.header-actions select{width:140px}.workspace{display:grid;grid-template-columns:286px minmax(320px,1fr) 292px;height:calc(100dvh - 152px);min-height:520px}.panel{background:var(--panel);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.left-panel{border-right:1px solid var(--border);padding:0 17px 16px}.right-panel{border-left:1px solid var(--border);padding:0 18px 20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 0;font-weight:600;font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.2px;color:var(--muted);font-weight:500}.tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:21px;gap:12px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:0 0 12px;color:var(--muted)}.tabs button.active{border-color:var(--accent);color:var(--accent)}.section-caption{font-size:9px;letter-spacing:1.1px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.count{background:var(--panel2);padding:2px 5px;border-radius:4px;color:var(--text);font-size:9px}.point-head,.point-row{display:grid;grid-template-columns:49px repeat(3,minmax(0,1fr)) 16px;gap:5px;align-items:center}.point-head{color:var(--muted);font-size:9px;text-align:center;margin-bottom:7px}.point-row{margin-bottom:7px}.point-row input{padding:7px 3px;text-align:center;font-size:11px;border-radius:4px}.point-name{display:flex;align-items:center}.point-name input[type=color]{width:13px;height:13px;padding:0;border:0;border-radius:50%}.point-name input:not([type=color]){background:transparent;border:none;width:33px;font-weight:600}.icon{padding:3px;border:0;background:transparent;font-size:16px}.quiet{color:var(--muted)}.wide{width:100%;margin-top:9px;font-size:11px}.dashed{border-style:dashed;color:var(--muted);background:transparent}.section{border-top:1px solid var(--border);padding-top:18px;margin-top:20px}.section label{margin-bottom:8px}.builder-row{display:flex;gap:10px;margin-top:8px}.builder-row>label:first-child{flex:1}.color-label{width:42px}.color-label input{height:32px}.normal-fields{display:flex;gap:6px}.objects{margin-top:17px}.object-row{display:flex;align-items:center;gap:6px;border-top:1px solid #7c91a00f;min-height:34px}.object-select{display:flex;align-items:center;gap:8px;text-align:left;flex:1;min-width:0;border:0;background:none;padding:6px 0}.object-select small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:9px}.object-select b{font-size:11px}.object-row>.icon{font-size:13px}summary{cursor:pointer;font-size:11px;color:var(--text);margin-bottom:15px}summary .eyebrow{float:right}.check-grid label{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted);margin-bottom:10px}.range-label span{float:right;font-size:10px;color:var(--text)}.range-label input{margin:10px 0}.local-note{margin-top:25px;font-size:10px;color:var(--muted);line-height:1.9}.local-note .online{margin-right:5px}.local-note small{padding-left:12px;font-size:9px}.stage{position:relative;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#1d2a36,#111923 75%)}.stage:fullscreen{height:100vh}.stage-toolbar{position:absolute;z-index:4;left:20px;right:20px;top:17px;display:flex;justify-content:space-between;gap:12px}.mode-switch{display:flex;gap:2px;border:1px solid var(--border);padding:3px;border-radius:8px;background:var(--panel)}.mode-switch button{background:none;border:0;padding:7px 11px;color:var(--muted);font-weight:700}.mode-switch button span{font-size:10px;font-weight:400;margin-left:3px}.mode-switch button.active{background:var(--panel2);color:var(--text)}.stage-controls{display:flex;gap:6px}.stage-controls select{width:158px;background:var(--panel);font-size:10px}.stage-heading{position:absolute;top:86px;left:26px;z-index:2;pointer-events:none;max-width:85%}.stage-heading h1{font-size:21px;line-height:1.35;margin:9px 0 7px;font-weight:500;letter-spacing:-.5px}.stage-heading p{font-size:10px;color:var(--muted)}#three{position:absolute;inset:0}#three canvas{display:block;width:100%;height:100%;outline:none}#drawing{position:absolute;inset:176px 22px 90px;overflow:auto;scrollbar-width:thin;box-shadow:0 12px 60px #0003;border-radius:2px;background:#dbe1e8}#drawing svg{display:block;margin:auto;min-height:90%;object-fit:contain}.stage-badge{position:absolute;bottom:76px;left:24px;display:flex;align-items:center;gap:7px;font-size:9px;color:var(--muted);pointer-events:none}.axis-legend{position:absolute;top:175px;left:27px;display:flex;gap:15px;font-size:9px;pointer-events:none}.axis-legend span:last-child{color:var(--muted)}.x{color:#f17d86}.y{color:#78d5a5}.z{color:#70a7ff}.view-tools{position:absolute;bottom:34px;left:50%;transform:translate(-50%);display:flex;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:3px;gap:1px;white-space:nowrap}.view-tools button{font-size:9px;border:0;background:transparent;padding:7px 9px;color:var(--muted)}.view-tools button.active{color:var(--accent);background:var(--accent-bg)}.view-tools>span{border-left:1px solid var(--border);margin:4px}.stage-hint{position:absolute;bottom:12px;width:100%;text-align:center;font-size:8px;color:var(--muted);pointer-events:none}.inspector{padding-bottom:20px}.object-title{font-size:25px;font-weight:500;margin:12px 0 17px;display:flex;align-items:center;gap:10px}.object-title span{font-size:14px}.object-title small{font-size:10px;font-weight:400;color:var(--muted)}.property{background:var(--input);padding:10px 12px;border:1px solid var(--border);border-radius:5px;font-family:Cascadia Code,Consolas,monospace;font-size:11px;line-height:1.7;overflow-wrap:anywhere;margin-top:6px}.property.secondary{color:#bac7d8}.validation{border-top:1px solid var(--border);padding-top:20px;margin-bottom:22px}.check{border:1px solid #6ea38b3a;background:#74aa8e08;padding:12px;border-radius:6px;display:flex;gap:10px;font-size:10px;line-height:1.7}.check b{font-weight:500;display:block}.check small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.check p{margin-top:6px;font-size:10px}.check+.check{margin-top:7px}.success{color:var(--accent)}.error{color:#ffa8a0!important;border-color:#b2665c66!important;background:#512a2722!important}.warning{color:#f0c88f;border-color:#a5895066}.solution{border-top:1px solid var(--border);padding-top:20px}.step{display:flex;gap:10px;width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:6px;padding:12px 8px;position:relative}.step:before{content:"";width:1px;background:var(--border);position:absolute;left:19px;top:36px;bottom:-8px}.step:last-child:before{display:none}.step-number{border:1px solid var(--border);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:9px;flex-shrink:0;background:var(--panel);z-index:1}.step b{font-size:10px;font-weight:500;display:block;line-height:1.5;padding-top:3px}.step small{display:block;font-size:9px;line-height:1.65;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.step.current{border-color:#75bd9c55;background:#67b58f08}.step.current .step-number{background:var(--accent);color:#133226;border-color:var(--accent)}.step.current b{color:var(--accent)}.step.future{opacity:.4}.step.failed b{color:#ffa8a0}.step em{font-size:10px;display:block;color:var(--accent);margin-top:5px;font-style:normal}.equation-note{border-top:1px solid var(--border);margin-top:25px;padding-top:15px;color:var(--muted);font-size:10px;line-height:1.9}.equation-note small{font-size:9px}.bottom-bar{height:84px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:12px 22px;background:var(--panel);border-top:1px solid var(--border)}.unfold-controls{display:flex;gap:22px;align-items:center;flex:1}.unfold-controls button{white-space:nowrap;font-size:11px;padding:11px 14px}.angle-control{width:210px}.angle-control label{display:flex;justify-content:space-between;font-size:10px}.angle-control b{color:var(--accent);font-weight:500}.angle-control>div{display:flex;justify-content:space-between;color:var(--muted);font-size:8px}.step-controls{display:flex;align-items:center;gap:10px;border-left:1px solid var(--border);border-right:1px solid var(--border);padding:0 20px}.step-controls>label{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:10px}.step-controls input{width:90px;margin:0}.step-controls button{padding:4px 8px;font-size:18px}.step-controls>span{font-size:10px;color:var(--muted);white-space:nowrap;width:42px;text-align:center}.paper-controls{display:flex;gap:12px}.paper-controls label{font-size:9px}.paper-controls select{padding:5px 7px;width:76px;font-size:10px}.muted{color:var(--muted);font-size:10px;line-height:1.7}.parse-result{font-size:11px;margin-top:12px}.parse-result p{margin:7px 0}.projection-choice{position:absolute;z-index:30;bottom:110px;left:12px;right:12px;max-width:360px;padding:14px;border:1px solid var(--accent);border-radius:8px;background:var(--panel);box-shadow:0 6px 24px #0006;font-size:12px;line-height:1.5}.projection-choice p{margin:0 0 10px}.projection-choice button{display:block;width:100%;min-height:42px;margin:6px 0 0;text-align:left}details p{color:var(--muted);font-size:10px;line-height:1.7;margin:10px 0}#toast{position:fixed;bottom:98px;left:50%;transform:translate(-50%);z-index:30;padding:14px 20px;max-width:min(600px,90vw);border:1px solid #77bca477;border-radius:8px;background:var(--panel)!important;box-shadow:0 10px 50px #0008;color:var(--accent);font-size:12px;line-height:1.6}dialog{max-width:620px;width:90vw;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);padding:35px}dialog::backdrop{background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog h2{font-weight:500;margin:14px 0 20px}dialog p{font-size:12px;margin:13px 0;color:var(--muted)}.close{position:absolute;right:15px;top:10px;font-size:20px;background:transparent;border:0}.left-panel section>select{font-size:11px}a:focus-visible{outline:2px solid var(--accent)}:root[data-theme=light]{--bg: #f2f5f8;--panel: #ffffff;--panel2: #e9eef3;--border: #d4dce5;--text: #24344a;--muted: #65758b;--accent: #227f65;--accent-bg: #dceee6;--input: #f7f9fb;color-scheme:light;color:var(--text);background:var(--bg)}[data-theme=light] .stage{background:radial-gradient(ellipse,#e8eef4,#f7f9fc)}[data-theme=light] .property.secondary{color:#4a5a70}[data-theme=light] .primary{color:#fff}[data-theme=light] .primary:hover{background:#2c9777}[data-theme=light] .step.current .step-number{color:#fff}@media(min-width:1600px){.workspace{grid-template-columns:310px minmax(320px,1fr) 320px}.stage-heading h1{font-size:25px}.stage-heading{top:100px}.axis-legend{top:198px}.panel-heading{padding:25px 0}.stage-toolbar{top:22px}.right-panel,.left-panel{padding-left:22px;padding-right:22px}.step b{font-size:11px}.step small{font-size:10px}}@media(max-width:1200px){.workspace{grid-template-columns:255px minmax(290px,1fr) 252px}.topbar{gap:18px;padding:0 14px}.project-title small{display:none}.header-actions{gap:4px}.header-actions select{width:125px}.header-actions button{padding:8px}.bottom-bar{gap:12px;padding:12px}.angle-control{width:150px}.unfold-controls{gap:12px}.step-controls{padding:0 12px;gap:7px}.step-controls input{width:60px}.stage-toolbar{left:14px;right:14px;gap:5px}.stage-controls select{width:132px}.mode-switch button{padding:7px}.mode-switch button span{display:none}.stage-heading{left:19px}.stage-heading h1{font-size:19px}.axis-legend{left:19px}.brand small{font-size:6px}.project-title{font-size:10px}}@media(max-width:1000px){.workspace{grid-template-columns:245px minmax(300px,1fr);height:calc(100dvh - 150px)}.right-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:15px;overflow:visible;border-top:1px solid var(--border)}.right-panel .panel-heading{grid-column:1/-1;padding:18px 0 0}.right-panel .solution{grid-column:2;grid-row:2/5}.right-panel .validation{grid-column:1}.right-panel .equation-note{margin:0}.project-title{display:none}.topbar{justify-content:space-between}.bottom-bar{height:82px;position:relative}.step-controls{display:none}.workspace{overflow:visible;margin-bottom:0}.panel.left-panel,.stage{height:calc(100dvh - 150px);min-height:520px}.right-panel{padding-bottom:100px}.bottom-bar{position:fixed;bottom:0;width:100%;z-index:8}}@media(max-width:650px){.topbar{height:62px;padding:0 10px;gap:8px}.brand{font-size:18px}.brandmark{width:28px;height:28px;font-size:20px}.brand small,.header-actions #help,.header-actions #theme,.header-actions #import span{display:none}.header-actions select{width:70px;font-size:9px}.header-actions button{font-size:10px}.workspace{display:flex;flex-direction:column;height:auto}.stage{order:-1;height:560px;min-height:560px}.panel.left-panel{height:auto;max-height:none;padding:15px 20px}.right-panel{display:block;padding:15px 20px 120px}.right-panel .panel-heading{padding:15px 0}.bottom-bar{height:100px;gap:8px;padding:10px}.unfold-controls{display:block}.unfold-controls button{font-size:10px;padding:7px 9px;margin-bottom:4px}.angle-control{width:180px}.angle-control label{font-size:9px}.angle-control>div{display:none}.paper-controls{gap:5px}.paper-controls select{width:65px}.stage-heading h1{font-size:19px}#toast{bottom:110px}.point-head,.point-row{grid-template-columns:55px repeat(3,minmax(0,1fr)) 20px}.stage-heading{top:82px}.axis-legend{top:165px}}@media print{.topbar,.left-panel,.right-panel,.bottom-bar,.stage-toolbar,.stage-heading,.stage-badge,.axis-legend,.view-tools,.stage-hint,#toast,#three{display:none!important}.workspace{display:block;height:auto;min-height:0}.stage{height:auto;overflow:visible;background:#fff}#drawing{display:block!important;position:static;box-shadow:none;overflow:visible}#drawing svg{width:100%!important;height:auto}.stage{min-height:0!important}@page{size:landscape;margin:0}}.quick-tools{position:absolute;z-index:5;top:151px;left:24px;right:24px;display:flex;gap:5px;flex-wrap:wrap}.quick-tools select{width:auto;max-width:165px;font-size:10px;padding:6px}.quick-tools button{font-size:10px;padding:6px 9px}.quick-tools #mobile-input,.quick-tools #mobile-analysis,.mobile-close{display:none}.axis-legend{top:196px}#drawing{top:224px}.stage:fullscreen{background:var(--bg)}#drawing:has([data-point]):active{cursor:crosshair}.panel{overscroll-behavior:contain}#three canvas{touch-action:none}.quick-tools button,input,select{touch-action:manipulation}@media(max-width:1000px){.workspace{display:block;height:calc(100dvh - 170px);min-height:420px}.workspace .stage{height:100%;min-height:420px}.workspace .left-panel,.workspace .right-panel{display:none;position:fixed;inset:68px auto 100px 0;width:min(360px,94vw);height:auto;max-height:none;overflow:auto;z-index:20;box-shadow:0 10px 70px #0009;padding:15px 18px}.workspace .right-panel{left:auto;right:0}.right-panel .solution,body[data-panel=left] .workspace .left-panel,body[data-panel=right] .workspace .right-panel,.mobile-close,.quick-tools #mobile-input,.quick-tools #mobile-analysis{display:block}.panel-heading .eyebrow{display:none}.quick-tools{left:14px;right:14px;top:140px}.quick-tools button,.quick-tools select{min-height:36px}.stage-heading h1{font-size:18px}.axis-legend{display:none}#drawing{inset:244px 14px 80px}.bottom-bar{height:100px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.angle-control{width:180px}.angle-control input{height:25px}.stage-toolbar button{min-height:36px}.quick-tools #play-steps{display:none}}@media(max-width:400px){.brand{font-size:15px;gap:5px}.brandmark{width:23px;height:25px}.header-actions select{width:60px}.header-actions button{padding:7px 5px}.topbar{padding:0 6px}.quick-tools{gap:3px}.quick-tools select{max-width:143px;font-size:9px}.paper-controls{gap:3px}.paper-controls select{width:57px}.angle-control{width:157px}.unfold-controls button{font-size:9px}.stage-heading h1{font-size:16px}}@media(max-height:520px)and (orientation:landscape){.workspace{height:calc(100dvh - 130px);min-height:260px}.workspace .stage{min-height:260px}.topbar{height:44px}.bottom-bar{height:86px}.stage-heading{display:none}.quick-tools{top:60px}.stage-toolbar{top:8px}#drawing{inset:130px 12px 45px}.view-tools{bottom:12px}.stage-hint,.stage-badge{display:none}}.stage.pseudo-fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:100;min-height:0!important}.stage.pseudo-fullscreen #fullscreen{border-color:var(--accent)}.stage[data-mode="3d"] #drawing-mode,.stage[data-mode="3d"] #fit,.stage[data-mode="2d"] #plane-mode{display:none}@media(max-width:1000px){.quick-tools button,.quick-tools select{min-height:40px}.quick-tools #reset-steps,.stage[data-mode="2d"] #pause-animation{display:none}.stage-hint{font-size:9px}#drawing{top:230px}}@media(max-height:520px)and (orientation:landscape){#drawing{top:115px}}.check.measurement{color:var(--text);border-color:var(--border)}.step.failed em{color:#f0c88f}@media(max-width:1000px){.panel input:not([type=checkbox]):not([type=color]):not([type=range]),.panel select,.panel textarea{font-size:16px;min-height:42px}}#drawing[data-edit-points=true]{touch-action:none;cursor:crosshair}#drawing[data-edit-points=true] svg{pointer-events:none}:root{--bg: #080808;--panel: #111;--panel2: #191919;--border: #303030;--text: #f5f5f5;--muted: #969696;--accent: #fff;--accent-bg: #242424;--input: #0c0c0c;font-family:Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);font-variant-numeric:tabular-nums}:root[data-theme=light]{--bg: #eee;--panel: #fafafa;--panel2: #e7e7e7;--border: #c4c4c4;--text: #111;--muted: #666;--accent: #090909;--input: white}html,body{height:100%;overflow:hidden;overscroll-behavior:none}#app{width:100%;min-width:0;grid-template-columns:minmax(0,1fr);height:100vh;height:var(--app-height, 100dvh);display:grid;grid-template-rows:52px minmax(0,1fr) 76px;overflow:hidden}button,input,select,textarea,.property,.mode-switch,.view-tools,.object-row,dialog{border-radius:2px}button:hover{border-color:var(--muted)}.primary,[data-theme=light] .primary,.primary:hover,[data-theme=light] .primary:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.topbar{height:auto;min-height:0;padding:env(safe-area-inset-top) 12px 0;gap:16px;background:var(--panel)}.brand{font:500 19px Georgia,serif;gap:6px}.brandmark{width:28px;height:28px;border-radius:0;border-color:var(--muted);color:var(--text)}.brand small{display:none}.brand b{font-size:14px;color:var(--muted)}.project-title{flex:1;overflow:hidden;display:flex;min-width:0}.project-title small{display:none}.header-actions{gap:5px;flex-shrink:0}.header-actions button{min-height:34px}.workspace{height:auto!important;min-height:0!important;display:grid;grid-template-columns:260px minmax(0,1fr) 280px;overflow:hidden}.workspace .panel{height:100%;min-height:0;box-shadow:none;scroll-padding-block:20px 80px}.panel-heading{font:600 12px Segoe UI,sans-serif;padding:16px 0}.stage,[data-theme=light] .stage{background:var(--bg);min-height:0!important;display:grid;grid-template-rows:48px minmax(0,1fr) 48px;overflow:hidden}.stage-toolbar{position:static;inset:auto;margin:0;padding:4px 10px;align-items:center;border-bottom:1px solid var(--border);gap:8px}.mode-switch{border:0;background:none;gap:3px;padding:0}.mode-switch button{min-height:34px;border:1px solid var(--border);padding:7px 12px}.mode-switch button.active{background:var(--accent);color:var(--bg)}.stage-controls{margin-left:auto}.stage-controls button{min-width:34px;min-height:34px}.stage-heading,.stage-hint{display:none!important}.scene-viewport{grid-row:2;grid-column:1;position:relative;min-height:0;min-width:0;overflow:hidden}.scene-viewport #three,.scene-viewport #drawing{position:absolute;inset:0!important;margin:0;width:100%;height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}.scene-viewport #drawing{background:var(--panel2);overflow:hidden;touch-action:none}.scene-viewport #drawing[data-paper-visible=false]{background:#fff}.object-row.selected,.object-select.selected{background:var(--panel2)}.property.secondary{color:var(--muted)}dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.scene-viewport #drawing svg{width:100%;height:100%;min-height:0;margin:0}.scene-viewport .axis-legend{top:8px;left:10px;font:9px Consolas,monospace}.scene-viewport .stage-badge{bottom:7px;left:10px;font:9px Consolas,monospace}.view-tools{position:static;inset:auto;transform:none;margin:0;padding:3px 8px;border:0;border-top:1px solid var(--border);border-radius:0;background:var(--panel);box-shadow:none;justify-content:center;gap:4px;min-width:0;overflow:hidden}.view-tools button{min-height:32px;min-width:32px;padding:6px 9px;font-size:10px;white-space:nowrap}.mobile-view-select{display:none;width:120px}#screen-view{width:174px;font-size:11px;height:34px}.stage[data-mode="3d"] #screen-view,.stage[data-mode="3d"] #whole-sheet,.stage[data-mode="2d"] .view-tools [data-view],.stage[data-mode="2d"] .mobile-view-select,.stage[data-mode="2d"] #reset-camera{display:none!important}.bottom-bar{height:auto;min-height:0;display:flex;gap:16px;padding:8px 14px max(8px,env(safe-area-inset-bottom));background:var(--panel)}.unfold-controls{flex:1;min-width:0;gap:12px}.angle-control{width:min(220px,36vw)}.angle-control input{height:26px}.angle-control>div{display:none}.step-controls{border-right:0;padding:0 4px 0 14px;gap:6px}.step-controls button{min-width:34px;min-height:34px}.paper-controls{display:flex;gap:10px}.paper-controls label{flex:1}.paper-controls select{width:100%;height:36px}.quick-tools{position:static;inset:auto;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.quick-tools #mobile-input,.quick-tools #mobile-analysis{display:none!important}.quick-tools button,.quick-tools select{min-height:34px;font-size:11px;max-width:100%}#workspace-settings>#example{width:100%;margin-top:10px}.property{font:11px/1.7 Consolas,monospace;border-color:var(--border);background:var(--input)}.step.current{border-color:var(--border);border-left:2px solid var(--accent);background:var(--panel2)}.step.current .step-number{background:var(--accent);color:var(--bg);border-color:var(--accent)}.step.current b,.step em,.success{color:var(--text)}.check{background:none;border-color:var(--border)}.online{background:var(--muted);border-radius:0}.bottom-sheet{color:var(--text);background:var(--panel);border:1px solid var(--border);padding:18px;width:min(440px,100vw);max-height:85dvh;overflow:auto;box-shadow:none}.bottom-sheet::backdrop{background:#0009;-webkit-backdrop-filter:none;backdrop-filter:none}.sheet-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px;margin-bottom:16px}.sheet-heading button{margin-left:auto}.menu-actions{display:grid;gap:8px}.bottom-sheet>button{display:block;width:100%;margin-top:10px;min-height:44px}.bottom-sheet select{margin:5px 0 12px;min-height:44px}.export-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.projection-choice{box-shadow:none;border-color:var(--muted);bottom:58px}#stage-menu{display:none}body[data-maximized] .topbar{display:none!important}body[data-maximized] #app{grid-template-rows:minmax(0,1fr) 76px}body[data-maximized] .workspace{grid-template-columns:1fr}body[data-maximized] .workspace .panel{display:none}body[data-maximized] #stage-menu{display:block}@media(max-width:1300px)and (min-width:701px){.workspace{grid-template-columns:240px minmax(0,1fr)}.workspace .left-panel{display:block;position:relative;inset:auto;width:auto;max-height:none;z-index:1}.workspace .right-panel{display:none;position:fixed;inset:52px 0 76px auto;width:320px;max-width:90vw;height:auto;z-index:30;background:var(--panel)}body[data-panel=right] .workspace .right-panel{display:block}.workspace .left-panel .mobile-close{display:none}.workspace .right-panel .mobile-close{display:block}.mode-switch button span,.view-tools [data-view]{display:none}.view-tools .mobile-view-select,#stage-menu{display:block}}@media(max-width:700px),(max-width:1000px)and (max-height:500px)and (orientation:landscape){#app{grid-template-rows:calc(52px + env(safe-area-inset-top)) minmax(0,1fr) calc(76px + env(safe-area-inset-bottom))}.topbar{padding-inline:max(8px,env(safe-area-inset-left));gap:8px}.brand{font-size:17px;gap:0}.brandmark,.brand b{display:none}.project-title{font-size:10px}.project-title .online,.header-actions #theme,.header-actions #help,.header-actions #import{display:none}.header-actions button{min-width:44px;min-height:44px;padding:7px}.header-actions #open-export{font-size:11px}.workspace{display:block}.workspace .stage{height:100%;grid-template-rows:48px minmax(0,1fr) 48px}.workspace .left-panel,.workspace .right-panel{display:none;position:fixed;inset:calc(52px + env(safe-area-inset-top)) 0 0 0;width:100%;height:auto;max-height:none;z-index:30;background:var(--panel);padding:0 14px max(20px,env(safe-area-inset-bottom));border:0}body[data-panel=left] .workspace .left-panel,body[data-panel=right] .workspace .right-panel{display:block}.panel-heading{position:sticky;top:0;background:var(--panel);z-index:2;padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:14px;min-height:52px}.mobile-close{display:block;min-width:70px;min-height:44px}.panel input:not([type=checkbox]):not([type=color]):not([type=range]),.panel select,.panel textarea{font-size:16px;min-height:44px}.stage-toolbar{grid-row:1;grid-column:1;min-width:0;padding:2px 6px}.mode-switch button{min-width:44px;min-height:44px;padding:6px 8px}.mode-switch button span{display:none}.stage-controls button{min-width:44px;min-height:44px}#stage-menu{display:block}.scene-viewport .axis-legend,.scene-viewport .stage-badge{display:none}.view-tools{grid-row:3;grid-column:1;width:100%;max-width:100%;min-height:0;padding:2px 5px;gap:4px}.view-tools button{min-width:44px;min-height:44px;padding:6px}.view-tools [data-view]{display:none}.view-tools .mobile-view-select{display:block;min-height:44px;font-size:12px;max-width:140px;flex:1}#screen-view{width:128px;min-height:44px;font-size:11px;flex:1;max-width:180px}.bottom-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:5px 7px max(5px,env(safe-area-inset-bottom))}.unfold-controls{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px}.unfold-controls #unfold{font-size:0;min-width:44px;min-height:44px;padding:0}.unfold-controls #unfold:before{content:"Π↔";font-size:15px}.angle-control{width:100%}.angle-control label{font-size:9px}.angle-control input{height:30px}.step-controls{display:flex;padding:0;border:0;gap:2px}.step-controls>label{display:none}.step-controls>span{width:30px;font-size:10px}.step-controls button{min-height:44px;min-width:38px}.bottom-sheet{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:85dvh;border-radius:8px 8px 0 0;padding-bottom:max(18px,env(safe-area-inset-bottom))}.bottom-sheet button{min-height:44px}body[data-maximized] #app{grid-template-rows:minmax(0,1fr) calc(76px + env(safe-area-inset-bottom))}body[data-maximized] .workspace .panel{top:0}}@media(max-height:500px)and (orientation:landscape){#app{grid-template-rows:44px minmax(0,1fr) 62px}.workspace .stage{grid-template-rows:44px minmax(0,1fr) 44px}.topbar{height:auto}.bottom-bar{padding-block:3px}.workspace .panel{top:44px}.stage-controls button,.mode-switch button,.view-tools button{min-height:40px}}@media print{html,body,#app{height:auto!important;overflow:visible!important}#app,.workspace,.stage,.scene-viewport{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important}.topbar,.bottom-bar,.stage-toolbar,.view-tools,.axis-legend,.stage-badge,.panel{display:none!important}.scene-viewport #drawing{position:static!important;height:auto!important;background:#fff!important}#three{display:none!important}}.cad-dock,.sheet-grip,#sheet-scrim{display:none}#cad-tools{display:grid;gap:8px;margin-top:12px}.cad-step-bar{display:flex;flex-wrap:wrap;gap:4px;position:sticky;top:0;background:var(--panel);z-index:2;padding:8px 0}.cad-step-bar button{min-height:40px}.cad-step-bar output{align-self:center;min-width:44px;text-align:center}.recognition-status{padding:12px;border:1px solid var(--border);margin-block:12px}.recognition-status p{font-size:12px;margin:7px 0}.problem-message{padding:10px;border-left:2px solid var(--muted);font-size:12px;line-height:1.6}#formal-project{width:100%;font:12px/1.5 Consolas,monospace}#paste-condition{margin-bottom:8px}@media(max-width:700px),(max-width:1000px)and (max-height:500px)and (orientation:landscape){#app{grid-template-rows:calc(48px + env(safe-area-inset-top)) minmax(0,1fr) calc(64px + env(safe-area-inset-bottom))}.topbar{padding-inline:max(8px,env(safe-area-inset-left));gap:6px}.brand{font-size:16px}.brand b{display:inline;font-size:12px}.workspace .stage{grid-template-rows:44px minmax(0,1fr) 0}body[data-sheet] .workspace .stage{height:max(0px,calc(100% - var(--sheet-space, 0px)));overflow:hidden}.stage-toolbar{min-height:44px;padding:0 6px!important}.mode-switch #mode-3d,.mode-switch #mode-2d,#stage-menu{display:none!important}.stage-controls{display:flex;gap:4px}.stage-controls button,.mode-switch button{min-height:44px;min-width:44px;padding:6px}.stage .view-tools{display:none!important}.scene-viewport .axis-legend,.scene-viewport .stage-badge{display:none}.cad-dock{grid-row:3;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:3px max(4px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));background:var(--panel);border-top:1px solid var(--border);z-index:60;gap:2px}.cad-dock button{min-width:0;min-height:54px;border-color:transparent;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 0;color:var(--text)}.cad-dock button>span{font:23px/1 Arial,sans-serif}.cad-dock small{font-size:10px;white-space:nowrap}#dock-build{background:var(--accent);color:var(--bg);border-radius:3px}#sheet-scrim:not([hidden]){display:block;position:fixed;inset:calc(48px + env(safe-area-inset-top)) 0 calc(64px + env(safe-area-inset-bottom));z-index:39;background:#0007;touch-action:none}body[data-sheet] .workspace .panel{display:none!important}body[data-sheet=build] .workspace .left-panel,body[data-sheet=objects] .workspace .left-panel,body[data-sheet=tools] .workspace .left-panel,body[data-sheet=analysis] .workspace .right-panel,body[data-sheet=steps] .workspace .right-panel{display:block!important;position:fixed;inset:auto 0 calc(64px + env(safe-area-inset-bottom));height:var( --sheet-height, min(60dvh, calc(var(--app-height, 100dvh) - 116px)) );max-height:calc(var(--app-height, 100dvh) - 116px);width:100%;max-width:none;overflow:auto;overscroll-behavior:contain;border:1px solid var(--border);border-bottom:0;border-radius:12px 12px 0 0;z-index:45;padding:0 14px 20px;scroll-padding-top:65px;touch-action:pan-y}.workspace .panel>.panel-heading,.workspace .panel>.mobile-close,.workspace .panel>.local-note{display:none!important}.sheet-grip{display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:10;background:var(--panel);padding:12px 0;border-bottom:1px solid var(--border);min-height:54px}.sheet-grip b{font-size:13px;flex:1}.sheet-grip>button{min-height:44px}.sheet-grip .sheet-handle{font-size:0!important;width:44px;min-width:44px;touch-action:none}.sheet-handle:before{content:"";display:block;width:26px;height:3px;background:var(--muted);margin:auto;border-radius:2px}.workspace .panel input:not([type=checkbox]):not([type=range]):not([type=color]),.workspace .panel select,.workspace .panel button{min-height:44px;font-size:14px}#condition{font-size:16px;min-height:154px;resize:vertical}body[data-sheet=build] .workspace .left-panel{height:calc(var(--app-height, 100dvh) - 112px)}body[data-sheet=build] .workspace .stage{visibility:hidden}.tabs{position:sticky;top:69px;z-index:3;background:var(--panel);padding-block:5px}body[data-sheet=build] .left-panel>:not(.sheet-grip):not(.tabs):not(#coordinate-input):not(#text-input){display:none!important}body[data-sheet=objects] .left-panel>:not(.sheet-grip):not(#coordinate-input):not(#object-editor){display:none!important}body[data-sheet=tools] .left-panel>.tabs,body[data-sheet=tools] #coordinate-input,body[data-sheet=tools] #text-input,body[data-sheet=tools] #object-editor{display:none!important}body[data-sheet=analysis] .right-panel>.solution,body[data-sheet=analysis] .right-panel>.equation-note{display:none!important}body[data-sheet=steps] .right-panel>:not(.sheet-grip):not(.solution){display:none!important}.cad-step-bar{top:69px;margin-bottom:8px}.cad-step-bar button{flex:1;min-width:42px;padding-inline:6px;font-size:12px!important}#cad-tools .bottom-bar{display:flex!important;position:static;height:auto;flex-direction:column;padding:12px 0;gap:12px;border:0;overflow:visible}#cad-tools .unfold-controls{display:flex;width:100%;gap:10px}#cad-tools #unfold{font-size:12px;padding:8px;min-width:130px}#cad-tools #unfold:before{display:none}#cad-tools .angle-control{width:auto;flex:1}#cad-tools .angle-control label{font-size:11px}#cad-tools .angle-control input{min-height:44px}#cad-tools .step-controls{display:none}.workspace .left-panel #workspace-settings .quick-tools{display:grid;gap:8px}#cad-tools select,#task-examples{width:100%}.recognition-status{margin-top:10px}.point-row{grid-template-columns:minmax(46px,1fr) repeat(3,minmax(48px,1fr)) 30px;gap:5px}.point-row .point-name input:not([type=color]){min-width:0;width:100%}.point-row input[type=number]{padding:5px;text-align:center}.point-row button{min-width:28px}body[data-maximized] #app{grid-template-rows:minmax(0,1fr) calc(64px + env(safe-area-inset-bottom))}body[data-maximized] .cad-dock{grid-row:2}}@media print{.cad-dock,.sheet-grip,#sheet-scrim,#cad-tools{display:none!important}}@media(max-width:700px){body[data-sheet=steps] .right-panel>#reasoning-analysis{display:block!important}}.recovery-card,.partial-point{border:1px solid var(--border, #303030);padding:10px;margin:8px 0;font-size:12px;overflow-wrap:anywhere}.recovery-card p{margin:7px 0;line-height:1.5}.recovery-card small,.partial-point small{display:block;color:var(--muted, #969696);line-height:1.5}.exact-coordinate{font-family:Cambria Math,Consolas,monospace}.recovery-card button{width:100%;margin-top:9px}.partial-point>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.partial-point input{width:100%;min-width:0}.academic-views{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}#academic-solution details{border-bottom:1px solid #303030;padding:8px 0}#academic-solution details>p{font-size:12px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}#academic-analysis:empty{display:none}@media(max-width:700px){#mode-academic{display:none}.partial-point input{min-height:44px}#academic-example{font-size:12px}}.scene-viewport.has-coordinate-card #three,.scene-viewport.has-coordinate-card #drawing{bottom:var(--coordinate-card-height, 68px)!important;height:auto!important}#coordinate-card{position:absolute;inset:auto 0 0;min-height:62px;display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--panel, #111);color:var(--text, #f5f5f5);border-top:1px solid var(--border, #303030);z-index:3;box-sizing:border-box}#coordinate-card[hidden]{display:none}.coordinate-values{min-width:0;flex:1;font-family:Consolas,monospace;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.coordinate-values>b{display:block}.coordinate-values>span{display:flex;flex-wrap:wrap;gap:0 12px}.coordinate-values small{color:var(--muted, #969696)}#coordinate-card button{min-height:44px;flex:none;font-size:11px}#coordinate-card [data-action=clear]{min-width:44px}#measurement-settings label{font-size:12px;line-height:1.5}#measurement-settings input[type=checkbox]{margin-right:7px}@media(max-width:400px){#coordinate-card{gap:4px;padding-inline:6px}.coordinate-values{font-size:11px}.coordinate-values>span{gap:0 7px}#coordinate-card button{padding-inline:6px}}@media print{#coordinate-card{display:none!important}.scene-viewport.has-coordinate-card #drawing{bottom:auto!important}}#unfold-demo{border:1px solid var(--border);padding:8px}#unfold-demo .unfold-controls{display:flex;flex-direction:column;gap:10px;margin-top:12px}#unfold-demo .angle-control{width:100%}.academic-views{display:none}#dock-mode{display:none!important}.cad-dock{grid-template-columns:repeat(4,minmax(0,1fr))!important}@media(max-width:700px),(max-width:1000px)and (max-height:500px)and (orientation:landscape){.stage .mode-switch #mode-3d,.stage .mode-switch #mode-2d,.stage .mode-switch #mode-academic{display:block!important;flex:1;min-height:44px;margin:0;padding:6px;font-size:13px}.stage .mode-switch{display:flex;width:100%;gap:3px;min-width:0}.stage .stage-toolbar{display:flex!important;padding:0 4px!important}.stage .stage-controls{display:none!important}}#drawing-mode{display:none!important}#ai-provider{margin:12px 0;padding:12px;border:1px solid #303030}#ai-provider label{display:block;margin:12px 0 5px}#ai-provider select,#ai-provider textarea{width:100%;box-sizing:border-box}#ai-provider button{margin:4px 4px 4px 0;min-height:44px}#ai-provider pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:45vh;overflow:auto;font-size:12px}@media(max-width:700px){body[data-sheet=build] #ai-provider,body[data-sheet=objects] #ai-provider{display:none}}#task-results{margin-top:16px;overflow-wrap:anywhere}#task-results>section{border-top:1px solid #303030;padding-top:12px}#task-results nav{display:flex;gap:6px;flex-wrap:wrap}#task-results button{margin:4px 4px 4px 0;min-height:40px}#task-results pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:45dvh;overflow:auto;font-size:12px}#task-status{border-left:2px solid #969696;padding-left:8px;font-size:12px;line-height:1.5}#task-results [data-ai-pane=construction]>button{display:block;text-align:left}#geometry-display input[type=color]{width:44px;height:32px}@media(max-width:800px){#text-input #condition{min-height:120px;max-height:27dvh}#task-results button{min-height:44px}}body.context-layout #app{grid-template-rows:88px minmax(0,1fr) 42px!important}.context-layout .topbar{display:flex;flex-direction:column;gap:0;padding:0 10px;border-bottom:1px solid var(--border);min-width:0;overflow:hidden}.context-top{display:flex;gap:8px;align-items:center;width:100%;height:46px;min-height:46px}.context-top .brand{font:600 18px Segoe UI,sans-serif;gap:7px;white-space:nowrap;margin-right:10px}.context-top .brand small,.context-top .brandmark,.context-top .brand b{display:none}.context-top .mode-switch{display:flex;gap:3px;white-space:nowrap}.context-top button{min-height:34px;padding:6px 10px}.context-top .mode-switch .active{background:var(--accent);color:var(--bg)}.top-model{margin-left:auto;display:flex;align-items:center;gap:7px;white-space:nowrap;color:var(--muted)}.top-model select{max-width:230px;min-width:130px}.context-nav{display:flex;align-items:center;gap:4px;width:100%;height:39px;overflow-x:auto;scrollbar-width:none}.context-nav button{white-space:nowrap;font-size:12px;min-height:32px;background:transparent;border-color:transparent}.context-nav button[aria-pressed=true]{background:var(--panel2);border-color:var(--border);color:var(--text)}.context-layout .workspace{grid-template-columns:minmax(0,1fr) var(--context-width, 360px)!important;position:relative}.context-layout .workspace>.left-panel,.context-layout .workspace>.right-panel{display:none!important}.context-layout .workspace>.stage{grid-column:1;grid-row:1;grid-template-rows:minmax(0,1fr) 42px!important;min-width:0}.context-layout .stage-toolbar,.context-layout .stage-heading,.context-layout .stage-hint{display:none!important}.context-layout .scene-viewport{grid-row:1!important;grid-column:1}.context-layout .stage-status{grid-row:2}.context-layout .stage .view-tools{position:static!important;background:transparent;border:0;display:flex;gap:4px}.context-layout .axis-legend{opacity:.75}.context-sidebar{grid-column:2;grid-row:1;background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0;min-width:0;position:relative;z-index:20}.context-sidebar[hidden],.context-content[hidden],.context-backdrop[hidden]{display:none!important}.context-heading{display:flex;align-items:center;gap:5px;padding:9px 12px;border-bottom:1px solid var(--border);min-height:45px}.context-heading>b{flex:1;font-size:13px}.context-heading button{min-width:32px;padding:4px}.context-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:14px;min-height:0;scrollbar-width:thin;overscroll-behavior:contain}.context-content .project-title{font-size:13px;margin:0 0 15px}.context-content .panel-heading,.context-content .sheet-grip{display:none!important}.context-content>section,.context-content>details{margin-bottom:14px}.context-content #ai-provider{margin:0;border:0;padding:0}.context-content #ai-provider>summary{display:none}.context-content #ai-provider[open]>summary{display:none}.context-content #ai-provider select,.context-content #ai-provider textarea{max-width:100%}.context-content .export-options{display:block}.context-content .tabs{position:static;display:flex;margin-bottom:12px}.context-content label{max-width:100%}.context-resize{position:absolute;inset:0 auto 0 -4px;width:8px;cursor:ew-resize;touch-action:none;z-index:30}.context-resize:hover{background:#8885}.context-layout[data-context-open=false] .workspace,.context-layout[data-context-pinned=false] .workspace{grid-template-columns:minmax(0,1fr)!important}.context-layout[data-context-pinned=false] .context-sidebar{position:absolute;right:0;top:0;bottom:0;width:var(--context-width, 360px);box-shadow:-10px 0 24px #0005}.context-layout .cad-dock{display:none!important}.context-layout .bottom-bar{min-height:0!important;padding:3px 10px!important;display:flex!important;align-items:center;justify-content:center}.context-layout .bottom-bar .step-controls{display:flex!important}.context-layout .bottom-bar input[type=range]{max-width:200px}.context-layout .context-section-select,.context-backdrop{display:none}.context-layout #cad-tools{display:block}.context-layout #cad-tools .cad-tools-actions{display:flex;flex-wrap:wrap}.context-layout #cad-tools>button:not(#unfold),.context-layout #cad-tools>label{margin:3px}.context-layout #cad-tools .bottom-bar{display:none!important}.context-layout .measurement-card{max-width:100%}@media(max-width:1100px){.context-layout .context-nav button{padding:5px 8px}.context-layout .top-model select{max-width:180px}}@media(max-width:800px){body.context-layout #app{grid-template-rows:92px minmax(0,1fr) calc(56px + env(safe-area-inset-bottom))!important}.context-layout .topbar{padding:0 6px}.context-top{height:88px;flex-wrap:wrap;gap:4px;align-content:center}.context-top .brand{font-size:16px;margin-right:auto;height:38px}.context-top .top-model{margin:0;font-size:0}.top-model select{font-size:11px;max-width:140px!important;min-width:100px}.context-top>.mode-switch{order:5;width:calc(100% - 65px);flex:1 1 calc(100% - 65px)}.context-top .mode-switch button{flex:1;min-height:40px;font-size:12px;padding:5px}.context-top>#undo,.context-top>#redo,.context-top>#fullscreen{display:none}.context-top .context-section-select{display:block;order:6;width:56px;min-height:40px;font-size:0}.context-top>.context-section-select option{font-size:14px}.context-top>.context-section-select{font-size:11px;width:64px}.context-top>button{min-width:38px;min-height:38px}.context-layout .context-nav{display:none}.context-layout .workspace{grid-template-columns:minmax(0,1fr)!important}.context-layout .context-sidebar{position:absolute!important;right:0;top:0;bottom:0;width:min(92vw,460px)!important;box-shadow:-20px 0 40px #0008;z-index:40}.context-layout .context-heading{min-height:50px}.context-heading button{min-height:40px;min-width:40px}.context-resize{display:none}.context-content{padding:12px}.context-content button,.context-content select{min-height:44px}.context-content input[type=number]{min-height:40px}.context-layout .workspace .stage{grid-template-rows:minmax(0,1fr) 44px!important;filter:none!important;pointer-events:auto!important}.context-layout .cad-dock{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-column:1;grid-row:3;position:static!important;height:100%;padding-bottom:env(safe-area-inset-bottom)}.context-layout .cad-dock button{min-width:0;padding:3px;font-size:11px;min-height:48px}.context-layout .cad-dock #dock-mode,.context-layout .bottom-bar{display:none!important}.context-backdrop:not([hidden]){display:block;position:absolute;inset:0;background:#0005;border:0;border-radius:0;z-index:35}.context-layout .context-sidebar .project-title{display:block!important}.context-layout .scene-viewport{margin:0!important}}@media print{.context-sidebar,.context-top,.context-nav{display:none!important}}.context-layout .view-tools{display:flex;flex-wrap:wrap;gap:3px;position:static;border:0;background:transparent}.context-layout .view-tools button{min-height:30px;padding:4px 8px}.context-layout .view-tools select{max-width:155px}.context-layout .bottom-bar{gap:12px}.context-maximized #app{position:fixed;inset:0;z-index:9999}.context-layout .context-top .mode-switch button{display:block!important}.context-content>#example{width:100%;margin:0 0 14px}.context-layout #sheet-scrim{display:none!important}@media(max-width:800px){.context-top .mode-switch{height:40px;min-height:40px}.context-layout .context-content>#undo,.context-layout .context-content>#redo,.context-layout .context-content>#fullscreen{display:inline-flex!important;margin:5px}.context-layout .context-top{align-content:flex-start}}.context-layout .context-top .mode-switch #mode-3d,.context-layout .context-top .mode-switch #mode-2d,.context-layout .context-top .mode-switch #mode-academic{display:block!important}@media(max-width:800px){.context-layout .context-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,140px) 64px;grid-template-rows:40px 40px;height:88px;min-height:88px;gap:4px;align-content:center;align-items:center}.context-top>.brand{grid-row:1;grid-column:1;margin:0;min-width:0;font-size:15px}.context-top>.top-model{grid-row:1;grid-column:2;min-width:0}.context-top>.top-model select{width:100%;min-width:0!important}.context-top>button{grid-row:1;grid-column:3;width:100%}.context-layout .context-top>.mode-switch{grid-row:2;grid-column:1/3;width:auto;min-width:0;height:40px;order:0}.context-layout .context-top>.context-section-select{grid-row:2;grid-column:3;order:0;width:64px;margin:0}}@media(max-width:800px){.context-heading{touch-action:pan-y;-webkit-user-select:none;user-select:none}.context-heading b{cursor:grab}}@media(max-width:800px){.context-layout .context-top{grid-template-columns:minmax(0,1fr) minmax(80px,120px) 44px 44px}.context-top>#import{grid-column:3;grid-row:1;min-width:44px;min-height:40px;font-size:0}.context-top>#import:after{content:"↥";font-size:20px}.context-top>button[aria-controls=context-sidebar]{grid-column:4;grid-row:1}.context-layout .context-top>.mode-switch{grid-column:1/4}.context-layout .context-top>.context-section-select{grid-column:4;width:44px}}#core-result section{white-space:pre-wrap}#core-result section button{display:block;width:100%;text-align:left;margin-block:6px}#core-result nav{display:flex;gap:4px}.task-workspace-bar{display:flex;align-items:center;gap:8px;width:100%;min-width:0;border-top:1px solid #333;padding-top:5px}body.context-layout #app{grid-template-rows:auto minmax(0,1fr) 42px!important}.context-layout .topbar{overflow:visible;position:relative;z-index:45}.task-tabs{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin}.task-tabs button{white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;min-height:34px;flex-shrink:0}.task-tabs [aria-selected=true]{background:var(--text,#fff);color:var(--bg,#111)}.task-save-status{font-size:10px;color:#999;max-width:160px}.task-workspace-bar details{position:relative;flex-shrink:0}.task-workspace-bar details[open]{z-index:50}.task-workspace-bar details[open]>button{display:block;width:230px;background:var(--bg,#111)}.task-workspace-bar details[open]{position:absolute;right:8px;top:100%;padding:8px;border:1px solid #555;background:var(--bg,#111)}.task-dialog{max-width:min(440px,90vw);padding:20px;background:var(--bg,#111);color:var(--text,#fff);border:1px solid #777}.task-dialog form{display:grid;gap:12px}.task-dialog button,.task-dialog input{min-height:44px}.task-dialog::backdrop{background:#0009}@media(max-width:800px){.task-save-status{display:none}.task-tabs button{min-height:42px;max-width:145px}.task-workspace-bar{gap:4px}}@media(max-width:800px){.task-workspace-bar:has(.task-save-status[data-error=true]){flex-wrap:wrap}.task-save-status[data-error=true]{display:block;flex-basis:100%;max-width:none;color:#e9a58a}}@media(max-width:800px){body.context-layout #app{grid-template-rows:auto minmax(0,1fr) calc(58px + env(safe-area-inset-bottom))!important}}@media print{html,body,body.context-layout #app{display:block!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}body>:not(#app),#app>.topbar,#app>.bottom-bar,body.context-layout .cad-dock,body.context-layout .context-sidebar{display:none!important}body.context-layout .workspace,body.context-layout .stage,.scene-viewport{display:block!important;position:static!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}.scene-viewport #drawing{display:block!important;position:static!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}#drawing svg{display:block!important;margin:0!important;max-width:none!important;max-height:none!important;break-inside:avoid}}
