:root{font-family:Inter,"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17264a;background:#edf2ff;font-synthesis:none;--green:#2853e6;--lime:#d8f76b;--muted:#65738c;--line:#d8e0f0;--orange:#d15a3c}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:inherit;border-radius:7px;transition:background .15s,border-color .15s,transform .15s}button:hover{background:#f1f6f2;border-color:#a5bcb0}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #91bcd1;outline-offset:2px}button:disabled{opacity:.4;cursor:not-allowed}input{color:inherit}button svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linejoin:round}button.primary{background:var(--green);color:#fff;border-color:var(--green);font-weight:650;padding:11px 17px}.primary:hover{background:#1e40b4}.primary span{margin-left:12px}.topbar{height:80px;display:flex;align-items:center;gap:32px;padding:0 28px;background:#fff;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:#17264a;display:flex;align-items:center;gap:10px;min-width:208px}.brand-icon{width:38px;height:38px;border-radius:10px;background:var(--green);color:var(--lime);font-size:32px;text-align:center;line-height:33px}.brand strong{font-size:25px;letter-spacing:2.5px;line-height:1}.brand strong span{display:block;font-size:9px;letter-spacing:1.6px;margin-top:6px}.project{margin-right:auto;min-width:0}.project input{display:block;border:0;background:none;font-size:16px;font-weight:650;max-width:240px;width:100%;padding:0 0 5px}.project span{color:#7c8f86;font-size:12px}.header-actions{display:flex;gap:8px;align-items:center}.quiet{border:0;padding:10px 13px;background:transparent}.icon{font-size:16px;border:1px solid var(--line);border-radius:50%;width:30px;height:30px;padding:0;margin-right:9px}.workspace{display:grid;grid-template-columns:252px minmax(320px,1fr) 284px;min-height:calc(100dvh - 80px);max-height:calc(100dvh - 80px)}.panel{background:#fff;padding:25px 20px;overflow:auto}.left-panel{border-right:1px solid var(--line);display:flex;flex-direction:column}.right-panel{border-left:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;gap:8px}.section-heading h2{font-size:14px;margin:0;font-weight:650;letter-spacing:.4px}.section-heading>span{font-size:11px;color:#8a9c93;letter-spacing:1px}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preset{height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#f5f7fe;color:#596b8e;font-size:12px}.preset svg{width:47px;height:38px}.preset.active{background:#e9eeff;border-color:#9bb2ff;color:#2853e6}.parts-section{margin-top:29px}.add-actions{display:flex;gap:7px;margin-bottom:15px}.add-actions button{padding:9px 5px;font-size:12px;flex:1}.add-button{background:#2853e6;color:#fff;border-color:#2853e6}.add-button:hover{background:#1d40b3}.cut-button{border-style:dashed;color:#a56b4f}.part-list{display:flex;flex-direction:column;gap:5px;max-height:calc(100dvh - 490px);min-height:100px;overflow:auto}.part{width:100%;text-align:left;display:flex;align-items:center;gap:10px;padding:11px 10px;border-color:transparent;background:transparent}.part.active{background:#e9eeff;border-color:#b8c8f0}.part-symbol{display:block;min-width:19px;height:19px;border:2px solid #659072;border-radius:3px;background:#dce9da;transform:skewY(-8deg)}.part.cut .part-symbol{border-style:dashed;border-color:#c57c57;background:#fbecdf}.part-name{font-size:13px;display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.part-dims{display:block;font-size:11px;color:#819288;margin-top:5px}.panel-note{font-size:11px;color:#8a9a91;line-height:1.6;margin:12px 0}.left-footer{margin-top:auto;padding-top:25px;display:flex;align-items:center;gap:10px;color:#617a6b}.left-footer strong{display:block;font-size:12px;font-weight:600}.left-footer a{display:block;color:#88988e;font-size:10px;text-decoration:none;margin-top:5px}.printer-icon{font-size:28px}.stage{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 48% 52%,#f5f8ff 0,#e6edfd 70%)}.stage-top{display:flex;justify-content:space-between;position:absolute;z-index:2;top:25px;left:27px;right:23px;pointer-events:none}.eyebrow{color:#899c8e;letter-spacing:2px;font-size:10px;font-weight:600}.stage-title h1{font-size:19px;font-weight:500;letter-spacing:1px;margin:8px 0 0}.history{display:flex;gap:1px;align-self:flex-start;pointer-events:auto;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.history button{border:0;background:none;width:36px;height:34px;font-size:24px;border-radius:0}.history button+button{border-left:1px solid var(--line)}#viewport{flex:1;min-height:400px;position:relative;touch-action:none}canvas{display:block;width:100%;height:100%;outline:none}.view-toolbar{position:absolute;z-index:2;top:105px;left:27px;display:flex;gap:8px}.segmented{display:flex;background:#fff;border:1px solid #d8e3d8;border-radius:6px;padding:3px;box-shadow:0 3px 7px #2853e605}.segmented button{font-size:11px;border:0;background:none;padding:5px 11px;border-radius:4px;color:#869a8c}.segmented button.active{background:#e9efff;color:#2853e6}.fit-button{font-size:11px;border:0;background:#ffffffb8;color:#69806d;padding:7px 9px}.stage-bottom{position:absolute;bottom:93px;left:27px;right:23px;display:flex;justify-content:space-between;gap:10px;color:#90a08f;font-size:11px;pointer-events:none}.stage-bottom label{pointer-events:auto;display:flex;align-items:center;gap:6px;color:#627b65;cursor:pointer}.stage-bottom input{accent-color:var(--green)}.status-strip{height:77px;flex-shrink:0;background:#ffffffc4;border-top:1px solid #dbe4d9;display:flex;align-items:center;padding:0 26px;gap:30px;backdrop-filter:blur(8px)}.status-strip small{font-size:10px;color:#7e9285;display:block;margin-bottom:7px}.status-strip strong{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.status-strip em{font-size:11px;font-style:normal;font-weight:400;color:#7e9384;margin-left:5px}.model-status{margin-left:auto;color:#426950;font-size:11px;display:flex;align-items:center;gap:6px;max-width:170px}.model-status::before{content:'✓';font-size:13px;display:inline-grid;place-items:center;width:18px;height:18px;background:#e1ecdd;border-radius:50%;flex-shrink:0}.model-status.warn{color:#a36535}.model-status.warn::before{content:'!';background:#f4e6ce}.field-label{display:block;font-size:11px;color:#7e9087;margin:1px 0 8px}.text-input{width:100%;border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:#fff;font-size:14px}.mode-switch{display:flex;margin:13px 0 25px;background:#eef2fc;border-radius:6px;padding:3px}.mode-switch button{flex:1;border:0;background:none;font-size:12px;padding:7px}.mode-switch button.active{background:#fff;box-shadow:0 1px 4px #2853e61a}.mode-switch button:last-child.active{color:var(--orange)}.property-group{margin-bottom:24px}.property-group h3{font-size:13px;font-weight:600;margin:0 0 14px}.property-group h3 span{font-size:10px;font-weight:400;color:#8b9b91;float:right;padding-top:2px}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.field-grid label>span{display:block;font-size:10px;color:#7d9184;margin-bottom:7px;white-space:nowrap}.axis{font-size:10px;font-weight:700;font-style:normal;display:inline-block;margin-right:2px}.axis.x{color:#bd745b}.axis.y{color:#6689b2}.axis.z{color:#7e975d}.field-grid input{width:100%;min-width:0;background:#f5f7fd;border:1px solid #d6deed;border-radius:6px;font-size:15px;padding:10px 7px;font-variant-numeric:tabular-nums;text-align:center;appearance:textfield;-moz-appearance:textfield}.field-grid input::-webkit-inner-spin-button{appearance:none}.field-grid input:focus{background:#fff}.text-button{border:0;background:none;color:#6b8972;padding:0;margin-top:11px;font-size:11px}.edit-actions{display:flex;gap:8px;padding-top:6px;border-top:1px solid #edf0eb}.edit-actions button{margin-top:12px;padding:9px;flex:1;font-size:12px}.danger{color:#ad695a}.mini-guide{margin-top:26px;border-top:1px solid var(--line);padding-top:24px}.guide-number{font-size:10px;letter-spacing:2px;color:#9bb092}.mini-guide h3{font-size:18px;line-height:1.8;font-weight:500;margin:12px 0}.mini-guide p{font-size:11px;line-height:1.9;color:#809184;margin:12px 0}.mini-guide p.safety{font-size:10px;color:#9ca393}.warnings:empty{display:none}.warnings{font-size:11px;line-height:1.8;background:#fff5e3;color:#91642d;padding:12px;border:1px solid #eddab6;border-radius:7px;margin-top:18px}.warnings p{margin:0 0 6px}.warnings p:last-child{margin:0}.toast{position:fixed;z-index:10;bottom:23px;left:50%;transform:translateX(-50%);background:#142448;color:#fff;padding:13px 20px;border-radius:9px;max-width:90%;font-size:13px;box-shadow:0 5px 25px #18332b22}dialog{max-width:560px;width:90%;border:0;border-radius:16px;padding:25px;color:#243653;box-shadow:0 15px 70px #132d3733}dialog::backdrop{background:#11254d66;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top h2{font-size:19px}.dialog-top button{width:32px;height:32px;font-size:24px;border:0}dialog li{margin:14px 0;line-height:1.8}dialog p{font-size:13px;color:#728579;line-height:1.9}dialog ol{padding-left:23px}#render-error{position:absolute;top:45%;left:10%;right:10%;background:#fff;padding:20px;z-index:3}#empty-editor{color:#8b9b91;line-height:1.8;padding:20px 0;font-size:13px}
@media(min-width:1600px){.workspace{grid-template-columns:278px minmax(500px,1fr) 310px}.panel{padding:30px 25px}.stage-title h1{font-size:23px}.topbar{height:88px}.workspace{min-height:calc(100dvh - 88px);max-height:calc(100dvh - 88px)}}
@media(max-width:1150px){.workspace{grid-template-columns:210px minmax(260px,1fr) 245px}.panel{padding:22px 15px}.topbar{padding:0 18px;gap:15px}.brand{min-width:180px}.header-actions{gap:2px}.status-strip{padding:0 17px;gap:14px}.status-strip strong{font-size:14px}.volume-stat{display:none}.stage-bottom>span{display:none}.view-toolbar{left:20px}.stage-top{left:20px}.stage-title h1{font-size:17px}.left-footer a{font-size:9px}.field-grid{gap:5px}.field-grid input{padding:10px 4px}.field-grid label>span{font-size:9px}.model-status{max-width:130px}.project input{max-width:160px}}
@media(max-width:900px){.workspace{grid-template-columns:210px 1fr;max-height:none}.left-panel{grid-row:2;border-top:1px solid var(--line)}.stage{grid-column:1/-1;height:58dvh;min-height:450px}.right-panel{grid-column:2;grid-row:2;border-top:1px solid var(--line)}.mini-guide{display:none}.part-list{max-height:280px}.left-footer{padding-top:22px}.topbar{height:auto;min-height:72px;flex-wrap:wrap;padding:14px 18px;gap:10px}.brand{min-width:145px}.brand strong{font-size:22px}.brand strong span{font-size:8px}.brand-icon{width:34px;height:34px;font-size:27px;line-height:30px}.header-actions{margin-left:auto}.project{display:none}.stage-top{top:19px}.view-toolbar{top:88px}.field-grid input{font-size:17px}.field-grid label>span{font-size:12px}.section-heading h2,.part-name{font-size:14px}.preset{font-size:13px}.panel-note,.mini-guide p,.text-button{font-size:12px}.right-panel{padding:24px}.field-label{font-size:12px}.property-group h3{font-size:14px}.mode-switch button,.edit-actions button{font-size:14px}.volume-stat{display:block}.model-status{max-width:160px}.stage-bottom>span{display:block}}
@media(max-width:560px){body{font-size:14px}.topbar{padding:12px;gap:5px}.brand{min-width:0;margin-right:auto}.brand strong{font-size:20px}.brand-icon{width:30px;height:30px;font-size:24px;line-height:27px}.brand strong span{font-size:7px;letter-spacing:1px}.header-actions{gap:0}.header-actions .quiet{padding:8px;font-size:12px}.header-actions .icon{display:none}.primary span{display:none}.header-actions .primary{padding:10px;font-size:12px;margin-left:5px}.desktop{display:none}.workspace{display:flex;flex-direction:column}.stage{order:0;height:52dvh;min-height:400px}#viewport{min-height:323px}.stage-title h1{font-size:17px}.stage-top{left:17px;right:17px}.view-toolbar{left:17px;top:84px}.segmented button{font-size:12px;padding:6px 12px}.fit-button{font-size:11px}.stage-bottom{left:17px;right:17px;bottom:88px}.stage-bottom>span{display:none}.status-strip{height:70px;gap:12px;padding:0 17px}.status-strip small{font-size:10px}.status-strip strong{font-size:15px}.model-status{font-size:10px;max-width:115px}.volume-stat{display:none}.left-panel{order:1;padding:20px 17px;border-right:0;display:block}.right-panel{order:2;padding:20px 17px;border-left:0}.preset-grid{grid-template-columns:repeat(4,1fr)}.preset{height:75px;font-size:12px}.parts-section{margin-top:22px}.add-actions button{font-size:13px;padding:10px}.part-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:280px}.part{padding:11px 8px}.part-name{max-width:110px}.part-dims{font-size:10px}.panel-note{margin-bottom:0}.left-footer{display:none}.right-panel .section-heading{margin-bottom:15px}.field-grid{gap:10px}.field-grid input{padding:13px;font-size:18px}.property-group h3 span{font-size:12px}.field-label{font-size:13px}.text-input{font-size:16px}.mode-switch button{padding:10px}.edit-actions button{padding:12px}.mini-guide{display:block;margin-top:24px}.mini-guide h3{font-size:16px}.mini-guide h3 br{display:none}.mini-guide p,.mini-guide p.safety{font-size:12px}.warnings{font-size:12px}.toast{bottom:15px;white-space:normal;width:max-content}.property-group{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Comfortable control text while keeping the work surface compact. */
.section-heading h2,.field-label,.property-group h3,.part-name,.mode-switch button,.edit-actions button,.add-actions button,.preset{font-size:14px}
.field-grid label>span,.property-group h3 span,.panel-note,.part-dims,.text-button,.left-footer strong,.mini-guide p,.mini-guide p.safety,.warnings,.segmented button,.fit-button,.stage-bottom,.model-status{font-size:12px}
.section-heading>span,.status-strip small,.left-footer a,.guide-number,.eyebrow{font-size:12px}
.field-grid input{font-size:16px}.mini-guide p{line-height:1.8}.status-strip strong{font-size:16px}.mini-guide h3{font-size:19px}
@media(max-width:1150px) and (min-width:901px){.field-grid label>span{font-size:11px}.model-status{font-size:11px}.status-strip strong{font-size:14px}.add-actions button{font-size:12px}}
@media(max-width:560px){.header-actions .icon{display:block;font-size:13px;min-width:23px;width:23px;height:23px;padding:0;margin-right:2px}.header-actions .quiet{font-size:12px}.brand strong{font-size:17px}.brand{gap:6px}.preset{font-size:12px}.part-dims{font-size:11px}.model-status{font-size:11px}.status-strip strong{font-size:14px}.stage-bottom{font-size:12px}.field-grid input{font-size:18px}}
/* Two independent workspaces share the print preview. */
[hidden]{display:none!important}.workspace-modes{height:54px;display:flex;align-items:center;gap:6px;padding:0 28px;background:#fff;border-bottom:1px solid var(--line)}.workspace-modes button{padding:9px 15px;border-color:transparent;font-size:13px;font-weight:600;background:transparent}.workspace-modes button.active{background:#e8edff;border-color:#a6b9ff;color:#2348c6}.workspace-modes>span{font-size:12px;color:var(--muted);margin-left:13px}.workspace{min-height:calc(100dvh - 134px);max-height:calc(100dvh - 134px)}.block-panel{grid-column:1;grid-row:1;border-right:1px solid var(--line)}.block-summary{grid-column:3;grid-row:1;border-left:1px solid var(--line)}body.block-mode .stage{grid-column:2;grid-row:1}.block-intro{line-height:1.9;font-size:16px;margin:5px 0 26px;color:#344873}select{width:100%;padding:12px;border:1px solid var(--line);border-radius:7px;background:#f3f6ff;color:#203762;font:inherit;font-size:17px;font-weight:600}.block-meter{padding:19px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:22px}.block-meter strong{font-size:26px;font-weight:500}.block-meter span{font-size:12px;color:var(--muted)}.build-guide{margin-top:24px}.build-guide p{margin:18px 0}.build-guide b{display:block;font-size:13px}.build-guide span{display:block;color:var(--muted);font-size:12px;margin-top:6px}.coordinate-tools{border-top:1px solid var(--line);padding-top:18px;margin-top:23px}.coordinate-tools summary{cursor:pointer;font-size:12px;color:#4565a5}.clear-blocks{width:100%;padding:12px;margin-top:25px;background:transparent}.build-tools{display:flex;position:absolute;z-index:3;left:50%;bottom:99px;transform:translateX(-50%);border:1px solid #c5d6bf;border-radius:12px;background:#fff;box-shadow:0 5px 20px #2853e614;padding:5px;gap:4px;white-space:nowrap}.build-tools button{border:0;background:transparent;border-radius:8px;min-width:76px;min-height:46px;font-size:14px;font-weight:600}.build-tools button.active{background:#2853e6;color:#fff}#tool-erase.active{background:#a65f42}.block-hint{position:absolute;top:148px;left:20px;right:20px;text-align:center;color:#4565a5;font-size:12px;pointer-events:none}body.block-mode .stage-bottom>span{display:none}body.block-mode .stage-bottom label{margin-left:auto}body.block-mode .stage-bottom{bottom:80px}body.block-mode .warnings{margin-top:0}.block-summary .panel-note{line-height:1.9}.block-summary .mini-guide{display:block}.coordinate-tools .field-grid{margin-top:15px}
@media(min-width:1600px){.workspace{min-height:calc(100dvh - 142px);max-height:calc(100dvh - 142px)}}
@media(max-width:900px){.workspace{max-height:none}.workspace-modes{padding:0 18px}.workspace-modes>span{display:none}body.block-mode .stage{grid-column:1/-1;grid-row:1;min-height:490px}.block-panel{grid-row:2;grid-column:1}.block-summary{grid-row:2;grid-column:2}.build-tools{bottom:104px}}
@media(max-width:560px){.workspace-modes{height:52px;padding:5px 12px;gap:6px}.workspace-modes button{flex:1;padding:10px 7px;font-size:13px;min-height:40px}body.block-mode .stage{height:60dvh;min-height:455px}.build-tools{bottom:93px}.build-tools button{min-width:82px;min-height:44px}.block-hint{top:136px;font-size:12px}.block-panel{order:1;padding:22px 17px;border-top:1px solid var(--line);border-right:0}.block-summary{order:2;padding:20px 17px;border-left:0;border-top:1px solid var(--line)}.block-intro{display:none}.block-panel .section-heading{margin-bottom:20px}.block-meter{margin:17px 0;padding:14px 0}.build-guide{display:none}.block-panel select{font-size:17px}.block-summary .mini-guide{margin-top:16px;padding-top:12px}body.block-mode .stage-bottom{bottom:72px}.block-panel .coordinate-tools .field-grid input{padding:11px}body.block-mode #viewport{min-height:385px}}

/* CUBO: a crisp, gridded workshop with three-face cube geometry. */
:root{font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182b51;--green:#2853e6;--lime:#d8f76b;--muted:#647692;--line:#d9e2f1}body{font-size:16px}.topbar{background:#142448;color:#f8fbff;border-bottom:0;padding:0 24px;gap:24px}.brand{color:#fff;min-width:214px}.brand strong{font-weight:850;letter-spacing:3px}.brand strong span{font-size:10px;letter-spacing:1.7px;color:#bccbeb}.brand-icon{display:grid;place-items:center;background:transparent;border-radius:0;width:40px;height:44px}.brand-icon svg{width:35px;height:40px;fill:#d8f76b;stroke:#15264a;stroke-width:2;stroke-linejoin:round}.project input{color:#fff}.project span{color:#aabbdb}.header-actions .quiet{color:#dee8ff}.header-actions .quiet:hover{background:#25395e}.header-actions .icon{border-color:#536589}.header-actions .primary{background:#d8f76b;border-color:#d8f76b;color:#172448;box-shadow:3px 3px 0 #061329;font-weight:750}.workspace-modes{padding:0 24px;background:#fff;height:58px}.workspace-modes button{border-radius:5px;padding:10px 16px;font-size:14px}.workspace-modes button.active{box-shadow:3px 3px 0 #b7c8ff;border-color:#2853e6;background:#edf1ff;color:#214bd9}.workspace{grid-template-columns:248px minmax(320px,1fr) 292px;min-height:calc(100dvh - 138px);max-height:calc(100dvh - 138px)}.stage{background-color:#eaf0ff;background-image:linear-gradient(30deg,#c9d8f440 12%,transparent 12.5%,transparent 87%,#c9d8f440 87.5%,#c9d8f440),linear-gradient(150deg,#c9d8f440 12%,transparent 12.5%,transparent 87%,#c9d8f440 87.5%,#c9d8f440),linear-gradient(30deg,#c9d8f440 12%,transparent 12.5%,transparent 87%,#c9d8f440 87.5%,#c9d8f440),linear-gradient(150deg,#c9d8f440 12%,transparent 12.5%,transparent 87%,#c9d8f440 87.5%,#c9d8f440),linear-gradient(60deg,#dae4fa60 25%,transparent 25.5%,transparent 75%,#dae4fa60 75%);background-size:80px 140px;background-position:0 0,0 0,40px 70px,40px 70px,0 0}.panel{padding:24px 18px}.section-heading h2{font-size:15px;font-weight:750}.section-heading>span,.eyebrow,.guide-number{font-size:12px;color:#6d7f9c}.stage-title h1{font-size:21px;font-weight:750;letter-spacing:.02em}.eyebrow{letter-spacing:2px;color:#536b9b}.part-name,.preset,.add-actions button,.field-label,.mode-switch button,.edit-actions button,.segmented button,.fit-button,.text-button,.workspace-modes>span,.feature-actions button{font-size:14px}.part-dims,.panel-note,.stage-bottom,.mini-guide p,.mini-guide p.safety,.left-footer a,.left-footer strong,.status-strip small,.status-strip em,.model-status,.field-grid label>span,.property-group h3 span,.block-meter span,.build-guide span,.coordinate-tools summary,.block-hint{font-size:12px;color:#60728f}.field-label{margin-top:17px;color:#516886}.field-grid{gap:8px}.field-grid label{font-size:13px;color:#566a89}.field-grid input{min-height:44px;border-radius:4px;background:#f3f6ff}.field-grid select{font-size:13px;padding:11px 5px;min-height:44px}.property-group h3{font-size:14px}.property-group h3 span{float:none;display:block;margin-top:6px}.part-symbol{transform:none;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);border:0;background:linear-gradient(30deg,#789bfb 50%,#b8caff 50%);height:24px;min-width:24px}.part.cut .part-symbol{background:linear-gradient(30deg,#e6a384 50%,#fae3d6 50%)}.part-list{max-height:calc(100dvh - 530px)}.preset{border-radius:5px}.preset.active{box-shadow:3px 3px 0 #cad7ff}.preset svg{stroke-width:2}.mini-guide h3{font-size:18px}.mini-guide{padding-top:18px;margin-top:20px}.build-tools{border-color:#294dd4;border-radius:6px;box-shadow:5px 5px 0 #bbcafa;background:#fff}.build-tools button{border-radius:3px}.build-tools button.active{background:#2853e6}.history{border-radius:4px;border-color:#b5c6ec;box-shadow:3px 3px 0 #ccdaf4}.view-toolbar{top:105px}.segmented{border-radius:4px;border-color:#bdcdef}.fit-button{border-radius:4px}.status-strip{background:#f9fbffff;border-top:1px solid #c3d3ef;padding:0 20px;gap:20px}.status-strip strong{font-size:16px;color:#18346b}.model-status{color:#315abb}.model-status::before{background:#e3edff}.stage-bottom label{color:#48648d}.block-intro{color:#3d527d}.build-guide b{font-size:14px}.warnings{font-size:13px}.toast{border-radius:5px;font-size:14px}.feature-panel{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:24px}.feature-actions{display:flex;gap:8px}.feature-actions button{flex:1;padding:10px 4px;border:1px solid #b1c4ff;color:#214acb;background:#eff3ff;border-radius:4px}.feature-item{width:100%;text-align:left;display:flex;flex-direction:column;gap:5px;padding:12px 10px;margin-top:8px;border-radius:4px;background:#f7f9ff;border-color:#dbe5fb}.feature-item span{font-size:14px;overflow-wrap:anywhere}.feature-item small{font-size:12px;color:#6980a3}.feature-dialog{max-height:90dvh;overflow:auto;max-width:560px;border:1px solid #a9bce7;border-radius:8px;color:#1e3358}.feature-dialog p{font-size:13px;line-height:1.7;color:#637896}.feature-dialog .property-group{margin-top:22px}.logo-preview-wrap{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;margin:20px 0;background:#f0f4fd;padding:18px;border:1px solid #dce5f9}.logo-preview-wrap canvas{width:180px;max-height:145px;object-fit:contain;image-rendering:pixelated;height:auto}.logo-preview-wrap span{font-size:13px;color:#456296}.slider-label{display:flex;justify-content:space-between;font-size:14px;margin-top:14px}.slider-label output{color:#2853e6;font-variant-numeric:tabular-nums}.feature-dialog input[type=range]{width:100%;accent-color:#2853e6;margin:12px 0;height:24px}.check-label{display:flex;gap:8px;align-items:center;margin:14px 0 20px;font-size:14px;line-height:1.7}.check-label input{width:18px;height:18px;accent-color:#2853e6}.feature-dialog .field-grid input{font-size:17px;margin-top:8px}.feature-dialog .field-grid select{margin-top:8px}.feature-dialog .edit-actions{margin-top:20px}.feature-dialog .text-button{margin-top:12px}
@media(min-width:1600px){.workspace{grid-template-columns:278px minmax(500px,1fr) 320px;min-height:calc(100dvh - 146px);max-height:calc(100dvh - 146px)}.panel{padding:28px 24px}}
@media(max-width:1150px){.workspace{grid-template-columns:220px minmax(270px,1fr) 264px}.panel{padding:22px 15px}.topbar{padding:0 18px;gap:16px}.brand{min-width:180px}.stage-title h1{font-size:18px}.status-strip{padding:0 16px;gap:12px}.status-strip strong{font-size:14px}.segmented button{padding:6px 8px}.model-status{max-width:124px}}
@media(max-width:900px){.workspace{grid-template-columns:240px minmax(0,1fr);max-height:none}.topbar{padding:14px 18px}.brand{min-width:160px}.stage{height:60dvh;min-height:490px}.workspace-modes{padding:0 18px}.right-panel{padding:24px}.feature-panel{margin-bottom:22px}.part-list{max-height:300px}.stage-title h1{font-size:21px}.stage-bottom>span{display:none}.feature-dialog .field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.workspace{display:flex;max-height:none}.topbar{padding:12px;gap:8px}.brand{min-width:0;gap:5px}.brand strong{font-size:20px;letter-spacing:1px}.brand strong span{display:none}.brand-icon{width:27px;height:32px}.brand-icon svg{width:26px;height:30px}.header-actions{gap:2px}.header-actions .quiet{font-size:12px;padding:8px 6px}.header-actions .primary{font-size:12px;padding:10px 8px;margin-left:3px;box-shadow:2px 2px 0 #061329}.header-actions .icon{width:24px;min-width:24px;height:24px}.workspace-modes{height:58px;padding:5px 12px}.workspace-modes button{font-size:13px;padding:10px 6px}.stage,body.block-mode .stage{height:58dvh;min-height:465px}#viewport,body.block-mode #viewport{min-height:395px}.stage-title h1{font-size:18px}.stage-top{left:17px;right:17px}.view-toolbar{top:87px;left:17px;gap:6px}.segmented button{font-size:12px;padding:7px 10px}.fit-button{font-size:12px}.stage-bottom{left:17px;right:17px}.status-strip{padding:0 16px;gap:10px;height:70px}.status-strip strong{font-size:14px}.model-status{font-size:12px;max-width:110px}.status-strip small{font-size:12px}.left-panel,.right-panel,.block-panel,.block-summary{padding:22px 17px}.field-grid label>span,.part-dims{font-size:12px}.field-grid input{font-size:18px}.build-tools{bottom:100px}.build-tools button{min-width:76px;min-height:44px;font-size:14px}.block-hint{font-size:13px;top:145px}.feature-dialog{width:94%;padding:20px}.feature-dialog .field-grid{gap:8px}.feature-dialog .property-group h3 span{font-size:12px}.feature-dialog .dialog-top h2{font-size:19px}.feature-actions button{padding:12px;font-size:14px}.project{display:none}.feature-item{padding:13px}.feature-panel{padding-bottom:22px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* Layer inspection is view-only and keeps full-model statistics visible. */
.layer-panel{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.layer-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.layer-heading h3{font-size:14px;margin:0}.layer-heading button,.layer-inspection button{font-size:12px;min-height:36px;padding:7px 9px;border:1px solid #b1c4ff;background:#eff3ff;color:#214acb;white-space:nowrap}.layer-count{font-size:12px;color:#516886;margin:9px 0}.layer-list{max-height:240px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:6px}.layer-row{display:flex;align-items:center;gap:5px;border:1px solid #d9e2f1;border-radius:5px;background:#f4f7ff;padding:3px 5px}.layer-row.is-hidden{background:#fff}.layer-row label{display:flex;flex:1;align-items:center;gap:8px;cursor:pointer;min-width:0;min-height:48px}.layer-row input{width:18px;height:18px;margin:0;flex-shrink:0;accent-color:#2853e6}.layer-row label span{display:flex;flex-direction:column;gap:3px;min-width:0}.layer-row strong{font-size:13px;font-weight:600}.layer-detail{font-size:10px;line-height:1.4;color:#647692;overflow-wrap:anywhere}.layer-row.is-hidden strong{color:#738099}.layer-solo{font-size:11px;min-height:44px;padding:6px;border:0;background:transparent;color:#214acb;max-width:76px}.layer-solo[aria-pressed=true]{background:#e0e8ff}.layer-panel .panel-note{font-size:12px;line-height:1.8;margin-top:12px}.layer-inspection{position:absolute;top:151px;left:20px;right:20px;z-index:3;display:flex;justify-content:center;align-items:center;gap:10px;pointer-events:none;font-size:12px;color:#264680}.layer-inspection span{background:#f9fbfff0;padding:8px 10px;border-radius:4px}.layer-inspection button{pointer-events:auto;box-shadow:1px 1px 0 #bdccef}.feature-item:disabled{opacity:.5;cursor:default}
@media(max-width:560px){.layer-panel{margin-top:18px;padding-top:18px}.layer-list{max-height:256px}.layer-row{padding:3px 10px}.layer-row label{min-height:50px}.layer-row strong{font-size:14px}.layer-detail{font-size:12px}.layer-solo{font-size:13px;max-width:none;padding:8px 10px}.layer-heading button{min-height:44px;font-size:13px}.layer-inspection{top:137px;left:17px;right:17px;font-size:12px;gap:6px}.layer-inspection button{min-height:40px}}

.repair-panel{margin:18px 0;padding:15px 12px;background:#f1f5fd;border:1px solid #d9e3f4;border-radius:12px}.repair-panel h3{font-size:14px;margin:0 0 12px}.repair-panel .check-label{font-size:12px;line-height:1.6;margin:8px 0;display:flex;gap:7px;align-items:center}.repair-width-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;gap:8px}.repair-width-label input{width:76px;padding:7px}.repair-status{font-size:12px;font-weight:600;color:#755126;line-height:1.6}.repair-panel details{font-size:11px;margin:10px 0}.repair-panel summary{cursor:pointer}.repair-panel ol{max-height:180px;overflow:auto;padding-left:18px;line-height:1.8}.repair-panel input:disabled{opacity:.55}.repair-panel .panel-note{font-size:11px;line-height:1.7}

/* Safe block console and touch camera lock. */
.command-panel{margin:20px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.command-panel summary{font-size:13px;font-weight:650;cursor:pointer;min-height:32px}.command-panel label{display:block;font-size:12px;margin:12px 0 8px}.command-panel input{width:100%;box-sizing:border-box;font:13px ui-monospace,monospace;padding:12px 8px;border:1px solid #b1c4ff;border-radius:4px}.command-panel button{font-size:12px;padding:10px;margin:8px 4px 0 0;min-height:44px;border:1px solid #b1c4ff;background:#eff3ff;color:#214acb}.command-panel #command-result{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7}.command-panel #command-apply{background:#2853e6;color:white}.build-tools{max-width:calc(100% - 24px);box-sizing:border-box}.build-tools #camera-lock{font-size:12px;min-width:90px}.build-tools #camera-lock.active{background:#182b51;color:#d8f76b}@media(max-width:560px){.build-tools{width:calc(100% - 34px);padding:4px;gap:1px}.build-tools button{min-width:0;flex:1;padding:8px 4px;font-size:12px}.build-tools #camera-lock{min-width:84px}.command-panel input{font-size:16px}}

.build-tools button{min-width:0;flex:1;white-space:nowrap}.build-tools #camera-lock{padding-left:8px;padding-right:8px}
