/* Compact workspace. The original font files and geometry application are retained. */
:root{--ink:var(--primary-extra-dark);--muted:#526575;--line:color-mix(in srgb,var(--primary-light) 28%,white);--paper:var(--primary-extra-light)}
body{color:var(--ink);background:#fff}header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:78px}.brand img{width:157px;height:57px}.nav{font-size:14px;gap:27px}.nav a[aria-current=page]{color:var(--blue)}button,.button{border-radius:5px;box-shadow:none;font-weight:600;font-family:inherit}input,select{border-radius:4px;font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--primary-light);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}button.secondary{background:#fff;color:var(--ink);border:1px solid color-mix(in srgb,var(--primary-light) 45%,white)}.text-button{background:none;border:0;color:var(--blue);min-height:40px;padding:8px 3px}.quiet{font-size:12px;color:var(--muted);line-height:1.55;margin:7px 0}.maker-main{max-width:1440px;width:calc(100% - 56px);margin:0 auto}.maker-intro{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:28px 0 20px}.maker-intro h1{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin:0 0 5px}.maker-intro p{font-size:14px;color:var(--muted);margin:0}.maker-intro .local-note{font-size:12px;text-align:right}.editor{border:1px solid color-mix(in srgb,var(--primary-light) 45%,white);border-radius:6px;overflow:hidden;background:#fff}.editor-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:10px 20px;min-height:63px}.project-file{display:flex;align-items:center;gap:12px;min-width:0;font-size:13px}.project-label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}#file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-artwork{justify-self:end;font-size:12px}.editor-views{display:flex;gap:3px;padding:3px;background:var(--primary-extra-light);border-radius:5px}.editor-views button{font-size:12px;min-height:34px;padding:5px 13px;background:transparent;border:0;color:var(--muted)}.editor-views button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px #00243b15}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;min-height:650px;height:calc(100dvh - 235px);max-height:850px}.viewport-column{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--paper);position:relative}.empty-workspace{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 35px;gap:28px;min-height:430px}.upload-drop{width:min(100%,470px);padding:32px 20px;text-align:center;border:1px dashed color-mix(in srgb,var(--primary-light) 45%,white);border-radius:5px;background:#fff}.upload-drop svg{color:var(--blue);margin-bottom:12px}.upload-drop h2{font-size:24px;letter-spacing:-.025em;margin:0 0 6px}.upload-drop>p{color:var(--muted);font-size:14px;margin:5px 0 18px}.upload-drop .quiet{font-size:11px;margin:15px 0 0}.upload-drop.dragging{border-color:var(--blue);background:var(--primary-extra-light)}.example-section{text-align:center;max-width:100%}.example-section>span{font-size:12px;color:var(--muted)}.example-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px}.example-choice{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:92px;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:400}.example-choice:hover{border-color:color-mix(in srgb,var(--primary-light) 45%,white);background:#fff}.example-choice img{width:56px;height:56px;object-fit:contain}.viewport-column>#upload-feedback{font-size:12px;margin:0;padding:10px 18px;min-height:0;background:transparent;border:0;line-height:1.45}.viewport-column>#upload-feedback:empty{display:none}.viewport-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 25px;padding:12px 18px;background:#fff;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.viewport-stats strong{color:var(--ink);font-weight:600}#workspace{flex:1;min-height:0;display:flex;flex-direction:column}#workspace[hidden]{display:none}.diagram-mode{height:100%;flex:1;min-height:0;display:flex;flex-direction:column;padding:18px 22px 8px}.diagram{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;background:transparent;border:0;border-radius:0;overflow:hidden}.diagram canvas{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;touch-action:none;aspect-ratio:1}.canvas-help{text-align:center;font-size:11px;color:var(--muted);margin:8px 0 2px}.diagram-mode #detail-feedback{font-size:12px;text-align:center;margin:6px}.model-mode{height:100%;min-height:0;padding:14px 18px 0;display:flex;flex-direction:column}.model-mode[hidden],.diagram-mode[hidden]{display:none}.preview-controls{gap:12px;align-items:center;margin:0 0 12px}.preview-controls label{font-size:11px;min-width:130px}.preview-controls select{font-size:12px;min-height:36px;padding:5px 9px}.preview-controls .section-control{flex:1;min-width:160px}.preview-controls input[type=range]{display:inline-block;width:calc(100% - 70px);vertical-align:middle;padding:0;min-height:30px}.preview-controls output{font-size:11px;margin-left:7px}.preview-controls button{min-height:36px;padding:6px 10px;font-size:12px}.model-preview{flex:1;min-height:0;height:auto;border:0;background:var(--primary-extra-light);border-radius:3px}.model-preview canvas{display:block;width:100%;height:100%}.model-mode #model-result{font-size:11px;margin:8px 0 7px}.model-mode #preview-feedback{font-size:12px;margin:0}.controls{border-left:1px solid var(--line);min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff}.settings-pane{min-height:0;flex:1;display:flex;flex-direction:column}.control-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 21px;scrollbar-width:thin}.control-group{padding:17px 0;border-bottom:1px solid var(--line)}.control-group h2,.export-pane h2{font-size:15px;font-weight:650;line-height:1.3;letter-spacing:-.015em;margin:0 0 12px}.controls .fields{gap:10px;margin:0 0 8px;grid-template-columns:repeat(2,minmax(0,1fr))}.controls .fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}.controls label{display:block;font-size:11px;font-weight:500;color:var(--ink);min-width:0;line-height:1.4}.controls input,.controls select{font-size:13px;min-height:38px;padding:7px 9px;width:100%;margin-top:5px;border-color:color-mix(in srgb,var(--primary-light) 45%,white)}.controls small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:4px}.controls p{line-height:1.5}.controls .control-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.controls #palette-budget{font-size:11px;color:var(--muted)}.controls .palette-swatches{gap:6px 13px;margin:0 0 9px}.controls .palette-chip{border:0;padding:0;background:transparent;font-size:11px;gap:5px}.controls .color-dot{width:17px;height:17px}.controls #color-feedback{font-size:11px;color:var(--muted);margin:5px 0 9px}.controls #accept-colors{font-size:12px;min-height:34px;padding:6px 10px;margin-bottom:8px}.controls details{border:0;margin:10px 0 0;padding:0}.controls summary{font-size:12px;color:var(--blue);font-weight:500;min-height:30px;line-height:1.5;cursor:pointer}.controls .palette-editors{gap:8px}.controls .palette-editors input{height:34px;padding:3px}.controls .color-map-row{grid-template-columns:1fr 1fr;font-size:11px;gap:6px}.controls #reset-colors{font-size:11px;min-height:30px}.fit-summary{margin-top:10px}.fit-summary #cavity-size{font-size:13px;font-weight:650;color:var(--blue);margin:0 0 3px}.fit-summary #fit-label{font-size:11px;color:var(--muted);margin:0}.controls #holding-feedback{font-size:11px;line-height:1.5;margin:8px 0 0}.controls #advanced{padding:15px 0;border:0}.controls #advanced>summary{font-size:12px;min-height:34px;color:var(--ink)}.controls #advanced h3{font-size:13px;margin:19px 0 12px}.controls #advanced table{font-size:10px}.controls #advanced th,.controls #advanced td{padding:7px 5px}.controls #advanced p{font-size:11px;color:var(--muted)}.controls #advanced button{font-size:11px;min-height:34px;padding:6px 10px;margin:0}.controls .coordinate{font-size:11px;gap:6px;grid-template-columns:65px 1fr 1fr}.controls .coordinate strong{font-size:11px}.controls .checkbox-label{display:flex;align-items:center;gap:7px;font-size:11px;margin-top:18px}.controls .checkbox-label input{width:16px;min-height:16px;margin:0}.control-actions{padding:11px 21px 15px;border-top:1px solid var(--line);background:#fff}.control-actions #generate{display:block;width:100%;font-size:13px;min-height:43px;padding:10px}.feedback{font-size:12px;padding:8px 10px;line-height:1.5;border-radius:3px}.feedback:empty{display:none}.feedback.success{border:0;background:transparent;color:#285745;padding:0;margin:0 0 8px}.feedback.warning{background:#fff8ea;color:#735309;border-left:3px solid #ba8116}.feedback.error{background:var(--secondary-extra-light);color:var(--secondary-dark);border-left:3px solid var(--secondary)}.control-actions #placement-feedback{font-size:11px;margin:0 0 8px;padding:0}.control-actions #placement-feedback.error{padding:8px}.control-actions .alignment-proposal{padding:9px 11px;margin:0 0 10px;border:1px solid color-mix(in srgb,var(--primary-light) 45%,white);background:var(--primary-extra-light);border-radius:3px}.control-actions .alignment-proposal p{font-size:11px;line-height:1.5;margin:0 0 8px}.control-actions .alignment-proposal button{font-size:11px;min-height:32px;padding:6px 9px}.control-actions #dimensions-summary{font-size:10px;color:var(--muted);margin:0 0 9px}.export-pane{padding:22px;overflow:auto;flex:1;min-height:0}.export-pane #download-summary{font-size:13px;color:var(--muted);line-height:1.65}.export-pane #download{display:block;width:100%;margin:18px 0 8px;min-height:46px}.export-pane #export-feedback{font-size:12px}.export-pane .pause-card{padding:16px 0;margin:20px 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;border-radius:0}.export-pane .pause-card strong{font-size:18px;font-weight:650;color:var(--blue);line-height:1.4}.export-pane .pause-card p{font-size:12px;color:var(--muted)}.export-pane .slicing-details{font-size:12px}.export-pane .slicing-details li{line-height:1.7}.export-pane #back-to-settings{width:100%;margin-top:24px;font-size:12px}.maker-guidance{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:38px 0;border-bottom:1px solid var(--line)}.maker-guidance h2,.maker-faq h2{font-size:19px;letter-spacing:-.02em;margin:0 0 13px}.maker-guidance p,.maker-guidance ol{font-size:13px;color:var(--muted);line-height:1.8}.maker-guidance ol{padding-left:18px}.maker-guidance a{font-size:12px;font-weight:600}.maker-faq{padding:32px 0 45px;max-width:850px}.maker-faq details{border:0;border-bottom:1px solid var(--line);padding:12px 0}.maker-faq summary{font-size:14px;font-weight:500}.maker-faq p{font-size:13px;color:var(--muted);line-height:1.8}.maker-site footer,.info-site footer{background:#fff;border-top:1px solid var(--line);padding:25px 0}.maker-site footer .fine,.info-site footer .fine{margin-top:17px}.privacy-control{font-size:12px;border:0;padding:0;background:none;color:var(--blue);min-height:30px;font-weight:400}.sponsor-slot{border-block:1px solid var(--line);min-height:300px;margin:35px 0;background:#fff;text-align:center;padding:9px 0}.sponsor-slot>span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.sponsor-slot .ad-unit{min-height:270px}.page-hero{background:var(--primary-extra-light);padding:37px 0}.page-hero h1{font-size:36px}.card-grid .card{border-radius:4px}.info-site .article{font-size:16px;line-height:1.85}.info-site .article h2{font-size:25px}.trace-panel{background:#fff;border:0;border-bottom:1px solid var(--line);padding:20px;margin:0;overflow:auto}.trace-panel h3{font-size:19px}.trace-panel .trace-previews canvas{height:200px}.trace-panel .trace-controls{gap:12px}.trace-panel label{font-size:12px}.trace-panel .feedback{font-size:12px}.viewport-column.is-tracing>#workspace,.viewport-column.is-tracing>#upload-start{display:none}.privacy-banner{position:fixed;z-index:200;bottom:18px;left:18px;right:18px;max-width:760px;margin:auto;background:#fff;border:1px solid color-mix(in srgb,var(--primary-light) 45%,white);box-shadow:0 5px 30px #00243b20;border-radius:5px;padding:20px}.privacy-banner p{font-size:13px;line-height:1.7;margin:0 0 12px}.privacy-banner h2{font-size:17px;margin:0 0 7px}.privacy-banner .button-row{gap:9px;flex-wrap:wrap}.privacy-banner button{font-size:12px;min-height:38px}.privacy-banner a{font-size:12px}
[hidden]{display:none!important}body[data-has-artwork=false] #control-actions{display:none}body[data-has-artwork=false] .local-note{display:block}
@media(min-width:761px){.placement-grid>div:first-child{position:static}.diagram canvas{max-width:min(100%,640px)}.settings-pane[hidden],.export-pane[hidden]{display:none}}
@media(max-width:1000px){.maker-main{width:calc(100% - 32px)}.editor-grid{grid-template-columns:minmax(0,1fr) 330px}.editor-bar{gap:10px;padding:9px 14px}.control-scroll{padding-inline:16px}.control-actions{padding-inline:16px}.project-label{display:none}.editor-views button{padding:5px 9px}.empty-workspace{padding:24px 18px}.upload-drop{padding:25px 10px}.upload-drop h2{font-size:22px}.example-choice{min-width:75px;padding:6px 8px}.example-choice img{width:48px;height:48px}.maker-guidance{gap:35px}}
@media(max-width:760px){.header-inner{min-height:70px;flex-wrap:nowrap;padding:8px 0}.brand img{width:135px;height:49px}.nav{gap:15px;font-size:12px}.maker-intro{padding:22px 0 17px;display:block}.maker-intro h1{font-size:27px}.maker-intro p{font-size:13px}.maker-intro .local-note{text-align:left;margin-top:7px;font-size:11px}.editor-bar{grid-template-columns:minmax(0,1fr) auto;padding:9px 12px;gap:7px}.editor-views{grid-row:2;grid-column:1/-1;justify-self:stretch;justify-content:center}.editor-views button{flex:1;min-height:38px}.editor-grid{display:block;min-height:0;height:auto;max-height:none}.viewport-column{min-height:370px}.empty-workspace{min-height:390px;padding:22px 17px;gap:23px}.upload-drop{padding:26px 15px}.diagram-mode{height:390px;padding:12px 10px 8px}.diagram canvas{max-height:335px;max-width:100%}.model-mode{height:450px;padding:12px}.model-preview{min-height:320px}.preview-controls{gap:8px;flex-wrap:wrap}.preview-controls label{min-width:110px}.preview-controls .section-control{min-width:140px}.preview-controls button{font-size:11px}.controls{border-left:0;border-top:1px solid var(--line);display:block}.settings-pane{display:block}.control-scroll{overflow:visible;padding:0 18px}.control-group{padding:17px 0}.controls label{font-size:12px}.controls input,.controls select{font-size:15px;min-height:42px}.controls summary{min-height:36px;font-size:13px}.control-actions{padding:15px 18px}.control-actions #generate{min-height:47px;font-size:14px}.control-actions .alignment-proposal p{font-size:12px}.control-actions .alignment-proposal button{min-height:39px;font-size:12px}.export-pane{padding:23px 18px}.viewport-stats{font-size:11px;gap:7px 16px}.maker-guidance{grid-template-columns:1fr;gap:26px;padding:28px 0}.maker-guidance p,.maker-guidance ol{font-size:13px}.maker-faq{padding-bottom:30px}.page-hero h1{font-size:30px}.privacy-banner{left:10px;right:10px;bottom:10px;padding:17px}.privacy-banner .button-row button{flex:1}.trace-panel .trace-previews{grid-template-columns:1fr 1fr}.trace-panel .trace-previews canvas{height:150px}.footer-grid{font-size:12px}}

body[data-has-artwork=false] #color-controls{display:none}
html{scroll-behavior:auto}header>.wrap,footer>.wrap{max-width:1440px;width:calc(100% - 56px)}.controls label{font-size:12px}.controls input,.controls select{font-size:14px}
@media(max-width:760px){header>.wrap,footer>.wrap{width:calc(100% - 32px)}}

/* Brand interaction colors, shared by the maker and information pages. */
button:hover,.button:hover{filter:none;background:var(--primary-dark);color:#fff}button.secondary:hover,.button.secondary:hover,.text-button:hover,.example-choice:hover{background:var(--primary-extra-light);color:var(--primary-dark)}.editor-views button:hover{background:#fff;color:var(--primary-dark)}.editor-views button[aria-pressed=true]{color:var(--primary-dark)}.red-button:hover{background:var(--secondary-dark)}input,select{accent-color:var(--primary)}input:focus,select:focus{border-color:var(--primary-light)}::selection{background:var(--primary-extra-light);color:var(--primary-extra-dark)}.nav a:hover,.footer-links a:hover{color:var(--primary-dark)}.control-group h2,.upload-drop h2,.maker-guidance h2,.maker-faq h2{color:var(--primary-extra-dark)}.privacy-banner{border-top:3px solid var(--primary)}.feedback.error strong{color:var(--secondary-extra-dark)}.feedback.error a{color:var(--secondary-dark);text-decoration-color:var(--secondary-light)}

.base-color-field{margin:12px 0}.base-color-field .field-label{display:block;font-size:12px;margin-bottom:5px}.color-picker{position:relative}.color-picker-trigger{display:flex;width:100%;justify-content:flex-start;gap:9px;min-height:42px;padding:8px 11px;background:#fff;color:var(--primary-extra-dark);border:1px solid color-mix(in srgb,var(--primary-light) 45%,white);font-size:14px;font-weight:400}.color-picker-trigger:hover{background:var(--primary-extra-light);color:var(--primary-extra-dark)}.color-picker .color-dot{display:inline-block;flex:0 0 18px;width:18px;height:18px;border-radius:50%;border:1px solid #00243b50}.picker-arrow{margin-left:auto;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);align-self:center}.color-picker-trigger[aria-expanded=true] .picker-arrow{transform:rotate(225deg)}.color-picker-options{list-style:none;margin:4px 0 0;padding:4px;max-height:238px;overflow-y:auto;border:1px solid var(--primary-light);border-radius:4px;background:#fff}.color-picker-options li{display:flex;align-items:center;gap:10px;padding:9px 8px;min-height:40px;cursor:pointer;font-size:14px;border-radius:2px}.color-picker-options li:hover,.color-picker-options li.is-active{background:var(--primary-extra-light);color:var(--primary-extra-dark)}.color-picker-options li[aria-selected=true]{font-weight:600}.color-picker-options li[aria-selected=true]::after{content:'Selected';margin-left:auto;font-size:10px;color:var(--primary-dark)}

@media(max-width:640px){.example-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
.control-actions #sequence-summary{font-size:11px;line-height:1.5;color:var(--ink);margin:0 0 10px}

.controls .custom-base-toggle{margin-top:12px}.controls .custom-base-controls{margin-top:10px}.controls .custom-base-controls input[type=color]{height:40px;padding:3px}.controls #base-color-feedback{font-size:11px;margin:8px 0}.controls #base-color-feedback.error{color:var(--secondary-dark)}
