:root{--bg:#d5ddde;--panel:#e2e7e5;--ink:#253239;--muted:#53636a;--line:#b9c4c4;--accent:#48657a;--wash:#cbd7dd;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR',sans-serif;color:var(--ink);background:var(--bg);font-size:13px;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{border:1px solid var(--line);background:var(--panel);border-radius:6px;min-height:34px;padding:6px 11px;color:var(--ink);cursor:pointer}button:hover{background:var(--wash);border-color:#9cb0bc}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:white}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #91acf6;outline-offset:2px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:fixed;top:-60px;z-index:20;background:var(--panel);padding:12px}.skip:focus{top:0}.topbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{font-size:18px;font-weight:750;letter-spacing:-.6px}.brand span{font-weight:400;color:var(--muted);font-size:12px;letter-spacing:0}.topbar nav{display:flex;align-items:center;gap:22px;font-size:12px}.text-button{border:0;background:transparent;color:var(--muted);padding:5px}.document-bar{height:62px;display:flex;justify-content:space-between;align-items:center;padding:0 22px;background:#dce3e2;border-bottom:1px solid var(--line);gap:16px}.document-bar>div{display:flex;align-items:center;gap:12px;min-width:0}.app-icon{width:28px;height:28px;display:grid;place-items:center;background:#cad6dc;color:var(--accent);border-radius:7px;font-size:12px;font-weight:700}#design-name{background:transparent;border:0;min-width:0;width:180px;font-weight:600;padding:6px}#save-state{font-size:11px;color:var(--muted)}.actions{flex-shrink:0}.workspace{display:grid;grid-template-columns:210px minmax(0,1fr) 280px;height:calc(100dvh - 118px);min-height:670px}.panel{background:var(--panel);padding:20px 18px;overflow:auto;scrollbar-width:thin}.browser{border-right:1px solid var(--line)}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.panel-title h1{font-size:15px;letter-spacing:-.5px;margin:0;font-weight:600}.panel-title span{font:10px monospace;color:var(--muted)}.overline{font-size:10px;letter-spacing:1.6px;color:var(--muted);margin:22px 0 13px}.catalog{display:grid;gap:5px}.catalog button{display:flex;align-items:center;gap:12px;border-color:transparent;text-align:left;min-height:44px;border-radius:6px;padding:7px 8px}.catalog button[aria-pressed=true]{background:var(--wash);color:var(--accent);border-color:#aebfc9}.catalog .icon{font-size:22px;width:28px;text-align:center;line-height:1}.catalog small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:2px}.panel-divider{border-top:1px solid var(--line);margin:23px 0}.parts{display:grid;gap:6px}.part-row{display:flex;align-items:center;gap:6px}.part-row button{flex:1;min-width:0;text-align:left;display:flex;gap:9px;align-items:center;border-color:transparent}.part-row button.active{background:var(--wash)}.swatch{width:12px;height:12px;border-radius:3px;display:inline-block;border:1px solid #0002}.part-row input{accent-color:var(--accent)}.library-button{width:100%;display:flex;justify-content:space-between;font-size:12px}.subtle{color:var(--muted);font-size:11px;line-height:1.8}.stage{display:flex;min-width:0;flex-direction:column;position:relative}.stage-toolbar{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--line);background:#dce3e2;gap:12px;flex-shrink:0}.toolbar-group{display:flex;gap:5px}.stage-toolbar button{font-size:11px;padding:5px 9px;border:0;background:transparent}.stage-toolbar button.active,.stage-toolbar button[aria-pressed=true]{background:#c5d2d8;color:var(--accent)}#viewport{position:relative;flex:1;min-height:480px;background:radial-gradient(ellipse at 50% 42%,#e1e7e5,#bbc8cb);overflow:hidden}#viewport canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none}.view-label{position:absolute;left:24px;top:24px;pointer-events:none;z-index:2;color:#586a72;font-size:12px}.view-label small{display:block;margin-top:6px;font:9px monospace;letter-spacing:1px}.view-controls{position:absolute;z-index:2;bottom:52px;left:20px;right:20px;display:flex;justify-content:center;align-items:center;gap:15px;font-size:11px;flex-wrap:wrap}.view-controls label{border:1px solid #dce2e8;border-radius:20px;background:#e0e7e6e8;padding:7px 11px;display:flex;align-items:center;gap:5px}.view-controls input{accent-color:var(--accent)}#section-position{width:130px}.viewport-footer{position:absolute;bottom:16px;left:20px;right:20px;display:flex;justify-content:space-between;font-size:10px;color:#51656c;pointer-events:none;gap:16px}#measure-text{position:absolute;top:74px;left:24px;font-size:12px;color:var(--accent);z-index:2;background:#e0e7e6de;max-width:calc(100% - 48px)}.stage-footer{padding:9px 16px;background:#dce3e2;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;gap:12px;min-height:34px}.stage-footer span:first-child:before{content:'●';color:#589171;font-size:8px;margin-right:7px}.inspector{border-left:1px solid var(--line)}.inspector-tabs{display:flex;margin:-20px -18px 24px;border-bottom:1px solid var(--line)}.inspector-tabs button{flex:1;border:0;border-radius:0;min-height:48px;color:var(--muted)}.inspector-tabs button[aria-selected=true]{color:var(--accent);box-shadow:inset 0 -2px var(--accent);font-weight:600}.request-box{border:1px solid var(--line);border-radius:6px;padding:11px;margin-bottom:22px;background:#dce3e2}.request-box summary{font-size:12px;font-weight:500}.request-box button{font-size:11px;margin-top:7px}.request-box textarea{height:90px}.request-box #request-result{font-size:11px;line-height:1.8;white-space:pre-line}summary{cursor:pointer;padding:4px 0}textarea{display:block;width:100%;padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--panel);resize:vertical;min-height:100px;margin:9px 0;color:var(--ink);font:11px/1.7 monospace}.dimension-field{display:grid;grid-template-columns:1fr 94px;align-items:center;gap:8px;margin:12px 0;font-size:12px}.dimension-field input,.xyz input{border:1px solid var(--line);background:#d4dddc;padding:8px;border-radius:5px;width:100%;min-width:0;color:var(--ink)}.full{width:100%;margin-top:10px}#apply{margin-top:15px}.error{font-size:11px;line-height:1.6;color:#b34728;overflow-wrap:anywhere}.part-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px}.part-heading input{width:33px;height:30px;border:0;padding:0;background:none;cursor:pointer}.field-caption{font-size:10px;color:var(--muted);margin:18px 0 7px}.xyz{display:flex;gap:6px}.xyz label{flex:1;min-width:0;font-size:10px;color:var(--muted)}.xyz input{margin-top:5px;padding:7px 5px;font-size:11px}#reset-part{font-size:10px;width:100%;margin-top:5px}#load-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;background:#d8e0dfed;padding:25px;text-align:center}#load-state strong{font-size:14px;font-weight:500}#load-state p{font-size:11px;color:var(--muted)}.loader{width:24px;height:24px;border:2px solid #d9e0ea;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:18px}@keyframes spin{to{transform:rotate(360deg)}}.export-card{display:block;width:100%;text-align:left;padding:15px 13px;margin-bottom:10px}.export-card strong{display:block;font-size:13px;font-weight:600}.export-card span{float:right;color:var(--muted)}.export-card small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.button-pair{display:flex;gap:8px}.button-pair>*{flex:1;font-size:11px}.file-button{display:block;text-align:center;border:1px dashed #b6c4da;border-radius:6px;padding:10px;margin:12px 0;font-size:11px;cursor:pointer}.file-button input{display:block;font-size:10px;width:100%;margin-top:8px}.inspector details summary{font-size:11px}dialog{border:1px solid var(--line);border-radius:14px;padding:25px;max-width:600px;width:calc(100% - 32px);max-height:85vh;color:var(--ink);box-shadow:0 24px 80px #0003}dialog::backdrop{background:#1a253552;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dialog-head h2{font-size:20px;font-weight:500;margin:0}.dialog-head button{font-size:20px;border:0}dialog p,dialog li{font-size:12px;line-height:1.9}.saved-item{display:flex;border-bottom:1px solid var(--line);padding:12px 0;align-items:center;gap:8px}.saved-item>div{flex:1}.saved-item small{display:block;color:var(--muted);margin-top:3px;font-size:10px}#draw-sheet{padding:24px;overflow:auto;flex:1;background:#bdc9cc;min-height:0}#draw-sheet>svg{display:block;background:white;width:100%;height:auto;box-shadow:0 3px 15px #0001}.mobile-tabs{display:none}@media(min-width:1800px){.workspace{grid-template-columns:240px minmax(0,1fr) 320px}}@media(max-width:1100px){.workspace{grid-template-columns:175px minmax(0,1fr) 250px}.panel{padding:18px 12px}.inspector-tabs{margin:-18px -12px 20px}.stage-toolbar{padding:0 8px;gap:4px}.toolbar-group{gap:1px}.stage-toolbar button{padding:4px 7px}.viewport-footer span:first-child{max-width:160px}#save-state{display:none}.panel-title h1{font-size:13px}}@media(max-width:800px){.topbar{height:49px;padding:0 15px}.brand{font-size:16px}.topbar nav{gap:12px;font-size:11px}.brand span{display:none}.document-bar{height:55px;padding:0 12px}.document-bar>div{gap:7px}#design-name{width:145px;font-size:12px}.actions{gap:5px!important}.actions button{font-size:11px;padding:5px 8px}.actions span{display:none}.workspace{height:calc(100dvh - 156px);min-height:440px;display:block}.panel,.stage{height:100%}.browser,.inspector{display:none}.stage{display:flex}body[data-mobile=browser] .browser,body[data-mobile=inspector] .inspector{display:block}body[data-mobile=browser] .stage,body[data-mobile=inspector] .stage{display:none}.panel{padding:20px 24px}.inspector-tabs{margin:-20px -24px 20px}.catalog{grid-template-columns:1fr 1fr}.catalog button{min-height:58px}.parts{max-width:500px}.stage-toolbar{height:44px;padding:0 10px}#viewport{min-height:360px}.view-label{top:20px;left:18px}.view-controls{bottom:55px;gap:7px;left:10px;right:10px}.view-controls label{padding:7px 9px;font-size:10px}.viewport-footer{left:15px;right:15px;font-size:9px}.mobile-tabs{height:52px;display:flex;background:var(--panel);border-top:1px solid var(--line)}.mobile-tabs button{flex:1;border:0;border-radius:0;font-size:12px}.mobile-tabs button.active{color:var(--accent);background:var(--wash)}.dimension-field{grid-template-columns:1fr 130px}.request-box textarea{height:95px}.subtle{font-size:12px}.xyz input{font-size:13px}.export-card{padding:19px}.stage-footer{font-size:9px}.topbar .text-button{font-size:11px}}@media(prefers-reduced-motion:reduce){.loader{animation:none}}@media print{body>*:not(main){display:none!important}.workspace{display:block!important;height:auto!important;min-height:0!important}.workspace>.panel,.stage-toolbar,#viewport,.stage-footer{display:none!important}.stage{height:auto!important;display:block!important}#draw-sheet{display:block!important;padding:0;background:var(--panel);overflow:visible}#draw-sheet>svg{box-shadow:none;width:100%}@page{size:A4 landscape;margin:8mm}}
#sketch-editor{flex:1;min-height:0;background:#eaf0f0;display:flex;flex-direction:column;padding:18px;overflow:auto}#sketch-editor[hidden]{display:none}.sketch-tools{display:flex;gap:7px;flex-wrap:wrap}.sketch-tools .active{background:var(--accent);color:white}.sketch-caption{display:flex;flex-direction:column;gap:6px;margin:18px 0 10px;font-size:12px;color:var(--muted)}#sketch-canvas{width:100%;flex:1;min-height:270px;touch-action:none;cursor:crosshair;border:1px solid var(--line);background:#eaf0f0}#sketch-summary{font-size:13px;color:var(--accent);margin:12px 0 5px}.sketch-footnote{margin:0}.dimension-field select{width:100%;background:var(--panel);color:var(--fg);border:1px solid var(--line);padding:8px;border-radius:4px}.dimension-field[hidden]{display:none}.sketch-tools button{font-size:12px}@media(max-width:800px){#sketch-editor{padding:12px}.sketch-caption{font-size:11px}#sketch-canvas{min-height:240px}.sketch-tools button{padding:6px 9px}}@media print{#sketch-editor{display:none!important}}
/* CAD command hierarchy */
.topbar{height:42px}.brand{font-size:15px}.document-bar{height:48px;padding:0 18px}.app-icon{border-radius:3px}.command-manager{background:#e2e7e5;border-bottom:1px solid var(--line)}.command-tabs{display:flex;align-items:center;gap:0;padding:0 16px;border-bottom:1px solid var(--line)}.command-tabs button{border:0;border-radius:0;background:transparent;font-size:12px;min-height:34px;padding:6px 18px}.command-tabs [aria-selected=true]{color:var(--accent);background:#cbd7dd;box-shadow:inset 0 -2px var(--accent)}#cad-context{margin-left:auto;font-size:11px;color:var(--muted)}.command-panel{min-height:64px;display:flex;align-items:center;gap:8px;padding:10px 18px;flex-wrap:wrap}.command-panel .sketch-tools{gap:7px}.command-panel button{border-radius:3px;font-size:12px;background:#e8ece9}.command-panel button.primary{background:var(--accent)}.command-options{display:flex;align-items:center;gap:12px;border-left:1px solid var(--line);padding-left:14px;font-size:11px}.command-options label{white-space:nowrap}.command-options button{font-size:11px;border-color:transparent;background:transparent}.command-hint{margin-left:auto;font-size:11px;color:var(--muted)}kbd{font:9px/1.3 monospace;color:var(--muted);padding-left:5px}.workspace{height:calc(100dvh - 189px);min-height:560px;grid-template-columns:220px minmax(0,1fr) 280px}.panel-title{margin-bottom:17px}.overline{letter-spacing:.6px;font-size:11px;margin:17px 0 11px}.feature-tree{display:grid;gap:3px}.tree-origin{padding:7px 10px;font-size:12px;color:var(--muted)}.tree-feature{border:0;text-align:left;padding:7px 10px;min-height:34px;border-radius:3px;background:transparent;font-size:12px}.tree-feature:hover{background:var(--wash)}.preset-models{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.preset-models summary{font-size:12px;color:var(--muted)}.preset-models .catalog{margin-top:10px}.catalog button{border-radius:3px;min-height:39px}.catalog .icon{font-size:19px}.stage-toolbar{height:36px;background:#e2e7e5}.stage-toolbar .toolbar-group:first-child:before{content:'VIEW';font:9px/26px monospace;color:var(--muted);margin-right:5px}#sketch-editor{padding:14px 18px}.sketch-caption{margin:0 0 12px;gap:4px}.sketch-caption strong{font:11px monospace;color:var(--accent)}.sketch-caption span{font-size:11px}#sketch-canvas{min-height:250px;background:#eaf0f0}.sketch-status{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:11px}.sketch-status #sketch-summary{font-size:11px}.sketch-status #sketch-cursor{font:10px monospace;color:var(--muted);white-space:nowrap}#sketch-canvas [data-dimension]{cursor:pointer;paint-order:stroke;stroke:#eaf0f0;stroke-width:1px}#sketch-canvas [data-dimension]:hover{fill:#ae603d;text-decoration:underline}#dimension-edit-value{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:4px;font:16px monospace;background:var(--panel);color:var(--ink);margin-top:10px}.dimension-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}#dimension-dialog{max-width:330px;border-radius:6px;background:var(--panel)}.dimension-field select,.dimension-field input,.xyz input{border-radius:3px}.inspector-tabs button{min-height:38px;font-size:12px}.inspector-tabs{margin-bottom:18px}.sketch-active #part-form,.sketch-active #model-note,.sketch-active .request-box{display:none}.sketch-active #design-panel>.panel-divider{display:none}.sketch-active .stage-toolbar [data-view],.sketch-active .stage-toolbar #fit,.sketch-active .stage-toolbar #measure{visibility:hidden}.sketch-footnote{font-size:10px}@media(max-width:1150px){.workspace{grid-template-columns:185px minmax(0,1fr) 250px}.command-options{border:0;padding:0}.command-panel{gap:7px;padding:8px 12px}.command-panel button{padding:6px 9px}#cad-context{display:none}.command-hint{display:none}}@media(max-width:800px){.topbar{height:42px}.document-bar{height:48px}.command-tabs{padding:0 8px}.command-tabs button{padding:6px 14px}.command-panel{min-height:78px;gap:6px;padding:8px}.command-panel .sketch-tools{gap:5px}.command-panel button{min-height:34px;font-size:11px;padding:5px 8px}.command-options{gap:8px;flex-wrap:wrap}.workspace{height:calc(100dvh - 254px);min-height:450px;display:block}.sketch-status{flex-wrap:wrap;gap:2px}.sketch-status #sketch-summary{margin-bottom:0}#sketch-editor{padding:12px}.panel-title h1{font-size:15px}.tree-feature{min-height:42px}.mobile-tabs{height:52px}kbd{display:none}#sketch-cancel{display:none}.preset-models .catalog{grid-template-columns:1fr 1fr}}@media print{.command-manager{display:none!important}}

@media screen{body{min-height:100dvh;display:flex;flex-direction:column}.topbar,.document-bar,.command-manager,.mobile-tabs{flex-shrink:0}.workspace{height:auto;flex:1;min-height:560px}}
