@charset "UTF-8";
/* 0.3: physical components live in the left tool cabinet. */
.hardware-card{padding:10px 0 12px;border-top:1px solid #8a987455}.hardware-card:first-of-type{border-top:0;padding-top:2px}.hardware-title{display:flex;align-items:center;gap:10px;min-height:35px;color:#e9cc91;font-size:10px;letter-spacing:1px}.hardware-card>button{width:100%;font-size:10px;padding:8px 4px;margin-top:5px}.hardware-symbol{width:34px;text-align:center;font-size:29px;color:#bdad77}.motor-symbol{display:block;position:relative;width:32px;height:30px;border:3px solid #b1b6a2;border-radius:42%;background:repeating-conic-gradient(#899380 0deg 7deg,#39493b 7deg 18deg);box-shadow:inset 0 0 0 3px #3b4b3c,1px 2px 3px #0008}.motor-symbol:before{content:'';position:absolute;left:6px;top:-9px;width:14px;height:6px;background:repeating-linear-gradient(90deg,#aab39c 0 2px,#5c6e57 2px 4px);border:1px solid #73836a}.motor-symbol i{position:absolute;left:7px;top:6px;width:13px;height:13px;border:3px solid #ddd3ae;border-radius:50%;background:#5b6254}.parts-panel .engineering-tools .check-row{display:flex}.parts-panel .pair-tools{padding:10px 9px;margin:0 0 12px}.parts-panel #wire{grid-column:auto}.motor-properties{border:1px solid #8c9c6966;border-radius:5px;padding:9px;margin:9px 0}.motor-properties label{font-size:10px;color:#c1caaa}.motor-properties select{width:100%;background:#17291f;color:#efdfbc;border:1px solid #758363;border-radius:3px;padding:6px;margin-top:5px;font-size:10px}.hammer-tools{display:flex;align-items:center;gap:10px;margin-top:9px}.hammer-tools button{padding:7px;font-size:10px;white-space:nowrap}.hammer-tools span{font-size:9px;color:#becbb0;line-height:1.45}.hammer-aiming #test-canvas{cursor:crosshair}.hardware-card select{max-width:100%}.parts-panel details summary{cursor:pointer}.parts-panel .anchor-options input{min-width:0;width:100%}
@media(max-width:760px){.hardware-title{font-size:8px;gap:5px}.hardware-card>button{font-size:8px}.hardware-symbol{font-size:23px;width:25px}.motor-symbol{transform:scale(.8);transform-origin:left center;margin-right:-5px}.hammer-tools{flex-wrap:wrap;gap:5px}.hammer-tools span{font-size:8px}.hammer-tools button{font-size:9px}.parts-panel .pair-tools{padding:8px 5px}.parts-panel .operation-buttons button{font-size:8px;padding:7px 2px}}
:root{color-scheme:dark;--cream:#efe4c6;--muted:#b8b79f;--amber:#e5aa57;--green:#303e30;--line:#747960;--material-pos:0%;font-family:"Trebuchet MS",Arial,sans-serif;color:var(--cream);background:#18251e}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:var(--cream);border:1px solid #727761;border-radius:5px;background:linear-gradient(170deg,#455042,#29372d);box-shadow:inset 0 1px 0 #c2c3a330,0 2px 3px #0005;transition:background .12s,border-color .12s,box-shadow .12s}button:hover{border-color:#e2bd7b;background:linear-gradient(170deg,#59614a,#374331)}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ffd28a;outline-offset:3px}button:disabled{opacity:.35;cursor:not-allowed}button.active,button[aria-pressed=true]{border-color:#efbd72;box-shadow:0 0 0 1px #d68e38,inset 0 0 12px #dd9b3f24;color:#ffdb9a}a{color:#eaca8c;text-decoration:none}a:hover{text-decoration:underline}button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6}h1,h2,p{margin:0}[hidden]{display:none!important}.workshop{height:100vh;height:100dvh;min-height:570px;overflow:hidden;display:grid;grid-template-columns:268px minmax(0,1fr);grid-template-rows:70px minmax(0,1fr) 34px;background:linear-gradient(#14221818,#14221818),url('../assets/garage-v1.png') center/cover no-repeat;position:relative}.metal-panel{background:linear-gradient(115deg,#313b30f8,#172820f5);border:2px solid #7b7a60;box-shadow:inset 0 0 0 2px #182019,inset 0 0 0 3px #a29a713d,0 5px 15px #0006;border-radius:9px}.topbar{grid-column:1/-1;border-radius:0;border-width:0 0 2px;display:flex;align-items:center;justify-content:space-between;padding:0 22px 0 18px;gap:22px;z-index:10;background:linear-gradient(180deg,#394335,#202e24);box-shadow:0 3px 15px #0009}.brand{display:flex;align-items:center;gap:10px;color:var(--cream);flex:none}.brand:hover{text-decoration:none}.brand-mark{position:relative;border:1px solid #b59d6b;border-radius:5px;font:bold 38px Georgia,serif;line-height:42px;width:40px;text-align:center;color:#d6b26d;text-shadow:2px 2px 1px #121b15}.brand-mark span{position:absolute;font:15px Arial;bottom:1px;right:-4px;color:#e1a24b}.brand strong{display:block;font-size:23px;letter-spacing:3px;line-height:1.1;text-shadow:1px 2px #0007}.brand small{font-size:8px;letter-spacing:1.5px;color:#c7c6aa}.main-actions{display:flex;gap:7px;align-items:center;flex:1;justify-content:center}.main-actions button{height:36px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;font-size:13px;font-weight:bold}.main-actions .icon-button{width:35px;padding:0;font-size:22px}.main-actions .save-button{background:linear-gradient(#bd8b48,#89572c);border-color:#d5b477;color:#fff1d2}.button-icon{font-size:18px}.separator{height:22px;width:1px;background:#bfb58835;margin:0 3px;flex:none}.portal-link{font-size:11px;white-space:nowrap;color:#cec9ad}.portal-link span{font-size:17px;padding-left:8px}.parts-panel{grid-column:1;grid-row:2;z-index:3;margin:12px 0 12px 12px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#78806a #202b22;padding:16px 12px 10px;position:relative}.parts-panel:before,.parts-panel:after{content:"";position:absolute;top:9px;width:7px;height:7px;border:1px solid #a69d78;border-radius:50%;background:linear-gradient(135deg,#a39c80,#1c261c);box-shadow:1px 1px 2px #000}.parts-panel:before{left:9px}.parts-panel:after{right:9px}.panel-heading{position:relative;text-align:center;padding-bottom:17px}.eyebrow{font-size:8px;font-weight:bold;letter-spacing:1.7px;color:#acb19a}.panel-heading h1{font-family:Impact,"Arial Narrow",sans-serif;font-weight:400;font-size:31px;letter-spacing:3px;margin:4px 0 7px;text-shadow:1px 2px #000}.tiny-badge{font-size:8px;letter-spacing:1px;border:1px solid #837c54;padding:3px 7px;border-radius:2px;color:#d6bc85}.tray{border:1px solid #777761;background:#15241c66;border-radius:7px;margin-bottom:12px;padding:11px 9px;box-shadow:inset 1px 1px 4px #0005}.tray h2{font-size:10px;letter-spacing:1.4px;display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;color:#ded6b6}.tray h2 span{font-size:9px;letter-spacing:0;color:#b3b49a;font-weight:400}.materials{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.material-button{background:none!important;border:none;box-shadow:none!important;padding:0;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:9px;font-weight:bold;letter-spacing:.4px}.swatch{width:100%;aspect-ratio:1;border-radius:5px;border:3px solid #a0987a;box-shadow:0 2px 3px #0009,inset 0 0 0 1px #151e1a;position:relative;background-image:url('../assets/materials-v1.png');background-size:300% 100%}.swatch.wood{background-position:left}.swatch.metal{background-position:center}.swatch.stone{background-position:right}.swatch:before,.swatch:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;border:1px solid #b8a680;background:#4d4c3a;box-shadow:1px 1px 1px #0009;top:3px}.swatch:before{left:3px}.swatch:after{right:3px}.material-button.active .swatch{border-color:#efc680;outline:1px solid #b27435;box-shadow:0 0 8px #f1aa4577,inset 0 0 0 1px #644720}.shape-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shape-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;padding:14px 2px 10px;min-height:96px;font-size:9px;font-weight:bold;letter-spacing:.4px;border-color:#6e725a;background:linear-gradient(145deg,#364234,#202e25)}.shape-sample{display:block;width:48px;height:45px;background:url('../assets/materials-v1.png') var(--material-pos) center/300% 100%;border:2px solid #dcbb7d;box-shadow:inset 0 0 0 1px #836641,2px 3px 4px #0008}.shape-sample.circle{width:48px;height:48px;border-radius:50%}.shape-sample.triangle{clip-path:polygon(50% 0,100% 100%,0 100%);border:0;width:53px;height:48px;filter:drop-shadow(2px 2px 2px #000);background-color:#bd884b}.polygon-icon{width:72px!important;height:48px!important;stroke:#eac485!important;stroke-width:2!important}.polygon-icon circle{fill:#c98e43;stroke:#ffe8b5}.select-tool{margin-top:9px;width:100%;height:32px;display:flex;align-items:center;gap:7px;padding:0 8px;font-size:11px}.select-tool kbd{margin-left:auto;font-size:9px;color:#afaf96;font-family:inherit;border:1px solid #667058;padding:0 4px;border-radius:2px}.layer-buttons{display:flex;gap:6px}.layer-buttons button{flex:1;font-size:17px;padding:5px 0 4px}.layer-buttons small{display:block;font-size:7px;margin-top:3px;letter-spacing:.5px}.check-row{display:flex;align-items:center;gap:6px;font-size:10px;color:#b9bca7;margin-top:10px}.check-row input{accent-color:#cfa463;width:13px;height:13px;margin:0}.next-update{padding:4px 6px 12px}.future-icons{display:flex;flex-wrap:wrap;gap:7px 9px;font-size:10px;color:#c1b98e;margin:9px 0}.next-update p{font-size:10px;line-height:1.55;color:#8e9c86}.panel-bottom{font-size:8px;letter-spacing:1.1px;display:flex;gap:7px;justify-content:center;color:#a0ae90;padding-top:5px;border-top:1px solid #acb19425}.status-light{display:inline-block;width:5px;height:5px;border-radius:50%;background:#b4c77c;box-shadow:0 0 5px #b1d87788;flex:none}.panel-bottom .status-light{margin-top:2px}.build-area{grid-column:2;grid-row:2;min-width:0;min-height:0;position:relative;overflow:hidden}.build-area:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#11251b08,#14291b05);pointer-events:none;transition:background .15s}.mesh-mode .build-area:before{background:#10281fea}#editor{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline:none;z-index:1}.work-notice{position:absolute;left:50%;top:15px;transform:translateX(-50%) rotate(-1deg);width:395px;z-index:2;pointer-events:none;text-align:center;background:linear-gradient(150deg,#253527ed,#18291fed);border:1px solid #b29b62;box-shadow:1px 6px 16px #0006;padding:21px 15px 12px;border-radius:2px}.hazard-tape{position:absolute;top:-2px;left:-9px;right:-9px;height:11px;background:repeating-linear-gradient(130deg,#ddaa4c 0 15px,#282f22 15px 30px);box-shadow:0 2px 3px #0006;transform:rotate(.5deg)}.work-notice h2{font-family:Impact,"Arial Narrow",sans-serif;font-size:29px;letter-spacing:2px;font-weight:400;color:#f0d49a;line-height:1.1}.work-notice h2 em{font-family:Georgia,serif;font-size:22px;text-transform:none;letter-spacing:0;margin:0 3px}.work-notice p{margin-top:9px;font-size:10px;color:#d0cfb7;line-height:1.5}.work-notice a{pointer-events:auto;font-weight:bold;white-space:nowrap;margin-left:2px}.notice-pin{position:absolute;top:16px;right:9px;width:5px;height:5px;background:#b6a274;border:1px solid #504733;border-radius:50%;box-shadow:1px 1px 2px #000}.blueprint-label{position:absolute;top:125px;left:23px;display:flex;gap:8px;align-items:center;z-index:2;background:#1e2f24ba;padding:8px 10px;border:1px solid #bcb58b4d;border-radius:4px;backdrop-filter:blur(4px)}.blueprint-label input{background:transparent;border:0;color:#f1e5c4;font-size:11px;width:160px;padding:0;outline-offset:4px}.blueprint-label>span:last-child{font-size:7px;letter-spacing:.8px;color:#bac4a4}.empty-message{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);z-index:2;text-align:center;pointer-events:none;width:320px;color:#f7ecd2;text-shadow:0 2px 4px #000,0 0 20px #142416}.empty-cross{font-size:45px;color:#f0d291;display:block;opacity:.85;margin-bottom:12px}.empty-message h2{font:21px Georgia,serif;font-weight:400;margin-bottom:10px}.empty-message p{font-size:12px;line-height:1.7;color:#e5e6cf}.view-controls{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:6px;white-space:nowrap}.view-controls button{height:29px;min-width:29px;padding:0 9px;font-size:12px}.view-controls output{font-size:10px;min-width:35px;text-align:center;color:#d9cba6}.hint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;font-size:9px;white-space:nowrap;color:#e3dac0;text-shadow:0 1px 3px #000;background:#18291fb0;border-radius:3px;padding:3px 8px;pointer-events:none}.mesh-key{position:absolute;left:23px;bottom:107px;z-index:2;display:flex;align-items:center;gap:9px;background:#1e3025e8;padding:10px 12px;border-radius:4px;border:1px solid #7d896b;pointer-events:none}.mesh-icon{font-size:26px;color:#e4bc76}.mesh-key strong{font-size:9px;letter-spacing:1px;display:block;color:#e5c68a}.mesh-key small{font-size:9px;display:block;color:#b8c1a8;line-height:1.5;margin-top:4px}.restore-banner{position:absolute;bottom:103px;left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:8px;padding:8px 10px;background:#314435f5;border:1px solid #bca46e;border-radius:5px;font-size:11px;max-width:90%;box-shadow:0 4px 14px #0007}.restore-banner button{padding:5px 8px}.inspector{position:absolute;right:16px;top:204px;width:218px;z-index:6;padding:14px}.inspector-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.inspector-title button{border:0;box-shadow:none;background:transparent;font-size:20px;line-height:15px;padding:0}.inspector h2{font-family:Georgia,serif;font-size:20px;font-weight:400}.inspector>p{font-size:10px;color:#b0b69d;margin:5px 0 15px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-grid label,.material-field{font-size:9px;color:#b8c0a5;display:block}.field-grid label>span{float:right;color:#878e77}.field-grid input,.field-grid select,.material-field select{width:100%;margin-top:4px;color:#efe5c9;border:1px solid #6a745a;border-radius:3px;background:#15271e;padding:6px;min-width:0;font-size:12px}.material-field{margin-top:11px}.part-stats{font-size:10px;margin:14px 0;border-top:1px solid #9c9c6c33;padding-top:9px}.part-stats div{display:flex;justify-content:space-between;padding:3px 0}.part-stats dt{color:#9fad96}.part-stats dd{margin:0;color:#e1ca99;font-variant-numeric:tabular-nums}.selection-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.selection-actions button{padding:6px 2px;font-size:9px}.selection-actions .danger{color:#dfb3a3;border-color:#81594b}.small-note{font-size:8px!important;line-height:1.5!important;margin-bottom:0!important;color:#94a087!important}.statusbar{grid-row:3;grid-column:1/-1;display:flex;align-items:center;gap:16px;background:#1b2b21ed;border-top:1px solid #767957;padding:0 16px;z-index:10;font-size:10px;color:#b5bda1}.statusbar #status{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statusbar #status[data-kind=error]{color:#ffc2a0}.totals{display:flex;gap:18px;font-size:10px;font-variant-numeric:tabular-nums;color:#d8c79a}.statusbar button{background:none;box-shadow:none;border:none;font-size:8px;color:#9fab90;padding:0;white-space:nowrap}dialog{width:min(560px,calc(100vw - 32px));max-height:85dvh;color:#e6dfc6;background:linear-gradient(125deg,#344132,#1a2b21);border:2px solid #ac9363;border-radius:8px;padding:24px;box-shadow:0 15px 90px #000c}dialog::backdrop{background:#0a160ddd;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #abb88733;padding-bottom:13px;margin-bottom:18px}.dialog-heading h2{font:25px Georgia,serif}.dialog-heading button{font-size:24px;background:none;border:0;box-shadow:none}#dialog-content{font-size:13px;line-height:1.65;color:#c5ceb5}#dialog-content h3{color:#e9cc93;font-size:14px;margin:20px 0 7px}#dialog-content p{margin:10px 0}#dialog-content ul{padding-left:19px}#dialog-content kbd{background:#18271d;border:1px solid #647453;border-radius:3px;padding:1px 5px;font-family:inherit;font-size:11px}#dialog-content .check-row{font-size:13px;margin:15px 0;gap:10px}#dialog-content button{padding:8px 14px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.build-tag{display:inline-block;background:#15291c;border:1px solid #66794c;padding:3px 8px;color:#d6c087;font-size:11px;border-radius:3px}.quiet-mode .workshop{background-image:linear-gradient(#1422187a,#1422187a),url('../assets/garage-v1.png')}.hide-notice .work-notice{display:none}.hide-notice .blueprint-label{top:20px}
@media(min-width:1600px){.workshop{grid-template-columns:290px minmax(0,1fr)}.parts-panel{padding:22px 15px 12px;margin:16px 0 16px 16px}.shape-button{min-height:112px}.swatch{max-height:74px}.work-notice{top:22px}.blueprint-label{top:142px}.inspector{top:220px;right:22px;width:238px}.tray{margin-bottom:16px}.panel-heading{padding-bottom:22px}.main-actions button{height:40px}.topbar{padding-right:30px}}
@media(max-width:1100px){.topbar{gap:10px;padding:0 12px}.brand strong{font-size:20px}.brand small{font-size:7px}.main-actions{gap:5px}.main-actions button{padding:0 10px}.portal-link{display:none}.work-notice{width:340px}.work-notice h2{font-size:25px}.workshop{grid-template-columns:238px minmax(0,1fr)}.parts-panel{margin-left:8px;padding:16px 9px 10px}.shape-button{font-size:8px}.blueprint-label{left:15px}.blueprint-label>span:last-child{display:none}.inspector{right:10px;width:190px}.hint{font-size:8px}.statusbar{gap:10px}.statusbar #status{font-size:9px}.totals{gap:8px}}
@media(max-width:760px){.workshop{grid-template-columns:150px minmax(0,1fr);grid-template-rows:58px minmax(0,1fr) 31px;min-height:500px}.topbar{gap:8px;padding:0 8px}.brand-mark{display:none}.brand strong{font-size:17px;letter-spacing:1px}.brand small{font-size:5px;letter-spacing:.6px}.main-actions{justify-content:flex-end;gap:4px}.main-actions button{padding:0 7px;font-size:10px;height:32px;gap:3px}.main-actions .icon-button{width:26px;font-size:18px}.main-actions .button-icon{display:none}.main-actions .separator{margin:0;height:18px}.main-actions #mesh svg{display:none}.parts-panel{margin:7px 0 7px 6px;padding:14px 6px 8px}.panel-heading h1{font-size:23px}.panel-heading .eyebrow{font-size:6px;letter-spacing:1px}.tiny-badge{font-size:6px}.tray{padding:8px 5px;margin-bottom:9px}.tray h2{font-size:8px;letter-spacing:.5px}.tray h2 span{display:none}.materials{gap:5px}.material-button{font-size:7px;letter-spacing:0;gap:5px}.swatch{border-width:2px}.shape-tools{gap:5px}.shape-button{padding:9px 0 7px;gap:7px;min-height:73px;font-size:6px;letter-spacing:0}.shape-sample{width:32px;height:32px}.shape-sample.circle{width:33px;height:33px}.shape-sample.triangle{width:35px;height:33px}.polygon-icon{width:42px!important;height:33px!important}.select-tool{height:28px;font-size:8px;gap:3px;padding:0 4px}.select-tool kbd{display:none}.layer-buttons{gap:4px}.layer-buttons button{font-size:14px}.layer-buttons small{font-size:5px;letter-spacing:0}.check-row{font-size:8px;gap:4px}.next-update{padding:2px}.next-update .eyebrow{font-size:6px;letter-spacing:.6px}.future-icons{font-size:8px}.next-update p{font-size:8px}.panel-bottom{font-size:6px;letter-spacing:.2px;padding-top:7px;margin-top:8px}.work-notice{width:250px;max-width:calc(100% - 26px);top:12px;padding:19px 7px 9px}.work-notice h2{font-size:19px;letter-spacing:1px}.work-notice h2 em{font-size:16px}.work-notice p{font-size:8px;margin-top:7px}.work-notice a{display:block}.blueprint-label{top:126px;left:10px;padding:6px 8px}.blueprint-label input{width:125px;font-size:10px}.empty-message{width:85%;top:48%}.empty-message h2{font-size:17px}.empty-message p{font-size:10px}.empty-cross{font-size:34px}.view-controls{max-width:calc(100% - 12px);gap:4px;padding:6px;bottom:28px}.view-controls button{padding:0 5px;height:29px;font-size:10px;min-width:23px}.view-controls .separator{margin:0}.view-controls output{font-size:8px;min-width:25px}.hint{display:none}.mesh-key{left:10px;bottom:89px;padding:7px}.mesh-key small{font-size:8px}.mesh-key strong{font-size:8px}.restore-banner{bottom:95px;width:90%;font-size:9px;gap:5px;flex-wrap:wrap}.restore-banner button{padding:3px 7px}.inspector{top:auto;bottom:78px;right:8px;width:180px;padding:10px}.inspector h2{font-size:17px}.inspector>p{margin-bottom:8px}.field-grid{gap:6px}.part-stats{margin:8px 0;padding-top:5px}.field-grid input,.field-grid select,.material-field select{padding:4px}.inspector .small-note{display:none}.statusbar{padding:0 8px;font-size:8px;gap:8px}.statusbar #status{font-size:8px}.statusbar #about{font-size:6px}.totals{font-size:8px;gap:7px}.totals #total-mass{display:none}}
@media(max-width:420px){.brand small{display:none}.brand strong{font-size:15px}.main-actions{gap:3px}.main-actions button{padding:0 5px}.main-actions .icon-button{width:24px}.main-actions .separator{display:none}.workshop{grid-template-columns:128px minmax(0,1fr)}.shape-button{font-size:5.7px}.parts-panel{margin-left:4px;padding:13px 4px 7px}.work-notice h2{font-size:16px}.work-notice h2 em{font-size:14px}.view-controls{gap:2px}.view-controls #snap span{font-size:0}.view-controls #snap span:after{content:'1cm';font-size:9px}.view-controls button{padding:0 4px}.statusbar #about{max-width:78px;white-space:normal;font-size:6px}.totals #cell-count{display:none}.inspector{width:172px}}
.export-actions{display:flex;align-items:center;gap:12px;margin:20px 0}.download-link{display:inline-block;background:linear-gradient(#ba8746,#8b5b30);border:1px solid #d3b175;border-radius:4px;padding:8px 14px;color:#fff0cd;font-weight:bold}.export-label{display:block;color:#c5ceb5;font-size:11px}.export-label textarea{display:block;resize:vertical;width:100%;margin:7px 0;padding:10px;background:#102219;color:#d5dfc6;border:1px solid #657854;border-radius:4px;font:10px/1.5 monospace}.export-actions button{white-space:nowrap}
@media(max-height:780px) and (min-width:761px){.parts-panel{padding-top:12px}.panel-heading{padding-bottom:12px}.panel-heading h1{font-size:25px;margin:3px 0 5px}.panel-heading .eyebrow{font-size:7px}.tray{padding:8px;margin-bottom:9px}.tray h2{margin-bottom:8px}.swatch{max-height:54px;max-width:54px}.shape-button{min-height:80px;padding:9px 2px 8px;gap:6px}.shape-sample{height:38px;width:41px}.shape-sample.circle{width:40px;height:40px}.shape-sample.triangle{width:44px;height:40px}.polygon-icon{height:40px!important}.select-tool{height:28px}.next-update{padding-bottom:6px}.next-update p{display:none}.future-icons{margin:7px 0}.layer-buttons button{padding:3px 0}.check-row{margin-top:8px}.panel-bottom{padding-top:4px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* 0.2: mechanics controls stay within the existing workshop furniture. */
.engineering-tools label,.pair-tools label{display:block;font-size:10px;color:#c5ccb3;margin:8px 0 5px}.engineering-tools select,.pair-tools select{width:100%;font-size:10px;background:#18291f;color:#eee0bc;border:1px solid #778366;border-radius:3px;padding:6px 3px;margin-top:4px;min-width:0}.engineering-tools>button,.pair-tools>button{width:100%;padding:7px 3px;font-size:10px;margin:4px 0}.tool-note{font-size:9px!important;line-height:1.5;color:#b5bfa5;margin:7px 0!important}.pair-tools{border-top:1px solid #9ca17755;margin-top:12px;padding-top:10px}.pair-tools summary{font-size:11px;color:#ecd39e;cursor:pointer}.pair-tools summary span{font-size:9px;float:right;color:#a6b193}.operation-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.operation-buttons button{font-size:9px;padding:7px 3px}.operation-buttons #assemble,.operation-buttons #wire{grid-column:1/-1}.inspector{max-height:calc(100dvh - 264px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#899776 #1c2d23}.main-actions .test-button{border-color:#c1c991;background:linear-gradient(#697952,#354c34);color:#f1eed0}.main-actions{gap:5px}.main-actions button{padding:0 10px}.topbar{gap:12px}#test-canvas{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline:none;z-index:1}.test-mode .work-notice,.test-mode .blueprint-label,.test-mode .empty-message,.test-mode .mesh-key,.test-mode .restore-banner,.test-mode .hint{display:none!important}.test-mode .parts-panel{opacity:.52}.test-mode .view-controls{bottom:61px;left:auto;right:16px;transform:none;padding:6px}.test-mode .view-controls #grid,.test-mode .view-controls #snap,.test-mode .view-controls .separator,.test-mode .view-controls output{display:none}.test-panel{position:absolute;left:16px;right:16px;top:14px;z-index:4;padding:10px 14px;max-width:690px;border-color:#90946b;border-width:1px;background:linear-gradient(110deg,#2d3d2ff5,#14261df5)}.test-panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.test-panel-heading strong{font-size:11px;letter-spacing:1.5px;color:#e2ca8d}.test-panel-heading span{font-size:9px;color:#aaca9b}.test-settings{display:flex;align-items:end;gap:10px}.test-settings label{font-size:9px;display:block;flex:1;color:#becbad}.test-settings label.check-row{display:flex;align-items:center;flex:0;white-space:nowrap;margin:0 0 8px}.test-settings select{display:block;width:100%;margin-top:4px;background:#182a1d;border:1px solid #798467;padding:6px;color:#efdfb8;font-size:11px;border-radius:3px}.test-settings button{padding:7px 10px;white-space:nowrap;font-size:11px}.test-stats{display:flex;justify-content:space-between;gap:12px;margin:10px 0 0;border-top:1px solid #98aa7255;padding-top:8px}.test-stats div{min-width:0}.test-stats dt{font-size:8px;text-transform:uppercase;letter-spacing:1px;color:#a7b795}.test-stats dd{margin:3px 0 0;font-size:12px;color:#e3dab4;font-variant-numeric:tabular-nums;white-space:nowrap}.test-stats dd.hot{color:#ffae73}.health-legend{display:none;position:relative;gap:12px;align-items:center;margin-top:9px;font-size:8px;color:#d6debd}.mesh-mode .health-legend{display:flex}.health-legend i{display:block;width:140px;height:7px;border-radius:5px;background:linear-gradient(90deg,#e95537,#e9d245,#60c558);order:2}.health-legend span:first-child{font-weight:bold;letter-spacing:1px}.health-legend span:not(:first-child){display:none}.drive-controls{position:absolute;left:20px;bottom:48px;z-index:4;display:flex;align-items:center;gap:12px}.drive-controls button{height:47px;min-width:82px;font-size:12px;font-weight:bold;touch-action:none;user-select:none}.drive-controls span{font-size:9px;color:#c3cfab;line-height:1.6;text-align:center}.test-mode .statusbar #status{color:#d5d2af}
@media(max-width:1100px){.main-actions button{padding:0 7px}.brand small{display:none}.topbar .brand{gap:7px}.test-panel{left:10px;right:10px;padding:9px}.test-panel-heading span{font-size:8px}.test-settings{gap:6px}.test-settings button{padding:7px}.test-stats{gap:8px}.test-stats dd{font-size:10px}}
@media(max-width:760px){.main-actions{gap:3px}.main-actions button{padding:0 5px}.main-actions .icon-button{width:23px}.brand strong{font-size:14px}.main-actions .separator{display:none}.main-actions #settings{display:none}.inspector{max-height:calc(100dvh - 180px);bottom:78px}.engineering-tools label,.engineering-tools select,.engineering-tools>button{font-size:8px}.tool-note{font-size:8px!important}.test-mode .parts-panel{display:none}.test-mode .build-area{grid-column:1/-1}.test-panel-heading strong{font-size:10px}.test-panel-heading span{font-size:8px}.test-settings label{font-size:9px}.test-settings select{font-size:10px}.test-stats dd{font-size:11px}.drive-controls{left:12px;bottom:40px;gap:8px}.drive-controls button{min-width:70px;height:48px}.drive-controls span{font-size:8px}.test-mode .view-controls{bottom:102px;right:12px}.test-panel{max-width:none}.test-settings .check-row{font-size:9px}.test-settings button{font-size:10px}.test-stats{gap:6px}}
@media(max-width:420px){.brand strong{font-size:12px}.main-actions button{font-size:9px;padding:0 4px}.main-actions .icon-button{width:21px}.main-actions #redo{display:none}.test-stats dt{font-size:7px;letter-spacing:0}.test-stats dd{font-size:9px}.test-settings{gap:5px}.test-settings select{max-width:155px}.test-panel-heading span{font-size:7px}.health-legend i{width:110px}}
.test-mode .parts-panel{display:none}.test-mode .build-area{grid-column:1/-1}.test-settings{flex-wrap:wrap}.test-settings>label:first-child{min-width:150px}.health-legend:after{content:'Red: low HP · yellow: 50% · green: full';font-size:8px;color:#c7d6b5;order:3}.test-mode .test-panel{max-width:690px}.test-mode .view-controls{max-width:170px}
.anchor-options{margin:12px 0;padding:7px;border:1px solid #89937566;border-radius:4px}.anchor-options summary{font-size:9px}
.inspector-title{position:sticky;top:-14px;background:#293b2df5;padding:6px 0;z-index:2}
@media(max-width:420px){.test-settings>label:first-child{min-width:140px}.test-panel{padding:8px}.test-settings button{padding:6px;font-size:9px}.test-panel-heading{gap:4px}.health-legend:after{font-size:7px}.health-legend{gap:7px}.health-legend i{width:90px}}
