@charset "UTF-8";
:root{color-scheme:light;--ink:#2e2d34;--muted:#787788;--faint:#a19fad;--line:#dedee4;--cream:#f3f3f5;--panel:#faf9fb;--stage:#e8e7ec;--green:#43424d;--green-dark:#34333b;--mint:#e8e7ec;--coral:#bd8067;--white:#fff;--shadow:0 3px 12px #2c2c3210;--radius:8px;font-family:"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-size:12px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.42}button,input,select{outline-offset:3px}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #747283}button{touch-action:manipulation}button[hidden],progress[hidden],[hidden]{display:none!important}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h2,p{margin:0}h2{font-size:12px;line-height:1.4;font-weight:650;letter-spacing:-.1px}.app-shell{height:100dvh;min-height:670px;display:flex;flex-direction:column;overflow:hidden}.app-header{height:78px;min-height:78px;display:flex;align-items:center;padding:0 27px;gap:24px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;min-width:224px;font-size:20px;letter-spacing:-.7px;font-weight:400;white-space:nowrap}.brand strong{font-weight:700}.brand-mark{width:35px;height:35px;color:var(--green)}.header-project{display:flex;align-items:center;gap:13px;flex:1;min-width:0}.project-kicker{font-size:8px;letter-spacing:1.8px;color:var(--faint);font-weight:700}.header-project>#model-name{max-width:240px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:12px;font-weight:600}.preview-badge{font-size:9px;letter-spacing:.15px;font-weight:600;background:#eee9df;color:#8b7965;padding:5px 8px;border-radius:4px;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:8px 12px;border:1px solid transparent;border-radius:6px;font-weight:600;line-height:1.2;background:transparent;white-space:nowrap;transition:background .15s,border-color .15s,transform .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button.quiet{font-size:11px;color:#676675}.button.quiet:hover{background:#ececef}.button.secondary{background:#fff;border-color:#d9d8e0;box-shadow:0 1px 2px #2e2d3404}.button.secondary:hover:not(:disabled){background:#efeff2;border-color:#c0c0c8}.button-arrow{font-size:16px;margin-left:10px;font-weight:400;color:#747283}.button.primary{background:var(--green);color:white;box-shadow:0 3px 5px #33323910}.button.primary:hover:not(:disabled){background:var(--green-dark)}.workspace-bar{height:46px;min-height:46px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 26px;background:#f2f2f4}.workspace-heading{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600}.status-dot,.status-indicator,.footer-dot{width:6px;height:6px;border-radius:50%;background:#787788;display:inline-block;flex-shrink:0}.bar-divider{height:12px;width:1px;background:#d2d2d8;margin:0 5px}.subtle{font-weight:400;color:#838292}.history-controls{display:flex;gap:3px}.icon-button{border:1px solid transparent;background:transparent;border-radius:4px;font-size:19px;width:30px;height:28px;line-height:1;color:#5c5a68}.icon-button:hover:not(:disabled){border-color:#d9d8e0;background:#fff}.workspace{display:grid;grid-template-columns:255px minmax(280px,1fr) 256px;flex:1;min-height:0}.panel{background:var(--panel);display:flex;flex-direction:column;min-height:0}.setup-panel{border-right:1px solid var(--line)}.inspector-panel{border-left:1px solid var(--line)}.panel-scroll{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#d4d3da transparent}.setup-section{padding:21px 19px 20px;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:center;gap:8px;margin-bottom:15px}.step-number{font-size:9px;font-weight:700;color:#8c8a9a;letter-spacing:.4px;width:18px}.section-note{margin-left:auto;font-size:8px;font-weight:650;letter-spacing:1.2px;color:var(--faint)}.library-card{display:flex;align-items:center;gap:11px;width:100%;padding:10px 9px;border-radius:7px;border:1px solid #bdbcc5;background:#ededf0;position:relative;text-align:left}.library-card:hover{background:#e5e4ea}.library-art{display:grid;place-items:center;flex-shrink:0;width:46px;height:52px;border-radius:4px;background:#dddce3;overflow:hidden;position:relative}.library-art:before,.library-art:after{content:"";position:absolute;width:60px;height:1px;left:-9px;background:#cac9d1;transform:rotate(-38deg)}.library-art:before{top:12px}.library-art:after{bottom:12px}.library-monogram{font-family:Georgia,serif;font-size:32px;font-style:italic;color:#828191;position:relative;line-height:1;z-index:1}.library-monogram span{display:block;font-family:"Segoe UI",Arial,sans-serif;font-size:7px;font-style:normal;letter-spacing:1.5px;text-align:center;margin-top:3px}.library-card-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.library-card-copy strong{font-size:11px;font-weight:650}.library-card-copy>span{font-size:9px;color:#898897}.library-card-copy .library-card-tag{font-size:8px;color:#605e6d;letter-spacing:.05px;margin-top:2px}.library-selected{background:#d6d5db;border-radius:50%;width:15px;height:15px;display:grid;place-items:center;font-size:9px;margin-left:auto;align-self:flex-start;margin-top:2px;color:#5a5966}.import-zone{width:100%;padding:13px 8px 12px;margin:9px 0 0;border:1px dashed #cbcad2;border-radius:7px;background:transparent;display:flex;align-items:center;flex-direction:column;gap:4px;color:#717080;transition:background .15s,border-color .15s}.import-zone:hover,.import-zone.dragover{background:#ebeaef;border-color:#797889}.import-symbol{font-size:19px;font-weight:300;line-height:1;margin-bottom:2px}.import-zone strong{font-size:10px;font-weight:600}.import-zone>span:last-child{font-size:9px;color:#9695a2}.model-stats{font-size:9px;color:#92909f;margin-top:10px;line-height:1.5;overflow-wrap:anywhere}.field-label{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:10px;font-weight:550;margin-bottom:7px;line-height:1.3;color:#696877}.field-label>span{font-size:8px;font-weight:400;color:#9c9aa8}.number-field{height:34px;display:flex;align-items:center;border:1px solid #d7d6de;border-radius:5px;background:#fff;padding:0 9px;gap:4px}.number-field:focus-within,.small-number-field:focus-within{border-color:#8f8e9c;box-shadow:0 0 0 2px #8f8e9c15}.number-field input{border:0;background:transparent;color:#43424c;width:100%;min-width:0;outline:none;padding:0;font-size:11px;font-weight:550;appearance:textfield}.number-field input::-webkit-inner-spin-button,.small-number-field input::-webkit-inner-spin-button{appearance:none}.number-field>span{font-size:9px;color:#9796a3}.number-field input:disabled{color:#9b9aa7}.number-field:has(input:disabled){background:#f8f8f9}.inline-meta{display:flex;justify-content:space-between;font-size:9px;color:#9695a3;margin-top:7px}.inline-meta output{color:#767586}.orientation-label{margin-top:17px}.segmented{display:flex;border:1px solid #d9d8e0;border-radius:5px;overflow:hidden;background:white}.segmented button{flex:1;background:transparent;border:0;padding:7px 4px;font-size:10px;color:#6c6a7b}.segmented button+button{border-left:1px solid #e1e0e7}.segmented button:hover{background:#ebebef}.segmented button span{font-size:12px;margin-left:8px;color:#9897a4}.bed-row{display:flex;align-items:flex-end;gap:9px;margin-top:11px}.button.compact{font-size:9px;min-height:30px;padding:7px 9px}.bed-row>.button{flex:1}.trim-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;color:#9695a3;font-size:8px}.small-number-field{display:flex;align-items:center;border:1px solid #d9d8e0;background:white;border-radius:5px;height:30px;padding:0 7px;gap:3px}.small-number-field input{width:100%;min-width:0;border:0;outline:none;background:transparent;font-size:10px;font-weight:550;color:#5d5c6a;appearance:textfield}.small-number-field>span{color:#9c9aa8;font-size:8px}.count-badge{font-size:9px;font-weight:600;min-width:19px;line-height:18px;text-align:center;border-radius:5px;background:#e7e7eb;color:#777587;margin-left:auto}select{appearance:none;border:1px solid #d9d8e0;border-radius:5px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' viewBox='0 0 12 12'%3E%3Cpath d='m3 4 3 3 3-3' stroke='%237d7b8c' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center;width:100%;height:33px;padding:0 27px 0 10px;color:#565562;font-size:10px}.add-joint-button{width:100%;margin-top:10px;border-color:#bcbbc5;background:#ebebef;min-height:35px;color:#575662;font-size:11px;justify-content:flex-start}.add-joint-button>span:first-child{font-size:16px;font-weight:400}.add-joint-button:hover,.add-joint-button.active,.add-joint-button[aria-pressed="true"]{background:#d8d7df;border-color:#838292}.key-hint{margin-left:auto;border:1px solid #c7c7ce;border-radius:3px;padding:1px 4px;font-size:8px;color:#8d8c9b}.field-help{font-size:9px;color:#9492a1;line-height:1.6;margin-top:9px}.auto-row{display:flex;align-items:center;gap:7px;margin-top:14px}.auto-row>label{font-size:10px;color:#737183;white-space:nowrap}.auto-row>.small-number-field{width:70px;height:29px}.auto-row .text-button{margin-left:auto}.text-button{border:0;background:transparent;padding:3px 0;color:#5c5b68;font-size:9px;font-weight:600}.text-button:hover{color:#403f48;text-decoration:underline}.text-button.muted{color:#9e9da9;font-size:8px;font-weight:400}.joint-list-header{display:flex;align-items:center;justify-content:space-between;margin-top:17px;margin-bottom:6px;font-size:8px;font-weight:600;letter-spacing:1px;color:#9c9aa8}.joint-list{display:flex;flex-direction:column;gap:4px}.empty-joints{font-size:9px;padding:9px 0 4px;color:#a6a5b2;line-height:1.4}.joint-list button,.joint-item{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;background:#f2f2f4;border:1px solid #e3e3e8;border-radius:5px;padding:7px 8px;text-align:left;font-size:10px;color:#777587;min-height:30px}.joint-list button.active,.joint-list button.selected,.joint-item.active{border-color:#9e9daa;background:#e5e5ea;color:#4d4c57}.joint-list button:hover{background:#ebeaef}.joint-list button>span:first-child{font-size:9px;font-weight:600}.joint-list button small{font-size:8px;color:#9594a2}.articulation-section{border-bottom:0;padding-bottom:18px}.generate-block{padding:15px 18px 17px;border-top:1px solid #dcdbe2;background:#efeff2}.generation-copy{display:flex;align-items:center;gap:6px;font-size:8px;color:#878595;letter-spacing:.05px;margin:0 0 9px}.tiny-spark{color:#b38b6d;font-size:13px}.generate-button{width:100%;justify-content:space-between;font-size:11px;min-height:38px;padding:10px 13px}.generate-button>span:last-child{font-size:18px;font-weight:300;line-height:1}progress{appearance:none;width:100%;height:4px;border:0;border-radius:3px;overflow:hidden;margin-top:10px;display:block;background:#d7d6de}progress::-webkit-progress-bar{background:#d7d6de}progress::-webkit-progress-value{background:#787688}progress::-moz-progress-bar{background:#787688}.cancel-button{display:block;margin:8px auto 0;font-weight:400;color:#858393}.canvas-panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--stage)}.canvas-toolbar{height:48px;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 18px;border-bottom:1px solid #d8d7df;background:#f5f5f7}.view-switch{display:flex;align-items:center;gap:2px;background:#eae9ee;padding:3px;border-radius:6px;border:1px solid #dfdee5}.view-switch button{border:0;padding:5px 11px;border-radius:4px;background:transparent;color:#9998a5;font-size:10px;font-weight:550;white-space:nowrap}.view-switch button[aria-pressed="true"]{background:#fff;color:#53515e;box-shadow:0 1px 3px #44434e12}.canvas-tools{display:flex;gap:4px;align-items:center}.tool-button{border:1px solid transparent;background:transparent;border-radius:4px;padding:6px 8px;font-size:9px;color:#888696;white-space:nowrap}.tool-button:hover{background:#eaeaee}.tool-button[aria-pressed="true"]{color:#646271;background:#eaeaee;border-color:#dcdbe3}.tool-button span{font-size:15px;margin-left:4px;vertical-align:-1px}.toolbar-divider{width:1px;height:16px;background:#dad9e1;margin:0 4px}.canvas-stage{flex:1;min-height:200px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#ededf0 0%,#e4e3e9 100%)}#viewport{position:absolute;inset:0;outline:none}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}.canvas-corner-label{position:absolute;top:18px;left:19px;display:flex;align-items:center;gap:6px;pointer-events:none;font-size:8px;letter-spacing:1.15px;color:#9695a2;font-weight:600;z-index:1}.canvas-dot{width:4px;height:4px;background:#9e9daa;border-radius:50%}.viewport-message{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:#7c7a8c;font-size:10px;z-index:3;max-width:85%;pointer-events:none}.viewport-message strong{font-size:14px;font-weight:500;letter-spacing:-.2px;color:#5f5d6c}.viewport-message>span:last-child{font-size:10px;color:#9997a5}.loading-ring{width:28px;height:28px;border:2px solid #d5d4da;border-top-color:#6f6d7e;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:5px}@keyframes spin{to{transform:rotate(360deg)}}.canvas-legend{display:flex;align-items:center;gap:14px;position:absolute;bottom:20px;left:20px;pointer-events:none;color:#9493a1;font-size:8px}.canvas-legend>span{display:flex;align-items:center;gap:5px}.canvas-legend i{display:block;width:6px;height:6px;border-radius:50%;background:#696877}.canvas-legend i.legend-cut{width:12px;height:1px;border-radius:0;background:#b78d73}.canvas-legend i.legend-bed{border:1px solid #a2a0ae;background:transparent;border-radius:1px}.canvas-shortcut{position:absolute;right:18px;bottom:20px;pointer-events:none;color:#a5a4b0;font-size:8px}.canvas-shortcut span{margin:0 4px;color:#bebdc7}.canvas-status{height:36px;min-height:36px;background:#f1f1f4;display:flex;align-items:center;gap:8px;padding:0 19px;border-top:1px solid #d8d8df;color:#858394;font-size:9px;min-width:0}.status-indicator{width:5px;height:5px;background:#9b99a7}.canvas-status>#app-status{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.local-label{margin-left:auto;white-space:nowrap;color:#a3a2af;font-size:7px;font-weight:600;letter-spacing:1px}.inspector-section{padding:23px 19px 21px;border-bottom:1px solid var(--line)}.inspector-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.inspector-heading h2{font-size:12px}.inspector-symbol{color:#abaab6;font-size:16px}.selected-joint-label{display:flex;align-items:center;gap:7px;min-height:31px;padding:7px 9px;border-radius:5px;background:#edecf0;border:1px solid #e1e0e6;color:#878695;font-size:10px;font-weight:500}.selection-dot{width:5px;height:5px;border-radius:50%;background:#9e9da9}.inspector-intro{font-size:9px;line-height:1.6;margin-top:9px}.inspector-group-label{font-size:8px;color:#9e9da9;font-weight:600;letter-spacing:1.15px;margin:20px 0 10px}.two-fields{display:flex;gap:8px;margin-bottom:12px}.two-fields .number-field{min-width:0;flex:1}.number-field.labeled{gap:6px;padding:0 8px}.number-field .axis-label{font-size:9px;font-weight:650}.axis-label.x-axis{color:#b8977e}.axis-label.y-axis{color:#898797}.inspector-section>.field-label{margin-top:12px}.inspector-section>.number-field{height:32px}.geometry-label{margin-top:23px}.clearance-help{font-size:8px;line-height:1.7;color:#9f9eab;margin-top:9px}.delete-button{width:100%;font-size:9px;min-height:31px;margin-top:16px;background:transparent;border-color:#dfdfe5;color:#a88f7c;justify-content:flex-start}.delete-button>span{font-size:17px;font-weight:400;margin-right:3px}.delete-button:hover:not(:disabled){background:#f7ede5;border-color:#dec4b2;color:#a46e4b}.validation-section{padding:19px}.validation-section .section-heading{margin-bottom:13px}.validation-section h2{font-size:11px}.check-label{font-size:7px;font-weight:650;letter-spacing:.8px;color:#9695a3;border:1px solid #dddce3;background:#efeff2;border-radius:3px;padding:3px 4px;margin-left:auto}.validation-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.validation-list li{display:flex;align-items:flex-start;gap:7px;font-size:9px;color:#888796;line-height:1.5;overflow-wrap:anywhere}.validation-icon{font-size:11px;color:#a09fac;line-height:1.2;flex-shrink:0}.validation-list .success,.validation-list .ok{color:#6b6979}.validation-list .warning,.validation-list .warn{color:#b19162}.validation-list .error{color:#b47c65}.validation-list .pending{color:#a6a5b2}.export-block{padding:19px 18px 17px;background:#f0f0f3;border-top:1px solid var(--line)}.export-heading{display:flex;align-items:center;justify-content:space-between}.export-heading h2{font-size:11px;color:#6c6a7a}.export-heading>span{font-size:17px;color:#a4a3b0;line-height:1}.export-block>p{font-size:9px;line-height:1.6;color:#9594a2;margin-top:6px;max-width:190px}.export-buttons{display:flex;gap:7px;margin-top:12px}.export-buttons .button{flex:1;font-size:9px;min-height:32px;padding:7px 6px}.export-note{display:block;text-align:center;font-size:8px;color:#abaab5;margin-top:8px}.app-footer{height:28px;min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#e9e8ed;border-top:1px solid #d8d7df;color:#9493a1;font-size:8px;padding:0 20px;letter-spacing:.05px}.app-footer>span:first-child{display:flex;align-items:center;gap:6px}.footer-dot{width:4px;height:4px;background:#908e9d}.footer-privacy{font-size:7px;color:#a6a5b1}.toast{position:fixed;bottom:46px;left:50%;transform:translateX(-50%);background:#3c3b44;color:#efeef2;border:1px solid #4a4954;padding:11px 17px;border-radius:7px;box-shadow:0 4px 20px #2a292f20;font-size:11px;z-index:50;max-width:min(500px,calc(100vw - 40px));line-height:1.6}.joint-label{position:absolute;transform:translate(-50%,-50%);border:2px solid #efeef2;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;background:#696777;color:white;font-size:9px;font-weight:700;cursor:pointer;box-shadow:0 2px 5px #3c3b4430}.joint-label.selected,.joint-label.active{background:#bd8067}.error-message{color:#b47659}.drop-active{background:#dcdbe3!important;border-color:#8d8c9b!important}
@media (min-width:1550px){.workspace{grid-template-columns:275px minmax(280px,1fr) 275px}.setup-section{padding:23px}.generate-block{padding:17px 22px 20px}.inspector-section{padding:25px 23px}.validation-section{padding:22px 23px}.export-block{padding:21px 22px}.app-header{height:82px;min-height:82px}.brand{min-width:235px}.field-help{font-size:10px}.library-card{padding:12px 10px}.library-art{width:52px;height:57px}}
@media (max-height:850px) and (min-width:901px){.app-header{height:65px;min-height:65px}.workspace-bar{height:39px;min-height:39px}.setup-section{padding-top:16px;padding-bottom:15px}.section-heading{margin-bottom:11px}.library-card{padding:8px}.library-art{height:45px;width:42px}.import-zone{padding:9px 6px;gap:3px}.model-stats{font-size:8px;margin-top:7px}.orientation-label{margin-top:12px}.inspector-section{padding-top:18px;padding-bottom:15px}.inspector-group-label{margin-top:15px}.geometry-label{margin-top:17px}.inspector-section>.field-label{margin-top:10px}.generate-block{padding:12px 18px 13px}.validation-section{padding:15px 19px}.export-block{padding:15px 18px 13px}}
@media (max-width:1120px){.workspace{grid-template-columns:230px minmax(260px,1fr) 230px}.brand{min-width:199px;font-size:18px}.app-header{padding:0 19px;gap:15px}.header-project{gap:8px}.project-kicker{display:none}.preview-badge{font-size:8px}.setup-section,.inspector-section,.validation-section{padding-left:15px;padding-right:15px}.generate-block,.export-block{padding-left:14px;padding-right:14px}.canvas-toolbar{padding:0 11px;gap:5px}.tool-button{padding:6px}.view-switch button{padding:5px 8px}.canvas-shortcut{display:none}.local-label{display:none}.canvas-status{padding:0 12px}.app-footer{padding:0 14px}.footer-privacy{display:none}}
@media (max-width:900px){.app-shell{height:auto;min-height:100dvh;overflow:visible}.app-header{height:67px;min-height:67px;padding:0 17px;gap:12px}.brand{min-width:0;font-size:18px;gap:8px}.brand-mark{width:30px;height:30px}.header-project{justify-content:center;gap:0}.header-project>#model-name{display:none}.preview-badge{font-size:8px}.header-actions{gap:4px}.header-actions .button{font-size:9px;min-height:30px;padding:7px 8px}.button-arrow{display:none}.workspace-bar{height:40px;min-height:40px;padding:0 17px}.workspace-heading{font-size:10px;gap:7px}.workspace-heading .subtle{display:none}.bar-divider{display:none}.workspace{display:grid;grid-template-columns:225px minmax(260px,1fr);grid-template-rows:minmax(610px,calc(100dvh - 135px)) auto;min-height:0}.setup-panel{grid-column:1;grid-row:1}.canvas-panel{grid-column:2;grid-row:1}.inspector-panel{grid-column:1/-1;grid-row:2;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(250px,1fr) 225px}.inspector-panel>.panel-scroll{display:grid;grid-template-columns:minmax(250px,1.1fr) minmax(170px,.9fr);overflow:visible}.inspector-section{border-bottom:0;border-right:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px 13px;padding:20px}.inspector-heading,.selected-joint-label,.inspector-intro,.inspector-group-label,.two-fields,.clearance-help,.delete-button{grid-column:1/-1}.inspector-section>.field-label{margin:0;align-self:center}.inspector-section .inspector-group-label{margin:8px 0 0}.inspector-heading{margin-bottom:2px}.inspector-intro{margin:0}.inspector-section>.number-field{margin:0}.two-fields{margin-bottom:0}.clearance-help{margin-top:2px}.delete-button{margin-top:3px}.validation-section{padding:22px 18px}.export-block{border-top:0;border-left:1px solid var(--line);padding:22px 18px}.app-footer{height:28px;min-height:28px}.canvas-tools{gap:0}.toolbar-divider{margin:0 2px}.canvas-corner-label{left:14px}.canvas-legend{left:14px;gap:9px}.canvas-status{font-size:8px}}
@media (max-width:620px){.app-header{padding:0 12px;gap:8px;height:61px;min-height:61px}.brand{font-size:17px}.brand-mark{width:28px;height:28px}.header-project{display:none}.header-actions{margin-left:auto}.workspace-bar{padding:0 13px}.workspace{display:flex;flex-direction:column}.canvas-panel{order:0;height:58dvh;min-height:390px;border-bottom:1px solid var(--line)}.setup-panel{order:1;border-right:0;border-bottom:1px solid var(--line);display:block}.setup-panel>.panel-scroll{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.setup-section{padding:20px 15px;border-right:1px solid var(--line)}.setup-section:nth-child(2){border-right:0}.articulation-section{grid-column:1/-1;border-right:0}.articulation-section>.field-label{margin-top:0}.articulation-section>select{width:calc(50% - 5px);display:inline-block}.add-joint-button{display:inline-flex;width:calc(50% - 5px);margin:0 0 0 6px;vertical-align:top;min-height:33px}.articulation-section>.field-help{font-size:9px}.auto-row{justify-content:flex-start}.auto-row .text-button{margin-left:3px}.joint-list{display:grid;grid-template-columns:1fr 1fr}.joint-list-header{margin-top:14px}.generate-block{padding:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.generation-copy{flex:1;margin:0;font-size:9px}.generate-button{width:auto;min-width:175px}.generate-block progress{flex-basis:100%;margin-top:0}.generate-block .cancel-button{margin:0 auto}.inspector-panel{order:2;display:block}.inspector-panel>.panel-scroll{display:grid;grid-template-columns:1.1fr .9fr}.inspector-section{padding:20px 15px;gap:8px}.validation-section{padding:22px 14px}.export-block{border-left:0;border-top:1px solid var(--line);padding:18px;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:5px 15px}.export-heading{grid-column:1}.export-block>p{grid-column:1;margin-top:0;font-size:9px;max-width:none}.export-buttons{grid-column:2;grid-row:1/3;margin-top:0;align-self:center}.export-note{grid-column:2;grid-row:3;font-size:8px;margin-top:0}.app-footer{padding:0 12px;font-size:7px;gap:8px}.app-footer>span:nth-child(2){text-align:right}.canvas-toolbar{height:47px;min-height:47px;padding:0 13px}.tool-button{padding:6px 7px;font-size:9px}.canvas-corner-label{top:14px;font-size:7px}.canvas-legend{bottom:14px}.canvas-status{height:33px;min-height:33px;font-size:9px}.toast{bottom:40px;width:calc(100vw - 30px);font-size:10px;text-align:center}.preview-badge{display:none}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.loading-ring{animation:none}}
.trim-row{display:flex;align-items:center;gap:7px;margin-top:9px}.trim-row>label{font-size:9px;color:#878695;flex:1}.trim-row>.small-number-field{width:75px;height:28px}.trim-row>.text-button{margin-left:1px;font-size:9px}.connector-family{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:9px;color:#7c7a8b;padding:7px 0 2px}.connector-family>span{font-size:7px;color:#a3a2af}.inspector-section .connector-family{grid-column:1/-1}@media(max-width:1120px) and (min-width:901px){.view-switch button{padding:5px 6px;font-size:9px}.canvas-toolbar{padding:0 8px}.tool-button{padding:6px 5px;font-size:8px}.toolbar-divider{margin:0 1px}}@media(max-width:900px) and (min-width:621px){.view-switch button{padding:5px 6px;font-size:9px}.canvas-toolbar{flex-wrap:wrap;align-content:center;gap:4px;height:71px;min-height:71px}.canvas-tools{margin-left:auto}.connector-family{padding:0}}@media(max-width:620px){.view-switch button{padding:5px 7px;font-size:9px}.canvas-tools{gap:0}.tool-button{padding:6px 5px;font-size:8px}.connector-family{padding:0}}
.field-label{font-size:11px;color:#696777}.field-label>span{font-size:9px;color:#888796}.field-help{font-size:10px;color:#828091}.number-field input{font-size:12px}.number-field>span{font-size:10px;color:#868495}.library-card-copy strong{font-size:12px}.library-card-copy>span{font-size:10px;color:#828191}.library-card-copy .library-card-tag{font-size:9px;color:#676575}.import-zone strong{font-size:11px}.import-zone>span:last-child{font-size:10px;color:#888796}.model-stats{font-size:10px;color:#878595}.auto-row>label{font-size:11px}.small-number-field input{font-size:11px}.text-button{font-size:10px}.joint-list button,.joint-item{font-size:11px}.joint-list button small{font-size:9px}.generate-button{font-size:12px}.generation-copy{font-size:9px;color:#7f7d8e}.inspector-intro{font-size:10px}.clearance-help{font-size:9px;color:#8a8998}.validation-list li{font-size:10px}.export-block>p{font-size:10px;color:#868495}.export-buttons .button{font-size:10px}.connector-family{font-size:10px;color:#747284}.connector-family>span{font-size:8px;color:#92919f}.canvas-status{font-size:10px}.view-switch button{font-size:11px}.tool-button{font-size:10px}.delete-button{font-size:10px}.selected-joint-label{font-size:11px}.canvas-corner-label{color:#8d8b9b}.canvas-legend{font-size:9px;color:#8a8898}.app-footer{font-size:9px;color:#838292}.footer-privacy{font-size:8px}@media(max-width:1120px){.view-switch button{font-size:10px}.tool-button{font-size:9px}.app-footer{font-size:8px}}@media(max-width:620px){.model-stats{font-size:9px}.field-label{font-size:10px}.field-help{font-size:9px}.view-switch button{font-size:10px}.tool-button{font-size:9px}.canvas-legend{font-size:8px}.app-footer{font-size:7px}.connector-family{font-size:9px}.connector-family>span{font-size:7px}}
.library-art img{display:block;width:100%;height:100%;object-fit:contain;padding:2px;position:relative;z-index:1}.library-art:has(img):before,.library-art:has(img):after{display:none}.viewport-message{pointer-events:none}
.cutter-flip-button{width:100%;margin-top:10px;min-height:31px;font-size:10px;color:#6e6c7d;justify-content:flex-start}.cutter-flip-button>span{font-size:16px;line-height:1;color:#8a8898}.cutter-flip-button[aria-pressed="true"]{background:#e5e5ea;border-color:#b1afbb;color:#54535f}@media(max-width:900px){.cutter-flip-button{grid-column:1/-1;margin-top:3px}}
.supplied-cutter{display:flex;align-items:center;gap:9px;margin-bottom:14px;padding:10px;border:1px solid #d7d6de;border-radius:6px;background:#eeedf1}.supplied-cutter-icon{display:grid;place-items:center;flex:0 0 27px;width:27px;height:30px;border:1px solid #cecdd4;border-radius:5px;background:#e3e2e8;color:#747284;font-size:18px;line-height:1}.supplied-cutter>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.supplied-cutter strong{font-size:11px;font-weight:650;color:#5f5d6c;line-height:1.4}.supplied-cutter small{font-size:9px;line-height:1.4;color:#878695}.supplied-cutter-check{font-size:11px;color:#858394}

.feedback-popup {
  position:absolute;
  z-index:8;
  top:58px;
  right:16px;
  width:340px;
  max-width:calc(100% - 32px);
  max-height:min(450px, calc(100% - 80px));
  overflow:auto;
  padding:16px;
  border:1px solid #e9c5ba;
  border-left:4px solid #b94631;
  border-radius:9px;
  background:#fff8f4;
  color:#62382e;
  box-shadow:0 7px 28px #432b2426;
  scrollbar-width:thin;
  scrollbar-color:#d6aca0 #fff8f4;
  pointer-events:auto;
  text-align:left;
}
.feedback-popup[data-tone="error"] {background:#fff8f4;border-color:#e9c5ba;border-left-color:#b94631;color:#62382e}
.feedback-heading {display:flex;align-items:flex-start;gap:9px}
.feedback-icon {display:grid;place-items:center;flex:0 0 21px;width:21px;height:21px;margin-top:1px;border:1.5px solid #b94631;border-radius:50%;color:#b94631;font-size:14px;font-weight:750;line-height:1}
.toast {white-space:normal;overflow-wrap:anywhere;max-width:min(520px,calc(100vw - 32px));font-size:13px;line-height:1.5}
.feedback-heading h3 {flex:1;min-width:0;margin:0;padding:1px 0 0;font-size:14px;font-weight:700;line-height:1.5;letter-spacing:0;color:#713b2e;overflow-wrap:anywhere}
.feedback-close {display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;margin:-3px -5px 0 0;border:0;border-radius:4px;background:transparent;color:#9a6758;font-size:23px;line-height:1;font-weight:400}
.feedback-close:hover {background:#f6e5de;color:#773e2d}
.feedback-close:focus-visible {outline:2px solid #b94631;outline-offset:1px}
.feedback-message {margin:11px 0 0;font-size:14px;line-height:1.55;font-weight:400;color:#754c3f;white-space:pre-line;overflow-wrap:anywhere}
.feedback-detail {margin:13px 0 0;padding-top:11px;border-top:1px solid #efd8cf;font-size:12px;color:#855749}
.feedback-detail summary {width:fit-content;cursor:pointer;font-size:12px;font-weight:650;line-height:1.5;color:#8d4e3c}
.feedback-detail summary:hover {color:#672d1f}
.feedback-technical {margin:10px 0 0;padding:10px;border:1px solid #eed7ce;border-radius:5px;background:#fbefea;color:#785145;font-family:Consolas,"Cascadia Mono",monospace;font-size:11px;font-weight:400;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.feedback-action {width:100%;justify-content:space-between;min-height:34px;margin-top:14px;padding:8px 10px;border-color:#ddb5a8;border-radius:5px;background:#fffdfa;color:#984b36;font-size:12px;font-weight:650}
.feedback-action:hover:not(:disabled) {background:#f9e9e0;border-color:#c58d79;transform:none}
.feedback-action>span {font-size:17px;line-height:1;font-weight:400}
.feedback-popup[data-tone="warning"] {background:#fffbf0;border-color:#e8d5a8;border-left-color:#ae7d22;color:#6c542e}
.feedback-popup[data-tone="warning"] .feedback-icon {color:#ae7d22;border-color:#ae7d22}
.feedback-popup[data-tone="warning"] .feedback-heading h3 {color:#79561f}
.feedback-popup[data-tone="warning"] .feedback-message {color:#745c36}
@media(max-width:900px) {
  .feedback-popup {position:fixed;z-index:60;top:96px;right:16px;width:340px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 128px)}
}
@media(max-width:620px) {
  .feedback-popup {top:76px;right:10px;width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 96px);padding:14px}
}

.cutter-tools {
  position:absolute;
  z-index:5;
  bottom:44px;
  left:50%;
  transform:translateX(-50%);
  width:338px;
  max-width:calc(100% - 28px);
  padding:11px;
  border:1px solid #cbcad1;
  border-radius:9px;
  background:rgba(252,253,247,.97);
  box-shadow:0 4px 18px #3a394120;
  pointer-events:auto;
}
.cutter-tools-heading {display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 1px 8px;color:#5f5d6c;font-size:10px;font-weight:650;line-height:1.4}
.cutter-tool-values {min-width:0;color:#6e6c7d;font-size:11px;font-weight:500;text-align:right;white-space:nowrap}
.cutter-tools-buttons {display:flex;gap:5px}
.cutter-tools-buttons button {display:flex;flex:1;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:36px;padding:7px 8px;border:1px solid #d4d3da;border-radius:5px;background:#f6f6f7;color:#6f6d7e;font-size:12px;font-weight:600;line-height:1.3}
.cutter-tools-buttons button>span {font-size:17px;font-weight:400;line-height:1}
.cutter-tools-buttons button:hover:not(:disabled) {background:#e8e7ec;border-color:#a9a8b4;color:#565562}
.cutter-tools-buttons button[aria-pressed="true"] {border-color:#737183;background:#e1e0e7;color:#43424b;box-shadow:inset 0 0 0 1px #73718318}
.cutter-tools-buttons button:focus-visible {outline:2px solid #5a5866;outline-offset:2px}
.cutter-tool-help {margin:8px 1px 0;font-size:11px;font-weight:400;line-height:1.45;color:#727081;overflow-wrap:anywhere}
.cutter-tools[data-dock="top"] {top:16px;bottom:auto}
.auto-fit-setting {margin-top:15px;padding-top:13px;border-top:1px solid #e1e0e6}
.auto-fit-label {display:flex;align-items:flex-start;gap:8px;cursor:pointer;color:#636170;font-size:12px;font-weight:500;line-height:1.45}
.auto-fit-label input {flex:0 0 14px;width:14px;height:14px;margin:2px 0 0;accent-color:#5c5a68;cursor:pointer}
.auto-fit-label>span {flex:1;min-width:0}
.auto-fit-setting .field-help {margin:6px 0 0 22px;font-size:10px;line-height:1.55;color:#838192}
@media(max-width:900px) {
  .auto-fit-setting {grid-column:1/-1;margin-top:4px;padding-top:11px}
}
@media(max-width:620px) {
  .cutter-tools {bottom:40px;width:330px;padding:10px}
  .cutter-tools-buttons button {min-height:40px;font-size:12px}
  .cutter-tools-heading {font-size:10px}
  .cutter-tool-values {font-size:10px}
  .cutter-tool-help {font-size:11px}
  .auto-fit-label {font-size:11px}
}

/* Articulation and painting share the model, viewport, history and exports. */
.paint-only {display:none}
body[data-mode="paint"] .articulate-only {display:none!important}
body[data-mode="paint"] .paint-only {display:block}
body[data-mode="paint"] #cutter-tools,
body[data-mode="paint"] #view-section,
body[data-mode="paint"] #toggle-xray,
body[data-mode="paint"] #toggle-joints,
body[data-mode="paint"] .canvas-legend,
body[data-mode="paint"] .canvas-shortcut {display:none!important}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.workspace-tabs {display:flex;align-items:center;gap:3px;padding:3px;border:1px solid #d9d8e0;border-radius:6px;background:#eae9ee}
.workspace-tabs button {min-width:86px;min-height:29px;padding:5px 13px;border:1px solid transparent;border-radius:4px;background:transparent;color:#868494;font-size:12px;font-weight:600;line-height:1.3}
.workspace-tabs button:hover {background:#f5f5f7;color:#5e5d6b}
.workspace-tabs button[aria-selected="true"] {border-color:#d6d6db;background:#fffefb;color:#4b4955;box-shadow:0 1px 3px #3a394110}
.generate-actions {display:grid;gap:7px;width:100%}
.generate-actions .generate-button {font-size:11px;min-height:35px}
.generate-actions #generate-selected {justify-content:center;color:#656473;border-color:#c6c5cd;background:#f9f9fa}
.paint-section {padding:21px 19px;border-bottom:1px solid var(--line)}
.paint-section:last-child {border-bottom:0}
.paint-section .section-heading {margin-bottom:14px}
.paint-section h2 {font-size:12px}
.paint-section-mark {font-size:13px;color:#8c8b9a;line-height:1}
.paint-color-row {display:flex;align-items:center;gap:10px}
.paint-color-control {display:block;flex:0 0 43px;width:43px;height:43px;border:1px solid #bdbcc6;border-radius:7px;overflow:hidden;background:#838192;cursor:pointer;box-shadow:0 1px 4px #3b3a4310}
.paint-color-control input {display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
.paint-color-control input::-webkit-color-swatch-wrapper {padding:0}
.paint-color-control input::-webkit-color-swatch {border:0}
.paint-color-control input::-moz-color-swatch {border:0}
.paint-hex-control {display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}
.paint-hex-control>span {font-size:8px;font-weight:600;letter-spacing:1px;color:#9493a1}
.paint-hex-control input {width:100%;min-width:0;padding:5px 0;border:0;border-bottom:1px solid #d9d8e0;border-radius:0;background:transparent;color:#636270;font-family:Consolas,"Cascadia Mono",monospace;font-size:13px;line-height:1.4;text-transform:uppercase}
.paint-palette {display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin-top:15px}
.paint-palette button {aspect-ratio:1;min-width:0;min-height:18px;padding:0;border:1px solid #3c3b4415;border-radius:50%;background:var(--swatch);position:relative}
.paint-palette button:hover {box-shadow:0 0 0 2px #faf9fb,0 0 0 3px #9c9ba8}
.paint-palette button[aria-pressed="true"] {box-shadow:0 0 0 2px #faf9fb,0 0 0 3px #6e6c7d}
.paint-tool-grid {display:grid;grid-template-columns:1fr 1fr;gap:6px}
.paint-tool-grid button {display:flex;align-items:center;justify-content:flex-start;gap:7px;min-width:0;min-height:36px;padding:8px;border:1px solid #d8d7df;border-radius:5px;background:#f8f8f9;color:#777587;font-size:11px;font-weight:550;line-height:1.3;text-align:left}
.paint-tool-grid button>span {display:inline-grid;place-items:center;flex:0 0 17px;font-size:18px;line-height:1;color:#9594a2;font-weight:400}
.paint-tool-grid button.wide {grid-column:1/-1;min-height:33px;justify-content:center}
.paint-tool-grid button:hover {border-color:#b8b7c1;background:#eeeef1;color:#5d5c6a}
.paint-tool-grid button[aria-pressed="true"] {border-color:#9593a2;background:#e6e5eb;color:#4b4a55;box-shadow:inset 0 0 0 1px #8e8d9b12}
.paint-tool-grid button[aria-pressed="true"]>span {color:#757384}
.paint-radius-label {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:18px;font-size:11px;color:#706e7f}
.paint-radius-label output {font-size:10px;color:#8d8b9b}
.paint-radius {display:block;width:100%;height:21px;margin:7px 0 14px;accent-color:#706f7f;cursor:pointer}
.paint-checkbox {display:flex;align-items:flex-start;gap:7px;font-size:11px;font-weight:500;line-height:1.5;color:#706e7f;cursor:pointer}
.paint-checkbox input {flex:0 0 14px;width:14px;height:14px;margin:1px 0 0;accent-color:#696777;cursor:pointer}
.paint-field-help {font-size:10px;font-weight:400;line-height:1.6;color:#8d8c9b;overflow-wrap:anywhere}
.paint-checkbox+.paint-field-help {margin:5px 0 0 21px}
.mask-intro {margin:0 0 13px}
.paint-mask-actions {display:flex;flex-direction:column;gap:7px}
.paint-mask-actions>div {display:flex;gap:6px}
.paint-mask-actions .button {min-height:32px;padding:7px 8px;font-size:10px;font-weight:550;color:#777587;border-color:#d9d8e0}
.paint-mask-actions>div>.button {flex:1;min-width:0;white-space:normal}
.paint-mask-count {display:block;margin:11px 0 0;font-size:10px;color:#9b99a7;text-align:center;line-height:1.5}
.paint-fill-button {width:100%;justify-content:space-between;margin-top:14px;min-height:36px;padding:9px 11px;font-size:11px}
.paint-fill-button>span {font-size:17px;font-weight:400;line-height:1}
.paint-inspector {padding:23px 19px;border-bottom:1px solid var(--line)}
.paint-inspector .inspector-heading {margin-bottom:10px}
.paint-symmetry-mark {font-size:20px;line-height:1;color:#9d9ba9}
.symmetry-axis-buttons {display:flex;gap:6px;margin-top:16px}
.symmetry-axis-buttons button {flex:1;min-width:0;min-height:34px;padding:7px 5px;border:1px solid #d9d8e0;border-radius:5px;background:#f8f8f9;color:#878595;font-size:10px;line-height:1.4;white-space:nowrap}
.symmetry-axis-buttons button>span {font-size:11px;font-weight:650;margin-right:2px}
.axis-label.z-axis {color:#8298b4}
.symmetry-axis-buttons button:hover {background:#ebeaef;border-color:#bbbac4}
.symmetry-axis-buttons button[aria-pressed="true"] {background:#e5e4ea;border-color:#9b9aa7;color:#5e5d6a}
.symmetry-origin-fields {display:flex;flex-direction:column;gap:8px}
.symmetry-origin-fields .number-field {height:33px;padding:0 9px;gap:9px}
.symmetry-origin-fields .axis-label {flex:0 0 12px;font-size:10px;font-weight:650}
.symmetry-center-button,.symmetry-move-button {width:100%;min-height:33px;margin-top:11px;padding:8px;font-size:10px;font-weight:550;color:#777687;white-space:normal}
.symmetry-move-button {margin-top:7px;gap:7px;background:#eeedf1!important;border-color:#ceced4!important;color:#656472}
.symmetry-move-button>span {font-size:16px;line-height:1;font-weight:400}
.symmetry-move-button[aria-pressed="true"] {background:#dfdee5!important;border-color:#9695a2!important;color:#4a4954}
.symmetry-origin-help {margin-top:12px}
.paint-help {position:absolute;left:16px;bottom:16px;z-index:4;max-width:min(380px,calc(100% - 32px));margin:0;padding:9px 12px;border:1px solid #d2d1d8;border-radius:6px;background:rgba(250,252,243,.94);color:#737182;font-size:11px;line-height:1.5;box-shadow:0 1px 4px #37363f0a;pointer-events:none}
.export-block>.export-color-help {max-width:none;margin-top:9px;font-size:9px;line-height:1.55;color:#9493a1}
@media(min-width:1550px) {.paint-section{padding:23px}.paint-inspector{padding:25px 23px}}
@media(max-width:1120px) {.paint-section,.paint-inspector{padding-left:15px;padding-right:15px}.paint-palette{gap:5px}.paint-tool-grid button{gap:4px;padding:7px 6px;font-size:10px}.paint-tool-grid button>span{flex-basis:15px;font-size:16px}}
@media(max-width:900px) {
  body[data-mode="paint"] .inspector-panel>.panel-scroll {display:block}
  .paint-inspector {grid-column:1/-1;padding:22px 20px;border-bottom:0}
  .paint-inspector .inspector-heading {margin-bottom:8px}
  .symmetry-origin-fields {flex-direction:row;gap:7px}
  .symmetry-origin-fields .number-field {flex:1;min-width:0;padding:0 7px;gap:5px}
  .symmetry-origin-fields .number-field input {font-size:11px}
  .paint-inspector .inspector-group-label {margin-top:17px}
}
@media(max-width:620px) {
  .workspace-tabs {padding:2px;gap:2px}
  .workspace-tabs button {min-width:80px;min-height:27px;padding:5px 11px;font-size:11px}
  .articulate-controls {display:contents}
  body[data-mode="paint"] .setup-panel>.panel-scroll {display:block}
  .generate-block>.generation-copy {flex-basis:100%}
  .generate-actions {display:flex;gap:8px}
  .generate-actions .generate-button {flex:1;min-width:0;min-height:38px;font-size:10px;white-space:normal}
  .paint-setup {display:grid!important;grid-template-columns:1fr 1fr}
  body:not([data-mode="paint"]) .paint-setup {display:none!important}
  .paint-section {padding:19px 15px}
  .paint-section:first-child {border-right:1px solid var(--line)}
  .paint-section:nth-child(2) {grid-row:1/3;grid-column:2;border-bottom:0}
  .paint-mask-section {grid-column:1;grid-row:2}
  .paint-section .section-heading {margin-bottom:12px}
  .paint-section h2 {font-size:11px}
  .paint-section .section-note {display:none}
  .paint-palette {grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:13px;max-width:145px}
  .paint-palette button {min-height:19px}
  .paint-tool-grid {grid-template-columns:1fr}
  .paint-tool-grid button {min-height:34px;font-size:11px;padding:7px 9px;gap:8px}
  .paint-tool-grid button.wide {justify-content:flex-start}
  .paint-mask-actions .button {font-size:9px;min-height:32px}
  .paint-mask-actions>div {flex-direction:column;gap:6px}
  .paint-fill-button {font-size:10px;min-height:34px}
  .paint-color-row {gap:8px}
  .paint-color-control {flex-basis:35px;width:35px;height:39px}
  .paint-hex-control input {font-size:11px}
  .paint-hex-control>span {font-size:7px}
  .paint-inspector {padding:21px 18px}
  .symmetry-axis-buttons {max-width:300px}
  .symmetry-origin-fields {max-width:500px}
  .symmetry-center-button,.symmetry-move-button {width:calc(50% - 5px);margin-top:12px;min-height:36px;display:inline-flex;vertical-align:top}
  .symmetry-move-button {margin-left:6px}
  .paint-help {left:11px;bottom:11px;max-width:calc(100% - 22px);padding:8px 10px;font-size:10px}
  .export-block>.export-color-help {grid-column:1/-1;grid-row:auto;margin-top:7px}
}

/* Axis switches stay available while Brush paints; origin adjustment is separate. */
body[data-mode="paint"] .paint-mirror-toolbar {display:flex}
.paint-mirror-toolbar {flex:0 0 auto;align-items:center;justify-content:space-between;gap:10px;padding:10px 15px;border-bottom:1px solid #d6d6db;background:#f1f1f4}
.paint-mirror-heading {display:flex;flex:1 1 110px;min-width:94px;flex-direction:column;gap:4px;line-height:1.4}
.paint-mirror-heading>span {font-size:10px;font-weight:650;color:#646371}
.paint-mirror-heading output {font-size:10px;font-weight:500;color:#7f7e8e;overflow-wrap:anywhere}
.paint-mirror-toggles {display:flex;flex:0 1 312px;gap:6px;min-width:0}
.paint-mirror-toggles button {display:flex;flex:1;min-width:0;flex-direction:column;gap:3px;padding:7px 9px;border:1px solid #cac9d1;border-radius:6px;background:#faf9fb;color:#6b6a79;line-height:1.35;text-align:left;box-shadow:0 1px 2px #39384005}
.paint-mirror-toggles button>span {display:flex;align-items:center;justify-content:space-between;gap:7px}
.paint-mirror-toggles strong {font-size:11px;font-weight:650;white-space:nowrap}
.paint-mirror-toggles small {font-size:9px;color:#9593a2;white-space:nowrap}
.mirror-state {display:inline-block;min-width:20px;font-size:8px;font-style:normal;font-weight:650;line-height:1.6;color:#9897a4;text-align:right}
.mirror-state:after {content:"Off"}
.paint-mirror-toggles button:hover {border-color:#9d9ca9;background:#eeedf1}
.paint-mirror-toggles button[aria-pressed="true"] {border-color:#727081;background:#e1e0e7;color:#414049;box-shadow:inset 0 0 0 1px #73718218}
.paint-mirror-toggles button[aria-pressed="true"]:disabled {opacity:1;border-color:#727081;background:#e1e0e7;color:#414049}
.paint-mirror-toggles button[aria-pressed="true"] small {color:#797789}
.paint-mirror-toggles button[aria-pressed="true"] .mirror-state {color:#54535f}
.paint-mirror-toggles button[aria-pressed="true"] .mirror-state:after {content:"On"}
.paint-mirror-toggles button:focus-visible {outline:2px solid #575662;outline-offset:2px}
.symmetry-axis-buttons button {min-height:45px;padding:6px 3px;white-space:normal}
.symmetry-axis-buttons button>.axis-label {display:block;margin:0;font-size:12px;line-height:1.35}
.symmetry-axis-buttons button>small {display:block;margin-top:2px;font-size:8px;color:#9695a2;line-height:1.4}
.symmetry-axis-buttons button[aria-pressed="true"]>small {color:#7e7c8e}
@media(max-width:1120px) {.paint-mirror-toolbar{padding:9px 11px;gap:8px}.paint-mirror-toggles{flex-basis:294px;gap:5px}.paint-mirror-toggles button{padding:6px 7px}.paint-mirror-heading{flex-basis:96px;min-width:82px}}
@media(max-width:620px) {
  .paint-mirror-toolbar {flex-wrap:wrap;gap:7px;padding:9px 11px}
  .paint-mirror-heading {flex:1 0 100%;flex-direction:row;justify-content:space-between;align-items:center;gap:10px}
  .paint-mirror-heading>span,.paint-mirror-heading output {font-size:9px}
  .paint-mirror-toggles {flex:1 0 100%;gap:6px}
  .paint-mirror-toggles button {padding:6px 8px}
  .paint-mirror-toggles strong {font-size:11px}
  .paint-mirror-toggles small {font-size:8px}
  .symmetry-axis-buttons button>small {font-size:9px}
}

.paint-alpha-section {padding-top:17px;padding-bottom:17px}
.alpha-panel>summary {display:flex;align-items:center;gap:7px;margin:0;list-style:none;cursor:pointer;font-size:12px;font-weight:650;line-height:1.5;color:#636170}
.alpha-panel>summary::-webkit-details-marker,.alpha-advanced>summary::-webkit-details-marker {display:none}
.alpha-panel>summary>span {margin-left:auto;font-size:8px;font-weight:450;color:#9897a4;white-space:nowrap}
.alpha-panel>summary:after {content:"›";margin-left:3px;font-size:17px;font-weight:400;line-height:1;color:#9493a1}
.alpha-panel[open]>summary:after {content:"⌄";font-size:14px}
.alpha-preview-row {display:flex;align-items:flex-start;gap:9px;margin-top:13px}
.alpha-tool-label {margin-top:12px;margin-bottom:6px;font-size:9px;font-weight:550;line-height:1.4;color:#8c8a9a}
.alpha-tool-group {grid-template-columns:1fr 1fr!important;gap:6px}
.alpha-tool-group button {min-height:34px;padding:7px 6px;font-size:10px;gap:4px}
.alpha-tool-group button>span {flex-basis:14px;font-size:15px}
.alpha-preview-frame {position:relative;flex:0 0 64px;width:64px;height:64px;overflow:hidden;border:1px solid #cbcad1;border-radius:5px;background:repeating-conic-gradient(#eaeaee 0% 25%,#d8d7df 0% 50%) 50%/12px 12px}
#alpha-preview {display:block;width:100%;height:100%;object-fit:contain}
.alpha-empty-hint {position:absolute;left:3px;right:3px;top:50%;transform:translateY(-50%);padding:3px 0;border-radius:3px;background:#f2f2f5db;color:#868494;font-size:8px;line-height:1.3;text-align:center;pointer-events:none}
.alpha-file-controls {display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:6px}
.alpha-file-controls>.button {width:100%;min-height:29px;padding:7px 6px;color:#706e7f;font-size:10px;white-space:normal;line-height:1.3}
.alpha-file-controls>output {display:block;max-width:100%;font-size:9px;line-height:1.45;color:#9897a4;overflow-wrap:anywhere}
.alpha-file-controls>.text-button {font-size:9px;font-weight:450;line-height:1.3;padding:0;color:#a08e78}
.alpha-file-controls>.text-button:disabled {opacity:.5;text-decoration:none}
.alpha-brush-checkbox {margin-top:13px;font-size:11px}
.alpha-tone-help {margin-top:8px;color:#888696}
.alpha-use-help {margin-top:6px;font-size:9px;color:#9c9aa8}
.alpha-advanced {margin-top:12px;padding-top:10px;border-top:1px solid #dedee4}
.alpha-advanced>summary {display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;cursor:pointer;font-size:10px;font-weight:550;line-height:1.5;color:#878595}
.alpha-advanced>summary:after {content:"＋";font-size:12px;font-weight:400;line-height:1;color:#9b99a7}
.alpha-advanced[open]>summary:after {content:"−"}
.alpha-advanced-controls {padding-top:12px}
.alpha-number-label {display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:10px;font-weight:450;color:#7c7a8c}
.alpha-number-label>.small-number-field {width:82px;height:29px}
.alpha-range-label {display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:13px;font-size:10px;color:#7c7a8c}
.alpha-range-label output {font-size:9px;color:#9b99a7}
.alpha-range {display:block;width:100%;height:20px;margin:5px 0 0;accent-color:#706e7f;cursor:pointer}
.alpha-range:disabled {cursor:not-allowed;opacity:.45}
.alpha-invert-checkbox {margin-top:13px;font-size:10px}
.alpha-local-note {margin-top:12px;font-size:8px;line-height:1.4;color:#a7a6b2}
@media(max-width:1120px) {.alpha-file-controls>.button{font-size:9px}.alpha-preview-frame{flex-basis:59px;width:59px;height:59px}.alpha-panel>summary>span{font-size:7px}}
@media(max-width:620px) {
  .paint-setup>.paint-section:nth-child(2) {grid-row:2;grid-column:1;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .paint-setup>.paint-tools-section {grid-row:1/3;grid-column:2;border-bottom:1px solid var(--line)}
  .paint-setup>.paint-mask-section {grid-column:1/-1;grid-row:3}
  .alpha-panel>summary {font-size:11px}
  .alpha-panel>summary>span {display:none}
  .alpha-preview-row {gap:7px;margin-top:11px}
  .alpha-preview-frame {flex-basis:44px;width:44px;height:44px;background-size:10px 10px}
  .alpha-file-controls {gap:5px}
  .alpha-file-controls>.button {min-height:28px;padding:5px;font-size:9px}
  .alpha-file-controls>output {font-size:8px}
  .alpha-file-controls>.text-button {font-size:8px}
  .alpha-brush-checkbox {font-size:10px;gap:6px;margin-top:11px}
  .alpha-tone-help {font-size:9px;line-height:1.55}
  .alpha-use-help {font-size:8px;line-height:1.55}
  .alpha-advanced>summary {font-size:9px}
  .alpha-number-label,.alpha-range-label {font-size:9px}
  .alpha-number-label>.small-number-field {width:66px}
  .alpha-invert-checkbox {font-size:9px;gap:6px}
  .alpha-local-note {font-size:7px}
  .paint-mask-section .paint-mask-actions {display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .paint-mask-section .paint-mask-actions>div {flex-direction:row}
}

/* Appearance is a workspace preference; model and paint colors stay unchanged. */
.theme-toggle {display:inline-grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:7px;border:1px solid #d9d8e0;border-radius:6px;background:#fff;color:#6a6878;box-shadow:0 1px 2px #2e2d3404}
.theme-toggle:hover {background:#ececef;border-color:#bdbcc6;color:#43424d}
.theme-toggle:focus-visible {outline:2px solid #747283;outline-offset:3px}
.theme-toggle [data-theme-icon="sun"] {display:none}
html[data-theme="dark"] .theme-toggle [data-theme-icon="moon"] {display:none}
html[data-theme="dark"] .theme-toggle [data-theme-icon="sun"] {display:block}
.paint-detail-section {padding-top:16px;padding-bottom:17px}
.paint-detail-section .section-heading {flex-wrap:wrap;gap:5px;margin-bottom:11px}
.paint-detail-count {margin-left:auto;font-size:9px;line-height:1.5;font-variant-numeric:tabular-nums;color:#878695;white-space:nowrap}
.paint-detail-button {width:100%;justify-content:space-between;gap:6px;min-height:34px;padding:8px 9px;font-size:10px;color:#6b6a79}
.detail-multiplier {font-size:10px;font-weight:650;line-height:1.3;color:#858394}
.paint-detail-section .paint-field-help {margin-top:9px;font-size:9px;line-height:1.6}
.paint-detail-section progress {margin-top:11px}
html[data-theme="dark"] {
  color-scheme:dark;
  --ink:#dfdee5;--muted:#abaab5;--faint:#92919f;--line:#3b3a42;
  --cream:#1b1b1e;--panel:#222227;--stage:#1c1b20;--green:#595765;
  --green-dark:#6a6878;--mint:#333239;--coral:#d99d81;--white:#29282e;
  --shadow:0 3px 12px #0c0c0e40;
}
html[data-theme="dark"] :is(button,input,select,summary):focus-visible {outline-color:#aaa8b5}
html[data-theme="dark"] :is(.workspace-bar,.canvas-toolbar,.canvas-status,.generate-block,.export-block,.app-footer) {background:#27262c;border-color:var(--line)}
html[data-theme="dark"] .canvas-stage {background:radial-gradient(ellipse at center,#2a2a30 0%,#1d1c21 100%)}
html[data-theme="dark"] .brand-mark {color:#9b99a7}
html[data-theme="dark"] .preview-badge {background:#433d2f;color:#d9c6a5}
html[data-theme="dark"] :is(.button.quiet,.icon-button,.tool-button) {color:#b4b3be}
html[data-theme="dark"] :is(.button.quiet:hover,.icon-button:hover:not(:disabled),.tool-button:hover) {background:#36353d;border-color:#555460}
html[data-theme="dark"] :is(.button.secondary,.theme-toggle,.number-field,.small-number-field,.segmented,select) {background-color:#2b2a31;border-color:#4b4955;color:#d5d5da;box-shadow:none}
html[data-theme="dark"] .button.secondary:hover:not(:disabled),html[data-theme="dark"] .theme-toggle:hover {background:#3b3a42;border-color:#7c7a8b;color:#eeeef1}
html[data-theme="dark"] .button.primary {background:#595765;color:#f8f8fa;box-shadow:none}
html[data-theme="dark"] .button.primary:hover:not(:disabled) {background:#6a6878}
html[data-theme="dark"] :is(.number-field input,.small-number-field input,.paint-hex-control input) {color:#d5d5da}
html[data-theme="dark"] :is(.number-field input:disabled,.small-number-field input:disabled) {color:#8c8b9a}
html[data-theme="dark"] .number-field:has(input:disabled) {background:#28272d}
html[data-theme="dark"] :is(.number-field:focus-within,.small-number-field:focus-within) {border-color:#a09fac;box-shadow:0 0 0 2px #b3b2bc15}
html[data-theme="dark"] :is(.segmented button,.view-switch button,.workspace-tabs button) {color:#a5a4b0}
html[data-theme="dark"] .segmented button+button {border-color:#4b4955}
html[data-theme="dark"] :is(.segmented button:hover,.workspace-tabs button:hover) {background:#383740;color:#d8d8df}
html[data-theme="dark"] :is(.workspace-tabs,.view-switch) {background:#1e1d22;border-color:#45444e}
html[data-theme="dark"] :is(.view-switch button[aria-pressed="true"],.workspace-tabs button[aria-selected="true"]) {background:#41404a;border-color:#727181;color:#e7e7eb;box-shadow:none}
html[data-theme="dark"] .tool-button[aria-pressed="true"] {background:#3c3b44;border-color:#545360;color:#c5c4cc}
html[data-theme="dark"] :is(.bar-divider,.toolbar-divider) {background:#4d4c57}
html[data-theme="dark"] :is(.subtle,.button-arrow,.step-number,.section-note,.inspector-symbol,.inspector-group-label,.joint-list-header,.model-stats,.canvas-shortcut,.local-label,.export-note,.footer-privacy,.alpha-local-note) {color:#9594a2}
html[data-theme="dark"] :is(.field-label,.paint-radius-label,.paint-checkbox,.alpha-number-label,.alpha-range-label,.auto-row>label,.trim-row>label,.connector-family,.auto-fit-label,.cutter-tool-help,.paint-detail-count) {color:#b2b1bb}
html[data-theme="dark"] :is(.field-label>span,.number-field>span,.small-number-field>span,.inline-meta,.inline-meta output,.connector-family>span,.alpha-range-label output,.paint-radius-label output) {color:#9392a0}
html[data-theme="dark"] :is(.field-help,.paint-field-help,.inspector-intro,.clearance-help,.export-block>p,.export-color-help,.alpha-tone-help,.alpha-use-help,.paint-mask-count,.alpha-file-controls>output,.alpha-panel>summary>span) {color:#a4a3af}
html[data-theme="dark"] :is(.text-button,.alpha-file-controls>.text-button) {color:#a6a5b2}
html[data-theme="dark"] .text-button:hover {color:#d7d6de}
html[data-theme="dark"] .text-button.muted {color:#8b8a99}
html[data-theme="dark"] :is(.library-card,.supplied-cutter,.selected-joint-label) {background:#313038;border-color:#53525e;color:#c6c5cd}
html[data-theme="dark"] .library-card:hover {background:#3c3b44}
html[data-theme="dark"] .library-art {background:#3c3c44}
html[data-theme="dark"] :is(.library-card-copy>span,.supplied-cutter small) {color:#9f9eaa}
html[data-theme="dark"] :is(.library-card-copy .library-card-tag,.supplied-cutter strong) {color:#c5c4cc}
html[data-theme="dark"] :is(.library-selected,.supplied-cutter-icon,.count-badge,.check-label) {background:#3d3c45;border-color:#5a5866;color:#b7b6c0}
html[data-theme="dark"] :is(.library-selected,.supplied-cutter-check) {color:#c3c2cb}
html[data-theme="dark"] .import-zone {color:#b9b8c2;border-color:#5d5b69}
html[data-theme="dark"] :is(.import-zone:hover,.import-zone.dragover) {background:#3a3942;border-color:#9a98a6}
html[data-theme="dark"] .import-zone>span:last-child {color:#918f9e}
html[data-theme="dark"] .add-joint-button {background:#38373f;border-color:#61606e;color:#c4c3cc}
html[data-theme="dark"] :is(.add-joint-button:hover,.add-joint-button.active,.add-joint-button[aria-pressed="true"]) {background:#474651;border-color:#9b9aa7}
html[data-theme="dark"] .key-hint {border-color:#6d6b7c;color:#a4a3af}
html[data-theme="dark"] :is(.joint-list button,.joint-item) {background:#2f2e35;border-color:#44434e;color:#afaeb9}
html[data-theme="dark"] :is(.joint-list button.active,.joint-list button.selected,.joint-item.active) {background:#3f3e47;border-color:#7c7a8c;color:#dddde3}
html[data-theme="dark"] .joint-list button:hover {background:#393841}
html[data-theme="dark"] :is(.joint-list button small,.empty-joints,.generation-copy,.cancel-button) {color:#9d9ba9}
html[data-theme="dark"] #generate-selected {background:#313038;border-color:#5d5b69;color:#bebdc7}
html[data-theme="dark"] :is(.validation-list li,.validation-icon) {color:#aaa9b5}
html[data-theme="dark"] :is(.validation-list .success,.validation-list .ok) {color:#aaa8b5}
html[data-theme="dark"] :is(.validation-list .warning,.validation-list .warn) {color:#e2be83}
html[data-theme="dark"] .validation-list .error {color:#f0aa8c}
html[data-theme="dark"] .validation-list .pending {color:#8d8b9b}
html[data-theme="dark"] .delete-button {color:#d5ad91}
html[data-theme="dark"] .delete-button:hover:not(:disabled) {background:#4c352b;border-color:#ab7457;color:#f2c2a0}
html[data-theme="dark"] :is(.export-heading h2,.export-heading>span,.app-footer,.canvas-status,.canvas-corner-label,.canvas-legend) {color:#a4a3b0}
html[data-theme="dark"] .canvas-dot {background:#92919f}
html[data-theme="dark"] :is(.paint-help,.cutter-tools) {background:#2a2a30f5;border-color:#575663;color:#b4b3bd;box-shadow:0 4px 18px #06060740}
html[data-theme="dark"] :is(.cutter-tools-heading,.cutter-tool-values) {color:#c4c3cb}
html[data-theme="dark"] :is(.cutter-tools-buttons button,.paint-tool-grid button,.symmetry-axis-buttons button) {background:#2f2f36;border-color:#53515e;color:#b7b6c0;box-shadow:none}
html[data-theme="dark"] :is(.cutter-tools-buttons button:hover:not(:disabled),.paint-tool-grid button:hover,.symmetry-axis-buttons button:hover) {background:#3d3c45;border-color:#787788;color:#d6d5db}
html[data-theme="dark"] :is(.cutter-tools-buttons button[aria-pressed="true"],.paint-tool-grid button[aria-pressed="true"],.symmetry-axis-buttons button[aria-pressed="true"]) {background:#44434d;border-color:#91909e;color:#dedde4}
html[data-theme="dark"] :is(.paint-tool-grid button>span,.paint-tool-grid button[aria-pressed="true"]>span,.symmetry-axis-buttons button>small,.symmetry-axis-buttons button[aria-pressed="true"]>small) {color:#a3a1af}
html[data-theme="dark"] :is(.auto-fit-setting,.alpha-advanced) {border-color:#42414b}
html[data-theme="dark"] :is(.paint-hex-control>span,.paint-symmetry-mark,.paint-section-mark,.alpha-tool-label,.alpha-advanced>summary,.alpha-advanced>summary:after,.alpha-panel>summary:after) {color:#9b99a7}
html[data-theme="dark"] .paint-hex-control input {border-color:#4f4e5a}
html[data-theme="dark"] .paint-color-control {border-color:#757385}
html[data-theme="dark"] .paint-palette button {border-color:#bcbbc440}
html[data-theme="dark"] .paint-palette button:hover {box-shadow:0 0 0 2px #222227,0 0 0 3px #b5b4bf}
html[data-theme="dark"] .paint-palette button[aria-pressed="true"] {box-shadow:0 0 0 2px #222227,0 0 0 3px #d1d1d7}
html[data-theme="dark"] :is(.paint-mask-actions .button,.symmetry-center-button,.alpha-file-controls>.button,.paint-detail-button) {color:#bdbcc6}
html[data-theme="dark"] .symmetry-move-button {background:#37363e!important;border-color:#605f6d!important;color:#bfbec8}
html[data-theme="dark"] .symmetry-move-button[aria-pressed="true"] {background:#474651!important;border-color:#9695a3!important;color:#dedee4}
html[data-theme="dark"] .paint-mirror-toolbar {background:#2d2d33;border-color:#4e4d58}
html[data-theme="dark"] :is(.paint-mirror-heading>span,.paint-mirror-heading output,.alpha-panel>summary) {color:#b8b7c1}
html[data-theme="dark"] .paint-mirror-toggles button {background:#2b2a31;border-color:#54525f;color:#bfbec7;box-shadow:none}
html[data-theme="dark"] :is(.paint-mirror-toggles small,.mirror-state) {color:#92909f}
html[data-theme="dark"] .paint-mirror-toggles button:hover {background:#3d3c45;border-color:#807f8f}
html[data-theme="dark"] .paint-mirror-toggles button[aria-pressed="true"],html[data-theme="dark"] .paint-mirror-toggles button[aria-pressed="true"]:disabled {background:#45444e;border-color:#9392a0;color:#e3e3e8;box-shadow:none}
html[data-theme="dark"] :is(.paint-mirror-toggles button[aria-pressed="true"] small,.paint-mirror-toggles button[aria-pressed="true"] .mirror-state) {color:#bfbec8}
html[data-theme="dark"] .alpha-preview-frame {border-color:#676575;background:repeating-conic-gradient(#4c4b56 0% 25%,#36353d 0% 50%) 50%/12px 12px}
html[data-theme="dark"] .alpha-empty-hint {background:#2e2e34d9;color:#aeadb8}
html[data-theme="dark"] .detail-multiplier {color:#b1b0bb}
html[data-theme="dark"] :is(.paint-radius,.alpha-range,.paint-checkbox input,.auto-fit-label input) {accent-color:#9897a4}
html[data-theme="dark"] .panel-scroll {scrollbar-color:#54525f transparent}
html[data-theme="dark"] progress,html[data-theme="dark"] progress::-webkit-progress-bar {background:#3b3a43}
html[data-theme="dark"] progress::-webkit-progress-value {background:#9e9daa}
html[data-theme="dark"] progress::-moz-progress-bar {background:#9e9daa}
html[data-theme="dark"] :is(.viewport-message,.viewport-message>span:last-child) {color:#a2a0ae}
html[data-theme="dark"] .viewport-message strong {color:#d0d0d6}
html[data-theme="dark"] .loading-ring {border-color:#4d4c58;border-top-color:#b6b5bf}
html[data-theme="dark"] .toast {background:#414049;border-color:#7f7e8e;color:#eeedf1;box-shadow:0 4px 20px #06060640}
html[data-theme="dark"] .drop-active {background:#44434d!important;border-color:#a9a7b4!important}
html[data-theme="dark"] :is(.feedback-popup,.feedback-popup[data-tone="error"]) {background:#362720;border-color:#805444;border-left-color:#ee9b7e;color:#f5d6c9;box-shadow:0 7px 28px #0c060640;scrollbar-color:#926a59 #362720}
html[data-theme="dark"] :is(.feedback-heading h3,.feedback-popup[data-tone="error"] .feedback-heading h3) {color:#f4c3ae}
html[data-theme="dark"] :is(.feedback-icon,.feedback-close) {color:#f2a88d;border-color:#ec9f83}
html[data-theme="dark"] .feedback-close:hover {background:#59372b;color:#ffcfba}
html[data-theme="dark"] .feedback-message {color:#efd2c4}
html[data-theme="dark"] .feedback-detail {border-color:#785144;color:#d9af9a}
html[data-theme="dark"] .feedback-detail summary {color:#f0b497}
html[data-theme="dark"] .feedback-detail summary:hover {color:#ffd9c2}
html[data-theme="dark"] .feedback-technical {border-color:#785144;background:#2a211c;color:#e2c5b6}
html[data-theme="dark"] .feedback-action {border-color:#a66d52;background:#493024;color:#ffd2b8}
html[data-theme="dark"] .feedback-action:hover:not(:disabled) {border-color:#d79975;background:#61402e}
html[data-theme="dark"] .feedback-popup[data-tone="warning"] {background:#382f1f;border-color:#8c7441;border-left-color:#ebc074;color:#f5deb4}
html[data-theme="dark"] .feedback-popup[data-tone="warning"] .feedback-icon {color:#e9c17b;border-color:#e9c17b}
html[data-theme="dark"] .feedback-popup[data-tone="warning"] .feedback-heading h3 {color:#f1d197}
html[data-theme="dark"] .feedback-popup[data-tone="warning"] .feedback-message {color:#efd9b3}
@media(max-width:900px) {.theme-toggle{flex-basis:30px;width:30px;height:30px;padding:6px}}
@media(max-width:620px) {
  .theme-toggle {margin-left:2px}
  .paint-detail-section {grid-column:1/-1;grid-row:4;border-bottom:1px solid var(--line)!important}
  .paint-detail-section .section-heading {margin-bottom:9px}
  .paint-detail-button {max-width:300px}
  .paint-detail-section .paint-field-help {max-width:620px}
}

/* Preview a closed planar cut before changing the source model. */
.plane-open {width:100%;justify-content:flex-start;gap:7px;margin-top:9px;padding:8px 9px;min-height:33px;font-size:10px;color:#62616f}
.plane-open svg {flex:0 0 16px}
.plane-open[aria-expanded="true"] {background:#e7e6eb;border-color:#a5a4b0;color:#4d4c57}
.plane-panel {margin-top:11px;padding:12px 10px 10px;border:1px solid #cac9d1;border-radius:7px;background:#f1f1f4}
.plane-panel-heading {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.plane-panel-heading>strong {font-size:11px;font-weight:650;color:#555460}
.plane-panel-heading>.text-button {font-size:10px;white-space:nowrap}
.plane-intro {margin:0 0 13px;font-size:10px;line-height:1.6;color:#727181}
.plane-panel .field-label {font-size:10px;margin-bottom:6px}
.plane-panel .field-label>span {font-size:8px}
.plane-panel select {height:32px;font-size:10px}
.plane-direction-help {margin-top:6px;font-size:9px;line-height:1.55;color:#7d7b8c}
.plane-bed-help {margin:3px 0 0 19px;font-size:9px;line-height:1.55;color:#7d7b8c}
.plane-tool-label {margin:13px 0 6px;font-size:9px;color:#807f8f}
.plane-tools button {min-height:31px;padding:6px;font-size:10px}
.plane-tools button>span {margin:0 4px 0 0;font-size:13px}
.plane-tools button[aria-pressed="true"] {background:#e2e1e7;color:#4c4a56}
.plane-position-label {margin-top:13px}
.plane-panel .number-field {height:32px}
.plane-position {display:block;width:100%;height:22px;margin:6px 0 10px;accent-color:#706f7f;cursor:pointer}
.plane-angle-fields {display:flex;gap:8px}
.plane-angle-fields>label {display:flex;flex:1;min-width:0;flex-direction:column;gap:5px;font-size:9px;color:#727181}
.plane-angle-fields .small-number-field {height:30px}
.plane-flip {width:100%;min-height:32px;justify-content:flex-start;gap:7px;margin:11px 0 12px;padding:7px 8px;font-size:10px;color:#6b6979}
.plane-flip>span {font-size:15px;font-weight:400;line-height:1}
.plane-flip[aria-pressed="true"] {background:#e2e1e7;border-color:#9e9da9;color:#4f4e59}
.plane-checkbox {display:flex;align-items:flex-start;gap:6px;margin-top:8px;font-size:10px;line-height:1.5;color:#686676;cursor:pointer}
.plane-checkbox input {flex:0 0 13px;width:13px;height:13px;margin:1px 0 0;accent-color:#706f7f;cursor:pointer}
.plane-apply-help {margin-top:13px;padding-top:11px;border-top:1px solid #d6d5dd;font-size:9px;line-height:1.6;color:#7d7b8c}
.plane-actions {display:flex;gap:6px;margin-top:12px}
.plane-actions .button {min-width:0;min-height:34px;padding:8px 7px;font-size:10px;white-space:normal}
.plane-actions .button.primary {flex:1}
html[data-theme="dark"] .plane-open {color:#c0bfc8}
html[data-theme="dark"] .plane-open[aria-expanded="true"] {background:#3c3b44;border-color:#838292;color:#dedee4}
html[data-theme="dark"] .plane-panel {background:#2d2c33;border-color:#5d5c69}
html[data-theme="dark"] .plane-panel-heading>strong {color:#d1d1d7}
html[data-theme="dark"] :is(.plane-intro,.plane-direction-help,.plane-bed-help,.plane-tool-label,.plane-angle-fields>label,.plane-checkbox,.plane-apply-help) {color:#adacb8}
html[data-theme="dark"] .plane-tools button[aria-pressed="true"] {background:#44434e;color:#dbdae2}
html[data-theme="dark"] .plane-flip {color:#c3c2ca}
html[data-theme="dark"] .plane-flip[aria-pressed="true"] {background:#403f49;border-color:#8a8998;color:#dedee4}
html[data-theme="dark"] .plane-apply-help {border-color:#51505c}
html[data-theme="dark"] :is(.plane-position,.plane-checkbox input) {accent-color:#9897a4}
@media(max-width:1120px) and (min-width:901px) {
  .plane-panel {padding-left:8px;padding-right:8px}
  .plane-panel .field-label>span {font-size:7px}
  .plane-actions {gap:5px}
  .plane-actions .button {font-size:9px;padding-left:6px;padding-right:6px}
}
@media(max-width:620px) {
  .plane-panel {margin-left:-4px;margin-right:-4px;padding-left:9px;padding-right:9px}
  .plane-panel-heading {gap:5px}
  .plane-panel-heading>strong {font-size:10px}
  .plane-panel-heading>.text-button {font-size:9px}
  .plane-open {padding-left:7px;padding-right:7px;gap:5px;font-size:9px;white-space:normal}
  .plane-panel .field-label>span {display:none}
}


/* Studio 0.5 — focused tasks, generous controls, neutral surfaces. */
:root{--ink:#272733;--muted:#646574;--faint:#898998;--line:#e1e1e9;--cream:#f4f4f8;--panel:#fff;--panel-soft:#f8f8fc;--stage:#eaeaf0;--accent:#7162d8;--accent-hover:#5e4fbe;--accent-soft:#f0edfc;--accent-line:#c9c1ef;--green:var(--accent);--green-dark:var(--accent-hover);--mint:var(--accent-soft);--glass:#fffffff2;--danger:#bc4e57;font-family:Inter,"Segoe UI",Arial,sans-serif}
html[data-theme="dark"]{--ink:#ececf4;--muted:#b1b1c2;--faint:#858599;--line:#373745;--cream:#17171f;--panel:#21212b;--panel-soft:#292934;--stage:#1a1a23;--accent:#a69aef;--accent-hover:#b8adff;--accent-soft:#37314f;--accent-line:#625782;--glass:#24242ff2;--danger:#ee9aa1}
html,body{width:100%;height:100%;overflow:hidden}body{font-size:13px;line-height:1.5;background:var(--cream);color:var(--ink)}.app-shell{height:100dvh;min-height:0;overflow:hidden}.app-header{height:68px;min-height:68px;padding:0 24px;gap:24px}.brand{min-width:0;font-size:21px;gap:10px}.brand-mark{width:35px;height:35px;color:var(--accent)!important}.header-project{min-width:0;gap:12px}.header-project>#model-name{font-size:13px}.project-kicker,.preview-badge{font-size:10px}.preview-badge{background:var(--panel-soft)!important;color:var(--muted)!important;border:1px solid var(--line);border-radius:6px}.header-actions{margin-left:auto;gap:8px}.button{min-height:38px;padding:9px 12px;border-radius:8px;font-size:12px;line-height:1.3;transition:background .15s,border-color .15s,box-shadow .15s}.button:hover:not(:disabled){transform:none}.button.quiet{font-size:12px}.button.primary,html[data-theme="dark"] .button.primary{background:#7162d8;color:#fff;box-shadow:0 3px 8px #7162d81a}.button.primary:hover:not(:disabled),html[data-theme="dark"] .button.primary:hover:not(:disabled){background:#6050c3}.button-arrow{font-size:17px;margin-left:4px}.icon-button,.theme-toggle,.sound-toggle{display:inline-grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:8px;border:1px solid var(--line);border-radius:8px;color:var(--muted);line-height:1}.icon-button{font-size:21px;border-color:transparent}.sound-controls{display:flex;align-items:center;gap:1px}.sound-settings{position:relative}.sound-settings>summary{list-style:none;display:grid;place-items:center;width:27px;height:36px;border-radius:7px;color:var(--muted);cursor:pointer}.sound-settings>summary::-webkit-details-marker{display:none}.sound-settings>summary:hover{background:var(--panel-soft);color:var(--accent)}.sound-settings>summary svg{width:17px;height:17px}.sound-settings-panel{position:absolute;right:0;top:44px;z-index:100;width:240px;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 12px 40px #11112625}.sound-settings-panel label{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:600}.sound-settings-panel output{color:var(--muted);font-size:12px}.sound-settings-panel p{margin-top:10px;font-size:12px;line-height:1.5;color:var(--muted)}.sound-settings-panel .button{width:100%;margin-top:10px}.sound-settings-panel input{display:block;width:100%;margin:12px 0 5px;accent-color:var(--accent)}.sound-toggle [data-sound-icon="off"],.sound-toggle [data-sound-icon="muted"]{display:none}.sound-toggle[aria-pressed="false"] [data-sound-icon="on"]{display:none}.sound-toggle[aria-pressed="false"] [data-sound-icon="off"],.sound-toggle[aria-pressed="false"] [data-sound-icon="muted"]{display:block}
.workspace-bar{height:65px;min-height:65px;padding:0 24px;gap:16px}.workspace-heading{gap:12px;min-width:0}.workspace-tabs{gap:8px;padding:0;border:0;border-radius:0;background:transparent!important}.workspace-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:39px;padding:8px 14px;border:1px solid transparent;border-radius:9px;background:transparent;font-size:13px;font-weight:600;white-space:nowrap}.workspace-tabs button[aria-selected="true"],html[data-theme="dark"] .workspace-tabs button[aria-selected="true"]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent);box-shadow:none}.workspace-step-number{display:inline-grid;place-items:center;min-width:21px;width:21px;height:21px;line-height:1;border:1px solid var(--line);border-radius:50%;font-size:10px;font-weight:650;color:var(--faint)}.workspace-tabs button[aria-selected="true"] .workspace-step-number{background:#7162d8;color:#fff;border-color:#7162d8}.history-controls{gap:3px;flex-shrink:0}.subtle{font-size:12px}.bar-divider{height:16px;background:var(--line)}
.workspace{position:relative;display:grid;grid-template-columns:280px minmax(320px,1fr) 280px;flex:1;min-height:0;overflow:hidden}.panel{min-width:0;background:var(--panel)}.panel-scroll{display:block!important;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--line) transparent}.workspace-intro{padding:20px 20px 17px;border-bottom:1px solid var(--line);background:var(--panel)}.workspace-intro h1{font-size:19px;font-weight:700;letter-spacing:-.5px;line-height:1.35}.workspace-intro p{margin-top:7px;font-size:12px;line-height:1.55;color:var(--muted)}.setup-section,.paint-section,.inspector-section,.validation-section,.paint-inspector{padding:20px;border-bottom:1px solid var(--line)}.section-heading,.inspector-heading{margin-bottom:15px;gap:9px}.section-heading h2,.paint-section h2,.inspector-heading h2,.validation-section h2{font-size:14px;line-height:1.4}.step-number{display:none}.section-note{font-size:9px;letter-spacing:.8px}.library-card{gap:12px;padding:12px;border-radius:10px}.library-art{width:50px;height:62px;flex:0 0 50px;border-radius:7px}.library-art img{width:100%;height:100%;object-fit:contain}.library-art:before,.library-art:after{display:none}.library-card-copy{gap:3px}.library-card-copy strong{font-size:13px}.library-card-copy>span{font-size:11px}.library-card-copy .library-card-tag{font-size:10px}.library-selected{width:19px;height:19px;font-size:11px}.import-zone{padding:16px 10px;margin-top:12px;border-radius:10px;gap:4px}.import-symbol{font-size:22px}.import-zone strong{font-size:12px}.import-zone>span:last-child{font-size:11px}.model-stats{font-size:11px;line-height:1.55;margin-top:12px;font-variant-numeric:tabular-nums}.field-label{font-size:12px;line-height:1.4;margin-bottom:7px}.field-label>span{font-size:10px}.number-field,.small-number-field{height:38px;padding:0 10px;gap:7px;border-radius:8px}.number-field input,.small-number-field input{font-size:13px;font-variant-numeric:tabular-nums}.number-field>span,.small-number-field>span{font-size:11px}.inline-meta{font-size:11px;margin-top:8px}.orientation-label{margin-top:20px}.segmented{border-radius:8px}.segmented button{min-height:37px;padding:7px;font-size:12px}.segmented button span{font-size:15px;margin-left:5px}.bed-row{gap:8px;margin-top:12px}.button.compact{min-height:37px;font-size:12px}select{height:38px;border-radius:8px;font-size:12px}.text-button{padding:4px 0;font-size:12px;line-height:1.35}.text-button.muted{font-size:11px}.field-help,.paint-field-help{font-size:12px;line-height:1.6}.field-help{margin-top:10px}.count-badge{min-width:23px;height:23px;line-height:23px;border-radius:7px;font-size:12px}.supplied-cutter{gap:10px;padding:11px 12px;margin-bottom:17px;border-radius:9px}.supplied-cutter strong{font-size:12px}.supplied-cutter small{font-size:10px}.add-joint-button{min-height:39px;margin-top:12px;font-size:12px}.add-joint-button>span:first-child{font-size:19px}.key-hint{padding:1px 5px;font-size:10px}.auto-row{gap:8px;margin-top:18px}.auto-row>label{font-size:12px}.auto-row>.small-number-field{width:75px;height:34px}.auto-row .text-button{font-size:11px}.joint-list-header{margin-top:20px;margin-bottom:9px;font-size:10px;letter-spacing:.9px}.joint-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:7px}.joint-list button{display:grid;place-items:center;width:auto;min-width:38px;height:38px;padding:6px 10px;border-radius:8px;font-size:13px;font-weight:600}.joint-list button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.empty-joints{font-size:12px;line-height:1.5;padding:9px 0}.generate-block{padding:16px 20px;background:var(--panel-soft);border-top:1px solid var(--line)}.generation-copy{font-size:11px;margin-bottom:11px}.generate-actions{display:grid;gap:8px}.generate-actions .generate-button{min-height:40px;font-size:12px;padding:9px 12px}.calculation-controls{padding:10px 20px 15px;border-top:1px solid var(--line);background:var(--panel-soft)}.calculation-controls:not(:has(progress:not([hidden]))):not(:has(button:not([hidden]))){display:none}.calculation-controls progress{margin-top:4px}.workspace-next-wrap{padding:14px 20px;border-top:1px solid var(--line);background:var(--panel)}.workspace-next-wrap .button{width:100%;min-height:40px;justify-content:space-between;font-size:12px}progress{height:5px;background:var(--line)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}
.canvas-panel{min-width:0;min-height:0;overflow:hidden;background:var(--stage)}.canvas-toolbar{min-height:54px;height:auto;padding:9px 16px;gap:8px}.view-switch{padding:3px;border-radius:8px}.view-switch button{min-height:30px;padding:5px 10px;font-size:12px}.canvas-tools{gap:3px}.tool-button{min-height:34px;padding:6px 8px;font-size:11px}.tool-button span{font-size:16px;margin-left:3px}.toolbar-divider{margin:0 4px}#inspector-toggle{display:none}.canvas-stage{min-height:260px;background:var(--stage)!important}.canvas-corner-label{font-size:10px;letter-spacing:.5px;left:18px;top:17px}.canvas-legend{font-size:10px;left:18px;bottom:18px}.canvas-shortcut{font-size:10px}.canvas-status{min-height:40px;height:auto;padding:8px 16px;font-size:11px;line-height:1.45}.canvas-status>#app-status{flex:1;overflow:hidden;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.local-label{font-size:9px;letter-spacing:.5px}.viewport-message{font-size:12px}.viewport-message strong{font-size:17px}.viewport-message>span:last-child{font-size:12px}.inspector-drawer-heading{display:none}.selected-joint-label{min-height:37px;padding:9px 10px;border-radius:8px;font-size:12px}.inspector-intro{font-size:12px}.inspector-group-label{margin:20px 0 10px;font-size:10px;letter-spacing:.8px}.two-fields{gap:8px;margin-bottom:13px}.inspector-section>.field-label{margin-top:14px}.inspector-section>.number-field{height:38px}.cutter-flip-button{width:100%;margin-top:12px;font-size:12px}.clearance-help{margin-top:10px;font-size:11px}.auto-fit-setting{margin-top:18px;padding-top:14px}.auto-fit-label{font-size:12px}.auto-fit-label input{width:15px;height:15px}.auto-fit-setting .field-help{font-size:11px}.delete-button{margin-top:18px;font-size:12px;min-height:38px}.check-label{font-size:9px;padding:3px 6px}.validation-list{gap:12px}.validation-list li{font-size:12px;line-height:1.6}.export-block{padding:20px;background:var(--panel);border-top:1px solid var(--line)}.export-heading h2{font-size:16px}.export-block>p{font-size:12px;line-height:1.6;max-width:none;margin-top:8px}.export-buttons{display:grid;grid-template-columns:1fr;gap:9px;margin-top:17px}.export-buttons .button{width:100%;font-size:13px;min-height:41px}.export-note{text-align:left;font-size:11px;line-height:1.6;margin-top:13px}.export-block>.export-color-help{font-size:11px;line-height:1.6}.export-target-note{margin-top:15px;padding:12px;border:1px solid var(--accent-line);border-radius:8px;background:var(--accent-soft);font-size:12px;line-height:1.6;color:var(--muted)}.export-choice-actions{display:flex;flex-direction:column;gap:8px;margin-top:13px}.export-choice-actions .button{width:100%;font-size:12px;white-space:normal}.prepare-guide,.export-guide{padding:22px 20px}.prepare-guide h2,.export-guide h2{font-size:16px;margin-bottom:10px}.prepare-guide p,.export-guide p{font-size:12px;line-height:1.65;color:var(--muted)}.prepare-guide ol,.prepare-guide ul,.export-guide ul,.export-guide ol{padding-left:20px;margin:16px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.prepare-guide li,.export-guide li{padding-bottom:11px}.prepare-guide strong,.export-guide strong{color:var(--ink);font-weight:600}.app-footer{height:28px;min-height:28px;padding:0 20px;font-size:10px;background:var(--panel);border-color:var(--line)}.footer-privacy{font-size:10px}.toast{bottom:43px;border-radius:10px;padding:12px 17px;background:var(--panel)!important;color:var(--ink)!important;border-color:var(--accent-line)!important;font-size:13px;line-height:1.55}
.paint-only{display:none}body[data-mode="paint"] .articulate-only{display:none!important}body[data-mode="paint"] .paint-only{display:block}.workspace-prepare-only,.workspace-articulate-only,.workspace-paint-only,.workspace-export-only{display:none!important}body[data-workspace="prepare"] .workspace-prepare-only,body[data-workspace="articulate"] .workspace-articulate-only,body[data-workspace="paint"] .workspace-paint-only,body[data-workspace="export"] .workspace-export-only{display:block!important}body[data-workspace="prepare"] :is(#view-section,#toggle-xray,#toggle-joints,#cutter-tools,.canvas-legend),body[data-workspace="export"] :is(#view-section,#toggle-xray,#toggle-joints,#cutter-tools,.canvas-legend){display:none!important}body[data-workspace="export"] .paint-mirror-toolbar{display:none!important}body[data-workspace="paint"] .paint-setup{display:block!important}
/* Common controls share neutral surfaces; paint swatches retain their chosen colors. */
html[data-theme] :is(.app-header,.workspace-bar,.canvas-toolbar,.canvas-status,.app-footer){background:var(--panel);border-color:var(--line)}
html[data-theme] :is(.button.secondary,.theme-toggle,.sound-toggle,.number-field,.small-number-field,.segmented,select,.paint-tool-grid button,.symmetry-axis-buttons button,.cutter-tools-buttons button,.paint-mirror-toggles button){background-color:var(--panel);border-color:var(--line);color:var(--ink);box-shadow:none}
html[data-theme] :is(.button.secondary:hover:not(:disabled),.theme-toggle:hover,.sound-toggle:hover,.paint-tool-grid button:hover:not(:disabled),.paint-tool-grid button[aria-pressed="true"],.symmetry-axis-buttons button[aria-pressed="true"],.cutter-tools-buttons button[aria-pressed="true"],.paint-mirror-toggles button[aria-pressed="true"],.paint-mirror-toggles button[aria-pressed="true"]:disabled){background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}
html[data-theme] :is(.number-field input,.small-number-field input,.paint-hex-control input){color:var(--ink)}
html[data-theme] :is(.field-help,.paint-field-help,.clearance-help,.inspector-intro,.plane-intro,.plane-direction-help,.plane-bed-help,.plane-apply-help,.alpha-tone-help,.alpha-use-help,.cutter-tool-help,.export-block>p,.validation-list li,.canvas-status,.canvas-corner-label,.canvas-legend,.paint-mask-count,.sound-settings-panel p){color:var(--muted)}
html[data-theme] :is(.field-label,.paint-radius-label,.alpha-number-label,.alpha-range-label,.plane-checkbox,.paint-checkbox,.auto-row>label,.auto-fit-label,.plane-tool-label,.plane-angle-fields>label,.canvas-tools button,.button.quiet){color:var(--muted)}
html[data-theme] :is(.field-label>span,.model-stats,.step-number,.section-note,.inspector-symbol,.inspector-group-label,.joint-list-header,.alpha-local-note,.local-label,.canvas-shortcut,.export-note,.app-footer,.alpha-file-controls>output,.alpha-panel>summary>span){color:var(--faint)}
html[data-theme] :is(.library-card,.selected-joint-label,.add-joint-button,.plane-open[aria-expanded="true"],.plane-flip[aria-pressed="true"],.plane-tools button[aria-pressed="true"]){background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}
html[data-theme] :is(.library-art,.supplied-cutter,.import-zone,.generate-block,.paint-mirror-toolbar,.plane-panel,.view-switch){background:var(--panel-soft);border-color:var(--line)}
html[data-theme] :is(.text-button,.alpha-file-controls>.text-button,.paint-section-mark,.paint-symmetry-mark,.library-card-copy .library-card-tag,.library-selected,.supplied-cutter-check,.count-badge,.paint-mirror-heading>span,.paint-mirror-toggles button[aria-pressed="true"] small,.paint-mirror-toggles button[aria-pressed="true"] .mirror-state){color:var(--accent)}
html[data-theme] :is(.segmented button,.view-switch button,.workspace-tabs button,.paint-mirror-heading output,.paint-mirror-toggles small,.mirror-state,.paint-tool-grid button>span){color:var(--muted)}
html[data-theme] :is(.view-switch button[aria-pressed="true"],.workspace-tabs button[aria-selected="true"]){background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent);box-shadow:none}
html[data-theme] :is(.paint-help,.cutter-tools){background:var(--glass);border-color:var(--line);color:var(--muted)}
html[data-theme] :is(.paint-radius,.alpha-range,.plane-position,.paint-checkbox input,.plane-checkbox input,.auto-fit-label input){accent-color:var(--accent)}
html[data-theme] .paint-palette button:hover,html[data-theme] .paint-palette button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--accent)}
html[data-theme] :is(.alpha-panel>summary,.alpha-advanced>summary,.alpha-advanced>summary:after,.alpha-panel>summary:after,.plane-panel-heading>strong,.cutter-tools-heading,.cutter-tool-values,.export-heading h2){color:var(--ink)}
html[data-theme] .symmetry-move-button{background:var(--panel)!important;border-color:var(--line)!important;color:var(--muted)!important}html[data-theme] .symmetry-move-button[aria-pressed="true"]{background:var(--accent-soft)!important;border-color:var(--accent-line)!important;color:var(--accent)!important}

/* Brush controls and disclosures retain their order at every breakpoint. */
.paint-color-control{flex:0 0 45px;width:45px;height:45px;border-radius:9px}.paint-color-row{gap:12px}.paint-hex-control>span{font-size:9px;letter-spacing:.8px}.paint-hex-control input{font-size:14px;line-height:1.4}.paint-palette{gap:7px;margin-top:17px}.paint-palette button{min-height:20px}.paint-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.paint-tool-grid button{min-height:42px;padding:9px;gap:7px;border-radius:8px;font-size:12px;line-height:1.3}.paint-tool-grid button>span{flex:0 0 18px;font-size:19px}.paint-radius-label,.alpha-range-label{font-size:12px;margin-top:19px}.paint-radius-label output,.alpha-range-label output{font-size:11px}.paint-radius,.alpha-range,.plane-position{height:23px;margin:7px 0 13px}.paint-checkbox,.plane-checkbox{gap:8px;font-size:12px;line-height:1.5}.paint-checkbox input,.plane-checkbox input{flex-basis:15px;width:15px;height:15px;margin-top:2px}.paint-checkbox+.paint-field-help{font-size:11px;margin:6px 0 0 23px}.paint-mask-actions{gap:8px}.paint-mask-actions>div{display:flex;flex-direction:row;gap:7px}.paint-mask-actions .button{font-size:11px;padding:8px;min-height:36px}.paint-mask-count{font-size:11px;line-height:1.5}.paint-fill-button{font-size:12px;min-height:38px;margin-top:13px}.paint-help{font-size:11px;line-height:1.55;border-radius:8px}.paint-mirror-toolbar{display:none;align-items:center;justify-content:space-between;flex:0 0 auto;gap:11px;padding:10px 16px;background:var(--panel-soft);border-color:var(--line)}body[data-workspace="paint"] .paint-mirror-toolbar{display:flex!important}.paint-mirror-heading{min-width:90px;gap:3px}.paint-mirror-heading>span{font-size:12px}.paint-mirror-heading output{font-size:10px}.paint-mirror-toggles{flex-basis:300px;gap:6px}.paint-mirror-toggles button{padding:7px 9px;border-radius:7px}.paint-mirror-toggles strong{font-size:12px}.paint-mirror-toggles small{font-size:10px}.mirror-state{font-size:9px}.symmetry-axis-buttons{gap:7px;margin-top:17px}.symmetry-axis-buttons button{min-height:53px;padding:7px 5px;border-radius:8px}.symmetry-axis-buttons button>.axis-label{font-size:14px}.symmetry-axis-buttons button>small{font-size:10px}.symmetry-origin-fields{display:flex;flex-direction:column;gap:9px;margin-top:14px}.symmetry-origin-fields .number-field{height:38px}.symmetry-center-button,.symmetry-move-button{width:100%;min-height:37px;font-size:12px;white-space:normal}.symmetry-origin-help{font-size:11px}.symmetry-position-details{margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}
:is(.tool-disclosure,.orientation-details,.symmetry-position-details,.alpha-advanced)>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;cursor:pointer;color:var(--ink);font-size:13px;font-weight:600;line-height:1.5}:is(.tool-disclosure,.orientation-details,.symmetry-position-details,.alpha-advanced)>summary::-webkit-details-marker{display:none}:is(.tool-disclosure,.orientation-details,.symmetry-position-details,.alpha-advanced)>summary:after{content:"＋";font-size:15px;color:var(--faint);font-weight:400}:is(.tool-disclosure,.orientation-details,.symmetry-position-details,.alpha-advanced)[open]>summary:after{content:"−"}.tool-disclosure>summary>span,.tool-disclosure>summary>output{margin-left:auto;font-size:10px;font-weight:450;color:var(--muted)}.disclosure-content{padding-top:16px}.orientation-details{margin-top:20px}.orientation-details .orientation-label{margin-top:0}.brush-options{margin-top:17px}.brush-options .paint-checkbox{margin-top:0}.mask-disclosure .paint-mask-count{margin:0;text-align:right;max-width:100px}.alpha-preview-row{gap:10px;margin-top:0}.alpha-preview-frame{flex-basis:64px;width:64px;height:64px;border-radius:7px}.alpha-file-controls{gap:7px}.alpha-file-controls>.button{min-height:34px;padding:7px;font-size:11px}.alpha-file-controls>output{font-size:10px;line-height:1.5}.alpha-file-controls>.text-button{font-size:11px}.alpha-tool-label{margin:17px 0 7px;font-size:11px}.alpha-tool-group{grid-template-columns:1fr 1fr!important}.alpha-tool-group button{min-height:38px;padding:8px;font-size:11px;gap:5px}.alpha-tool-group button>span{font-size:17px;flex-basis:15px}.alpha-brush-checkbox{margin-top:16px;font-size:12px}.alpha-tone-help,.alpha-use-help{font-size:11px;line-height:1.6}.alpha-tone-help{margin-top:10px}.alpha-use-help{margin-top:7px}.alpha-advanced{margin-top:16px;padding-top:13px;border-color:var(--line)}.alpha-advanced>summary{font-size:12px}.alpha-advanced-controls{padding-top:14px}.alpha-number-label{font-size:12px}.alpha-number-label>.small-number-field{width:85px;height:36px}.alpha-range-label output{font-size:11px}.alpha-invert-checkbox{font-size:12px;margin-top:15px}.alpha-local-note{font-size:10px;line-height:1.5;margin-top:15px}.paint-detail-count{font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.paint-detail-button{min-height:38px;font-size:12px;white-space:normal}.paint-detail-section .paint-field-help{font-size:11px;line-height:1.6;margin-top:11px}.detail-multiplier{font-size:11px;color:var(--accent)!important}
.cutter-tools{width:350px;max-width:calc(100% - 28px);padding:12px;border-radius:12px;box-shadow:0 7px 24px #11112920}.cutter-tools-heading{font-size:11px;margin-bottom:9px}.cutter-tool-values{font-size:11px}.cutter-tools-buttons{gap:6px}.cutter-tools-buttons button{min-height:38px;padding:7px 8px;border-radius:7px;font-size:12px}.cutter-tool-help{font-size:11px;line-height:1.5;margin-top:9px}.feedback-popup{width:360px;max-width:calc(100% - 32px);max-height:calc(100% - 32px);padding:18px;border-radius:12px;overscroll-behavior:contain}.feedback-heading h3{font-size:15px;line-height:1.45}.feedback-message{font-size:14px;line-height:1.65;margin-top:13px}.feedback-close{width:28px;height:28px;flex-basis:28px;font-size:25px}.feedback-action{min-height:38px;border-radius:7px;font-size:12px}.plane-open{min-height:38px;font-size:12px;margin-top:11px;gap:8px;white-space:normal}.plane-panel{padding:14px 12px;margin-top:13px;border-radius:10px}.plane-panel-heading{margin-bottom:10px}.plane-panel-heading>strong{font-size:13px}.plane-panel-heading>.text-button{font-size:11px}.plane-intro{font-size:12px;line-height:1.6;margin-bottom:16px}.plane-panel .field-label{font-size:12px}.plane-panel .field-label>span{font-size:9px}.plane-panel select,.plane-panel .number-field{height:38px;font-size:12px}.plane-direction-help,.plane-bed-help{font-size:11px;line-height:1.6;margin-top:7px}.plane-bed-help{margin-left:23px}.plane-tool-label{font-size:11px;margin:17px 0 8px}.plane-tools button{min-height:37px;font-size:12px}.plane-position-label{margin-top:17px}.plane-angle-fields>label{font-size:11px;gap:6px}.plane-angle-fields .small-number-field{height:36px}.plane-flip{font-size:11px;min-height:37px;white-space:normal;margin:15px 0 14px}.plane-checkbox{font-size:11px;margin-top:9px}.plane-apply-help{font-size:11px;line-height:1.6;margin-top:16px;padding-top:13px;border-color:var(--line)!important}.plane-actions{position:sticky;bottom:-14px;gap:7px;margin:15px -3px -3px;padding:10px 3px 3px;background:var(--panel-soft);z-index:3}.plane-actions .button{min-height:38px;padding:9px 8px;font-size:11px}.guide-steps li strong,.guide-steps li span{display:block}.guide-steps li span{margin-top:5px}.local-note{padding-top:14px;border-top:1px solid var(--line);font-size:11px!important;color:var(--faint)!important}.workflow-tip{margin:18px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel-soft)}.workflow-tip strong{font-size:12px}.workflow-tip p{margin-top:7px;font-size:12px;line-height:1.6;color:var(--muted)}.format-comparison{margin:0;display:flex;flex-direction:column;gap:18px}.format-comparison dt{font-size:13px;font-weight:600}.format-comparison dd{margin:8px 0 0;font-size:12px;line-height:1.65;color:var(--muted)}.format-badge{display:inline-block;margin-right:6px;padding:3px 5px;border:1px solid var(--accent-line);border-radius:5px;color:var(--accent);background:var(--accent-soft);font-size:10px}
@media(min-width:1550px){.workspace{grid-template-columns:300px minmax(400px,1fr) 300px}.setup-section,.paint-section,.inspector-section,.validation-section,.paint-inspector,.workspace-intro,.export-block{padding-left:24px;padding-right:24px}}
@media(max-width:1350px){.workspace{grid-template-columns:260px minmax(300px,1fr) 260px}.app-header{gap:18px}.project-kicker,.preview-badge,.subtle,.bar-divider{display:none}.setup-section,.paint-section,.inspector-section,.validation-section,.paint-inspector,.workspace-intro,.export-block{padding-left:18px;padding-right:18px}.canvas-toolbar{padding-left:12px;padding-right:12px}.canvas-shortcut,.local-label{display:none}}
@media(max-width:1199px){
 .workspace{grid-template-columns:256px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.setup-panel{grid-column:1;grid-row:1}.canvas-panel{grid-column:2;grid-row:1}.inspector-panel{position:absolute;top:0;right:0;bottom:0;z-index:35;width:290px;max-width:calc(100% - 270px);transform:translateX(100%);visibility:hidden;border-left:1px solid var(--line);box-shadow:-10px 0 30px #1111241c;transition:transform .18s,visibility .18s;display:flex;flex-direction:column;overflow:hidden}body[data-inspector-open="true"] .inspector-panel{transform:none;visibility:visible}.inspector-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto;padding:12px 16px;border-bottom:1px solid var(--line)}.inspector-drawer-heading strong{font-size:13px;font-weight:600}#inspector-toggle{display:inline-flex;align-items:center;justify-content:center}body[data-workspace="prepare"] #inspector-toggle,body[data-workspace="export"] #inspector-toggle{display:none}body[data-workspace="prepare"] .inspector-panel{display:none}body[data-workspace="export"] .setup-panel{display:none}body[data-workspace="export"] .inspector-panel{display:flex;position:relative;grid-column:1;grid-row:1;top:auto;right:auto;bottom:auto;width:auto;max-width:none;visibility:visible;transform:none;border:0;border-right:1px solid var(--line);box-shadow:none;transition:none}body[data-workspace="export"] .inspector-panel .inspector-drawer-heading{display:none}body[data-workspace="export"] .inspector-panel .panel-scroll{flex:0 1 auto;max-height:38%}body[data-workspace="export"] .inspector-panel .export-block{overflow:auto;border-top:1px solid var(--line);flex:1;min-height:0}.header-project{display:none}.app-header{padding:0 20px;gap:12px}.workspace-bar{padding:0 18px}.workspace-tabs{gap:5px}.workspace-tabs button{padding:8px 11px;gap:6px}.paint-mirror-toolbar{flex-wrap:wrap;gap:8px;padding:9px 12px}.paint-mirror-heading{flex:1 0 100%;min-width:0;flex-direction:row;align-items:center;justify-content:space-between}.paint-mirror-toggles{flex:1 0 100%}.paint-mirror-toggles button{padding:6px 8px}.paint-mirror-toggles small{display:none}.canvas-stage{min-height:220px}.canvas-toolbar{gap:5px;flex-wrap:wrap;min-height:52px;padding:8px 10px}.canvas-tools{margin-left:auto;gap:1px}.tool-button{font-size:11px;padding:6px}.view-switch button{padding:5px 8px;font-size:11px}.canvas-status{font-size:11px;padding:8px 12px}.feedback-popup{position:fixed;top:145px;right:14px;width:340px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 180px)}.cutter-tools{bottom:38px;width:320px;padding:10px}.cutter-tools-heading,.cutter-tool-values{font-size:10px}.app-footer{padding:0 17px}.app-footer>span:nth-child(2){display:none}
}
@media(max-width:850px){
 .app-header{height:60px;min-height:60px;padding:0 16px}.brand{font-size:19px;gap:8px}.brand-mark{width:31px;height:31px}.header-actions{gap:6px}.header-actions>.button{padding:8px 10px;font-size:11px;min-height:36px}.button-arrow{display:none}.workspace-bar{min-height:60px;height:60px;padding:0 12px;gap:6px}.workspace-tabs{gap:3px}.workspace-tabs button{font-size:12px;padding:8px 9px;gap:6px}.workspace-step-number{width:19px;min-width:19px;height:19px;font-size:9px}.history-controls{gap:0}.history-controls .icon-button{width:29px;flex-basis:29px;padding:5px}.workspace{grid-template-columns:250px minmax(0,1fr)}.inspector-panel{max-width:calc(100% - 250px);width:280px}.canvas-toolbar{align-content:center;row-gap:5px}.view-switch button{padding:5px 7px}.toolbar-divider{display:none}#toggle-xray,#toggle-joints{padding:5px;font-size:10px}.canvas-corner-label{font-size:9px;left:13px;top:13px}.canvas-legend{font-size:9px;gap:9px;left:13px;bottom:14px}.paint-help{left:10px;bottom:10px;max-width:calc(100% - 20px);padding:8px 10px;font-size:11px}.paint-mirror-toggles strong{font-size:11px}.paint-mirror-toggles button{padding:6px}.app-footer{height:25px;min-height:25px;font-size:9px}.footer-privacy{font-size:9px}
}
@media(max-width:650px){
 html,body{overflow:auto;height:auto;min-height:100%}.app-shell{height:auto;min-height:100dvh;overflow:visible}.app-header{position:sticky;top:0;z-index:70;height:57px;min-height:57px;padding:0 11px;gap:7px}.brand{font-size:17px;gap:6px}.brand-mark{width:28px;height:28px}.header-actions{gap:4px}.header-actions>.button{padding:7px;font-size:10px;min-height:33px}.theme-toggle,.sound-toggle{width:31px;height:33px;flex-basis:31px;padding:7px}.sound-settings>summary{width:22px;height:33px}.sound-settings-panel{right:-4px;width:220px;top:42px}.workspace-bar{position:sticky;top:57px;z-index:45;padding:7px 9px;height:auto;min-height:61px;gap:4px}.workspace-heading{flex:1;min-width:0}.workspace-tabs{width:100%;gap:3px;justify-content:space-between}.workspace-tabs button{flex:1;flex-direction:column;gap:3px;padding:4px 5px;min-height:46px;font-size:10px;border-radius:7px}.workspace-step-number{width:16px;min-width:16px;height:16px;font-size:8px}.history-controls{align-self:center;gap:0}.history-controls .icon-button{width:25px;flex-basis:25px;height:30px;font-size:19px;padding:3px}.workspace{display:flex;flex-direction:column;flex:1;overflow:visible;min-height:0}.setup-panel{border:0;border-bottom:1px solid var(--line);flex:none;overflow:visible;min-height:0}.workspace-intro{padding:16px 17px 12px}.workspace-intro h1{font-size:17px}.workspace-intro p{margin-top:5px;font-size:12px}.setup-panel>.panel-scroll{display:block!important;overflow:auto;max-height:370px;min-height:110px;overscroll-behavior:contain}.setup-section,.paint-section{padding:17px}.generate-block{padding:13px 17px}.generate-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.generate-actions .button{min-height:39px;font-size:11px;white-space:normal;padding:8px}.generation-copy{margin-bottom:9px;font-size:10px}.workspace-next-wrap{padding:12px 17px}.canvas-panel{flex:none;min-height:430px;height:62dvh;max-height:650px;border-bottom:1px solid var(--line)}.canvas-toolbar{min-height:49px;padding:7px 11px}.canvas-status{min-height:40px;font-size:10px}.canvas-stage{min-height:270px}.inspector-panel{position:relative;top:auto;right:auto;bottom:auto;z-index:auto;width:100%;max-width:none;visibility:visible;transform:none;border:0;border-top:1px solid var(--line);box-shadow:none;transition:none;max-height:none;overflow:visible}.inspector-panel>.panel-scroll{overflow:visible}.inspector-drawer-heading,#inspector-toggle{display:none}body[data-workspace="prepare"] .inspector-panel{display:none}body[data-workspace="export"] .inspector-panel{order:-1;border-right:0}body[data-workspace="export"] .inspector-panel .panel-scroll{max-height:none}.export-guide{display:none!important}.export-block{padding:22px 17px}.export-buttons{grid-template-columns:1fr 1fr}.export-note{margin-top:12px}.symmetry-origin-fields{flex-direction:row;gap:7px}.symmetry-origin-fields .number-field{flex:1;padding:0 8px;gap:4px}.paint-inspector{padding:21px 17px}.symmetry-center-button,.symmetry-move-button{display:inline-flex;width:calc(50% - 5px);vertical-align:top;font-size:11px}.symmetry-move-button{margin-left:6px}.paint-palette{max-width:350px;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.paint-color-row{max-width:350px}body[data-workspace="paint"] .paint-setup{display:block!important}.paint-section{grid-column:auto!important;grid-row:auto!important;border-right:0!important}.paint-tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.paint-tool-grid button{flex-direction:column;gap:6px;align-items:center;justify-content:center;padding:9px 4px;font-size:11px;min-height:58px;text-align:center}.paint-tool-grid button>span{flex-basis:auto}.alpha-tool-group{grid-template-columns:1fr 1fr!important}.alpha-tool-group button{flex-direction:row;min-height:40px;font-size:12px}.alpha-preview-row{max-width:350px}.paint-mask-actions{max-width:430px}.paint-fill-button{max-width:430px}.paint-mirror-toolbar{padding:8px 11px;gap:6px}.paint-mirror-heading>span{font-size:11px}.paint-mirror-toggles{gap:7px}.paint-mirror-toggles button{padding:5px 8px}.paint-mirror-toggles small{display:none}.paint-mirror-toggles strong{font-size:11px}.cutter-tools{bottom:38px;width:320px;padding:10px}.cutter-tools-buttons button{font-size:12px;min-height:39px}.cutter-tool-help{font-size:11px}.feedback-popup{top:130px;right:10px;width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 150px);padding:17px}.app-footer{height:auto;min-height:31px;padding:9px 12px;font-size:9px;flex-wrap:wrap;gap:6px}.footer-privacy{font-size:9px}.toast{bottom:14px;font-size:12px;max-width:calc(100vw - 24px)}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.loading-ring{animation-duration:2s}}

/* Supporting text remains readable in both appearances. */
html[data-theme="light"]{--faint:#777786}
html[data-theme] :is(.library-card-copy>span,.supplied-cutter small,.import-zone>span:last-child,.inline-meta,.inline-meta output,.paint-tool-grid button>span,.paint-hex-control>span,.alpha-empty-hint,.symmetry-axis-buttons button>small,.alpha-range-label output,.paint-radius-label output,.cutter-tool-help,.plane-open,.plane-flip){color:var(--muted)}
html[data-theme] :is(.library-card-copy .library-card-tag,.count-badge,.workspace-tabs button[aria-selected="true"],.plane-open[aria-expanded="true"],.plane-flip[aria-pressed="true"]){color:var(--accent)}
html[data-theme] :is(.number-field:focus-within,.small-number-field:focus-within){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
html[data-theme] :is(button,input,select,summary):focus-visible{outline-color:var(--accent)}
html[data-theme] :is(.canvas-dot,.status-dot,.status-indicator,.footer-dot,.selection-dot){background:var(--accent)}
html[data-theme] .library-selected{background:var(--panel);color:var(--accent)}
html[data-theme] .alpha-preview-frame{border-color:var(--line);background:repeating-conic-gradient(var(--panel-soft) 0% 25%,var(--line) 0% 50%) 50%/12px 12px}
html[data-theme] .alpha-empty-hint{background:var(--glass)}
html[data-theme] .paint-hex-control input{border-bottom-color:var(--line)}

/* Explicit UI locks and loading state always win over the selected step. */
body[data-workspace] [hidden]{display:none!important}

/* A drawer is anchored to the whole workspace, never the legacy lower grid row. */
@media(max-width:1199px){.inspector-panel{grid-area:auto;grid-row:auto;grid-column:auto}body[data-workspace="export"] .inspector-panel{grid-column:1;grid-row:1}}

/* Retire the earlier below-canvas inspector layout inside the responsive drawer. */
@media(max-width:1199px){.inspector-panel>.panel-scroll{display:block!important;min-height:0;overflow:auto}.inspector-section{display:block;grid-template-columns:none;gap:0;border-right:0}.inspector-section>.field-label{margin:14px 0 7px}.inspector-section .inspector-group-label{margin:20px 0 10px}}
@media(max-width:650px){.setup-panel{order:0}.canvas-panel{order:1}.inspector-panel{order:2}.inspector-panel>.panel-scroll{overflow:visible}.export-block{display:block}body[data-workspace="export"] .inspector-panel{order:-1}}

/* Download on MakerWorld, then keep all editing local. */
.makerworld-card{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding:14px;border:1px solid var(--accent-line);border-radius:10px;background:var(--accent-soft)}
.makerworld-kicker{font-size:9px;font-weight:650;letter-spacing:1px;color:var(--accent)}
.makerworld-card>strong{font-size:13px;line-height:1.45}.makerworld-card>p{margin:0;font-size:11px;line-height:1.65;color:var(--muted)}
.makerworld-card>.button{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:3px;min-height:38px;padding:9px;font-size:11px;text-decoration:none;white-space:normal}
.makerworld-help{font-size:10px;line-height:1.6;color:var(--muted)}
.model-import-dialog{width:460px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);margin:auto;padding:24px;overflow:auto;border:1px solid var(--accent-line);border-radius:15px;background:var(--panel);color:var(--ink);box-shadow:0 24px 80px #14142644}
.model-import-dialog::backdrop{background:#14142670;backdrop-filter:blur(3px)}
.model-import-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.model-import-heading h2{font-size:19px;line-height:1.4;letter-spacing:-.3px}.model-import-heading>span{color:var(--accent);font-size:23px}
.model-import-dialog>p{margin-top:13px;color:var(--muted);font-size:13px;line-height:1.7}
.model-import-dialog>.model-import-progress{padding:12px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:12px;overflow-wrap:anywhere}
#model-import-selection{margin-top:20px}.model-import-dialog select{width:100%;max-width:100%;background:var(--panel);color:var(--ink);border:1px solid var(--line)}
.model-import-summary{margin-top:12px;color:var(--ink);font-size:12px;line-height:1.6;font-variant-numeric:tabular-nums}.model-import-note{margin-top:13px;font-size:12px;color:var(--muted);line-height:1.6}
.model-import-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px}.model-import-actions .button{min-height:40px;font-size:12px}
.model-import-warnings{margin:13px 0 0;padding:12px 12px 12px 28px;border:1px solid var(--accent-line);border-radius:8px;background:var(--accent-soft);color:var(--ink);font-size:12px;line-height:1.65}.model-import-warnings li+li{margin-top:7px}

/* Creator artwork links open MakerWorld; no model files are loaded in the background. */
.makerworld-featured{margin-top:7px;padding-top:12px;border-top:1px solid var(--accent-line)}
.makerworld-featured-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.makerworld-featured-heading h3{margin:0;font-size:11px;line-height:1.5;font-weight:650;color:var(--ink)}
.makerworld-featured-heading>span{font-size:14px;color:var(--accent)}
.makerworld-animal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 6px}
.makerworld-animal{display:flex;min-width:0;flex-direction:column;gap:5px;color:var(--ink);text-decoration:none;text-align:center;border-radius:7px}
.makerworld-animal-image{display:block;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff;transition:border-color .15s,box-shadow .15s}
.makerworld-animal-image img{display:block;width:100%;height:100%;object-fit:contain}
.makerworld-animal>span:last-child{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.35;font-weight:550;min-height:27px}
.makerworld-animal:hover{color:var(--accent)}.makerworld-animal:hover .makerworld-animal-image{border-color:var(--accent);box-shadow:0 3px 9px #7162d825}
.makerworld-animal:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.makerworld-featured-note{margin-top:9px;font-size:10px;line-height:1.5;color:var(--muted)}
@media(max-width:650px){.makerworld-animal-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.makerworld-animal>span:last-child{font-size:10px}.makerworld-animal-image{max-height:88px}}
@media(max-width:380px){.makerworld-animal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* A free creative workspace with clearly marked Patreon tools. */
.alpha-preset-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:16px 0 10px;font-size:11px;color:var(--ink)}
.alpha-preset-heading span{font-size:10px;color:var(--muted)}
.alpha-preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.alpha-preset-grid button{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:6px 4px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-size:10px;line-height:1.3}
.alpha-preset-grid img{display:block;width:100%;height:auto;aspect-ratio:1;max-width:64px;border-radius:5px;background:#000}
.alpha-preset-grid button:hover:not(:disabled),.alpha-preset-grid button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 1px var(--accent-line)}
.alpha-preset-help{margin:10px 0 17px;font-size:11px;line-height:1.6}
.camera-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;padding:6px 12px;border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0}
.camera-navigation-buttons{display:flex;gap:3px}
.camera-navigation-buttons button{min-height:30px;padding:5px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);font-size:11px;font-weight:600}
.camera-navigation-buttons button[aria-pressed="true"]{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}
.camera-navigation-buttons button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.camera-navigation p{color:var(--muted);font-size:10px;line-height:1.4}
@media(max-width:650px){.camera-navigation{padding:6px 9px;gap:5px 8px}.camera-navigation p{font-size:9px}}
.membership-button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 10px;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:650;white-space:nowrap}
.membership-button>span:first-child{font-size:19px;line-height:1}.membership-button[data-member="true"]{border-color:var(--accent);background:var(--accent-soft)}
.articulation-plan-note{display:block;width:100%;margin:-4px 0 15px;padding:8px 9px;border:1px solid var(--accent-line);border-radius:7px;background:var(--accent-soft);color:var(--accent);font-family:inherit;font-weight:500;font-size:10px;line-height:1.5;text-align:left;cursor:pointer}
.patreon-tag{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;padding:2px 5px;border:1px solid var(--accent-line);border-radius:4px;background:var(--accent-soft);color:var(--accent)!important;font-size:8px!important;line-height:1.3!important;font-weight:600;white-space:nowrap}
[data-patreon-locked="false"] .patreon-tag{opacity:.7}.paint-mask-actions .button{flex-wrap:wrap}.paint-main-tools>#paint-navigate{grid-column:1/-1}
.membership-dialog{width:440px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 30px);margin:auto;padding:25px;overflow:auto;border:1px solid var(--accent-line);border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:0 24px 80px #14142644}
.membership-dialog::backdrop{background:#14142670;backdrop-filter:blur(3px)}
.membership-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.membership-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-size:29px}
.membership-kicker{display:block;margin-bottom:8px;color:var(--accent);font-size:9px;font-weight:700;letter-spacing:1.4px}.membership-dialog h2{margin:0;font-size:23px;line-height:1.35;letter-spacing:-.5px}
.membership-dialog>p{margin-top:13px;color:var(--muted);font-size:13px;line-height:1.65}.membership-benefits{display:grid;gap:9px;margin:20px 0;padding-left:20px;font-size:13px;line-height:1.55}.membership-benefits li::marker{color:var(--accent)}
.membership-dialog>.membership-free-note{padding-top:15px;border-top:1px solid var(--line);font-size:12px}.membership-dialog>.membership-status{padding:11px 12px;border:1px solid var(--accent-line);border-radius:8px;background:var(--accent-soft);color:var(--ink);font-size:12px}.membership-dialog>.membership-license-note{font-size:11px}
.membership-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.membership-actions .button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:40px;font-size:12px;text-decoration:none;white-space:nowrap}
.membership-secondary-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px;margin-top:16px}.membership-secondary-actions .text-button{font-size:11px}
@media(max-width:850px){.header-actions{gap:5px}.header-actions>.membership-button{font-size:10px;padding:7px 8px}.membership-dialog{padding:22px}.membership-dialog h2{font-size:21px}}
@media(max-width:650px){.membership-label{display:none}.header-actions>.membership-button{padding:6px;min-width:30px}.paint-main-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.paint-main-tools>button{min-height:45px;flex-direction:row;font-size:12px}.paint-main-tools>#paint-navigate{grid-column:1/-1}.membership-dialog{padding:20px}.membership-actions{flex-direction:column}}
