@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;450;500;600;650;700&display=swap');
:root{--red:#d71928;--ink:#202127;--muted:#686b74;--line:#e4e5e9;--paper:#fff;--soft:#f5f6f8;font-family:'DM Sans',Arial,sans-serif;font-size:16px;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #dd233a;outline-offset:4px}button{touch-action:manipulation}button,a{transition:background .18s,color .18s,border-color .18s,transform .18s}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 4.5%}.brand{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:34px;font-weight:800;font-style:italic;letter-spacing:-1px;position:relative}.brand span{color:var(--red)}.brand i{display:inline-block;width:6px;height:25px;background:var(--red);transform:skew(-13deg);margin-left:6px}.header-caption{font-size:12px;letter-spacing:.19em;color:var(--muted)}.selection-shortcut{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:650;border:1px solid var(--line);background:#fff;border-radius:7px;padding:10px 14px}.selection-shortcut span{display:grid;place-items:center;background:var(--ink);color:white;min-width:25px;height:25px;border-radius:5px;font-size:13px}main{max-width:1800px;margin:auto;padding:32px 4.5% 0}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700;color:var(--muted);margin:0}.page-heading>.eyebrow{margin-bottom:11px}.page-heading>div{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.page-heading h1{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:clamp(36px,3.5vw,52px);font-weight:600;letter-spacing:-.035em;margin:0;line-height:1.05}.page-heading h1 span{color:var(--red)}.page-heading p:not(.eyebrow){color:var(--muted);margin:0 0 4px;font-size:15px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}.viewer{position:sticky;top:20px;height:650px;max-height:calc(100dvh - 50px);min-height:480px;border:1px solid #e5e6ea;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#fcfcfe 5%,#f0f2f6 85%)}#canvas-container{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}.model-title{position:absolute;top:28px;left:30px;z-index:2;pointer-events:none}.model-title h2{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:42px;font-weight:500;letter-spacing:.02em;margin:7px 0 0;line-height:1}.model-title strong{color:var(--red);font-weight:700}.model-title>span:last-child{font-size:13px;color:var(--muted);display:block;margin-top:7px;letter-spacing:.07em}.viewer-actions{position:absolute;right:20px;top:24px;z-index:6;display:flex;flex-direction:column;gap:8px}.viewer-actions button{width:42px;height:42px;border-radius:8px;border:1px solid #dfe0e5;background:#fff;color:var(--ink);font-size:25px;display:grid;place-items:center;box-shadow:0 2px 5px #17223805}.viewer-actions button:hover{border-color:var(--red);color:var(--red)}.viewer-actions button[aria-pressed=false]{color:#999;background:#f3f3f4}.viewer-bottom{position:absolute;z-index:2;left:24px;right:24px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.viewer-bottom>span:first-child{font-size:12px;color:#6d727b;display:flex;gap:9px;align-items:center}.viewer-bottom>span:first-child>span{font-size:20px}.view-badge{font-size:11px;font-weight:700;letter-spacing:.13em;white-space:nowrap;color:#5b606b;padding:7px 8px;background:#ffffffb5;border:1px solid #dcdee4;border-radius:4px}.hotspots{position:absolute;inset:0;pointer-events:none;z-index:4}.hotspot{position:absolute;top:0;left:0;min-width:38px;height:38px;border:2px solid white;border-radius:50%;background:var(--red);color:white;box-shadow:0 0 0 5px #db22361b,0 4px 12px #31374724;pointer-events:auto;font-size:13px;font-weight:700;padding:0;display:grid;place-items:center;will-change:transform;transition:opacity .2s,background .2s,box-shadow .2s}.hotspot:hover,.hotspot[aria-pressed=true]{background:#24262e;box-shadow:0 0 0 7px #d7192826,0 4px 12px #31374724}.hotspot:focus-visible{outline-offset:7px}.hotspot.backside{opacity:.42;border-style:dashed}.hotspot.backside:hover,.hotspot.backside:focus-visible{opacity:1}.hotspot-label{position:absolute;left:45px;white-space:nowrap;background:#202127;color:white;padding:7px 9px;border-radius:5px;display:none;font-size:12px}.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label{display:block}.hotspot.label-left .hotspot-label{left:auto;right:45px}.focus-label{position:absolute;bottom:66px;left:50%;transform:translateX(-50%);padding:12px 12px 12px 14px;background:#fff;box-shadow:0 8px 30px #161e3412;border:1px solid var(--line);border-radius:8px;z-index:5;display:flex;align-items:center;gap:12px;max-width:calc(100% - 40px);white-space:nowrap}.focus-label>span{font-family:'Barlow Condensed',sans-serif;font-size:27px;color:var(--red);font-weight:600}.focus-label small{font-size:10px;letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:4px}.focus-label strong{font-size:14px}.focus-label button{border:0;background:var(--soft);width:28px;height:28px;border-radius:4px;font-size:20px;color:var(--muted);margin-left:10px}.loading{position:absolute;inset:0;background:#f3f4f8e8;z-index:10;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:15px;padding:35px;text-align:center}.loading>span:not(.spinner){font-size:14px;color:var(--muted);max-width:340px;line-height:1.6}.spinner{height:36px;width:36px;border:3px solid #dbdfe7;border-top-color:var(--red);border-radius:50%;animation:spin 1s linear infinite}.loading progress{width:180px;height:5px;accent-color:var(--red)}.loading.error .spinner{display:none}.loading button{background:var(--ink);border:0;color:white;padding:12px 18px;border-radius:5px}.loading.error{background:#f3f4f8}.loading.error img{max-width:280px;border-radius:6px;max-height:180px;object-fit:cover}@keyframes spin{to{transform:rotate(360deg)}}.catalog{padding:3px 0 0}.catalog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.catalog h2{font-size:22px;letter-spacing:-.045em;margin:7px 0 0;font-weight:650}.item-count{font-family:'Barlow Condensed',sans-serif;color:#9297a2;font-size:26px;font-weight:500}.product-list{display:grid;gap:9px}.product-card{display:flex;width:100%;gap:13px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px 13px;color:var(--ink)}.product-card:hover{border-color:#a7a9b1;background:#fafafb}.product-card[aria-pressed=true]{border-color:var(--red);background:#fff7f8;box-shadow:inset 3px 0 0 var(--red)}.product-number{display:grid;place-items:center;flex-shrink:0;height:38px;width:38px;border:1px solid var(--line);border-radius:6px;font-family:'Barlow Condensed',sans-serif;font-weight:500;font-size:22px;background:var(--soft);color:#636a76}.product-card[aria-pressed=true] .product-number{color:var(--red);background:#ffe8eb;border-color:#ffd1d6}.product-text{flex:1;min-width:0}.product-text strong{display:block;font-size:15px;font-weight:650;margin-bottom:4px}.product-text small{font-size:12px;color:var(--muted)}.card-arrow{font-size:20px;color:#969aa4}.product-card[aria-pressed=true] .card-arrow{color:var(--red)}.product-detail{padding:22px 0;border-bottom:1px solid var(--line)}.product-detail .eyebrow{font-size:11px;color:var(--red)}.product-detail h3{font-size:20px;letter-spacing:-.025em;font-weight:650;margin:9px 0}.product-detail p{font-size:14px;color:var(--muted);line-height:1.65;margin:0 0 17px;min-height:47px}.primary{background:var(--red);color:white;border:1px solid var(--red);border-radius:6px;display:flex;align-items:center;justify-content:space-between;padding:14px 17px;font-size:14px;font-weight:650;width:100%;min-height:48px}.primary:hover{background:#b91320}.primary:disabled{cursor:default;background:#eceef2;border-color:#eceef2;color:#717682;opacity:1}.primary>span{font-size:21px;line-height:1}.primary.added{background:#24272e;border-color:#24272e}.selection{padding:20px 0 16px}.selection>div{display:flex;align-items:center;justify-content:space-between}.selection h3{font-size:15px;margin:0;font-weight:650}.selection>div>span{font-size:12px;color:var(--muted)}.selection>p{color:var(--muted);font-size:13px;line-height:1.65;margin:12px 0 0}.selection-note{border-left:2px solid var(--line);padding-left:10px}.selection ul{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:6px}.selection li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;padding:9px 10px;background:var(--soft);border-radius:5px}.selection li button{display:grid;place-items:center;border:0;background:none;font-size:20px;color:var(--muted);width:30px;height:30px}.selection li button:hover{color:var(--red)}.reference-note{font-size:12px;line-height:1.6;color:var(--muted);padding:13px 14px;background:#f5f6f8;border-radius:6px;margin:0;display:flex;gap:8px;align-items:baseline}.reference-note>span{font-size:15px}footer{display:flex;justify-content:space-between;gap:20px;color:#747985;font-size:12px;padding:26px 0 24px;border-top:1px solid var(--line);margin-top:28px}.footer-line{padding:0 10px;color:#bcc0c7}.editor{position:fixed;bottom:18px;left:18px;width:340px;max-width:calc(100vw - 36px);max-height:calc(100dvh - 36px);overflow:auto;z-index:30;background:white;box-shadow:0 10px 80px #18223930;border:1px solid #cbd0da;border-radius:10px;padding:18px}.editor-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.editor-heading h2{font-size:18px;margin:0}.editor-heading button{font-size:22px;border:0;background:none}.editor p{font-size:13px;line-height:1.5;color:var(--muted)}.editor label{display:flex;flex-direction:column;gap:6px;font-size:13px}.editor input,.editor select{width:100%;padding:9px 8px;border:1px solid #cbd0da;border-radius:4px;color:var(--ink);background:white}.coordinates{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.editor>button{width:100%;padding:11px;margin-bottom:8px;border:1px solid #cbd0da;background:var(--soft);border-radius:5px;font-size:13px}.editor>button.primary{background:var(--red);border-color:var(--red)}.editor>button.active{border-color:var(--red);color:var(--red);background:#fff1f2}.toast{position:fixed;z-index:40;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 18px;border-radius:6px;background:#252731;color:white;font-size:14px;box-shadow:0 6px 25px #0002;max-width:90vw;text-align:center}.picking canvas{cursor:crosshair}
@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 390px;gap:36px}.viewer{height:760px}.product-card{padding:20px 16px}}
@media(max-width:1100px){.header{padding:0 3%}main{padding:28px 3% 0}.workspace{grid-template-columns:minmax(0,1fr) 320px;gap:20px}.viewer{height:625px}.model-title{left:22px}.viewer-bottom>span:first-child{max-width:210px;font-size:11px}.page-heading p:not(.eyebrow){font-size:14px}.product-card{padding:15px 12px;gap:10px}}
@media(max-width:800px){.header{height:74px;padding:0 5%}.header-caption{display:none}.brand{font-size:30px}main{padding:25px 5% 0}.page-heading>div{display:block;margin-bottom:22px}.page-heading h1{font-size:40px}.page-heading p:not(.eyebrow){margin-top:11px}.workspace{grid-template-columns:1fr;gap:26px}.viewer{position:relative;top:auto;height:500px;min-height:360px;max-height:none}.catalog-heading{margin-bottom:16px}.product-list{grid-template-columns:1fr 1fr}.product-card{padding:14px 11px}.product-detail p{min-height:0}.product-detail{padding-top:22px}.catalog h2{font-size:24px}.viewer-bottom>span:first-child{max-width:none;font-size:12px}footer>span:last-child{display:none}.model-title h2{font-size:36px}.model-title{top:22px}.selection-shortcut{padding:8px 10px;font-size:13px}}
@media(max-width:460px){.viewer{height:430px;border-radius:9px}.viewer-actions{right:13px;top:18px;gap:7px}.viewer-actions button{height:37px;width:37px;font-size:23px}.model-title{left:18px;top:23px}.model-title>.eyebrow{font-size:10px}.model-title h2{font-size:33px}.model-title>span:last-child{font-size:11px}.viewer-bottom{left:15px;right:15px;bottom:13px}.viewer-bottom>span:first-child{font-size:10px;gap:5px;max-width:230px}.view-badge{font-size:9px;padding:6px}.product-card{gap:9px;min-height:86px}.product-text strong{font-size:14px;line-height:1.3}.product-text small{font-size:11px}.product-number{width:28px;height:33px;font-size:19px}.card-arrow{display:none}.page-heading h1{font-size:38px}.focus-label{bottom:54px}.focus-label strong{font-size:13px}.focus-label small{font-size:9px}.focus-label>span{font-size:23px}.hotspot{height:34px;min-width:34px;font-size:12px}footer{font-size:11px}.reference-note{font-size:12px}.editor{bottom:10px;left:10px;max-width:calc(100vw - 20px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
