*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--panel-bg:#fff;--panel-text:#1a1a1a;--panel-text-secondary:#888;--panel-text-mid:#1a1a1a;--panel-border:#0000000f;--panel-border-light:#1a1a1a14;--panel-hover:#1a1a1a0a;--panel-surface:#f2f2f2;--slider-filled:#1a1a1a;--slider-empty:#e8e6e2;--btn-bg:#1a1a1a;--btn-text:#f9f9f9;--btn-hover:#333;--btn-alt-text:#606060;--btn-alt-border:silver;--toggle-inactive:silver;--toggle-active:#1a1a1a;--toggle-knob:#fff;--status-ok-bg:#1a1a1a0a;--status-ok-text:#1a1a1a;--status-warn-bg:#d4612c14;--status-warn-text:#d4612c;--scrollbar:silver;--swatch-active-border:#1a1a1a;--swatch-inset:#fff;--preset-border:silver;--preset-text:gray;--preset-active-bg:#1a1a1a;--preset-active-text:#f9f9f9;--seg-control-bg:#1a1a1a0f;--seg-active-bg:#fff;--input-bg:#fff;--input-border:silver;--input-focus-border:#1a1a1a;--accent:#d4612c;--muted-text:gray;--muted-text-light:#bbb;--anno-text:gray;--reroll-text:gray;--reroll-hover:#1a1a1a;--shelf-text:gray;--pep-meta:gray;--pep-meta-strong:#1a1a1a;--hw-link:gray;--hw-link-underline:silver;--generate-bg:#d4612c;--generate-hover:#b8522a;--humanize-hover-border:gray;--humanize-hover-text:#1a1a1a;--humanize-hint:#a0a0a0;--printer-card-bg:#1a1a1a08;--printer-card-warn-bg:#d4612c0d;--export-fits:#1a1a1a;--printer-ok:#1a1a1a;--viewport-bg:#fafaf8;--watermark-color:#1a1a1a;--overlay-bg:#f5f3eed9;--overlay-bg-heavy:#f5f3eee6;--blueprint:#0047ab;--brand-accent:#d4612c;--brand-teal:#2d4a50;--brand-blue:#a4bfc8;--brand-blue-mid:#7a969e;--touch-blue:#2d4a50;--landing-bg:#f5f3ee;--landing-card-bg:#e6e3db}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;font-family:IBM Plex Mono,ui-monospace,SF Mono,monospace;font-size:11px}body{background:var(--viewport-bg);color:var(--panel-text);display:block}body.view-workspace{overflow:hidden}body.view-workspace #nav-bar{display:none}#workspace{flex-direction:row;width:100%;height:100vh;padding-top:0;display:flex;position:relative}#workspace.hidden,#landing.hidden{display:none}#nav-bar{z-index:100;background-color:#f5f3ee;border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;height:56px;padding:0 48px 0 0;font-family:IBM Plex Mono,ui-monospace,SF Mono,monospace;transition:background-color .8s,border-bottom-color .8s;display:flex;position:fixed;top:0;left:0;right:0}.nav-wordmark{letter-spacing:.08em;color:var(--brand-teal);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding-left:24px;font-size:18px;font-weight:500;display:flex}.nav-logo{flex-shrink:0;width:auto;height:36px;display:block}.nav-links{gap:24px;display:flex}.nav-link{color:var(--brand-blue-mid);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;transition:color .15s}.nav-link:hover{color:var(--brand-teal)}#landing{background:var(--landing-bg);padding-top:56px}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 56px);padding:40px 48px;display:flex}.hero h1{color:var(--brand-teal);letter-spacing:-.01em;margin:0;font-size:48px;font-weight:500}.hero-cycle-container{width:100%;max-width:900px;height:1.2em;margin-top:4px;font-size:48px;position:relative;overflow:hidden}.hero-cycle-word{text-align:center;width:100%;font-size:inherit;color:var(--brand-teal);letter-spacing:-.01em;opacity:0;font-weight:700;line-height:1.2;animation:26s infinite hero-cycle;position:absolute;top:0;left:0;transform:translateY(100%)}@keyframes hero-cycle{0%{opacity:0;transform:translateY(100%)}1.35%{opacity:1;transform:translateY(0)}6.99%{opacity:1;transform:translateY(0)}8.33%{opacity:0;transform:translateY(-100%)}8.34%{opacity:0;transform:translateY(100%)}to{opacity:0;transform:translateY(100%)}}.hero-subtitle{color:var(--brand-blue-mid);max-width:480px;margin-top:16px;font-size:18px;font-weight:400;line-height:1.5}.hero-cta{background:var(--brand-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:32px;padding:14px 32px;font-family:inherit;font-size:15px;font-weight:500;transition:opacity .15s}.hero-cta:hover{background:#b8522a}.hero-hint{color:var(--brand-blue);cursor:pointer;background:0 0;border:none;margin-top:16px;font-family:inherit;font-size:13px;transition:color .15s}.hero-hint:hover{color:var(--brand-blue-mid)}.process-section{max-width:960px;margin:0 auto;padding:80px 48px}.process-section .section-header{text-align:center;margin-bottom:48px}.process-section .section-title{color:var(--brand-teal);margin:0;font-size:32px;font-weight:500}.process-section .section-subtitle{color:var(--brand-blue-mid);margin-top:8px;font-size:15px;font-weight:400}.process-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.process-card{background:var(--landing-card-bg);text-align:center;border-radius:12px;padding:32px 24px}.process-card h3{color:var(--brand-teal);margin:0 0 12px;font-size:15px;font-weight:500}.process-card p{color:var(--brand-blue-mid);margin:0;font-size:13px;line-height:1.5}.landing-footer{text-align:center;color:var(--brand-blue);border-top:1px solid #0000000f;padding:48px;font-size:13px}#viewport{flex:1 1 0;min-width:0;height:100%;position:relative}#viewport:before{content:"";z-index:1;pointer-events:none;background-image:radial-gradient(circle,#1a1a1a14 1px,#0000 1px);background-size:37.8px 37.8px;position:absolute;inset:0}#viewport canvas{cursor:crosshair;display:block;width:100%!important;height:100%!important}.viewport-watermark{color:var(--watermark-color);opacity:.18;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;line-height:0;position:absolute;bottom:18px;left:20px}#panel-left,#panel-right{background:var(--panel-bg);scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex-direction:column;height:100%;display:flex;overflow:hidden auto}#panel-left::-webkit-scrollbar{width:3px}#panel-right::-webkit-scrollbar{width:3px}#panel-left::-webkit-scrollbar-track{background:0 0}#panel-right::-webkit-scrollbar-track{background:0 0}#panel-left::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:0}#panel-right::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:0}#panel-left{border-right:1px solid var(--panel-border);flex:0 0 268px;width:268px;transition:width .3s,flex-basis .3s,opacity .3s}#panel-right{border-left:1px solid var(--panel-border);flex:0 0 240px;width:240px;transition:width .3s,flex-basis .3s,opacity .3s}#panel-right .panel-section{padding-left:16px;padding-right:16px}#panel-right .section-divider-label{margin:16px 0 8px}#panel-right .section-group{margin-left:0;margin-right:0}#panel-right .colours{margin:16px 0 0}.panel-section--print{border-bottom:none;flex-direction:column;flex:1;padding-bottom:16px;display:flex}.panel-section--print .toggle-row{margin-bottom:12px}.panel-section--print .export-btn{margin-top:auto}.panel-header{border-bottom:1px solid var(--panel-border);flex-shrink:0;padding:18px 20px 14px}.panel-header-spacer{border-bottom:1px solid #0000000f;flex-shrink:0;align-items:center;height:56px;display:flex}.wordmark-lockup{align-items:center;gap:6px;display:flex}.wordmark{letter-spacing:.08em;color:var(--panel-text);font-size:18px;font-weight:500;line-height:1;display:block}.panel-sub{letter-spacing:.07em;color:var(--panel-text-secondary);font-size:9.5px;font-weight:400;display:block}.presets{flex-wrap:nowrap;flex-shrink:0;gap:3px;padding:0;display:flex}.preset-btn{appearance:none;border:1px solid var(--preset-border);color:var(--preset-text);font:inherit;letter-spacing:.07em;cursor:pointer;background:0 0;border-radius:8px;padding:5px 10px;font-size:9.5px;font-weight:500;line-height:1;transition:background .12s,color .12s,border-color .12s}.preset-btn:hover{border-color:var(--muted-text);color:var(--panel-text)}.preset-btn.active{background:var(--preset-active-bg);border-color:var(--preset-active-bg);color:var(--preset-active-text)}#panel-left>.shape-toggle-row{padding:8px 20px 0}#panel-left>.slider-row{padding:0 20px}.shuffle-bar-btn{color:#fff;letter-spacing:.08em;cursor:pointer;background:#1a1a1a;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:calc(100% - 40px);margin:8px 20px 4px;padding:10px 0;font-size:11px;font-weight:600;transition:color .15s,border-color .15s;display:flex}.shuffle-bar-btn:hover{color:#fff;background:#333}.shuffle-bar-btn:active{transform:scale(.97)}.shuffle-bar-btn:focus-visible{outline:1px solid var(--panel-text);outline-offset:-1px}.shuffle-bar-btn svg{flex-shrink:0}.preset-silhouettes{flex-shrink:0;justify-content:center;gap:8px;padding:12px 20px 8px;display:flex}.preset-sil-btn{appearance:none;cursor:pointer;color:#888;background:0 0;border:1.5px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:4px 6px;transition:color .15s,border-color .15s,background .15s;display:flex}.preset-sil-btn:hover{color:var(--panel-text);border-color:var(--panel-border)}.preset-sil-btn:focus-visible{outline:1px solid var(--panel-text);outline-offset:-1px}.preset-sil-btn.active{color:var(--panel-text);border-color:var(--panel-text);background:#1a1a1a0a}.preset-sil-btn svg{display:block}.seg-control--icons{gap:4px}.seg-btn--icon{color:#888;cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:4px;transition:color .15s,border-color .15s,background .15s;display:flex}.seg-btn--icon:hover{color:var(--panel-text);border-color:var(--panel-border)}.seg-btn--icon.active{color:var(--panel-text);background:#1a1a1a14;border-width:1.5px;border-color:#1a1a1a}.seg-btn--icon svg{width:24px;height:24px;display:block}.section-group{background:#00000005;border-radius:10px;margin:0 12px 8px;padding:12px 16px}.section-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.section-group-header span:first-child{color:#999;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600}.section-toggle{color:#999;text-align:center;width:16px;font-size:14px;line-height:1}.section-group.collapsed .section-group-content{display:none}.section-group-content{margin-top:8px}.section-group .slider-row{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.section-group .humanize-section{padding-left:0;padding-right:0}.section-group .colours{margin-left:0;margin-right:0}.section-divider-label{margin:20px 20px 8px}.section-divider-label span{color:#999;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600}.base-toggle-row .slider-meta{justify-content:space-between;align-items:center}.base-icon-group{gap:4px;display:flex}.base-icon-group .seg-btn--icon{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:60px;height:auto;padding:6px 12px;display:flex}.base-label{color:#888;font-size:9px;line-height:1}.humanize-section{flex-shrink:0;padding:0 20px 16px}.section-divider{border:none;border-top:1px solid var(--panel-border);margin:8px 0 12px}.humanize-click-hint{color:#888;padding:8px 0 0;font-size:13px;line-height:1.5}.generate-btn{color:#1a1a1a;letter-spacing:.08em;cursor:pointer;background:#fff;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:calc(100% - 40px);margin:16px 20px 8px;padding:10px 0;font-size:11px;font-weight:600;transition:background .15s,transform .1s;display:flex}.generate-btn:hover{background:#e8e8e8}.generate-btn:active{transform:scale(.97)}.viewport-toolbar{-webkit-backdrop-filter:blur(8px);z-index:2;background:#1a1a1ae6;border:none;border-radius:8px;align-items:center;gap:4px;padding:6px 10px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.undo-redo-bar{-webkit-backdrop-filter:blur(8px);z-index:2;background:#1a1a1abf;border-radius:8px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;top:16px;right:16px}.undo-redo-btn{color:#fffc;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .12s,color .12s,opacity .12s;display:flex}.undo-redo-btn:hover:not(:disabled){color:#fff;background:#ffffff26}.undo-redo-btn:disabled{opacity:.25;cursor:default}.sculpt-mode .undo-redo-bar{display:none}.sculpt-mode .focus-bar{opacity:0;pointer-events:none}.focus-bar{-webkit-backdrop-filter:blur(8px);z-index:2;background:#1a1a1abf;border-radius:8px;align-items:center;gap:2px;padding:4px;transition:opacity .3s;display:flex;position:absolute;top:16px;left:16px}.focus-bar-btn{color:#fffc;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .12s,color .12s;display:flex}.focus-bar-btn:hover{color:#fff;background:#ffffff26}.focus-bar-btn:focus-visible{outline:2px solid var(--brand-teal);outline-offset:-2px}.focus-bar-btn:active{background:#fff3}.viewport-toolbar .toolbar-btn{color:#999;opacity:1;width:36px;height:36px;font-size:16px}.viewport-toolbar .toolbar-btn.toolbar-labeled{background:#ffffff0f;border-radius:8px;align-items:center;gap:6px;width:auto;height:auto;padding:6px 12px;font-size:11px;display:flex}.viewport-toolbar .toolbar-btn.toolbar-labeled span{white-space:nowrap;font-size:11px}.viewport-toolbar .toolbar-btn.toolbar-labeled svg{flex-shrink:0;width:16px;height:16px}.viewport-toolbar .toolbar-btn:hover{color:#fff;background:#ffffff1a}.viewport-toolbar .toolbar-btn.active{color:#fff;background:#ffffff26}.viewport-toolbar .generate-btn{letter-spacing:.08em;white-space:nowrap;flex-shrink:0;width:auto;margin:0;padding:7px 18px;font-size:11px;font-weight:600}.viewport-toolbar-sep{background:#ffffff26;flex-shrink:0;width:1px;height:20px;margin:0 4px}.panel-section{border-bottom:1px solid var(--panel-border);flex-shrink:0;padding:20px 20px 6px}.colours{flex-shrink:0;margin:20px 20px 0;padding:4px 0}.section-label{letter-spacing:.04em;color:var(--panel-text-secondary);margin-bottom:11px;font-size:11px;font-weight:500;line-height:1}.slider-row{margin-bottom:12px}.slider-meta{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.slider-label-group{flex-shrink:0;align-items:center;gap:6px;display:flex}.slider-icon{width:16px;height:16px;color:var(--panel-text-mid);flex-shrink:0;justify-content:center;align-items:center;display:flex}.slider-icon svg{width:16px;height:16px;display:block}.slider-label{color:var(--panel-text-mid);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:400}.slider-value{color:var(--panel-text-secondary);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;overflow:hidden}.auto-anno{color:var(--anno-text);opacity:.8;font-size:9px;font-style:italic}.reroll-btn{width:18px;height:18px;color:var(--reroll-text);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;padding:0;font-size:14px;line-height:1;transition:transform .2s cubic-bezier(.34,1.56,.64,1),color .15s;display:inline-flex}.reroll-btn:hover{color:var(--reroll-hover);transform:scale(1.15)}.reroll-btn:active{transform:scale(.85)}.reroll-spin{animation:.3s ease-out reroll-rotate}@keyframes reroll-rotate{0%{transform:rotate(0)scale(.85)}40%{transform:rotate(200deg)scale(1.1)}to{transform:rotate(360deg)scale(1)}}input[type=range]{appearance:none;cursor:pointer;background:0 0;outline:none;width:100%;height:18px;margin:0;padding:0;display:block}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--slider-filled) var(--fill,0%), var(--slider-empty) var(--fill,0%));border-radius:0;height:1px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--slider-filled);border:none;border-radius:0;width:2px;height:14px;margin-top:-7px;transition:transform .1s}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.25)}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.4)}input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--slider-filled) var(--fill,0%), var(--slider-empty) var(--fill,0%));border-radius:0;height:1px}input[type=range]::-moz-range-thumb{background:var(--slider-filled);cursor:pointer;border:none;border-radius:0;width:2px;height:14px}.swatch-row{grid-template-columns:repeat(4,1fr);justify-items:center;gap:8px;display:grid}.swatch{appearance:none;background:var(--c);cursor:pointer;border:2px solid #0000;border-radius:50%;outline:none;flex-shrink:0;width:28px;height:28px;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s;box-shadow:inset 0 0 0 1px #0000000f}.swatch:hover{transform:scale(1.1)}.swatch.active{box-shadow:0 0 0 2px var(--swatch-active-border), inset 0 0 0 1px #0000000f;border-color:#0000}.panel-footer{border-top:1px solid var(--panel-border);flex-direction:column;flex-shrink:0;gap:11px;margin-top:auto;padding:14px 16px 16px;display:flex}#printability-status{letter-spacing:.01em;border-radius:0;padding:8px 10px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;line-height:1.6}.status-ok{color:var(--status-ok-text);background:var(--status-ok-bg)}.status-warn{color:var(--status-warn-text);background:var(--status-warn-bg)}.export-btn{appearance:none;color:#fff;width:100%;height:36px;font:inherit;letter-spacing:.08em;cursor:pointer;background:#d4612c;border:none;border-radius:8px;padding:0;font-size:10.5px;font-weight:500;transition:background .12s,opacity .12s;display:block}.export-btn:hover:not(:disabled){background:#b8522a}.export-btn:disabled{opacity:.35;cursor:not-allowed}.humanize-wrap{margin-top:6px;margin-bottom:4px}.humanize-btn{appearance:none;width:100%;color:var(--btn-alt-text);border:1px solid var(--btn-alt-border);font:inherit;letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border-radius:8px;outline:none;padding:11px 0;font-size:11px;font-weight:500;transition:border-color 80ms,color 80ms;display:block;position:relative;overflow:hidden}.humanize-btn:before{content:"";width:var(--fill,0%);pointer-events:none;background:#1a1a1a0f;transition:width 80ms linear;position:absolute;inset:0 auto 0 0}.humanize-btn:hover{border-color:var(--humanize-hover-border);color:var(--humanize-hover-text)}.humanize-btn.active{color:#f9f9f9;background:#1a1a1a;border-color:#1a1a1a;transition:none;box-shadow:0 0 0 3px #1a1a1a1f}.humanize-btn.active:before{display:none}.humanize-label{position:relative}.humanize-hint{text-align:center;letter-spacing:.06em;color:#999;margin-top:5px;font-size:11px;line-height:1}#pep-overlay{background:var(--overlay-bg);z-index:100;opacity:0;justify-content:center;align-items:center;padding:24px;transition:opacity .18s;display:flex;position:fixed;inset:0 240px 0 268px}#pep-overlay.pep-visible{opacity:1}#pep-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:0;width:100%;max-width:380px;padding:28px 28px 24px;transition:transform .18s;transform:translateY(8px)}#pep-overlay.pep-visible #pep-card{transform:translateY(0)}.pep-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.pep-title{letter-spacing:-.02em;color:var(--panel-text);margin-bottom:5px;font-size:16px;font-weight:600;line-height:1.2}.pep-meta{color:var(--pep-meta);font-size:10.5px;line-height:1.6}.pep-meta strong{color:var(--pep-meta-strong);font-weight:500}.pep-close{appearance:none;color:var(--panel-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:16px;line-height:1;transition:color .1s}.pep-close:hover{color:var(--panel-text)}.pep-steps-label{letter-spacing:.11em;color:var(--panel-text-secondary);margin-bottom:8px;font-size:9px;font-weight:600;line-height:1}.pep-steps{border:1px solid var(--panel-border);border-radius:0;flex-direction:column;display:flex;overflow:hidden}.pep-step{color:var(--panel-text);border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;text-decoration:none;transition:background .1s;display:flex}.pep-step:last-child{border-bottom:none}.pep-step:hover{background:var(--panel-hover)}.pep-step-left{flex-direction:column;gap:2px;min-width:0;display:flex}.pep-step-title{color:var(--panel-text);font-size:11.5px;font-weight:500;line-height:1.2}.pep-step-sub{color:var(--muted-text);font-size:9.5px;line-height:1.4}.pep-step-arrow{color:var(--panel-text-secondary);flex-shrink:0;font-size:14px;transition:transform .1s,color .1s}.pep-step:hover .pep-step-arrow{color:var(--panel-text-mid);transform:translate(3px)}.pep-step--hardware{align-items:flex-start}.pep-hw-link{color:var(--hw-link);text-decoration:underline;-webkit-text-decoration-color:var(--hw-link-underline);text-decoration-color:var(--hw-link-underline);text-underline-offset:2px;font-size:9.5px;transition:color .1s}.pep-hw-link:hover{color:var(--panel-text)}.base-toggle-row{align-items:center}.seg-control{background:var(--seg-control-bg);border-radius:8px;flex-shrink:0;gap:0;padding:2px;display:flex}.seg-btn{color:var(--preset-text);cursor:pointer;letter-spacing:.01em;text-align:center;background:0 0;border:none;border-radius:6px;flex:1;padding:4px 8px;font-size:10px;font-weight:400;transition:background .12s,color .12s}.seg-btn.active{background:var(--seg-active-bg);color:var(--panel-text);box-shadow:0 1px 3px #0000001a, 0 0 0 1px var(--panel-text);font-weight:500}#export-flow{flex-direction:column;gap:8px;display:flex}.export-question{color:var(--pep-meta);letter-spacing:.03em;margin-bottom:2px;font-size:11px;font-weight:500}.export-choice-row{gap:6px;display:flex}.export-choice-btn{border:1px solid var(--btn-bg);background:var(--btn-bg);color:var(--btn-text);cursor:pointer;letter-spacing:.02em;border-radius:8px;flex:1;padding:9px 8px;font-size:11px;font-weight:500;transition:background .12s,color .12s,border-color .12s}.export-choice-btn:hover{background:var(--btn-hover)}.export-choice-btn--alt{color:var(--panel-text);background:0 0}.export-choice-btn--alt:hover{background:var(--panel-hover)}.export-fits-hint{color:var(--export-fits);letter-spacing:.02em;margin:6px 0 0;font-size:11px;font-weight:600}#geo-error-notice{z-index:9999;background:#ff4d000f;border:1px solid #ff4d004d;border-radius:0;align-items:center;gap:14px;max-width:380px;padding:14px 20px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0000002e}#geo-error-notice p{color:#ff4d00;margin:0;font-size:13px}#geo-error-notice button{color:#fff;cursor:pointer;white-space:nowrap;background:#ff4d00;border:none;border-radius:8px;padding:4px 12px;font-size:12px}.export-back-btn{color:var(--panel-text-secondary);cursor:pointer;letter-spacing:.01em;background:0 0;border:none;align-self:flex-start;padding:0;font-size:10.5px;transition:color .1s}.export-back-btn:hover{color:var(--panel-text)}.printer-search{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--panel-text);border-radius:0;outline:none;padding:7px 10px;font-family:inherit;font-size:11.5px;transition:border-color .12s}.printer-search:focus{border-color:var(--input-focus-border)}.printer-search::placeholder{color:var(--muted-text-light)}.printer-scroll{scrollbar-width:thin;scrollbar-color:var(--input-border) transparent;flex-direction:column;gap:2px;max-height:210px;display:flex;overflow-y:auto}.printer-brand-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:5px 4px 3px;display:flex}.printer-brand-header--custom{border-top:1px solid var(--panel-border-light);margin-top:4px;padding-top:8px}.printer-brand-name{color:var(--shelf-text);letter-spacing:.06em;font-size:9.5px;font-weight:600}.printer-brand-header--custom .printer-brand-name{text-transform:none;letter-spacing:0;color:var(--panel-text-secondary);font-size:10.5px;font-style:italic;font-weight:400}.printer-brand-arrow{color:var(--muted-text-light);font-size:13px;line-height:1}.printer-brand-list{grid-template-columns:1fr 1fr;gap:4px;padding:0 0 6px;display:grid}.printer-brand-list.collapsed{display:none}.printer-card{background:var(--printer-card-bg);cursor:pointer;text-align:left;border:1px solid #0000;border-radius:0;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:0 4px;padding:7px 8px;transition:border-color .1s,background .1s;display:grid}.printer-card:hover{background:var(--panel-hover)}.printer-card.selected{border-color:var(--panel-text);background:var(--input-bg)}.printer-card--warn{background:var(--printer-card-warn-bg)}.printer-card--warn.selected{border-color:var(--accent)}.printer-card-name{color:var(--panel-text);grid-area:1/1;font-size:10.5px;font-weight:500;line-height:1.3}.printer-card-dims{color:var(--panel-text-secondary);grid-area:2/1;font-size:8.5px;line-height:1.3}.printer-card-ok{color:var(--printer-ok);grid-area:1/2/3;align-self:center;font-size:9px}.printer-card-warn{color:var(--accent);grid-area:1/2/3;align-self:center;font-size:8.5px;font-weight:600}.printer-custom-form{gap:5px;padding:0 0 8px;display:flex}.printer-custom-form.collapsed{display:none}.printer-custom-field{flex:1}.printer-custom-input{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--panel-text);text-align:center;border-radius:0;outline:none;padding:6px 7px;font-family:inherit;font-size:11px;transition:border-color .12s}.printer-custom-input:focus{border-color:var(--input-focus-border)}.printer-custom-input::placeholder{color:var(--muted-text-light);font-size:9.5px}.printer-result-wrap{flex-direction:column;gap:8px;min-height:0;display:flex}.printer-fit-msg{font-size:10.5px;line-height:1.4}.printer-fit-msg--ok{color:var(--printer-ok)}.printer-fit-msg--warn{color:var(--accent)}.export-btn--alt{color:var(--panel-text);border:1px solid var(--panel-text);background:0 0}.export-btn--alt:hover{background:var(--panel-hover)}#export-modal-overlay{background:var(--overlay-bg,#0000008c);z-index:200;opacity:0;justify-content:center;align-items:center;padding:24px;transition:opacity .18s;display:flex;position:fixed;inset:0}#export-modal-overlay.visible{opacity:1}#export-modal-card{background:var(--panel-bg,#fafaf8);border:1px solid var(--panel-border,#e0e0e0);border-radius:12px;width:100%;max-width:520px;padding:32px;transition:transform .18s;position:relative;transform:translateY(8px)}#export-modal-overlay.visible #export-modal-card{transform:translateY(0)}.export-modal-close{appearance:none;color:var(--panel-text-secondary,gray);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;transition:background .1s,color .1s;display:flex;position:absolute;top:16px;right:16px}.export-modal-close:hover{background:var(--panel-hover,#f0f0f0);color:var(--panel-text,#1a1a1a)}.export-modal-close:focus-visible{outline:2px solid var(--accent,#d4612c);outline-offset:2px}.export-modal-header{gap:24px;margin-bottom:24px;display:flex}.export-modal-thumb{object-fit:cover;border:1px solid var(--panel-border,#e0e0e0);background:var(--viewport-bg,#0d0d18);border-radius:8px;flex-shrink:0;width:160px;height:160px}.export-modal-specs{flex:1;min-width:0}.export-modal-title{color:var(--panel-text,#1a1a1a);letter-spacing:.01em;margin:0 0 12px;font-size:15px;font-weight:600}.export-modal-spec-rows{flex-direction:column;gap:4px;display:flex}.export-modal-spec{color:var(--panel-text-secondary,gray);gap:6px;font-size:11px;display:flex}.export-modal-spec strong{color:var(--panel-text,#1a1a1a);font-weight:600}.export-modal-choices{gap:12px;margin-bottom:8px;display:flex}.export-modal-choice{appearance:none;background:var(--btn-bg,#1a1a1a);color:#fff;border:1px solid var(--btn-bg,#1a1a1a);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;flex:1;gap:4px;padding:16px 14px;transition:background .12s,opacity .12s;display:flex}.export-modal-choice:hover:not(:disabled){background:var(--btn-hover,#333)}.export-modal-choice:focus-visible{outline:2px solid var(--accent,#d4612c);outline-offset:2px}.export-modal-choice:active:not(:disabled){transform:scale(.98)}.export-modal-choice:disabled{opacity:.4;cursor:not-allowed}.export-modal-choice--alt{color:var(--panel-text,#1a1a1a);border-color:var(--panel-border,#e0e0e0);background:0 0}.export-modal-choice--alt:hover:not(:disabled){background:var(--panel-hover,#f0f0f0)}.export-modal-choice-title{letter-spacing:.02em;font-size:12px;font-weight:600}.export-modal-choice-sub{opacity:.65;font-size:10px}.export-modal-hint{color:var(--panel-text,#1a1a1a);text-align:center;margin:4px 0 0;font-size:11px;font-weight:600}.export-modal-back{appearance:none;color:var(--panel-text-secondary,gray);font:inherit;cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:0;font-size:11px;transition:color .1s}.export-modal-back:hover{color:var(--panel-text,#1a1a1a)}.export-modal-back:focus-visible{outline:2px solid var(--accent,#d4612c);outline-offset:2px}.export-modal-question{color:var(--panel-text,#1a1a1a);letter-spacing:.02em;margin:0 0 10px;font-size:12px;font-weight:500}.export-modal-search{background:var(--input-bg,#fff);border:1px solid var(--input-border,silver);width:100%;font:inherit;color:var(--panel-text,#1a1a1a);box-sizing:border-box;border-radius:6px;margin-bottom:10px;padding:8px 10px;font-size:11.5px;transition:border-color .1s;display:block}.export-modal-search:focus{border-color:var(--input-focus-border,#1a1a1a);outline:none}.export-modal-search::placeholder{color:var(--muted-text-light,#aaa)}.export-modal-printer-scroll{scrollbar-width:thin;max-height:300px;margin-bottom:10px;overflow-y:auto}.export-modal-brand-header{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;color:var(--panel-text-secondary,gray);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:6px 4px;font-size:10px;font-weight:600;transition:color .1s;display:flex}.export-modal-brand-header:hover{color:var(--panel-text,#1a1a1a)}.export-modal-brand-arrow{font-size:12px;transition:transform .12s}.export-modal-printer-grid{grid-template-columns:1fr 1fr 1fr;gap:6px;padding:0 0 8px;display:grid}.export-modal-printer-grid.collapsed{display:none}.export-modal-printer-card{appearance:none;background:var(--printer-card-bg,#1a1a1a08);cursor:pointer;text-align:left;border:1px solid #0000;border-radius:6px;flex-direction:column;gap:2px;padding:8px 10px;transition:background .1s,border-color .1s;display:flex}.export-modal-printer-card:hover{background:var(--panel-hover,#f0f0f0)}.export-modal-printer-card:focus-visible{outline:2px solid var(--accent,#d4612c);outline-offset:2px}.export-modal-printer-card.selected{border-color:var(--panel-text,#1a1a1a);background:#fff}.export-modal-printer-card--warn{background:var(--printer-card-warn-bg,#d4612c0d)}.export-modal-printer-card--warn.selected{border-color:var(--accent,#d4612c)}.export-modal-printer-name{color:var(--panel-text,#1a1a1a);font-size:11px;font-weight:500}.export-modal-printer-dims{color:var(--panel-text-secondary,gray);font-size:8.5px}.export-modal-printer-ok{color:var(--printer-ok,#1a1a1a);font-size:10px;font-weight:600}.export-modal-printer-warn{color:var(--accent,#d4612c);font-size:9px;font-weight:600}.export-modal-custom-form{gap:8px;padding:6px 4px 10px;display:flex}.export-modal-custom-form.collapsed{display:none}.export-modal-custom-input{background:var(--input-bg,#fff);border:1px solid var(--input-border,silver);font:inherit;color:var(--panel-text,#1a1a1a);border-radius:5px;flex:1;min-width:0;padding:6px 8px;font-size:11px;transition:border-color .1s}.export-modal-custom-input:focus{border-color:var(--input-focus-border,#1a1a1a);outline:none}.export-modal-custom-input::placeholder{color:var(--muted-text-light,#aaa);font-size:9.5px}.export-modal-result{flex-direction:column;gap:8px;display:flex}.export-modal-fit-ok{color:var(--printer-ok,#1a1a1a);margin:0;font-size:11.5px;font-weight:500}.export-modal-fit-warn{color:var(--accent,#d4612c);margin:0;font-size:11.5px;font-weight:500}.export-modal-download-btn{appearance:none;color:#fff;width:100%;height:36px;font:inherit;letter-spacing:.08em;cursor:pointer;background:#d4612c;border:none;border-radius:8px;padding:0;font-size:10.5px;font-weight:500;transition:background .12s,opacity .12s;display:block}.export-modal-download-btn:hover:not(:disabled){background:#b8522a}.export-modal-download-btn:focus-visible{outline:2px solid var(--accent,#d4612c);outline-offset:2px}.export-modal-download-btn:disabled{opacity:.35;cursor:not-allowed}.export-modal-download-btn--alt{color:var(--panel-text,#1a1a1a);border:1px solid var(--panel-text,#1a1a1a);background:0 0}.export-modal-download-btn--alt:hover:not(:disabled){background:var(--panel-hover,#f0f0f0)}.export-modal-done{animation:.2s exportModalFadeIn}@keyframes exportModalFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.export-modal-done-title{color:var(--panel-text,#1a1a1a);margin:0 0 6px;font-size:16px;font-weight:600}.export-modal-done-meta{color:var(--panel-text-secondary,gray);margin:0 0 16px;font-size:10.5px;line-height:1.5}.export-modal-done-meta strong{color:var(--panel-text,#1a1a1a);font-weight:600}.export-modal-steps-label{letter-spacing:.1em;text-transform:uppercase;color:var(--panel-text-secondary,gray);margin:0 0 8px;font-size:9px;font-weight:600}.export-modal-steps{border:1px solid var(--panel-border,#e0e0e0);border-radius:8px;margin-bottom:16px;overflow:hidden}.export-modal-step{border-bottom:1px solid var(--panel-border,#e0e0e0);color:inherit;justify-content:space-between;align-items:center;padding:13px 14px;text-decoration:none;transition:background .1s;display:flex}.export-modal-step:last-child{border-bottom:none}.export-modal-step:hover{background:var(--panel-hover,#f0f0f0)}.export-modal-step:focus-visible{outline:2px solid var(--accent,#d4612c);outline-offset:-2px}.export-modal-step-left{flex-direction:column;gap:2px;display:flex}.export-modal-step-title{color:var(--panel-text,#1a1a1a);font-size:11.5px;font-weight:500}.export-modal-step-sub{color:var(--panel-text-secondary,gray);font-size:9.5px}.export-modal-step-arrow{color:var(--panel-text-secondary,gray);font-size:14px;transition:transform .12s}.export-modal-step:hover .export-modal-step-arrow{transform:translate(3px)}.export-modal-hw-link{color:var(--panel-text-secondary,gray);text-underline-offset:2px;font-size:9.5px;text-decoration:underline;transition:color .1s}.export-modal-hw-link:hover{color:var(--panel-text,#1a1a1a)}.export-modal-done-btn{appearance:none;background:var(--btn-bg,#1a1a1a);color:#fff;width:100%;height:36px;font:inherit;letter-spacing:.08em;cursor:pointer;border:none;border-radius:8px;padding:0;font-size:10.5px;font-weight:500;transition:background .12s;display:block}.export-modal-done-btn:hover{background:var(--btn-hover,#333)}.export-modal-done-btn:focus-visible{outline:2px solid var(--accent,#d4612c);outline-offset:2px}.panel-toolbar{border-bottom:1px solid var(--panel-border-light);gap:4px;margin-bottom:4px;padding:0 16px 8px;display:flex}.toolbar-btn{cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;transition:background .1s,transform 80ms;display:flex}.toolbar-btn:hover,.toolbar-btn.active{background:var(--panel-hover);opacity:1}.toolbar-heart svg{fill:none;stroke:#999;stroke-width:1.5px;transition:fill .3s,stroke .3s;display:block}.toolbar-heart:hover svg{stroke:#fff}.toolbar-heart.liked svg{fill:#d4612c;stroke:#d4612c}.toolbar-heart:active svg{transform:scale(.9)}.toolbar-heart .heart-pulse{animation:.4s cubic-bezier(.34,1.56,.64,1) heart-bounce}@keyframes heart-bounce{0%{transform:scale(1)}30%{transform:scale(1.35)}60%{transform:scale(.95)}to{transform:scale(1)}}.preset-btn--shuffle{letter-spacing:0;opacity:.55;padding:4px 8px;font-size:16px}.preset-btn--shuffle:hover{opacity:1;background:var(--panel-hover)}.preset-btn--shuffle.active{opacity:1}.banana-label{pointer-events:none;color:#f9f9f9;letter-spacing:.04em;white-space:nowrap;will-change:transform;background:#1a1a1ad9;border-radius:0;padding:2px 6px;font-size:9.5px;font-weight:600;transition:opacity .2s;position:absolute}#design-shelf{background:var(--panel-surface);border-top:1px solid var(--input-border);z-index:200;transition:transform .28s cubic-bezier(.32,0,.15,1);position:fixed;bottom:0;left:268px;right:240px;transform:translateY(100%);box-shadow:0 -8px 32px #0000002e}#design-shelf.shelf-open{transform:translateY(0)}.shelf-handle{border-bottom:1px solid var(--panel-border-light);justify-content:space-between;align-items:center;padding:10px 20px 8px;display:flex}.shelf-handle-label{color:var(--shelf-text);letter-spacing:.06em;font-size:10.5px;font-weight:600}.shelf-close-btn{color:var(--muted-text-light);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:14px;transition:color .1s}.shelf-close-btn:hover{color:var(--panel-text)}.shelf-content{padding:12px 20px 16px;overflow-x:auto}.shelf-strip{gap:12px;padding-bottom:4px;display:flex}.shelf-empty{color:var(--panel-text-secondary);padding:4px 0 8px;font-size:11px;font-style:italic}.shelf-card{cursor:pointer;flex-direction:column;flex-shrink:0;gap:4px;width:100px;display:flex;position:relative}.shelf-thumb{background:#1a1a1a;border:2px solid #0000;border-radius:0;width:100px;height:100px;transition:border-color .1s;overflow:hidden}.shelf-card:hover .shelf-thumb{border-color:#1a1a1a}.shelf-thumb img{object-fit:cover;width:100%;height:100%}.shelf-card-name{color:var(--panel-text);cursor:text;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:500;overflow:hidden}.shelf-card-name:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.shelf-card-date{color:var(--panel-text-secondary);font-size:9.5px}.shelf-card-del{color:#fff;cursor:pointer;background:#1a1a1a99;border:none;border-radius:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:11px;line-height:1;display:none;position:absolute;top:4px;right:4px}.shelf-card:hover .shelf-card-del{display:flex}.shelf-rename-input{border:1px solid var(--accent);background:var(--input-bg);width:100%;color:var(--panel-text);border-radius:0;outline:none;padding:1px 4px;font-family:inherit;font-size:10.5px}.shelf-clear-btn{color:var(--muted-text-light);cursor:pointer;letter-spacing:.03em;background:0 0;border:none;margin-top:12px;padding:0;font-size:10px;transition:color .1s;display:block}.shelf-clear-btn:hover{color:var(--panel-text)}#render-loading{background:var(--overlay-bg-heavy);z-index:300;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.render-loading-inner{color:var(--panel-text);flex-direction:column;align-items:center;gap:14px;font-size:13px;display:flex}.render-spinner{border:2.5px solid #00000026;border-top-color:var(--panel-text);border-radius:0;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#render-modal{background:var(--overlay-bg-heavy);z-index:300;opacity:0;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}#render-modal.render-modal-visible{opacity:1}#render-card{background:var(--panel-surface);border-radius:0;flex-direction:column;gap:12px;width:calc(100vw - 48px);max-width:560px;padding:16px;display:flex;box-shadow:0 24px 64px #00000073}.render-img{border-radius:0;width:100%;display:block}.render-actions{justify-content:flex-end;gap:8px;display:flex}.render-download-btn{background:var(--btn-bg);color:var(--btn-text);border-radius:8px;padding:8px 14px;font-size:11.5px;font-weight:500;text-decoration:none;transition:background .12s}.render-download-btn:hover{background:var(--btn-hover)}.render-close-btn{border:1px solid var(--input-border);cursor:pointer;color:var(--pep-meta);background:0 0;border-radius:8px;padding:8px 14px;font-size:11.5px;transition:background .12s}.render-close-btn:hover{background:var(--panel-hover)}#render-error{color:#fff;z-index:300;background:#ff4d00f2;border-radius:0;align-items:center;gap:12px;padding:10px 16px;font-size:11.5px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}#render-error button{color:inherit;cursor:pointer;background:0 0;border:none;font-size:13px}#render-key-prompt{background:var(--overlay-bg-heavy);z-index:300;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.key-prompt-card{background:var(--panel-surface);border-radius:0;flex-direction:column;gap:10px;width:320px;padding:20px;display:flex;box-shadow:0 16px 48px #00000059}.key-prompt-title{color:var(--panel-text);font-size:13px;font-weight:600}.key-prompt-body{color:var(--pep-meta);font-size:11px;line-height:1.5}.key-prompt-body a{color:var(--accent)}.key-prompt-input{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--panel-text);border-radius:0;outline:none;padding:7px 10px;font-family:monospace;font-size:11.5px}.key-prompt-input:focus{border-color:var(--input-focus-border)}.key-prompt-actions{justify-content:flex-end;gap:8px;display:flex}.key-prompt-save{background:var(--btn-bg);color:var(--btn-text);cursor:pointer;border:none;border-radius:8px;padding:7px 14px;font-size:11.5px}.key-prompt-cancel{border:1px solid var(--input-border);cursor:pointer;color:var(--pep-meta);background:0 0;border-radius:8px;padding:7px 14px;font-size:11.5px}.colours-hdr-row{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.colours-hdr-row .section-label{margin-bottom:0}.colour-chip{color:var(--shelf-text);letter-spacing:.04em;background:var(--panel-hover);-webkit-user-select:all;user-select:all;border-radius:0;padding:1px 5px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9.5px;transition:background .15s}.export-btn--print{color:#fff;background:#ff4d00;border:none}.export-btn--print:hover:not(:disabled){background:#e04400}.specs-readout{padding:4px 10px 6px}.specs-header{letter-spacing:.08em;color:var(--panel-text-secondary);margin-bottom:6px;font-size:11px;font-weight:500;line-height:1}.specs-row{justify-content:space-between;align-items:baseline;padding:1px 0;display:flex}.specs-label{color:var(--panel-text-secondary);font-size:11px}.specs-value{color:var(--panel-text);text-align:right;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.preflight-checklist{border:1px solid var(--panel-border);background:#1a1a1a08;padding:8px 10px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;line-height:1.6}.preflight-row{align-items:baseline;gap:6px;display:flex}.preflight-pass{color:#1a1a1a}.preflight-warn{color:var(--accent)}.autofix-btn{color:#fff;cursor:pointer;background:#1a1a1a;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:8px;padding:8px 12px;font-size:11px;font-weight:500;transition:background .15s;display:flex}.autofix-btn:hover{background:#333}.autofix-btn:focus-visible{outline-offset:2px;outline:1px solid #1a1a1a}#gallery{max-width:1200px;margin:0 auto;padding:80px 48px}#gallery .gallery-header{text-align:center;margin-bottom:48px}#gallery .gallery-title{color:var(--brand-teal);margin:0;font-size:32px;font-weight:500}#gallery .gallery-subtitle{color:var(--brand-blue-mid);margin-top:8px;font-size:15px;font-weight:400}#gallery .gallery-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}#gallery .gallery-card{aspect-ratio:1;background:var(--landing-card-bg);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:flex-end;padding:16px;transition:border-color .2s;display:flex;position:relative;overflow:hidden}#gallery .gallery-card:hover{border:1px solid var(--brand-blue)}#gallery .gallery-card .card-label{color:var(--brand-blue-mid);font-size:13px;transition:opacity .2s}#gallery .gallery-card .card-hover-label{text-align:center;color:var(--brand-blue-mid);opacity:0;font-size:13px;transition:opacity .2s;position:absolute;bottom:16px;left:0;right:0}#gallery .gallery-card:hover .card-label{opacity:0}#gallery .gallery-card:hover .card-hover-label{opacity:1}#gallery .gallery-card--cta{border:1px dashed var(--brand-blue);text-align:center;color:var(--brand-blue-mid);background:0 0;justify-content:center;align-items:center;font-size:15px;font-weight:500;transition:border-color .2s,color .2s}#gallery .gallery-card--cta:hover{border-color:var(--brand-teal);color:var(--brand-teal)}#gallery .gallery-more{text-align:center;color:var(--brand-blue-mid);cursor:pointer;margin-top:32px;font-size:13px;transition:color .2s}#gallery .gallery-more:hover{color:var(--brand-teal)}.focus-mode #panel-left,.focus-mode #panel-right{opacity:0;pointer-events:none;flex-basis:0;width:0}.focus-mode #viewport{flex:100%}.focus-mode .viewport-toolbar,.focus-mode .undo-redo-bar{opacity:0;pointer-events:none;transition:opacity .3s}.focus-mode .focus-bar{opacity:0;pointer-events:none}.focus-close-btn{background:var(--brand-teal);color:#fff;height:32px;font:inherit;letter-spacing:.04em;cursor:pointer;z-index:20;border:none;border-radius:6px;padding:6px 20px;font-size:11px;transition:background .12s,opacity .12s;position:absolute;bottom:24px;right:24px}.focus-close-btn:hover,.focus-close-btn:focus-visible{background:#1e353a}.sculpt-mode #panel-left,.sculpt-mode #panel-right{opacity:0;pointer-events:none;flex-basis:0;width:0}.sculpt-mode #viewport{flex:100%}.sculpt-mode .viewport-toolbar{opacity:0;pointer-events:none;transition:opacity .3s}.sculpt-mode #viewport canvas{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='160 380 700 700'%3E%3Cpath fill='%232D4A50' d='M517.975 576.328C571.181 573.154 645.858 580.891 693.89 602.304C741.8 623.587 779.187 663.17 797.697 712.209C811.045 747.037 818.104 790.396 803.572 826.059C797.571 840.785 779.053 850.023 777.622 826.466C777.044 816.95 779.203 807.558 779.852 798.003C781.627 772.855 778.465 747.602 770.544 723.667C745.378 649.342 665.665 594.142 585.924 618.277C523.152 637.275 525.934 705.838 500.305 755.262C462.358 828.442 394.717 876.269 317.477 902.431C297.407 908.282 266.494 917.307 246.524 907.47C238.881 903.705 237.187 890.492 246.081 886.122C258.248 880.143 273.021 879.181 286.369 875.912C295.458 873.609 304.444 870.915 313.3 867.838C385.629 842.616 452.523 789.837 482.584 717.832C491.581 696.281 496.553 672.866 503.199 650.452C506.475 639.403 516.395 627.036 515.605 615.139C514.237 604.406 486.554 608.753 479.607 608.646C394.103 613.492 339.611 681.66 272.175 724.194C260.586 731.504 246.624 738.967 233.26 742.247C222.166 744.855 202.332 740.16 214.925 725.585C223.129 716.699 235.413 711.92 245.852 706.11C278.603 687.88 307.292 663.613 336.995 640.732C392.663 597.849 448.345 580.236 517.975 576.328Z'/%3E%3Cpath fill='%232D4A50' d='M623.945 636.309C663.103 632.044 707.574 660.116 728.355 691.817C793.066 790.535 742.496 942.316 650.08 1005.89C640.021 1012.81 615.922 1026.26 605.177 1014.79C600.862 1010.19 609.24 996.491 613.478 993.672C616.537 991.289 620.853 988.148 624.472 985.389C630.866 980.442 637.032 975.205 642.95 969.697C679.266 935.398 705.16 891.546 717.653 843.187C730.393 792.205 728.413 725.392 687.936 686.284C677.003 675.72 660.692 666.692 645.88 663.17C630.621 659.402 614.487 661.946 601.128 670.224L600.283 670.762C580.158 687.517 577.429 714.041 571.796 738.221C569.265 749.556 565.97 760.706 561.934 771.596C552.315 797.671 538.748 822.114 521.707 844.072C481.951 894.421 428.323 932.036 367.437 952.276C348.089 958.876 306.937 972.441 287.648 958.345C276.572 950.252 279.319 940.43 292.116 936.134C304.198 932.078 316.585 930.898 329.008 928.2C365.263 918.435 400.247 901.979 431.292 881.073C483.32 846.038 524.793 795.219 541.337 734.091C547.925 710.165 552.956 683.433 569.09 663.971C583.742 646.297 601.625 638.558 623.945 636.309Z'/%3E%3Cpath fill='%232D4A50' d='M633.591 687.211C669.402 686.796 687.05 718.585 691.548 749.999C700.696 813.884 673.655 880.895 635.954 931.61C598.587 980.654 547.197 1027.62 484.743 1039.6C475.15 1041.44 451.345 1042 448.419 1027.7C447.383 1022.64 455.428 1015.74 460.057 1014.35C512.626 998.521 558.558 969.396 593.972 927.205C633.47 881.22 664.28 818.785 660.582 756.326C659.798 743.074 656.174 725.316 645.585 716.417L644.892 715.84C621.133 705.367 627.854 753.43 626.312 765.539C621.355 804.45 608.031 842.396 585.797 874.917C541.303 939.997 471.473 991.975 393.839 1008.96C381.608 1011.58 362.555 1013 352.255 1005.61C348.984 1003.27 345.037 999.912 344.425 995.68C344.354 995.181 344.329 994.678 344.352 994.175C344.75 984.791 360.984 981.09 368.108 979.677C387.846 975.763 405.287 970.328 423.806 962.647C448.538 952.329 471.802 938.797 492.997 922.399C543.408 883.201 585.22 826.457 595.106 762.197C599.807 731.638 593.109 693.054 633.591 687.211Z'/%3E%3Cpath fill='%232D4A50' d='M529.316 524.571C606.656 519.933 702.14 540.28 764.28 587.787C788.937 606.638 816.525 635.879 822.036 668.167C822.614 671.827 822.694 679.868 819.681 682.53C806.425 694.242 797.165 666.125 793.306 659.699C740.535 571.819 632.595 550.572 537.797 550.34C449.897 550.309 370.334 582.841 303.699 636.877C286.288 650.996 265.77 669.762 244.366 675.734C234.584 678.463 230.111 664.235 237.14 658.065C249.835 644.372 265.986 633.439 280.348 621.499C354.181 559.237 433.647 530.624 529.316 524.571Z'/%3E%3Cpath fill='%232D4A50' d='M525.607 475.824C600.323 472.243 682.414 487.443 745.832 528.65C755.309 535.267 768.633 543.847 771.71 555.562C773.193 561.209 767.597 564.665 762.262 563.041C748.273 558.782 736.129 549.386 723.282 542.373C711.529 536.063 699.428 530.424 687.036 525.481C623.427 499.505 547.116 495.569 479.742 505.778C435.865 513.543 395.11 526.4 355.639 547.4C346.249 552.398 337.108 557.849 328.247 563.733C318.408 570.336 275.711 606.087 266.229 598.707C264.655 597.484 263.704 595.628 263.632 593.637C263.207 580.951 297.988 555.62 307.733 548.677C372.432 502.576 446.928 480.897 525.607 475.824Z'/%3E%3Cpath fill='%232D4A50' d='M529.211 430.063C536.492 429.1 555.901 429.83 563.663 430.272C615.873 433.249 671.202 444.515 715.796 473.091C719.584 475.518 726.661 480.093 727.082 484.656C727.351 487.569 727.535 489.22 725.735 491.762C725.029 492.759 722.934 493.725 722.663 493.683C703.912 490.768 678.093 477.241 660.71 471.504C605.982 453.441 553.802 449.412 497.188 455.599C450.473 461.229 409.564 474.334 367.727 495.534C353.649 501.868 340.75 511.983 326.21 516.978C322.664 518.711 315.986 514.902 317.51 510.792C322.404 497.6 345.998 484.661 356.707 478.444C410.217 447.379 468.3 434.403 529.211 430.063Z'/%3E%3Cpath fill='%232D4A50' d='M450.247 685.665C451.607 685.599 452.968 685.566 454.33 685.567C471.383 685.673 460.894 706.232 456.706 713.849C419.941 780.715 308.339 862.111 230.61 857.22C214.984 852.753 208.599 838.829 226.168 831.093C236.215 826.669 250.457 825.061 261.251 821.889C314.96 806.102 363.834 775.634 402.218 734.943C418.535 717.577 428.887 697.91 450.247 685.665Z'/%3E%3Cpath fill='%232D4A50' d='M448.775 635.369C459.178 634.659 473.139 638.692 462.141 651.773C456.336 657.496 447.657 662.411 440.631 666.462C408.819 684.799 385.426 712.843 357.461 735.933C323.62 763.874 266.432 801.309 220.999 802.623C211.199 801.723 198.016 795.437 204.947 784.198C210.203 775.673 231.836 771.033 241.417 767.788C252.91 763.771 264.118 758.98 274.963 753.449C299.774 740.963 317.916 728.157 339.503 710.777C372.596 684.135 406.286 645.476 448.775 635.369Z'/%3E%3C/svg%3E") 16 16,pointer}.touch-ripple{border:2px solid var(--touch-blue);pointer-events:none;z-index:10;border-radius:50%;width:40px;height:40px;animation:.6s ease-out forwards touch-ripple-expand;position:absolute;transform:translate(-50%,-50%)}@keyframes touch-ripple-expand{0%{opacity:.8;transform:translate(-50%,-50%)scale(.3)}to{opacity:0;transform:translate(-50%,-50%)scale(2.5)}}.sculpt-hint{letter-spacing:.06em;color:#2d4a5066;pointer-events:none;z-index:20;font-size:11px;animation:3s forwards sculpt-hint-fade;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes sculpt-hint-fade{0%,70%{opacity:1}to{opacity:0}}.sculpt-done-btn{background:var(--brand-teal);color:#fff;height:32px;font:inherit;letter-spacing:.04em;cursor:pointer;z-index:20;border:none;border-radius:6px;padding:6px 20px;font-size:11px;transition:background .12s,opacity .12s;position:absolute;bottom:24px;right:24px}.sculpt-done-btn:hover,.sculpt-done-btn:focus-visible{background:#1e353a}.sculpt-undo-btn{color:#fff;height:32px;font:inherit;letter-spacing:.04em;cursor:pointer;z-index:20;background:#2d4a508c;border:none;border-radius:6px;padding:6px 16px;font-size:11px;transition:background .12s,opacity .12s;position:absolute;bottom:24px;right:100px}.sculpt-undo-btn:hover,.sculpt-undo-btn:focus-visible{background:var(--brand-teal)}.sculpt-undo-btn:disabled{opacity:.35;pointer-events:none;cursor:default}.sculpt-counter{color:#2d4a5066;pointer-events:none;z-index:20;font-size:11px;position:absolute;bottom:24px;left:24px}.sculpt-enter-btn{border:1px solid var(--btn-alt-border);width:100%;font:inherit;letter-spacing:.04em;color:var(--panel-text);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 0;font-size:11px;font-weight:500;transition:border-color .12s,color .12s,background .12s;display:flex}.sculpt-enter-btn:hover,.sculpt-enter-btn:focus-visible,.sculpt-enter-btn.has-marks{border-color:var(--touch-blue);color:var(--touch-blue)}.sculpt-enter-btn svg{flex-shrink:0;width:14px;height:14px}.panel-toggle{border:1px solid var(--panel-border);background:var(--panel-bg);width:32px;height:32px;color:var(--panel-text);cursor:pointer;z-index:50;border-radius:6px;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:opacity .15s;display:none;position:absolute;top:12px}.panel-toggle:hover{background:#eee}.panel-toggle--left{left:12px}.panel-toggle--right{right:12px}.panel-overlay #panel-left,.panel-overlay #panel-right{z-index:60;position:absolute;top:0;bottom:0;box-shadow:2px 0 16px #0000001a}.panel-overlay #panel-left{left:0}.panel-overlay #panel-right{right:0}@media (width<=1100px){#panel-right{opacity:0;pointer-events:none;flex-basis:0;width:0;overflow:hidden}.panel-toggle--right{display:flex}#workspace.right-open #panel-right{opacity:1;pointer-events:auto;z-index:60;flex-basis:240px;width:240px;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-2px 0 16px #0000001a}}@media (width<=768px){#panel-left,#panel-right{opacity:0;pointer-events:none;flex-basis:0;width:0;overflow:hidden}.panel-toggle--left,.panel-toggle--right{display:flex}#workspace.left-open #panel-left{opacity:1;pointer-events:auto;z-index:60;flex-basis:268px;width:268px;position:absolute;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:2px 0 16px #0000001a}#workspace.right-open #panel-right{opacity:1;pointer-events:auto;z-index:60;flex-basis:240px;width:240px;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-2px 0 16px #0000001a}}
