:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#0b161e;color:#ecf4f7;font-synthesis:none;--accent:#42ddaf;--muted:#90adbc;--line:#29404b}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:5px;color:#b9cdd7;background:#13232e;padding:9px 12px}button:hover{border-color:#5c8b98;color:white}button:disabled{opacity:.45;cursor:default}.accent{color:var(--accent)}.library-header{height:86px;position:sticky;top:0;z-index:20;background:#0b161ef5;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-inline:clamp(20px,4vw,64px);backdrop-filter:blur(12px)}.library-brand{display:flex;gap:12px;align-items:center;font-size:24px;font-weight:700;letter-spacing:-1px}.library-brand small{display:block;font-size:10px;letter-spacing:3px;color:#88b6c9;margin-bottom:3px}.library-header-actions{display:flex;gap:22px;align-items:center}.language-control select{max-width:180px;border:1px solid var(--line);border-radius:5px;background:#10212b;color:#e0eef5;padding:9px 28px 9px 12px}.library-app-link{font-size:13px;font-weight:600;color:var(--accent)}main{max-width:1560px;margin:auto;padding:40px clamp(20px,4vw,64px) 24px}.library-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:30px}.library-eyebrow{color:#79a7bb;font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 14px}h1{font-size:clamp(28px,3vw,42px);letter-spacing:-1.5px;font-weight:500;margin:0 0 12px}.library-description{font-size:14px;line-height:1.6;color:#a3becd;margin:0;max-width:620px}.library-live{white-space:nowrap;border:1px solid #284d45;background:#10251f;border-radius:5px;padding:11px 14px;display:grid;grid-template-columns:8px 1fr;gap:7px 9px;align-items:center;font-size:11px;color:#b6dbc8}.library-live>span{width:6px;height:6px;background:var(--accent);border-radius:50%}.library-live small{grid-column:2;color:#7da292;font-family:ui-monospace,monospace}.library-categories{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:12px}.library-categories button{border-color:transparent;background:transparent;display:flex;gap:18px;align-items:center;font-size:13px;padding:12px 18px}.library-categories button[aria-pressed=true]{border-color:#356355;background:#11372c;color:#82f1c9}.library-categories button span{font-family:ui-monospace,monospace;font-size:10px;opacity:.7}.catalog-status:empty{display:none}.catalog-status{border:1px solid #416477;background:#102431;color:#bed5e1;border-radius:5px;font-size:13px;line-height:1.5;padding:12px 16px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:20px}.catalog-status button{white-space:nowrap}.library-workspace{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;align-items:start}.library-editor{border:1px solid var(--line);border-radius:8px;background:#0e1d27;overflow:hidden}.library-selection{padding:20px;border-bottom:1px solid var(--line)}label{display:block;font-size:12px;color:#aec7d3;margin-bottom:8px}input,select{width:100%;min-width:0;border:1px solid #314c5b;border-radius:5px;background:#0a1720;color:#e4f4fa;padding:11px 12px;font-size:13px}input:invalid,[aria-invalid=true]{border-color:#f49883}input:disabled{color:#7c98a6;background:#12222b}#type-search{margin-bottom:16px}#type-select{font-weight:600}.library-small{color:var(--muted);font-size:11px;line-height:1.7}.library-parameters{padding:20px}.library-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.library-panel-heading h2{font-size:13px;font-weight:600;margin:0}.library-panel-heading button{font-size:10px;padding:6px 8px;max-width:150px}.parameter-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;margin-top:20px}.parameter-field{min-width:0}.parameter-field label{font-size:11px;min-height:16px}.parameter-input-wrap{position:relative}.parameter-input-wrap input{padding-inline-end:34px}.parameter-input-wrap input[type=checkbox]{width:20px;height:20px}.parameter-unit{position:absolute;inset-inline-end:9px;top:13px;color:#7395a7;font-size:10px;pointer-events:none}.parameter-field:focus-within label{color:var(--accent)}.parameter-section{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px;color:#90b2c4;font-size:11px;margin-top:6px}.parameter-end-select{grid-column:1/-1}details.parameter-extra{margin-top:24px;font-size:11px;color:var(--muted)}details.parameter-extra .parameter-fields{margin-top:16px}.library-viewer-panel{border:1px solid var(--line);border-radius:8px;background:#0d1c26;overflow:hidden;position:sticky;top:105px}.library-viewer-top{min-height:58px;padding:12px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.geometry-badge{font-size:10px;color:#83b3c9;letter-spacing:.3px}.library-view-buttons{display:flex;gap:6px}.library-view-buttons button{font-size:10px;padding:7px 9px;background:#112631}.model-stage{height:clamp(390px,44vw,540px);position:relative;isolation:isolate;background:#0a1822;touch-action:none;overflow:hidden;cursor:grab}.model-stage:active{cursor:grabbing}.model-stage canvas{position:absolute;width:100%;height:100%;inset:0;display:block}#dimension-canvas{z-index:2}#model-message{position:absolute;inset:35% 12%;text-align:center;font-size:14px;line-height:1.8;color:#a3c8d9;z-index:3;pointer-events:none}#model-message:empty{display:none}.model-grid-label{position:absolute;bottom:16px;inset-inline-start:18px;z-index:4;font-family:ui-monospace,monospace;font-size:9px;letter-spacing:2px;color:#537e94;pointer-events:none}.library-controls{padding:13px 18px;margin:0;font-size:10px;color:#83a8bc;border-top:1px solid #203b4a;line-height:1.8}.library-model-info{padding:20px 22px;background:#10252e;border-top:1px solid #24434c}.library-model-info h3{font-size:17px;font-weight:500;margin:0 0 10px}.library-model-info>p:not(.library-small){font-size:12px;color:#9fc4cc;line-height:1.8;margin:0;max-width:750px}.library-model-info .library-small{margin-bottom:0}.library-footer{display:flex;flex-wrap:wrap;gap:4px 28px;border-top:1px solid var(--line);margin-top:28px;padding-top:20px;color:#7599aa;font-size:11px;line-height:1.7}.library-footer p{margin:0;max-width:620px}.library-footer a{color:var(--accent)}.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}@media(min-width:1250px){.library-workspace{grid-template-columns:360px minmax(0,1fr)}}@media(max-width:900px){.library-intro{align-items:start}.library-live{white-space:normal;max-width:210px}.library-workspace{grid-template-columns:280px minmax(0,1fr)}.library-viewer-top{align-items:start;flex-direction:column}.model-stage{height:440px}.library-categories button{padding:10px 12px}}@media(max-width:700px){.library-header{height:74px;padding-inline:18px}.library-brand{font-size:20px;gap:8px}.library-brand img{width:30px;height:30px}.library-header-actions{gap:12px}.language-control select{max-width:132px;font-size:11px}.library-app-link{display:none}main{padding:25px 16px}.library-intro{display:block;margin-bottom:20px}.library-live{display:none}h1{font-size:31px}.library-description{font-size:12px}.library-eyebrow{font-size:8px}.library-categories{display:grid;grid-template-columns:1fr 1fr}.library-categories button{justify-content:space-between;font-size:12px}.library-workspace{display:flex;flex-direction:column;gap:14px}.library-editor{width:100%;display:contents}.library-selection{order:0;width:100%;border:1px solid var(--line);border-radius:7px;background:#0e1d27;padding:16px}.library-parameters{order:2;width:100%;padding:18px;border:1px solid var(--line);border-radius:7px;background:#0e1d27}.library-viewer-panel{order:1;width:100%;position:relative;top:auto}.library-viewer-top{flex-direction:row;align-items:center;padding:10px 12px}.geometry-badge{max-width:40%;font-size:9px}.library-view-buttons button{font-size:9px;padding:7px}.model-stage{height:400px}.parameter-fields{grid-template-columns:1fr 1fr}.library-footer{font-size:10px}.catalog-status{align-items:start;flex-direction:column;gap:10px}}@media(prefers-reduced-motion:no-preference){button,input,select{transition:border-color .15s,background .15s,color .15s}}

.parameter-input-wrap input[type=number]{direction:ltr;text-align:left;padding:11px 34px 11px 12px}.parameter-unit{direction:ltr;right:9px;left:auto}.library-footer a::after{content:' ↗'}
.dimension-line-target{position:absolute;height:12px;min-width:12px;pointer-events:auto;background:transparent;border:0;border-radius:3px;padding:0;cursor:grab;touch-action:none}.dimension-line-target:hover,.dimension-line-target:focus-visible{background:#64efb326;outline:1px solid #64efb366;outline-offset:0}.dimension-line-target:active{cursor:grabbing}.dimension-label{touch-action:none}.dimension-label.readonly{color:#8eb4c6;cursor:grab}.dimension-label.readonly .dimension-number{cursor:grab}.library-embedded .library-header,.library-embedded .library-intro,.library-embedded .library-categories,.library-embedded .library-selection,.library-embedded .library-parameters,.library-embedded .library-footer,.library-embedded .library-model-info{display:none}.library-embedded main{padding:0;max-width:none}.library-embedded .library-workspace{display:block}.library-embedded .library-viewer-panel{position:relative;top:auto}.library-embedded .model-stage{height:520px}.library-embedded .library-editor{display:none}

/* Dimensioned model workspace and in-place controls. */
.library-view-options{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.wheel-toggle{display:flex;align-items:center;gap:7px;margin:0;font-size:11px;cursor:pointer;color:#a9c6d2}.wheel-toggle input{width:15px;height:15px;margin:0;padding:0;accent-color:#42ddaf}.model-stage{height:clamp(450px,46vw,600px)}
.dimension-labels{position:absolute;inset:0;z-index:5;pointer-events:none}.dimension-label{position:absolute;display:flex;align-items:center;gap:5px;white-space:nowrap;padding:3px 5px;border:1px solid transparent;border-radius:3px;background:#0b1b24e8;color:#70e9b6;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;line-height:16px;font-variant-numeric:tabular-nums;font-weight:500;pointer-events:auto;cursor:pointer;transform-origin:center}.dimension-label .dimension-symbol{font-size:10px;color:#9ad3bd;font-weight:500}.dimension-label .dimension-number{cursor:text}.dimension-label:not(:disabled):hover{border-color:#42ddaf;background:#153a30;color:#c5ffe4;box-shadow:0 0 0 3px #42ddaf10}.dimension-label.selected{color:#ffe4a8;border-color:#7b6943}.dimension-label:disabled{opacity:1;color:#8eb4c6;background:#0b1b24e8;cursor:default}.dimension-label:disabled .dimension-number{cursor:default}.dimension-label:focus-visible{outline:1px solid #42ddaf;outline-offset:2px}.dimension-editor{position:absolute;transform:translate(-50%,-50%);display:grid;grid-template-columns:minmax(65px,1fr) 30px 30px;gap:5px;align-items:center;width:190px;padding:9px;border:1px solid #55deb1;border-radius:8px;box-shadow:0 8px 30px #0009;background:#102b27;pointer-events:auto;z-index:9}.dimension-editor:before{content:attr(data-dimension-editor);grid-column:1/-1;font:600 10px Inter,system-ui;color:#9fe6ca;letter-spacing:.5px}.dimension-editor input{font-size:16px;min-width:0;padding:6px 8px;background:#081d19;border-color:#4f9e81;color:#e5fff5;direction:ltr}.dimension-editor button{padding:5px 0;background:#174636;color:#acffda;border-color:#39765c;font-size:17px}.dimension-editor button:last-of-type{background:transparent;color:#a9c7be}.dimension-error{grid-column:1/-1;font-size:11px;line-height:1.5;color:#ffc5a9}.dimension-error:empty{display:none}.dimension-active label{color:#75efbd}.library-viewer-top{align-items:center}.library-controls{font-size:11px;color:#a0bece}
@media(max-width:900px){.library-view-options{gap:8px}.library-viewer-top{align-items:flex-start}.wheel-toggle{font-size:10px}.model-stage{height:500px}}
@media(max-width:700px){.library-viewer-top{flex-wrap:wrap;gap:8px}.geometry-badge{max-width:100%}.library-view-options{width:100%;justify-content:space-between}.wheel-toggle{max-width:56%;font-size:10px}.model-stage{height:480px}.dimension-label{font-size:11px;padding:2px 4px}.dimension-label .dimension-symbol{font-size:9px}.library-view-buttons button{padding:6px}.dimension-editor{width:185px}}

.dimension-label{font-size:13px}.dimension-label .dimension-symbol{font-size:11px}.library-header-actions{flex-shrink:0}.language-control{margin:0}.language-control select{width:180px}
@media(max-width:700px){.language-control select{width:124px;max-width:124px}.dimension-label{font-size:12px}.dimension-label .dimension-symbol{font-size:10px}}
