@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2)format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff)format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-latin-400-normal-BqEyEoaF.woff2)format("woff2"),url(/assets/roboto-latin-400-normal-DyYNIH4P.woff)format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/roboto-latin-700-normal-BZpUvMxY.woff2)format("woff2"),url(/assets/roboto-latin-700-normal-DLgJJpmK.woff)format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/roboto-latin-800-normal-B5v1chiC.woff2)format("woff2"),url(/assets/roboto-latin-800-normal-D3HpXfg9.woff)format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/open-sans-latin-400-normal-Bk63H6sG.woff2)format("woff2"),url(/assets/open-sans-latin-400-normal-DKniycaP.woff)format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/open-sans-latin-700-normal-CceUhp2e.woff2)format("woff2"),url(/assets/open-sans-latin-700-normal-CZCQA30i.woff)format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/open-sans-latin-800-normal-C0t39IfQ.woff2)format("woff2"),url(/assets/open-sans-latin-800-normal-w4vykUBk.woff)format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lato-latin-400-normal-BEhtfm5r.woff2)format("woff2"),url(/assets/lato-latin-400-normal-B11PyLys.woff)format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lato-latin-700-normal-BUGMgin4.woff2)format("woff2"),url(/assets/lato-latin-700-normal-DAdL7O4w.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2)format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2)format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-800-normal-axpkC1rd.woff2)format("woff2"),url(/assets/montserrat-latin-800-normal-C3dfDxXV.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2)format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2)format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-latin-800-normal-Bd8-pIP1.woff2)format("woff2"),url(/assets/poppins-latin-800-normal-YoItoZZV.woff)format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/oswald-latin-400-normal-BAFo8sP8.woff2)format("woff2"),url(/assets/oswald-latin-400-normal-D1wpMXgf.woff)format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/oswald-latin-700-normal-vy6hmKSr.woff2)format("woff2"),url(/assets/oswald-latin-700-normal-UmC9Ev9x.woff)format("woff")}@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/raleway-latin-400-normal-C5eIEfLm.woff2)format("woff2"),url(/assets/raleway-latin-400-normal-sMcq1OIP.woff)format("woff")}@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/raleway-latin-700-normal-BVpQLp0x.woff2)format("woff2"),url(/assets/raleway-latin-700-normal-JVwBSLev.woff)format("woff")}@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/raleway-latin-800-normal-CKUvXht-.woff2)format("woff2"),url(/assets/raleway-latin-800-normal-BBfTZwPM.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-latin-400-normal-CFtfchNt.woff2)format("woff2"),url(/assets/playfair-display-latin-400-normal-DHYHbkg3.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2)format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/playfair-display-latin-800-normal-lwhkvH_6.woff2)format("woff2"),url(/assets/playfair-display-latin-800-normal-D0Xz4t1K.woff)format("woff")}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/merriweather-latin-400-normal-G4kZaoXi.woff2)format("woff2"),url(/assets/merriweather-latin-400-normal-CvqO63Ah.woff)format("woff")}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/merriweather-latin-700-normal-DoUP8Ce-.woff2)format("woff2"),url(/assets/merriweather-latin-700-normal-D4-nzrAh.woff)format("woff")}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/merriweather-latin-800-normal-0b-tAW3I.woff2)format("woff2"),url(/assets/merriweather-latin-800-normal-CLcBUyBX.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-latin-400-normal-AkRraKH2.woff2)format("woff2"),url(/assets/nunito-sans-latin-400-normal-DY9yCUyQ.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-latin-700-normal-CICRJDmU.woff2)format("woff2"),url(/assets/nunito-sans-latin-700-normal-CLVG92B9.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-sans-latin-800-normal-MgCk9Q3Y.woff2)format("woff2"),url(/assets/nunito-sans-latin-800-normal-DOf_K5Iw.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2)format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2)format("woff2"),url(/assets/source-sans-3-latin-700-normal-BBbVrHF_.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/source-sans-3-latin-800-normal-5BN8XjkS.woff2)format("woff2"),url(/assets/source-sans-3-latin-800-normal-DaxW8VLw.woff)format("woff")}@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-400-normal-9mHNbWWO.woff2)format("woff2"),url(/assets/bebas-neue-latin-400-normal-Bi-ndsyu.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#172027;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--graphite:#172027;--muted:#66727c;--line:#d9e1e6;--panel:#fff;--panel-2:#f7fafb;--teal:#0f766e;--amber:#e9a323;--danger:#b42338;background:#eef2f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ghost-button,.primary-button,.tool-button,.submit-button,.brand-lockup{text-decoration:none}.compact-button{white-space:nowrap}.project-status{color:#0f766e;max-width:240px;font-size:12px;line-height:1.25}.project-status.error{color:var(--danger)}.auth-loading,.public-page,.dashboard-page{min-height:100vh}.auth-loading{background:linear-gradient(135deg,#0f766e14,#e9a3231f),#eef2f4;align-content:center;place-items:center;gap:14px;display:grid}.public-page,.dashboard-page{background:radial-gradient(circle at 12% 20%,#0f766e1f,#0000 28%),radial-gradient(circle at 88% 8%,#e9a32329,#0000 26%),#eef2f4}.public-nav,.dashboard-topbar{justify-content:space-between;align-items:center;gap:20px;width:min(1180px,100vw - 32px);margin:0 auto;padding:22px 0;display:flex}.public-brand{color:var(--graphite)}.public-brand small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.public-nav nav,.landing-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.landing-hero{background:#fffc;border:1px solid #d9e1e6e6;border-radius:16px;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:34px;width:min(1180px,100vw - 32px);margin:28px auto 0;padding:54px;display:grid;box-shadow:0 28px 70px #1720271a}.landing-copy h1,.auth-card h1,.dashboard-hero h1{color:#111b22;letter-spacing:0;margin:10px 0 14px;font-size:clamp(32px,5vw,58px);line-height:1.02}.landing-copy p,.auth-card p,.dashboard-hero p,.benefit-card p,.project-card p{color:var(--muted);line-height:1.55}.eyebrow{color:#0f766e;letter-spacing:0;text-transform:uppercase;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.landing-preview{min-height:360px;position:relative}.preview-card{color:#eefcff;border-radius:12px;align-content:center;gap:8px;padding:28px;display:grid;position:absolute;box-shadow:0 32px 70px #12202638}.preview-card span,.preview-card small{color:#eefcffbd}.preview-card strong{letter-spacing:0;font-size:34px}.preview-card-main{background:radial-gradient(circle at 50% 54%,#5be0f26b,#0000 36%),linear-gradient(135deg,#203137,#071014);inset:24px 44px 92px 0}.preview-card-side{color:#172027;background:linear-gradient(135deg,#fff,#dfe9ed);width:min(330px,78%);min-height:150px;bottom:24px;right:0}.preview-card-side span,.preview-card-side small{color:#5a6872}.benefit-grid,.project-list-card,.dashboard-hero{width:min(1180px,100vw - 32px);margin:22px auto 0}.benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-bottom:42px;display:grid}.benefit-card,.auth-card,.project-list-card,.dashboard-hero,.project-card{border:1px solid var(--line);background:#ffffffe0;border-radius:12px;box-shadow:0 18px 52px #17202714}.benefit-card{padding:24px}.benefit-card>span{color:#072c2a;background:#d8fbf5;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.benefit-card h2,.project-card h2,.empty-dashboard h2{margin:16px 0 8px;font-size:19px}.auth-page{flex-direction:column;display:flex}.auth-card{width:min(760px,100vw - 32px);margin:38px auto 70px;padding:34px}.auth-form{gap:14px;margin-top:26px;display:grid}.auth-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.auth-field{color:#26323b;gap:7px;font-size:13px;font-weight:700;display:grid}.auth-input-wrap{display:block;position:relative}.auth-field input{color:#172027;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:44px;padding:0 13px}.auth-field input:disabled{color:#66727c;background:#eef3f5}.auth-input-wrap.has-toggle input{padding-right:46px}.password-toggle{color:#52606a;cursor:pointer;background:0 0;border-radius:7px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-toggle:hover{color:#0f766e;background:#ecf8f6}.auth-submit{min-height:46px;margin-top:4px}.auth-switch,.auth-switch a,.auth-inline-link{color:var(--muted);font-size:13px}.auth-inline-link{width:fit-content;text-decoration:none}.auth-inline-link:hover,.auth-switch a:hover{color:#0f766e}.form-message{border-radius:8px;margin:0;padding:11px 13px;font-size:13px;font-weight:700}.form-message.error{color:#842029;background:#fff0f2;border:1px solid #ffd2d8}.form-message.success{color:#0f5132;background:#e8fff2;border:1px solid #bce8cf}.dashboard-page{padding-bottom:44px}.dashboard-hero{padding:30px 34px}.dashboard-tabs{border:1px solid var(--line);background:#fffc;border-radius:10px;flex-wrap:wrap;gap:8px;width:min(1180px,100vw - 32px);margin:16px auto 0;padding:5px;display:flex}.dashboard-tabs button{color:#52606a;cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 14px;display:inline-flex}.dashboard-tabs button.active{color:#072c2a;background:#d8fbf5;box-shadow:0 10px 24px #0f766e1a}.project-list-card{padding:20px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-card{border:1px solid var(--line);background:#fff;border-radius:10px;align-content:start;gap:14px;padding:20px;display:grid}.settings-card h2{margin:0 0 6px;font-size:19px}.settings-card p{color:var(--muted);margin:0;line-height:1.45}.pricing-admin{gap:18px;display:grid}.pricing-admin-header,.pricing-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.pricing-admin-header h2{margin:0 0 6px;font-size:22px}.pricing-admin-header p{color:var(--muted);margin:0}.pricing-actions{align-items:center}.pricing-admin-layout{grid-template-columns:220px minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.pricing-type-list{gap:8px;display:grid}.pricing-type-list button{text-align:left;color:#24323b;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;gap:4px;padding:12px;display:grid}.pricing-type-list button.active{background:#eefdfa;border-color:#0f766e;box-shadow:0 10px 24px #0f766e17}.pricing-type-list span{font-weight:900}.pricing-type-list small,.formula-editor small,.pricing-material-row span{color:var(--muted);font-size:11px;line-height:1.35}.pricing-editor,.pricing-section,.formula-list,.pricing-material-list,.pricing-preview-card,.pricing-preview-result{gap:14px;display:grid}.pricing-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pricing-field-grid.compact{grid-template-columns:1fr}.pricing-number-field,.formula-editor,.pricing-material-row label{color:#2b3841;gap:6px;font-size:12px;font-weight:800;display:grid}.pricing-number-field input,.formula-editor textarea,.pricing-material-row input{color:#172027;width:100%;font:inherit;background:#f9fbfc;border:1px solid #cfdbe1;border-radius:7px}.pricing-number-field input,.pricing-material-row input{height:38px;padding:0 10px}.formula-editor textarea{resize:vertical;min-height:76px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45}.pricing-material-row{background:#fbfcfd;border:1px solid #e2e9ed;border-radius:8px;grid-template-columns:minmax(0,1fr) 90px 90px;align-items:end;gap:10px;padding:10px;display:grid}.pricing-material-row>div{gap:3px;display:grid}.pricing-preview-result{background:#f4f8f9;border:1px solid #dbe6eb;border-radius:9px;padding:12px}.pricing-preview-result span,.pricing-preview-result b{justify-content:space-between;gap:12px;font-size:13px;display:flex}.pricing-preview-result b{color:#102129;border-top:1px solid #d5e1e7;padding-top:10px}.accounts-admin,.accounts-table-card,.account-detail-card,.recent-projects,.account-actions{gap:14px;display:grid}.accounts-admin-header,.account-filters,.account-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.accounts-admin-header h2,.account-detail-card h2{margin:0 0 6px;font-size:22px}.accounts-admin-header p,.account-detail-card p{color:var(--muted);margin:0}.account-search{color:#65737c;border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:8px;min-width:min(360px,100%);height:40px;padding:0 12px;display:inline-flex}.account-search input,.account-filters select{color:#172027;font:inherit;background:0 0;border:0;outline:0}.account-search input{width:100%}.account-filters select{border:1px solid var(--line);background:#fff;border-radius:8px;height:40px;padding:0 10px}.accounts-layout{grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);align-items:start;gap:16px;display:grid}.accounts-table-card,.account-detail-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px}.accounts-table{gap:7px;display:grid}.accounts-table-head,.account-row{grid-template-columns:minmax(240px,1.4fr) 120px 74px 74px 96px 86px;align-items:center;gap:10px;display:grid}.accounts-table-head{color:var(--muted);text-transform:uppercase;padding:0 10px 8px;font-size:11px;font-weight:900}.account-row{text-align:left;color:#172027;cursor:pointer;background:#fbfcfd;border:1px solid #e1e9ee;border-radius:8px;width:100%;padding:10px}.account-row:hover,.account-row.active{background:#f0fcfa;border-color:#0f766e8c}.account-row span:first-child,.recent-projects span,.account-detail-grid span{gap:3px;display:grid}.account-row small,.recent-projects small{color:var(--muted);font-size:11px}.account-badge{color:#40515a;background:#eef4f6;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:24px;padding:0 9px;font-size:11px;font-weight:900;display:inline-flex}.account-badge.verified{color:#0f5132;background:#e6f8ee}.account-badge.pending{color:#8a5a00;background:#fff4d7}.account-badge.disabled{color:#842029;background:#ffe8ec}.account-badge.admin{color:#0f3b64;background:#e7f2ff}.ghost-button.tiny{min-height:30px;padding:0 10px;font-size:12px}.account-pagination{color:var(--muted);padding-top:8px;font-size:12px}.account-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.account-detail-grid span{color:var(--muted);background:#f6fafb;border:1px solid #e1e9ee;border-radius:8px;padding:10px;font-size:12px}.account-detail-grid strong{color:#172027}.account-disabled-note{color:#842029;background:#fff0f2;border:1px solid #ffd2d8;border-radius:8px;padding:10px;font-size:12px;font-weight:700}.recent-projects h3{margin:0;font-size:15px}.recent-projects span{background:#fbfcfd;border:1px solid #e1e9ee;border-radius:8px;padding:10px}.danger-button{color:#842029;cursor:pointer;background:#fff0f2;border:1px solid #ffd2d8;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-weight:900;display:inline-flex}.danger-button:disabled{cursor:not-allowed;opacity:.5}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.project-card{padding:20px}.project-card>span{color:#0f766e;font-size:12px;font-weight:800}.empty-dashboard{text-align:center;justify-items:center;gap:8px;padding:50px 20px;display:grid}@media (width<=920px){.landing-hero,.benefit-grid,.project-grid,.settings-grid,.pricing-admin-layout,.accounts-layout{grid-template-columns:1fr}.accounts-table-head{display:none}.account-row{grid-template-columns:1fr 1fr}.pricing-type-list{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-hero{padding:28px}.landing-preview{min-height:290px}.project-status{display:none}}@media (width<=640px){.public-nav,.dashboard-topbar{flex-direction:column;align-items:flex-start}.auth-form-grid,.pricing-type-list,.pricing-field-grid,.pricing-material-row,.account-detail-grid,.account-row{grid-template-columns:1fr}.account-filters,.account-search,.account-filters select{width:100%}.auth-card{padding:22px}.preview-card{width:100%;min-height:160px;margin-bottom:12px;position:static}}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{border:0}.app-shell{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;background:#fffffff0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;width:100%;max-width:100vw;min-height:68px;padding:12px 22px;display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:12px;min-width:260px;display:flex}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup strong{font-size:15px;line-height:1.2}.brand-lockup span{color:var(--muted);margin-top:2px;font-size:12px}.brand-mark{background:#fff;border:1px solid #d9e1e6f2;border-radius:10px;flex:0 0 38px;justify-content:center;place-items:center;width:38px;height:38px;padding:2px;display:inline-flex;overflow:hidden;box-shadow:0 12px 28px #1720271f}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.topbar-actions,.tool-strip,.scene-row,.render-footer{align-items:center;gap:8px;min-width:0;display:flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.ghost-button,.primary-button,.tool-button,.submit-button{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:36px;transition:transform .16s,border-color .16s,background .16s,color .16s,box-shadow .16s;display:inline-flex}.ghost-button,.tool-button{color:#26323b;border:1px solid var(--line);background:#fff;padding:0 12px}.ghost-button:hover,.tool-button:hover,.scene-row button:hover{border-color:#9fb5bd;transform:translateY(-1px)}.primary-button,.submit-button{color:#fff;background:#122026;padding:0 14px;box-shadow:0 14px 26px #12202629}.primary-button:hover,.submit-button:hover{transform:translateY(-1px);box-shadow:0 18px 32px #12202638}button:disabled{cursor:not-allowed;opacity:.45;transform:none}.tool-button:has(input:disabled){cursor:not-allowed;opacity:.45;transform:none}.workspace{grid-template-columns:286px minmax(560px,1fr) 344px;align-items:start;gap:14px;width:100%;max-width:100vw;min-height:0;padding:14px;display:grid}.left-rail,.right-rail,.stage-column{min-width:0;min-height:0}.left-rail,.right-rail{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;padding:14px;overflow:auto}.right-rail{flex-direction:column;gap:12px;display:flex}.panel-header{grid-template-columns:30px 1fr;align-items:start;gap:10px;margin-bottom:12px;display:grid}.panel-header>span{color:#0d3b38;background:#dff8f3;border-radius:999px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.panel-header h2,.panel-header p,.inspector-title,.section-title,.canvas-meta strong,.canvas-meta span{margin:0}.panel-header h2{font-size:15px;line-height:1.2}.panel-header p{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.sign-type-list,.material-list,.property-stack,.order-form,.price-lines{gap:8px;display:grid}.sign-type-card,.material-row,.layer-row{text-align:left;background:var(--panel);color:#172027;border:1px solid var(--line);cursor:pointer;border-radius:8px;width:100%}.sign-type-card{cursor:default;position:relative;overflow:hidden}.sign-type-card-main{width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;grid-template-rows:auto auto;grid-template-columns:58px 1fr;gap:5px 10px;padding:10px;display:grid}.sign-type-card-main:focus-visible{outline-offset:-3px;outline:2px solid #0f766ea6}.sign-type-card.has-info .sign-type-card-main{padding-right:76px}.sign-type-info-button{color:#0f5c58;cursor:pointer;background:#ecfffb;border:1px solid #aee8dc;border-radius:999px;align-items:center;gap:4px;padding:5px 7px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:8px;right:8px}.sign-type-info-button:hover,.sign-type-info-button:focus-visible{color:#073b38;background:#d9faf3}.sign-type-card strong{font-size:13px}.sign-type-card small{color:var(--muted);grid-column:2;font-size:11px;line-height:1.35}.sign-type-card.active,.material-row.active,.layer-row.active{border-color:#0f766eb8;box-shadow:0 0 0 3px #1fb3a41f}.mini-sign{background:#eff4f5;border:1px solid #d8e2e6;grid-row:1/3;width:54px;height:34px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffffbf}.mini-sign span{height:8px;box-shadow:0 0 14px var(--led);background:#172027;position:absolute;top:13px;left:9px;right:9px}.mini-sign.sign-halo{box-shadow:none;background:0 0;border-color:#0000}.mini-sign.sign-halo span{color:#172027;box-shadow:0 0 0 2px #ffffffb8, 0 0 16px var(--led), 0 8px 16px #0000002e;border-radius:5px}.mini-sign.sign-lightbox span,.mini-sign.sign-pushthrough span{background:var(--led)}.mini-sign.sign-leddisplay{background:linear-gradient(135deg,#d7dee3,#fff 46%,#aab3b9);border-color:#c2cbd0;box-shadow:inset 0 0 0 3px #ffffffd1,3px 4px 10px #11181c1f}.mini-sign.sign-leddisplay span{background:radial-gradient(circle at 50% 42%,#fffffffa,#d9f4ffb8 52%,#ffffffeb 100%);height:auto;inset:5px;box-shadow:inset 0 0 12px #55d8ff47,0 0 12px #c5eeff94}.mini-sign.sign-acrylledbox{background:linear-gradient(135deg, #ffffffd6, color-mix(in srgb, var(--led), #fff 72%) 48%, #ffffffb8);border-color:color-mix(in srgb, var(--led), #9bb4bd 54%);box-shadow:4px 5px 0 color-mix(in srgb, var(--led), #8aaeb8 62%), 0 0 15px color-mix(in srgb, var(--led), transparent 26%), inset 0 0 18px color-mix(in srgb, var(--led), transparent 22%)}.mini-sign.sign-acrylledbox span{background:linear-gradient(90deg, #1620269e, transparent 28% 72%, #1620266b), color-mix(in srgb, var(--led), #fff 54%);height:auto;box-shadow:inset 0 0 12px #ffffffbd, 0 0 14px color-mix(in srgb, var(--led), transparent 16%);border-radius:3px;inset:8px 11px}.mini-sign.sign-roundprojecting{box-shadow:none;background:0 0;border-color:#0000}.mini-sign.sign-roundprojecting:before{content:"";background:radial-gradient(circle,#fff 0 54%,#dff6ff 100%);border:4px solid #aeb8be;border-radius:999px;width:26px;height:26px;position:absolute;top:5px;left:9px;box-shadow:inset 0 0 12px #55d8ff57,0 0 12px #c5eeffa3}.mini-sign.sign-roundprojecting:after{content:"";background:#9aa7ae;border-radius:2px;width:12px;height:6px;position:absolute;top:14px;left:2px}.mini-sign.sign-roundprojecting span{display:none}.mini-sign.sign-solid3d{box-shadow:none;background:0 0;border-color:#0000;overflow:visible}.mini-sign.sign-solid3d span{background:linear-gradient(135deg,#f4efe6,#c7bba8);height:11px;top:10px;box-shadow:5px 4px #9a8b72,9px 10px 14px #11181c3d}.mini-sign.sign-resinled{box-shadow:none;background:0 0;border-color:#0000;overflow:visible}.mini-sign.sign-resinled span{background:linear-gradient(135deg, #fff, color-mix(in srgb, var(--led), #fff 72%));border:2px solid #aeb8bd;height:12px;top:10px;box-shadow:4px 3px #77838a,8px 10px 16px #11181c33}.mini-sign.sign-print{background:linear-gradient(135deg,#fff,#e5ecef 52%,#cfd9de)}.mini-sign.sign-print span{height:18px;box-shadow:none;background:linear-gradient(90deg,#0f766e 0 28%,#55d8ff 28% 54%,#f6c85f 54% 76%,#e44d63 76% 100%);top:8px}.mini-sign.sign-metal{background:linear-gradient(135deg,#cfd6d9,#f9fbfc 40%,#9da7ac)}.setting-block{margin-top:18px}.section-title,.inspector-title{color:#27343d;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:800;display:flex}.dimension-row{color:#43515a;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.dimension-row div{border:1px solid var(--line);background:var(--panel);border-radius:7px;align-items:center;width:108px;display:flex;overflow:hidden}.dimension-row input{color:#172027;background:0 0;border:0;outline:0;width:66px;padding:8px}.dimension-row em{color:var(--muted);font-size:11px;font-style:normal}.display-size-controls{gap:10px;display:grid}.display-format-row{color:#43515a;gap:6px;font-size:12px;display:grid}.display-format-row select{border:1px solid var(--line);background:var(--panel);color:#172027;border-radius:7px;outline:0;width:100%;min-width:0;padding:9px 10px}.display-orientation-toggle{grid-template-columns:1fr 1fr;gap:6px;display:grid}.display-orientation-toggle button{border:1px solid var(--line);color:#43515a;cursor:pointer;background:#f8fbfc;border-radius:7px;padding:8px 7px;font-size:12px;font-weight:800}.display-orientation-toggle button.active{border-color:var(--accent);color:#0f766e;background:#e9fbf8}.display-size-readout{background:#f6fafb;border:1px solid #d6e4e9;border-radius:8px;gap:3px;padding:9px 10px;display:grid}.display-size-readout span{color:#172027;font-size:13px;font-weight:900}.display-size-readout small{color:var(--muted);font-size:11px}.mounting-side-control{gap:7px;display:grid}.mounting-side-control button{border:1px solid var(--line);color:#172027;text-align:left;cursor:pointer;background:#f8fbfc;border-radius:8px;gap:3px;padding:9px 10px;display:grid}.mounting-side-control button.active{border-color:var(--accent);background:#e9fbf8;box-shadow:0 0 0 3px #1fb3a41a}.mounting-side-control strong{font-size:12px}.mounting-side-control small{color:var(--muted);font-size:11px}.mounting-side-note{color:var(--muted);margin:0;font-size:11px;line-height:1.35}.material-row{gap:3px;padding:10px;display:grid}.material-row span{font-size:12px;font-weight:700}.material-row small{color:var(--muted);font-size:11px}.stage-column{grid-template-rows:auto 1fr auto;gap:10px;display:grid}.tool-strip{border:1px solid var(--line);background:#ffffffd1;border-radius:8px;min-height:48px;padding:6px;overflow-x:auto}.tool-button{min-width:88px;font-size:12px}.tool-button.active{color:#063b38;background:#e6f8f4;border-color:#b4e7dd}.tool-button.danger{color:var(--danger)}.tool-button input{display:none}.tool-status{color:var(--muted);align-self:center;padding:0 6px;font-size:11px;line-height:1.35}.tool-status.error{color:var(--danger)}.upload-vector-callout{background:radial-gradient(circle at 10% 18%,#1fb3a429,#0000 34%),#f7fbfa;border:1px solid #bde8df;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.upload-vector-callout strong,.upload-vector-callout span{display:block}.upload-vector-callout strong{color:#113338;font-size:13px}.upload-vector-callout span{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.4}.vectorize-tool{color:#063b38;background:#ddf7f2;border-color:#98ddd2;flex:none;min-width:178px}.canvas-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-rows:auto 1fr auto;min-height:760px;display:grid;overflow:hidden}.canvas-meta{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.canvas-meta strong,.canvas-meta span{display:block}.canvas-meta strong{font-size:14px}.canvas-meta span{color:var(--muted);margin-top:2px;font-size:12px}.preview-toggle{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:3px;min-height:36px;padding:3px;display:inline-flex}.preview-toggle button{color:#586871;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.preview-toggle button.active{color:#775100;background:#fff6df;box-shadow:inset 0 0 0 1px #f4d68f,0 6px 16px #e9a32324}.canvas-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.zoom-control{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:6px;min-height:36px;padding:4px;display:inline-flex}.zoom-control button{color:#26323b;cursor:pointer;background:#f7fafb;border:1px solid #0000;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.zoom-control button:hover{background:#eef5f6;border-color:#b7c7ce}.zoom-control input{accent-color:#0f766e;width:112px}.zoom-control strong{text-align:center;min-width:42px;font-size:12px}.canvas-stage{background-color:#f5f8f9;background-image:linear-gradient(90deg,#0f172a0a 1px,#0000 1px),linear-gradient(#0f172a0a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:560px;padding:0;position:relative;overflow:hidden}.surface-viewport{width:100%;height:100%;min-height:560px;padding:34px;position:relative;overflow:auto}.surface-zoom-shell{width:var(--zoom-shell-size,100%);height:var(--zoom-shell-size,100%);min-width:var(--zoom-shell-size,100%);min-height:var(--zoom-shell-size,100%);position:relative}.surface-design-space{width:var(--zoom-design-size,100%);height:var(--zoom-design-size,100%);transform:translate(-50%, -50%) scale(var(--surface-zoom,1));transform-origin:50%;will-change:transform;place-items:center;display:grid;position:absolute;top:50%;left:50%}.wall-surface{width:var(--surface-width,78%);max-width:100%;aspect-ratio:var(--surface-aspect-ratio,140 / 52);background:radial-gradient(circle at 54% 32%,#fffffff2,#0000 28%),linear-gradient(120deg,#e3e7e8,#fafafa 54%,#d7dddf);border:1px solid #d8e0e4;border-radius:8px;place-items:stretch stretch;display:grid;position:relative;box-shadow:inset 0 0 0 1px #fff9,0 30px 70px #141e221f}.wall-surface.free-workspace{background-color:#ffffff47;background-image:linear-gradient(90deg,#0f172a0b 1px,#0000 1px),linear-gradient(#0f172a0b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px dashed #0f766e80;box-shadow:inset 0 0 0 1px #ffffffad,0 16px 34px #141e2214}.wall-surface.halo-workspace{background:radial-gradient(circle at 54% 38%,#ffffff3d,#0000 36%),linear-gradient(90deg,#0f172a0b 1px,#0000 1px) 0 0/20px 20px,linear-gradient(#0f172a0b 1px,#0000 1px) 0 0/20px 20px,#fff3;border-color:#0f766e6b}.wall-surface.resinled-workspace{background:radial-gradient(circle at 54% 38%,#ffffff42,#0000 36%),linear-gradient(90deg,#0f172a0b 1px,#0000 1px) 0 0/20px 20px,linear-gradient(#0f172a0b 1px,#0000 1px) 0 0/20px 20px,#ffffff38;border-color:#697a847a}.wall-surface.print-workspace{border-color:#70818a57}.wall-surface.roundprojecting-workspace{background:linear-gradient(90deg,#0f172a0b 1px,#0000 1px) 0 0/20px 20px,linear-gradient(#0f172a0b 1px,#0000 1px) 0 0/20px 20px,linear-gradient(135deg,#ffffffd1,#ebf4f7a3);border-color:#70818a57}.ruler-overlay{z-index:6;pointer-events:none;color:#27454a;font-size:10px;font-weight:800;line-height:1;position:absolute;inset:0}.ruler{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#ffffffe0,#f4f9fabd);border-style:solid;border-color:#7c91995c;position:absolute;overflow:hidden}.ruler:before{content:"";opacity:.62;position:absolute;inset:0}.ruler-x{border-width:0 0 1px;height:24px;top:0;left:0;right:0}.ruler-x:before{background:repeating-linear-gradient(90deg,#0f766e6b 0 1px,#0000 1px 10%),repeating-linear-gradient(90deg,#0000 0 4.8%,#0f766e38 4.8% 5%,#0000 5% 10%)}.ruler-y{border-width:0 1px 0 0;width:32px;top:0;bottom:0;left:0}.ruler-y:before{background:repeating-linear-gradient(#0f766e6b 0 1px,#0000 1px 10%),repeating-linear-gradient(#0000 0 4.8%,#0f766e38 4.8% 5%,#0000 5% 10%)}.ruler-label{z-index:1;white-space:nowrap;text-shadow:0 1px #ffffffdb;position:absolute}.ruler-x .ruler-label{top:7px}.ruler-x .start{left:8px}.ruler-x .middle{left:50%;transform:translate(-50%)}.ruler-x .end{right:8px}.ruler-y .ruler-label{transform-origin:50%;left:50%;transform:translate(-50%)rotate(-90deg)}.ruler-y .start{top:24px}.ruler-y .middle{top:50%}.ruler-y .end{bottom:22px}.sign-board{width:100%;height:100%;aspect-ratio:inherit;isolation:isolate;transform-style:preserve-3d;position:relative}.wall-surface>.sign-board{position:absolute;inset:0}.sign-board:before,.sign-board:after{content:"";pointer-events:none;position:absolute;inset:0}.sign-board:before{z-index:-2}.sign-board:after{z-index:-1}.sign-board.sign-halo,.sign-board.sign-solid3d{--material-face-gradient:linear-gradient(135deg, var(--solid-face), color-mix(in srgb, var(--solid-face), #fff 24%) 48%, var(--solid-face));background:0 0}.sign-board.sign-resinled{--resin-fill:#f7feff;--resin-fill-lit:color-mix(in srgb, var(--backlight-color,#fff2d9), #fff 18%);--resin-face-gradient:linear-gradient(135deg, #fff 0%, #f7feff 46%, #e8f6f8 100%);--resin-lit-gradient:linear-gradient(128deg, #ffffffbd 0 12%, transparent 34% 72%, #ffffff61 100%), radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--backlight-color), #fff 2%) 0 46%, color-mix(in srgb, var(--backlight-color), #fff 18%) 66%, #f8feff 92%), var(--resin-face-gradient);background:0 0}.sign-board.sign-print{border:1px solid color-mix(in srgb, var(--solid-side), #fff 28%);background:linear-gradient(120deg, #ffffffad, transparent 22% 74%, #00000014), var(--solid-face);box-shadow:8px 10px 0 color-mix(in srgb, var(--solid-side), transparent 36%), 0 18px 42px #111b201f, inset 0 1px 0 #ffffffb8;border-radius:3px;overflow:hidden}.sign-board.sign-leddisplay{border:1px solid color-mix(in srgb, var(--solid-side), #fff 18%);box-shadow:6px 8px 0 color-mix(in srgb, var(--solid-side), transparent 54%), 0 16px 32px #111b201f, inset 0 0 0 10px color-mix(in srgb, var(--solid-side), #fff 8%), inset 0 0 0 13px color-mix(in srgb, var(--solid-side), #fff 66%), inset 0 0 36px #55d8ff2e;background:radial-gradient(circle at 50% 45%,#fffffffa,#e8f8ffdb 58%,#f6fcfffa 100%);border-radius:3px;overflow:hidden}.sign-board.sign-leddisplay:before{z-index:0;opacity:.72;background:linear-gradient(135deg,#ffffff9e,#0000 28% 78%,#b6dbea38),radial-gradient(circle,#ffffff85,#0000 68%);border:1px solid #ffffffd1;inset:4%}.sign-board.sign-leddisplay:after{filter:blur(9px);background:#00000021;inset:100% 3% -6%}.sign-board.sign-leddisplay.material-display-black{box-shadow:6px 8px 0 color-mix(in srgb, var(--solid-side), transparent 42%), 0 16px 32px #111b2029, inset 0 0 0 10px #172027, inset 0 0 0 13px #4b5860, inset 0 0 36px #55d8ff2e}.sign-board.sign-acrylledbox{background:linear-gradient(118deg, #ffffff9e, transparent 18% 72%, #12202614), radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--led), #fff 70%), color-mix(in srgb, var(--led), #fff 86%) 64%, #f8fefff2 100%);box-shadow:8px 11px 0 color-mix(in srgb, var(--led), #d9e8ed 72%), 0 0 34px color-mix(in srgb, var(--led), transparent 44%), 0 22px 48px #111b2029, inset 0 0 54px color-mix(in srgb, var(--led), transparent 52%);border:0;border-radius:6px;overflow:hidden}.sign-board.sign-acrylledbox:before{z-index:0;background:linear-gradient(135deg, #ffffff57, transparent 28% 78%, color-mix(in srgb, var(--led), transparent 78%)), radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--led), transparent 74%), transparent 68%);opacity:.66;inset:0}.sign-board.sign-acrylledbox:after{background:color-mix(in srgb, var(--led), #000 70%);filter:blur(12px);opacity:.22;inset:100% 4% -8%}.sign-board.sign-roundprojecting{background:linear-gradient(90deg,#0f172a08 1px,#0000 1px) 0 0/20px 20px,linear-gradient(#0f172a08 1px,#0000 1px) 0 0/20px 20px,#ffffff57;border:1px dashed #56707a6b;border-radius:6px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffad,0 18px 34px #111b2014}.sign-board.sign-roundprojecting:before,.sign-board.sign-roundprojecting:after{display:none}.round-projecting-guide{z-index:1;pointer-events:none;position:absolute;inset:0}.round-guide-square{background:linear-gradient(90deg,#ffffff57 0 8.333%,#0000 8.333% 91.667%,#ffffff57 91.667% 100%),linear-gradient(#ffffff57 0 8.333%,#0000 8.333% 91.667%,#ffffff57 91.667% 100%);border:1px solid #546b743d;position:absolute;inset:0}.round-guide-circle{background:radial-gradient(circle,#ffffff1f 0 64%,#0f766e0f 65% 100%);border:2px dashed #0f766ead;border-radius:999px;position:absolute;inset:8.333%;box-shadow:0 0 0 999px #ffffff29,inset 0 0 28px #55d8ff1f}.sign-board.sign-roundprojecting.material-roundprojecting-silver .round-guide-circle{border-color:#929ea6bd}.sign-board.sign-roundprojecting.material-roundprojecting-black .round-guide-circle{border-color:#161d22c7;box-shadow:0 0 0 999px #ffffff29,inset 0 0 28px #55d8ff1a}.round-guide-label{z-index:2;color:#173f45;background:#ffffffdb;border:1px solid #0f766e33;border-radius:999px;padding:4px 6px;font-size:10px;font-weight:900;line-height:1;position:absolute}.round-guide-label.visible{top:9%;left:50%;transform:translate(-50%)}.round-guide-label.bleed{bottom:2%;right:2%}.sign-board.sign-print:before{z-index:0;opacity:.58}.sign-board.sign-print:after{display:none}.sign-board.has-product-3d{box-shadow:none!important;background:0 0!important;border-color:#0000!important}.sign-board.has-product-3d:before,.sign-board.has-product-3d:after{display:none}.sign-board.sign-solid3d.material-custom-solid-color{--material-face-gradient:var(--solid-layer-gradient,linear-gradient(135deg, var(--solid-face), color-mix(in srgb, var(--solid-face), #fff 24%) 48%, var(--solid-face)))}.sign-board.sign-lightbox,.sign-board.sign-pushthrough,.sign-board.sign-metal{border-radius:4px;box-shadow:18px 22px 34px #050c102e,inset 0 1px #ffffffd1}.sign-board.sign-halo:before,.sign-board.sign-halo:after,.sign-board.sign-solid3d:before,.sign-board.sign-solid3d:after,.sign-board.sign-resinled:before,.sign-board.sign-resinled:after{display:none}.sign-board.sign-print.material-print-aluminium:before{background:repeating-linear-gradient(90deg,#ffffff47 0 1px,#0000 1px 6px),linear-gradient(135deg,#ffffff57,#0000 58%)}.sign-board.sign-print.material-print-hartschaum:before,.sign-board.sign-print.material-print-weichschaum:before{background:radial-gradient(circle at 18% 20%,#ffffffa8,#0000 24%),repeating-linear-gradient(45deg,#52606809 0 1px,#0000 1px 9px)}.sign-board.sign-print.material-print-holz{background:linear-gradient(120deg, #ffffff61, transparent 24% 74%, #502d1029), var(--solid-face)}.sign-board.sign-print.material-print-holz:before{background:repeating-linear-gradient(10deg,#58331429 0 2px,#0000 2px 13px),linear-gradient(135deg,#ffecbe47,#0000 58%)}.sign-board.sign-lightbox{background:linear-gradient(145deg,#eef4f6,#fff 45%,#d7e0e4);border:1px solid #c4d0d6}.sign-board.sign-lightbox:after{filter:blur(10px);background:#00000029;inset:100% 3% -7%}.sign-board.sign-pushthrough{background:linear-gradient(90deg,#ffffffb8,#0000 12% 82%,#0000001f),#21313a;border:1px solid #101b21}.sign-board.sign-pushthrough:before{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--led), transparent 58%), transparent 72%);filter:blur(18px);inset:-3%}.sign-board.sign-metal{background:linear-gradient(118deg,#ffffffc7,#0000 18% 72%,#1e262a2e),linear-gradient(135deg,#e1e6e9,#f8fafb 34%,#aeb8bd 73%,#d8dee1);border:1px solid #b6c1c7}.sign-board-sheen{z-index:0;mix-blend-mode:screen;pointer-events:none;background:linear-gradient(110deg,#0000 0 38%,#ffffff59 46%,#0000 56% 100%);position:absolute;inset:0}.sign-board.sign-solid3d .sign-board-sheen,.sign-board.sign-halo .sign-board-sheen,.sign-board.sign-resinled .sign-board-sheen,.sign-board.sign-roundprojecting .sign-board-sheen{display:none}.sign-board.sign-print .sign-board-sheen{opacity:.14;mix-blend-mode:normal}.product-3d-scene,.product-3d-fallback{z-index:1;pointer-events:none;position:absolute;inset:0}.product-3d-scene canvas{display:block;width:100%!important;height:100%!important}.product-3d-fallback{overflow:hidden}.design-layer{z-index:2;-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;border:1px solid #0000;justify-content:center;align-items:center;display:flex;position:absolute}.design-layer.locked{cursor:default}.design-layer.selected{outline-offset:2px;border-color:#1fb3a4;outline:2px solid #1fb3a438}.design-layer.interaction-only{z-index:12;color:#0000!important;box-shadow:none!important;background:#fff0!important}.design-layer.interaction-only.selected{background:#1fb3a408!important}.design-layer.text span{z-index:2;font-size:var(--layer-font-size,24px);white-space:nowrap;max-width:100%;line-height:.92;display:block;position:relative}.sign-board.sign-print .design-layer,.sign-board.sign-leddisplay .design-layer,.sign-board.sign-roundprojecting .design-layer,.sign-board.sign-acrylledbox .design-layer{filter:none!important}.sign-board.sign-print .design-layer.text span,.sign-board.sign-leddisplay .design-layer.text span,.sign-board.sign-roundprojecting .design-layer.text span,.sign-board.sign-acrylledbox .design-layer.text span{color:var(--layer-fill);-webkit-text-fill-color:var(--layer-fill);text-shadow:none!important}.sign-board.sign-print .design-layer.logo img,.sign-board.sign-print .design-layer.logo.is-lit img,.sign-board.sign-print .design-layer.logo.is-lit .logo-placeholder,.sign-board.sign-leddisplay .design-layer.logo img,.sign-board.sign-leddisplay .design-layer.logo.is-lit img,.sign-board.sign-leddisplay .design-layer.logo.is-lit .logo-placeholder,.sign-board.sign-roundprojecting .design-layer.logo img,.sign-board.sign-roundprojecting .design-layer.logo.is-lit img,.sign-board.sign-roundprojecting .design-layer.logo.is-lit .logo-placeholder,.sign-board.sign-acrylledbox .design-layer.logo img,.sign-board.sign-acrylledbox .design-layer.logo.is-lit img,.sign-board.sign-acrylledbox .design-layer.logo.is-lit .logo-placeholder{filter:none}.sign-board.sign-print .design-layer.logo img,.sign-board.sign-leddisplay .design-layer.logo img,.sign-board.sign-roundprojecting .design-layer.logo img,.sign-board.sign-acrylledbox .design-layer.logo img{border-radius:inherit}.sign-board.sign-print .design-layer.shape,.sign-board.sign-print .design-layer.line,.sign-board.sign-print .design-layer.shape.is-lit,.sign-board.sign-print .design-layer.line.is-lit,.sign-board.sign-leddisplay .design-layer.shape,.sign-board.sign-leddisplay .design-layer.line,.sign-board.sign-leddisplay .design-layer.shape.is-lit,.sign-board.sign-leddisplay .design-layer.line.is-lit,.sign-board.sign-roundprojecting .design-layer.shape,.sign-board.sign-roundprojecting .design-layer.line,.sign-board.sign-roundprojecting .design-layer.shape.is-lit,.sign-board.sign-roundprojecting .design-layer.line.is-lit,.sign-board.sign-acrylledbox .design-layer.shape,.sign-board.sign-acrylledbox .design-layer.line,.sign-board.sign-acrylledbox .design-layer.shape.is-lit,.sign-board.sign-acrylledbox .design-layer.line.is-lit{box-shadow:none}.sign-board.sign-print .logo-placeholder,.sign-board.sign-leddisplay .logo-placeholder,.sign-board.sign-roundprojecting .logo-placeholder,.sign-board.sign-acrylledbox .logo-placeholder{filter:none}.sign-board.sign-solid3d .design-layer.text span{color:var(--solid-layer-face,var(--solid-face));text-shadow:var(--solid-layer-text-shadow,var(--solid-text-shadow))}.sign-board.sign-solid3d.material-oak,.depth-preview.material-oak{--material-face-gradient:repeating-linear-gradient(13deg, #5a371533 0 2px, transparent 2px 10px), linear-gradient(135deg, #efc98d, #c58b49 58%, #a76e32)}.sign-board.sign-solid3d.material-walnut,.depth-preview.material-walnut{--material-face-gradient:repeating-linear-gradient(14deg, #ffe2b021 0 2px, transparent 2px 9px), linear-gradient(135deg, #795338, #3d291c 62%, #24170f)}.sign-board.sign-solid3d.material-brushed-steel,.depth-preview.material-brushed-steel{--material-face-gradient:repeating-linear-gradient(90deg, #ffffff61 0 1px, transparent 1px 5px), linear-gradient(135deg, #f0f2f3, #9da8ae 54%, #d8dde0)}.sign-board.sign-solid3d.material-black-matte,.depth-preview.material-black-matte{--material-face-gradient:linear-gradient(135deg, #2d3438, #111619 58%, #252b2f)}.sign-board.sign-solid3d.material-brass,.depth-preview.material-brass{--material-face-gradient:repeating-linear-gradient(100deg, #fff6ba47 0 1px, transparent 1px 8px), linear-gradient(135deg, #f4d785, #b9852a 58%, #e2b950)}.sign-board.sign-solid3d.material-white-lacquer,.depth-preview.material-white-lacquer{--material-face-gradient:linear-gradient(135deg, #fff, #e7e0d2 62%, #fbfaf6)}.depth-preview.material-aluminium{--material-face-gradient:repeating-linear-gradient(90deg, #ffffff4d 0 1px, transparent 1px 7px), linear-gradient(135deg, #f2f5f6, #b3bdc3 56%, #dfe4e7)}.sign-board.sign-solid3d .design-layer.text span{background:var(--solid-layer-gradient,var(--material-face-gradient));color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.design-layer.text.is-lit span{text-shadow:0 0 4px #ffffffd9, 0 0 14px var(--led), 0 0 30px var(--led)}.sign-board.sign-solid3d .design-layer.text.is-lit span{text-shadow:var(--solid-layer-text-shadow,var(--solid-text-shadow))}.sign-board.sign-solid3d .design-layer.is-backlit{z-index:3}.sign-board.sign-solid3d .design-layer.text.is-backlit:before{content:attr(data-layer-text);z-index:1;color:var(--backlight-color);font-size:var(--layer-font-size,24px);font-weight:inherit;letter-spacing:inherit;white-space:nowrap;opacity:.9;filter:blur(10px);text-shadow:0 0 10px var(--backlight-color), 0 0 24px color-mix(in srgb, var(--backlight-color), transparent 18%), 0 0 48px color-mix(in srgb, var(--backlight-color), transparent 34%);pointer-events:none;justify-content:center;align-items:center;line-height:.92;display:flex;position:absolute;inset:-18%;transform:scale(1.07)}.design-layer.logo img{object-fit:contain;filter:drop-shadow(0 6px 10px #0000002e);width:100%;height:100%}.design-layer.logo.is-lit img,.design-layer.logo.is-lit .logo-placeholder{filter:drop-shadow(0 0 7px var(--led)) drop-shadow(0 0 20px color-mix(in srgb, var(--led), transparent 25%))}.sign-board.sign-solid3d .design-layer.logo img{filter:drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-layer-side,var(--solid-side))) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0e141833)}.sign-board.sign-solid3d .design-layer.logo.is-lit img{filter:drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-layer-side,var(--solid-side))) drop-shadow(0 0 12px var(--backlight-color)) drop-shadow(0 0 28px color-mix(in srgb, var(--backlight-color), transparent 28%)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0e141833)}.svg-logo-mask{background:var(--solid-layer-gradient,var(--material-face-gradient));width:100%;height:100%;-webkit-mask:var(--svg-logo-src) center / contain no-repeat;-webkit-mask:var(--svg-logo-src) center / contain no-repeat;mask:var(--svg-logo-src) center / contain no-repeat;display:block}.sign-board.sign-solid3d .svg-logo-mask{filter:drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-layer-side,var(--solid-side))) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0e141833)}.sign-board.sign-solid3d .design-layer.logo.is-backlit .svg-logo-mask,.sign-board.sign-solid3d .design-layer.logo.is-backlit .logo-placeholder{filter:drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-layer-side,var(--solid-side))) drop-shadow(0 0 12px var(--backlight-color)) drop-shadow(0 0 30px color-mix(in srgb, var(--backlight-color), transparent 28%)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0e141833)}.design-layer.shape.is-lit,.design-layer.line.is-lit{box-shadow:0 0 12px var(--led), 0 0 26px color-mix(in srgb, var(--led), transparent 15%)}.sign-board.sign-solid3d .design-layer.shape,.sign-board.sign-solid3d .design-layer.line{box-shadow:var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-layer-side,var(--solid-side)), var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c2e;background:var(--solid-layer-gradient,var(--material-face-gradient))!important}.sign-board.sign-solid3d .design-layer.shape.is-lit,.sign-board.sign-solid3d .design-layer.line.is-lit{box-shadow:var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-layer-side,var(--solid-side)), 0 0 16px var(--backlight-color), 0 0 34px color-mix(in srgb, var(--backlight-color), transparent 25%), var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c2e}.logo-placeholder{width:100%;height:100%;color:var(--layer-fill);place-items:center;display:grid;position:relative}.logo-placeholder span{aspect-ratio:1;border:12px solid;border-right-color:#0000;border-radius:999px;width:72%;transform:rotate(-16deg)}.logo-placeholder i{border-bottom:10px solid;border-left:10px solid;width:42%;height:26%;position:absolute;transform:rotate(-44deg)translate(2%,4%)}.sign-board.sign-solid3d .logo-placeholder{color:var(--solid-layer-face,var(--solid-face));filter:drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-layer-side,var(--solid-side))) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c2e)}.sign-board.sign-halo .design-layer.text span{color:var(--solid-layer-face,var(--layer-fill));-webkit-text-fill-color:var(--solid-layer-face,var(--layer-fill));text-shadow:1px 1px 0 color-mix(in srgb, var(--solid-layer-side,var(--solid-side)), transparent 30%), var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c29;background:0 0}.sign-board.sign-halo .design-layer.text.is-backlit:before{content:attr(data-layer-text);z-index:1;color:var(--backlight-color);font-size:var(--layer-font-size,24px);font-weight:inherit;letter-spacing:inherit;white-space:nowrap;opacity:.74;filter:blur(11px);text-shadow:0 0 14px var(--backlight-color), 0 0 34px color-mix(in srgb, var(--backlight-color), transparent 14%), 0 0 62px color-mix(in srgb, var(--backlight-color), transparent 42%);pointer-events:none;justify-content:center;align-items:center;line-height:.92;display:flex;position:absolute;inset:-24%;transform:scale(1.14)}.sign-board.sign-halo .design-layer.logo img{filter:drop-shadow(1px 1px 0 color-mix(in srgb, var(--solid-layer-side,var(--solid-side)), transparent 28%)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c29)}.sign-board.sign-halo .design-layer.logo.is-lit img{filter:drop-shadow(0 0 12px var(--backlight-color)) drop-shadow(0 0 30px color-mix(in srgb, var(--backlight-color), transparent 24%)) drop-shadow(1px 1px 0 color-mix(in srgb, var(--solid-layer-side,var(--solid-side)), transparent 28%)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c29)}.sign-board.sign-halo .svg-logo-mask{background:var(--solid-layer-gradient,var(--solid-layer-face,var(--solid-face)));filter:drop-shadow(1px 1px 0 color-mix(in srgb, var(--solid-layer-side,var(--solid-side)), transparent 24%)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c29)}.sign-board.sign-halo .design-layer.logo.is-backlit .svg-logo-mask,.sign-board.sign-halo .design-layer.logo.is-backlit .logo-placeholder{filter:drop-shadow(0 0 13px var(--backlight-color)) drop-shadow(0 0 32px color-mix(in srgb, var(--backlight-color), transparent 24%)) drop-shadow(1px 1px 0 color-mix(in srgb, var(--solid-layer-side,var(--solid-side)), transparent 24%)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c29)}.sign-board.sign-halo .design-layer.shape,.sign-board.sign-halo .design-layer.line{box-shadow:1px 1px 0 color-mix(in srgb, var(--solid-layer-side,var(--solid-side)), transparent 24%), var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c26;background:var(--solid-layer-gradient,var(--solid-layer-face,var(--layer-fill)))!important}.sign-board.sign-halo .design-layer.shape.is-backlit,.sign-board.sign-halo .design-layer.line.is-backlit{box-shadow:0 0 14px var(--backlight-color), 0 0 34px color-mix(in srgb, var(--backlight-color), transparent 18%), 1px 1px 0 color-mix(in srgb, var(--solid-layer-side,var(--solid-side)), transparent 24%), var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c26}.sign-board.sign-halo .logo-placeholder{color:var(--solid-layer-face,var(--layer-fill));filter:drop-shadow(1px 1px 0 color-mix(in srgb, var(--solid-layer-side,var(--solid-side)), transparent 24%)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c29)}.sign-board.sign-resinled .design-layer.text span{color:var(--resin-fill);-webkit-text-fill-color:var(--resin-fill);-webkit-text-stroke:clamp(.55px, calc(var(--depth-factor) * .06px), 1.45px) var(--solid-face);paint-order:stroke fill;text-shadow:var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side), var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c2e;background:0 0}.sign-board.sign-resinled .design-layer.text.is-backlit:before{display:none}.sign-board.sign-resinled .design-layer.text.is-backlit span{color:color-mix(in srgb, var(--backlight-color), #fff 8%);-webkit-text-fill-color:color-mix(in srgb, var(--backlight-color), #fff 8%);-webkit-text-stroke:clamp(.65px, calc(var(--depth-factor) * .07px), 1.6px) var(--solid-face);filter:saturate(1.22)brightness(1.08);text-shadow:var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side), var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c29;background:0 0}.sign-board.sign-resinled .design-layer.logo.is-backlit:before{content:"";z-index:0;border-radius:inherit;background:var(--resin-lit-gradient);box-shadow:inset 0 0 16px color-mix(in srgb, var(--backlight-color), #fff 16%), inset 0 0 34px color-mix(in srgb, var(--backlight-color), transparent 24%);pointer-events:none;position:absolute;inset:0}.sign-board.sign-resinled .design-layer.logo.placeholder-logo-layer.is-backlit:before{display:none}.sign-board.sign-resinled .design-layer.logo.is-backlit>*{z-index:1;position:relative}.sign-board.sign-resinled .design-layer.logo img{border-radius:inherit;background:var(--resin-face-gradient);outline:clamp(1px, calc(var(--depth-factor) * .1px), 2px) solid var(--solid-face);filter:drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c29);padding:2px}.sign-board.sign-resinled .design-layer.logo.is-backlit img{background:var(--resin-lit-gradient);box-shadow:inset 0 0 18px color-mix(in srgb, var(--backlight-color), #fff 24%), inset 0 0 34px color-mix(in srgb, var(--backlight-color), transparent 38%);filter:drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c24)}.sign-board.sign-resinled .svg-logo-mask{background:var(--resin-face-gradient);-webkit-mask:var(--svg-logo-src) center / contain no-repeat;-webkit-mask:var(--svg-logo-src) center / contain no-repeat;mask:var(--svg-logo-src) center / contain no-repeat;filter:drop-shadow(0 0 0 var(--solid-face)) drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c29)}.sign-board.sign-resinled .design-layer.logo.is-backlit .svg-logo-mask,.sign-board.sign-resinled .design-layer.logo.is-backlit .logo-placeholder{background:var(--resin-lit-gradient);filter:drop-shadow(0 0 0 var(--solid-face)) drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c24)}.sign-board.sign-resinled .design-layer.shape,.sign-board.sign-resinled .design-layer.line{border-color:var(--solid-face);border-width:clamp(1px, calc(var(--depth-factor) * .1px), 2px);box-shadow:var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side), inset 0 0 12px #ffffffbd, var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c29;background:var(--resin-face-gradient)!important}.sign-board.sign-resinled .design-layer.shape.is-backlit,.sign-board.sign-resinled .design-layer.line.is-backlit{box-shadow:var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side), inset 0 0 18px color-mix(in srgb, var(--backlight-color), #fff 22%), inset 0 0 34px color-mix(in srgb, var(--backlight-color), transparent 28%), var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c24;background:var(--resin-lit-gradient)!important}.sign-board.sign-resinled .logo-placeholder{color:var(--resin-fill);-webkit-text-stroke:1px var(--solid-face);border:clamp(1px, calc(var(--depth-factor) * .1px), 2px) solid var(--solid-face);border-radius:inherit;background:var(--resin-face-gradient);box-shadow:inset 0 0 12px #ffffffbd, var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side);filter:drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c29);overflow:hidden}.sign-board.sign-resinled .design-layer.logo.is-backlit .logo-placeholder{color:color-mix(in srgb, var(--backlight-color), #fff 6%);box-shadow:inset 0 0 18px color-mix(in srgb, var(--backlight-color), #fff 18%), inset 0 0 36px color-mix(in srgb, var(--backlight-color), transparent 30%), var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side)}.sign-board.sign-resinled .design-layer.logo.is-backlit .logo-placeholder span,.sign-board.sign-resinled .design-layer.logo.is-backlit .logo-placeholder i{filter:saturate(1.28) brightness(1.08) drop-shadow(0 0 0 var(--solid-face))}.sign-board.sign-resinled .design-layer.logo.placeholder-logo-layer .logo-placeholder{color:var(--resin-fill);-webkit-text-stroke:0;box-shadow:none;filter:drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0f171c29);background:0 0;border:0;overflow:visible}.sign-board.sign-resinled .design-layer.logo.placeholder-logo-layer.is-backlit .logo-placeholder{color:color-mix(in srgb, var(--backlight-color), #fff 8%);box-shadow:none;background:0 0}.sign-board.sign-resinled .design-layer.logo.placeholder-logo-layer .logo-placeholder span,.sign-board.sign-resinled .design-layer.logo.placeholder-logo-layer .logo-placeholder i{filter:drop-shadow(1px 0 0 var(--solid-face)) drop-shadow(-1px 0 0 var(--solid-face)) drop-shadow(0 1px 0 var(--solid-face)) drop-shadow(0 -1px 0 var(--solid-face))}.sign-board.sign-resinled .design-layer.logo.placeholder-logo-layer.is-backlit .logo-placeholder span,.sign-board.sign-resinled .design-layer.logo.placeholder-logo-layer.is-backlit .logo-placeholder i{filter:saturate(1.18) brightness(1.08) drop-shadow(1px 0 0 var(--solid-face)) drop-shadow(-1px 0 0 var(--solid-face)) drop-shadow(0 1px 0 var(--solid-face)) drop-shadow(0 -1px 0 var(--solid-face))}.scene-row{border:1px solid var(--line);background:#ffffffd1;border-radius:8px;min-height:48px;padding:8px;overflow-x:auto}.scene-row span{color:var(--muted);white-space:nowrap;margin:0 4px;font-size:12px;font-weight:700}.scene-row button{white-space:nowrap;border:1px solid var(--line);color:#22313a;cursor:pointer;background:#fff;border-radius:999px;min-height:32px;padding:0 10px;font-size:12px}.scene-row button.active{color:#073b36;background:#ddf7f2;border-color:#9be2d7}.inspector-card,.order-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px}.led-grid{grid-template-columns:repeat(8,1fr);gap:7px;display:grid}.led-swatch{aspect-ratio:1;background:radial-gradient(circle at 32% 26%, #fff 0 12%, transparent 13%), var(--swatch);cursor:pointer;border:1px solid #0000001f;border-radius:999px;width:100%;box-shadow:0 0 #0000}.led-swatch.active{box-shadow:0 0 0 3px #fff, 0 0 0 5px #122026cc, 0 0 22px var(--swatch)}.led-readout{border:1px solid var(--line);background:#f7fafb;border-radius:8px;align-items:center;gap:10px;margin-top:12px;padding:9px;display:flex}.led-readout>span{border-radius:999px;width:30px;height:30px;box-shadow:0 0 18px}.led-readout.print-readout>span{box-shadow:none;background:linear-gradient(90deg,#00a3d8 0 25%,#f4d03f 25% 50%,#e44d63 50% 75%,#1f2937 75% 100%);border-radius:7px;place-items:center;display:grid;position:relative}.led-readout.print-readout>span:after{content:"4C";color:#fff;letter-spacing:0;text-shadow:0 1px 2px #00000047;font-size:10px;font-weight:900}.led-readout strong,.led-readout small{display:block}.led-readout strong{font-size:12px}.led-readout small,.empty-state,.production-note{color:var(--muted);font-size:11px}.acryl-led-control{gap:12px;display:grid}.acryl-led-control .led-readout{border-color:color-mix(in srgb, var(--led), #d6e4e9 64%);background:radial-gradient(circle at 20% 50%, color-mix(in srgb, var(--led), transparent 78%), transparent 42%), #f7fafb;margin-top:0}.custom-led-fields{grid-template-columns:.72fr 1fr;gap:8px;display:grid}.custom-led-fields label{color:#4f5e66;gap:5px;font-size:11px;font-weight:700;display:grid}.panel-hint{color:var(--muted);margin:-4px 0 10px;font-size:11px;line-height:1.4}.property-stack label{color:#4f5e66;gap:5px;font-size:11px;font-weight:700;display:grid}.property-stack input,.property-stack select,.order-form input,.order-form textarea{border:1px solid var(--line);color:#172027;background:#fff;border-radius:7px;outline:0;width:100%;min-height:34px;padding:8px 9px;font-size:12px}.property-stack input:focus,.property-stack select:focus,.order-form input:focus,.order-form textarea:focus{border-color:#1fb3a4;box-shadow:0 0 0 3px #1fb3a421}.font-control{border:1px solid var(--line);background:#f7fafb;border-radius:8px;gap:8px;padding:10px;display:grid}.font-upload-row{grid-template-columns:minmax(0,1fr);gap:5px;display:grid}.font-upload-button{cursor:pointer;background:#e6f8f4;border:1px solid #b4e7dd;border-radius:7px;justify-content:center;align-items:center;min-height:34px;color:#063b38!important;gap:7px!important;font-size:12px!important;font-weight:800!important;display:inline-flex!important}.font-upload-button input{display:none}.font-upload-row small{color:var(--muted);font-size:10px;line-height:1.35}.font-upload-error{color:var(--danger);margin:0;font-size:11px;line-height:1.35}.vector-panel{border:1px solid var(--line);background:#f7fafb;border-radius:8px;gap:9px;padding:10px;display:grid}.vector-panel.ready{background:#f3fbf8;border-color:#b8dfd8}.vector-panel.needs-vector{background:#fffaf0;border-color:#f2d38b}.vector-panel-head{align-items:flex-start;gap:8px;display:flex}.vector-panel-head>span{color:#08665f;background:#1fb3a41f;border-radius:7px;flex:none;place-items:center;width:26px;height:26px;display:grid}.vector-panel.needs-vector .vector-panel-head>span{color:#8b5c00;background:#f5b04129}.vector-panel-head strong,.vector-panel-head small{display:block}.vector-panel-head strong{color:#27343d;font-size:12px}.vector-panel-head small,.vector-preset-note{color:var(--muted);font-size:11px;line-height:1.35}.vector-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.vector-preview-grid figure{gap:5px;min-width:0;margin:0;display:grid}.vector-preview-grid figure span{color:var(--muted);font-size:10px;font-weight:800}.vector-preview-grid img{aspect-ratio:1.8;object-fit:contain;background-color:#fff;background-image:linear-gradient(45deg,#94a3b826 25%,#0000 25% 75%,#94a3b826 75%),linear-gradient(45deg,#94a3b826 25%,#0000 25% 75%,#94a3b826 75%),none;background-position:0 0,8px 8px;background-repeat:repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #d9e3e7;border-radius:7px;width:100%;display:block}.vector-action{color:#063b38;cursor:pointer;background:#ddf7f2;border:1px solid #98ddd2;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:34px;font-size:12px;font-weight:800;display:inline-flex}.vector-action:disabled{opacity:.62}.vector-progress{background:#e3ecef;border-radius:999px;height:7px;overflow:hidden}.vector-progress span{border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#55d8ff);height:100%;transition:width .16s;display:block}.vector-error{color:var(--danger);margin:0;font-size:11px;line-height:1.35}.resin-fill-note{background:radial-gradient(circle at 18% 20%, color-mix(in srgb, var(--backlight-color,#fff2d9), transparent 76%), transparent 42%), linear-gradient(135deg, #fff, #edf9fb);border:1px solid #d5e4e8;border-radius:8px;gap:4px;padding:10px;display:grid}.resin-fill-note span,.resin-fill-note small{color:var(--muted);font-size:11px}.resin-fill-note strong{color:#172027;font-size:12px}.print-layer-note{background:linear-gradient(90deg,#00a3d814,#f4d03f14,#e44d6314),#f7fafb;border:1px solid #d9e3e7;border-radius:8px;gap:4px;padding:10px;display:grid}.print-layer-note strong{color:#27343d;font-size:12px}.print-layer-note small{color:var(--muted);font-size:11px;line-height:1.35}.backlight-panel{border:1px solid var(--line);background:#f7fafb;border-radius:8px;gap:9px;padding:10px;display:grid}.backlight-panel.active{background:radial-gradient(circle at 16% 12%, color-mix(in srgb, var(--backlight-color,#fff2d9), transparent 72%), transparent 42%), #fffaf0;border-color:#f2d38b}.backlight-title{color:#27343d;font-size:12px}.backlight-swatches{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.backlight-swatches button{aspect-ratio:1;background:radial-gradient(circle at 32% 26%, #fff 0 12%, transparent 13%), var(--swatch);cursor:pointer;border:1px solid #0f172a29;border-radius:999px;width:100%;box-shadow:0 0 #0000}.backlight-swatches button.active{box-shadow:0 0 0 2px #fff, 0 0 0 4px #122026c7, 0 0 18px var(--swatch)}.dual-input{grid-template-columns:1fr 1fr;gap:8px;display:grid}.triple-input,.quad-input{gap:6px;display:grid}.triple-input{grid-template-columns:repeat(3,1fr)}.quad-input{grid-template-columns:repeat(4,1fr)}.color-opacity{align-items:end}.color-opacity label:only-child{grid-column:1/-1}.property-stack input[type=color]{height:34px;padding:3px}.property-stack input[type=range]{padding:0}.custom-color-panel{border:1px solid var(--line);background:#f7fafb;border-radius:8px;gap:8px;padding:10px;display:grid}.custom-color-head,.color-mode-row{align-items:center;gap:6px;display:flex}.custom-color-head{color:#27343d;justify-content:space-between;font-size:12px;font-weight:800}.custom-color-head i{border:1px solid #0f172a29;border-radius:7px;width:28px;height:28px;box-shadow:inset 0 0 0 2px #ffffff73}.color-mode-row{background:#fff;border:1px solid #d9e3e7;border-radius:7px;padding:3px}.color-mode-row button{color:#596872;cursor:pointer;background:0 0;border-radius:5px;flex:1;min-height:28px;font-size:11px;font-weight:800}.color-mode-row button.active{color:#063b38;background:#dff8f3}.custom-color-panel small{color:var(--muted);font-size:10px;line-height:1.35}.checkbox-row{border:1px solid var(--line);background:#f7fafb;border-radius:7px;align-items:center;padding:8px 9px;grid-template-columns:none!important;gap:8px!important;display:flex!important}.checkbox-row input{width:auto;min-height:auto}.layer-card{min-height:210px}.layers-list{gap:6px;display:grid}.layer-row{grid-template-columns:24px minmax(0,1fr) 24px 24px 24px;align-items:center;gap:7px;padding:8px;font-size:12px;display:grid}.layer-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.layer-icon,.icon-toggle{color:#4d5a61;background:#f3f7f8;border-radius:6px;place-items:center;width:24px;height:24px;display:grid}.icon-toggle{cursor:pointer}.danger-toggle{color:var(--danger);background:#fff1f3}.danger-toggle:hover{background:#ffe4e8}.price-lines{margin-top:2px}.price-lines span,.price-lines b{color:#52606a;justify-content:space-between;gap:12px;font-size:12px;font-weight:500;display:flex}.price-lines b{border-top:1px solid var(--line);color:#172027;padding-top:8px}.price-lines strong{color:#172027;white-space:nowrap}.production-note{margin-top:8px;display:block}.production-note.warning{color:#8a5a00;font-weight:700}.production-warning{color:#7a4b00;background:#fff7e6;border:1px solid #f1d18a;border-radius:8px;align-items:flex-start;gap:8px;margin-top:10px;padding:9px;font-size:11px;line-height:1.35;display:flex}.production-warning svg{flex:none;margin-top:1px}.inquiry-guidance{color:#39464d;border:1px solid var(--line);background:#f7fafb;border-radius:8px;gap:8px;margin-top:12px;padding:10px;font-size:11px;line-height:1.45;display:grid}.inquiry-guidance p{margin:0}.inquiry-guidance strong{color:#172027}.order-form{gap:8px;margin-top:12px;display:grid}.order-form textarea{resize:vertical;min-height:64px}.order-submit-message{margin:0}.submit-button{width:100%;min-height:40px}.submit-button:disabled{cursor:not-allowed;opacity:.72}.inquiry-success-modal{border:1px solid var(--line);background:#fff;border-radius:10px;width:min(620px,94vw);padding:18px;box-shadow:0 30px 90px #00000047}.inquiry-success-modal .modal-heading{align-items:flex-start}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a12169e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.render-modal{background:#fff;border-radius:10px;grid-template-rows:auto minmax(280px,1fr) auto;gap:12px;width:min(1120px,96vw);max-height:94vh;padding:14px;display:grid;overflow:hidden;box-shadow:0 30px 90px #00000047}.product-info-modal{color:#13272d;background:#fff;border-radius:10px;grid-template-rows:auto minmax(0,1fr);gap:14px;width:min(1180px,96vw);max-height:94vh;padding:16px;display:grid;overflow:hidden;box-shadow:0 30px 90px #0000004d}.modal-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.modal-heading h2,.modal-heading p{margin:0}.modal-heading h2{font-size:18px}.modal-heading p{color:var(--muted);margin-top:3px;font-size:12px}.product-info-heading{align-items:flex-start}.product-info-eyebrow{color:#0f766e;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.product-info-body{gap:16px;min-height:0;padding-right:4px;display:grid;overflow:auto}.product-info-hero{background:#dde6e8;border-radius:8px;min-height:320px;margin:0;position:relative;overflow:hidden}.product-info-hero img{object-fit:cover;width:100%;height:100%;min-height:320px;display:block}.product-info-hero figcaption{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#091418ad;border:1px solid #ffffff2e;border-radius:8px;gap:3px;padding:12px;display:grid;position:absolute;bottom:14px;left:14px;right:14px}.product-info-hero figcaption strong,.product-info-gallery figcaption strong{font-size:13px}.product-info-hero figcaption span,.product-info-gallery figcaption span{font-size:11px;line-height:1.45}.product-info-highlights{flex-wrap:wrap;gap:8px;display:flex}.product-info-highlights span{color:#0b3f3b;background:#ecfffb;border:1px solid #c5eee5;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:700;display:inline-flex}.product-info-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.product-info-sections section{border:1px solid var(--line);background:#f7faf9;border-radius:8px;padding:14px}.product-info-sections h3,.product-info-section-title h3{margin:0 0 6px;font-size:14px}.product-info-sections p,.product-info-section-title p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.product-info-gallery{gap:10px;display:grid}.product-info-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.product-info-gallery figure{border:1px solid var(--line);background:#f7faf9;border-radius:8px;margin:0;overflow:hidden}.product-info-gallery img{aspect-ratio:16/10;object-fit:cover;background:#dfe7e9;width:100%;display:block}.product-info-gallery figcaption{gap:3px;padding:10px;display:grid}.product-info-gallery figcaption span{color:var(--muted)}.mockup-frame{aspect-ratio:5/3;background:#111b20;border-radius:8px;min-height:520px;position:relative;overflow:hidden}.render-modal.with-depth{grid-template-rows:auto minmax(260px,1fr) auto auto}.mockup-frame>img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.studio-scene{background:linear-gradient(#0000 0 72%,#21181124 72.2% 100%),linear-gradient(90deg,#ffffffb8,#0000 18% 76%,#0000001a),repeating-linear-gradient(90deg,#20282c0f 0 1px,#0000 1px 82px),linear-gradient(#e9edee,#f9fbfb 58%,#d6dcde);width:100%;min-height:520px;position:relative}.studio-scene:before{content:"";background:linear-gradient(90deg,#fffc,#f0f4f5eb),#fff;border:1px solid #717e862e;height:13%;position:absolute;bottom:13%;left:9%;right:9%;box-shadow:0 18px 40px #191e2224}.studio-scene:after{content:"";clip-path:polygon(0 42%,100% 18%,100% 100%,0 100%);background:linear-gradient(135deg,#ffffff59,#0000 38%),repeating-linear-gradient(90deg,#432f1f24 0 1px,#0000 1px 120px),#b9a58f;height:28%;position:absolute;bottom:0;left:5%;right:5%}.mockup-placement{transform-origin:50%;position:absolute}.mockup-placement.reception{width:42%;top:15%;left:29%;transform:none}.mockup-placement.studio{width:50%;top:25%;left:25%;transform:none}.mockup-placement.brick{width:50%;top:28%;left:25%;transform:none}.mockup-placement.facade{width:40%;top:32%;left:30%;transform:none}.mockup-placement.metal-scene{width:52%;top:27%;left:24%;transform:none}.mockup-sign{width:var(--surface-render-width,100%);height:auto;aspect-ratio:var(--surface-aspect-ratio,140 / 52);margin:0 auto}.mockup-sign .design-layer.selected{border-color:#0000;outline:0}.depth-preview{border-top:1px solid var(--line);background:linear-gradient(90deg,#ffffffe0,#f7fafbf2),#f7fafb;padding:12px 16px 14px}.depth-preview.compact{border:1px solid var(--line);background:#f7fafb;border-radius:8px;padding:10px 12px}.depth-preview-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.depth-preview-header strong,.depth-preview-header span,.depth-preview-header b{display:block}.depth-preview-header strong{color:#26323b;font-size:13px}.depth-preview-header span{color:var(--muted);margin-top:2px;font-size:11px}.depth-preview-header b{color:#172027;white-space:nowrap;font-size:12px}.depth-scene{background:linear-gradient(#ffffff9e,#0000 46%),repeating-linear-gradient(90deg,#1420260b 0 1px,#0000 1px 48px),linear-gradient(135deg,#e7ecee,#fbfbfa);border:1px solid #dbe3e7;border-radius:8px;height:96px;position:relative;overflow:hidden}.depth-wall{background:linear-gradient(90deg,#cfd6d9,#fff);border-radius:3px;width:12px;position:absolute;top:12px;bottom:12px;left:16%;box-shadow:inset -1px 0 #4e5b632e,10px 0 22px #0c151a14}.depth-wall span{color:#66727c;font-size:11px;font-weight:700;position:absolute;top:50%;left:-42px;transform:translateY(-50%)rotate(-90deg)}.depth-shadow{width:calc(var(--depth-side-width) + 38px);filter:blur(16px);background:#0c141829;border-radius:999px;height:30px;position:absolute;top:36px;left:calc(16% + 16px);transform:translate(8px,15px)}.depth-letter{width:calc(var(--depth-side-width) + 22px);filter:drop-shadow(10px 13px 15px #0f171c2e);height:35px;position:absolute;top:30px;left:calc(16% + 12px)}.depth-letter-side{width:var(--depth-side-width);background:linear-gradient(90deg, color-mix(in srgb, var(--solid-side), #fff 18%), var(--solid-side)), var(--solid-side);clip-path:polygon(0 0,100% 15%,100% 100%,0 86%);height:25px;position:absolute;top:5px;left:0}.depth-letter-front{left:var(--depth-side-width);background:var(--material-face-gradient);border:1px solid #ffffff6b;border-radius:3px;width:22px;height:35px;position:absolute;top:0;box-shadow:inset -1px 0 #00000024}.depth-letter-led{left:calc(var(--depth-side-width) + 7px);z-index:2;background:#fff2d9;border-radius:999px;width:7px;height:25px;position:absolute;top:5px;box-shadow:0 0 8px #fff2d9,0 0 18px #fff2d9d6}.depth-preview.depth-resinled .depth-letter-side{background:linear-gradient(90deg, color-mix(in srgb, var(--solid-side), #fff 20%), var(--solid-side)), var(--solid-side)}.depth-preview.depth-resinled .depth-letter-front{border:2px solid var(--solid-face);background:radial-gradient(circle,#fff5e3,#0000 68%),linear-gradient(135deg,#fff,#ecf9fb 62%,#f8feff);width:25px;box-shadow:inset 0 0 14px #fff2d9c2}.depth-measure{width:var(--depth-side-width);border-top:1px solid #64727b;position:absolute;top:70px;left:calc(16% + 16px)}.depth-measure:before,.depth-measure:after{content:"";background:#64727b;width:1px;height:9px;position:absolute;top:-5px}.depth-measure:before{left:0}.depth-measure:after{right:0}.depth-measure span{color:#34434c;white-space:nowrap;background:#ffffffd1;border:1px solid #9ba9b273;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:800;position:absolute;top:6px;left:50%;transform:translate(-50%)}.render-footer{color:#3b4850;justify-content:space-between;gap:12px;font-size:13px}.render-footer span{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.preview-night .preview-toggle{background:#17242b;border-color:#314852;box-shadow:inset 0 0 0 1px #ffffff08}.preview-night .preview-toggle button{color:#b8c8ce}.preview-night .preview-toggle button.active{color:#f5fbff;background:#2a4350;box-shadow:inset 0 0 0 1px #9ddae847,0 0 18px #5bb4d633}.preview-night .canvas-stage{background:linear-gradient(90deg,#d6edf50f 1px,#0000 1px) 0 0/28px 28px,linear-gradient(#d6edf50f 1px,#0000 1px) 0 0/28px 28px,radial-gradient(circle at 48% 34%,#507f9233,#0000 42%),#121c22}.preview-night .surface-viewport{background:radial-gradient(circle at 50% 42%,#6ca0ae29,#0000 54%),linear-gradient(#ffffff05,#0000 48%)}.preview-night .wall-surface{background:radial-gradient(circle at 54% 32%,#e1f0f51f,#0000 30%),linear-gradient(120deg,#243138,#111a20 56%,#2b3940);border-color:#334852;box-shadow:inset 0 0 0 1px #ffffff0d,inset 0 0 50px #00000038,0 34px 90px #00000073}.preview-night .wall-surface.free-workspace{background-color:#09111657;background-image:linear-gradient(90deg,#c9f4ed13 1px,#0000 1px),linear-gradient(#c9f4ed13 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-color:#8ef5e78a;box-shadow:inset 0 0 0 1px #ffffff0a,0 22px 54px #00000057}.preview-night .wall-surface.halo-workspace{background:radial-gradient(circle at 54% 38%,#ffffff12,#0000 36%),linear-gradient(90deg,#c9f4ed13 1px,#0000 1px) 0 0/20px 20px,linear-gradient(#c9f4ed13 1px,#0000 1px) 0 0/20px 20px,#09111657;border-color:#8ef5e77a}.preview-night .wall-surface.resinled-workspace{background:radial-gradient(circle at 54% 38%,#ffffff14,#0000 36%),linear-gradient(90deg,#c9f4ed13 1px,#0000 1px) 0 0/20px 20px,linear-gradient(#c9f4ed13 1px,#0000 1px) 0 0/20px 20px,#09111657;border-color:#b8ccd66b}.preview-night .wall-surface.print-workspace{border-color:#8497a06b}.preview-night .wall-surface.roundprojecting-workspace{background:linear-gradient(90deg,#8bf5e60d 1px,#0000 1px) 0 0/20px 20px,linear-gradient(#8bf5e60d 1px,#0000 1px) 0 0/20px 20px,#0e191f7a;border-color:#8bf5e652}.preview-night .wall-surface.acrylledbox-workspace{border-color:#8bf5e647}.preview-night .ruler-overlay{color:#b8f4ec}.preview-night .ruler{background:linear-gradient(#111d23e6,#0b141ac2);border-color:#87c4cc3d}.preview-night .ruler-x:before{background:repeating-linear-gradient(90deg,#8bf5e680 0 1px,#0000 1px 10%),repeating-linear-gradient(90deg,#0000 0 4.8%,#8bf5e642 4.8% 5%,#0000 5% 10%)}.preview-night .ruler-y:before{background:repeating-linear-gradient(#8bf5e680 0 1px,#0000 1px 10%),repeating-linear-gradient(#0000 0 4.8%,#8bf5e642 4.8% 5%,#0000 5% 10%)}.preview-night .ruler-label{text-shadow:0 1px 3px #000000e0}.preview-night .design-layer.selected{border-color:#72f4e4;outline-color:#72f4e457}.preview-night .sign-board:not(.sign-solid3d) .design-layer:not(.is-lit){filter:saturate(.82)brightness(.86)}.preview-night .sign-board.sign-print,.render-modal.preview-night .mockup-sign.sign-print{box-shadow:8px 10px 0 color-mix(in srgb, var(--solid-side), transparent 46%), 0 18px 42px #00000042, inset 0 1px 0 #ffffff94}.preview-night .sign-board.sign-print .design-layer,.preview-night .sign-board.sign-print .design-layer:not(.is-lit){filter:none!important}.preview-night .sign-board.sign-leddisplay,.render-modal.preview-night .mockup-sign.sign-leddisplay{box-shadow:0 0 34px #d6f3ffb8, 7px 10px 0 color-mix(in srgb, var(--solid-side), transparent 40%), 0 22px 46px #0000006b, inset 0 0 0 10px color-mix(in srgb, var(--solid-side), #fff 8%), inset 0 0 0 13px color-mix(in srgb, var(--solid-side), #fff 62%), inset 0 0 52px #ffffff8f;background:radial-gradient(circle at 50% 45%,#fff,#d6f3fff0 62%,#f6fcfffa 100%)}.preview-night .sign-board.sign-leddisplay .design-layer,.preview-night .sign-board.sign-leddisplay .design-layer:not(.is-lit){filter:none!important}.preview-night .sign-board.sign-roundprojecting{background:linear-gradient(90deg,#8bf5e60b 1px,#0000 1px) 0 0/20px 20px,linear-gradient(#8bf5e60b 1px,#0000 1px) 0 0/20px 20px,#0e191f38;box-shadow:inset 0 0 0 1px #8bf5e62e,0 20px 46px #00000047}.preview-night .round-guide-circle{border-color:#8bf5e6bd;box-shadow:0 0 0 999px #030c1133,0 0 30px #d6f3ff47,inset 0 0 32px #d6f3ff2e}.preview-night .round-guide-label{color:#d9ffff;background:#0b191fc2;border-color:#8bf5e652}.preview-night .sign-board.sign-roundprojecting .design-layer,.preview-night .sign-board.sign-roundprojecting .design-layer:not(.is-lit){filter:none!important}.preview-night .sign-board.sign-acrylledbox,.render-modal.preview-night .mockup-sign.sign-acrylledbox{background:radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--led), #fff 28%), color-mix(in srgb, var(--led), #fff 66%) 64%, #f7fdfff2 100%);box-shadow:0 0 48px color-mix(in srgb, var(--led), transparent 18%), 10px 14px 0 color-mix(in srgb, var(--led), #d9e8ed 66%), 0 26px 54px #0000006b, inset 0 0 72px color-mix(in srgb, var(--led), transparent 24%)}.preview-night .sign-board.sign-acrylledbox:before{opacity:.95;background:linear-gradient(135deg, #ffffff85, transparent 26% 78%, color-mix(in srgb, var(--led), transparent 54%)), radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--led), transparent 38%), transparent 68%)}.preview-night .sign-board.sign-acrylledbox .design-layer,.preview-night .sign-board.sign-acrylledbox .design-layer:not(.is-lit){filter:none!important}.preview-night .sign-board.sign-solid3d .design-layer:not(.is-backlit){filter:saturate(.88)brightness(.9)}.preview-night .sign-board.sign-resinled .design-layer:not(.is-backlit){filter:saturate(.8)brightness(.82)}.preview-night .sign-board.sign-halo:before{display:none}.preview-night .sign-board.sign-lightbox,.preview-night .sign-board.sign-pushthrough,.preview-night .sign-board.sign-metal{box-shadow:0 0 28px color-mix(in srgb, var(--led), transparent 58%), 20px 28px 48px #00000070, inset 0 1px 0 #ffffff5c}.preview-night .sign-board.sign-lightbox{background:linear-gradient(145deg,#cfdce1,#f7fdff 42%,#93a2aa);border-color:#526a75}.preview-night .sign-board.sign-lightbox:before{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--led), transparent 48%), transparent 68%);filter:blur(30px);opacity:.9;inset:-5%}.preview-night .sign-board.sign-pushthrough{background:linear-gradient(90deg,#ffffff38,#0000 12% 82%,#00000042),#16242c;border-color:#091217}.preview-night .sign-board.sign-pushthrough:before{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--led), transparent 38%), transparent 72%);filter:blur(28px);inset:-6%}.preview-night .sign-board.sign-metal{background:linear-gradient(118deg,#ffffff75,#0000 20% 72%,#050b0e6b),linear-gradient(135deg,#8c999f,#d4dde1 34%,#5f6d73 73%,#aab5ba);border-color:#5d6c73}.preview-night .sign-board-sheen{opacity:.24}.preview-night .design-layer.text.is-lit span{text-shadow:0 0 6px #fffffff5, 0 0 20px var(--led), 0 0 44px var(--led), 0 0 76px color-mix(in srgb, var(--led), transparent 28%)}.preview-night .design-layer.logo.is-lit img,.preview-night .design-layer.logo.is-lit .logo-placeholder{filter:drop-shadow(0 0 10px var(--led)) drop-shadow(0 0 28px color-mix(in srgb, var(--led), transparent 16%)) drop-shadow(0 0 54px color-mix(in srgb, var(--led), transparent 42%))}.preview-night .design-layer.shape.is-lit,.preview-night .design-layer.line.is-lit{box-shadow:0 0 18px var(--led), 0 0 42px color-mix(in srgb, var(--led), transparent 12%), 0 0 70px color-mix(in srgb, var(--led), transparent 44%)}.preview-night .sign-board.sign-solid3d .design-layer.text.is-backlit:before{opacity:1;filter:blur(14px);text-shadow:0 0 14px var(--backlight-color), 0 0 34px color-mix(in srgb, var(--backlight-color), transparent 10%), 0 0 68px color-mix(in srgb, var(--backlight-color), transparent 26%), 0 0 94px color-mix(in srgb, var(--backlight-color), transparent 44%);transform:scale(1.12)}.preview-night .sign-board.sign-solid3d .design-layer.logo.is-lit img{filter:drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-layer-side,var(--solid-side))) drop-shadow(0 0 18px var(--backlight-color)) drop-shadow(0 0 42px color-mix(in srgb, var(--backlight-color), transparent 14%)) drop-shadow(0 0 74px color-mix(in srgb, var(--backlight-color), transparent 38%)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0000006b)}.preview-night .sign-board.sign-solid3d .design-layer.logo.is-backlit .svg-logo-mask,.preview-night .sign-board.sign-solid3d .design-layer.logo.is-backlit .logo-placeholder{filter:drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-layer-side,var(--solid-side))) drop-shadow(0 0 18px var(--backlight-color)) drop-shadow(0 0 44px color-mix(in srgb, var(--backlight-color), transparent 12%)) drop-shadow(0 0 78px color-mix(in srgb, var(--backlight-color), transparent 38%)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0000006b)}.preview-night .sign-board.sign-solid3d .design-layer.shape.is-lit,.preview-night .sign-board.sign-solid3d .design-layer.line.is-lit{box-shadow:var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-layer-side,var(--solid-side)), 0 0 24px var(--backlight-color), 0 0 52px color-mix(in srgb, var(--backlight-color), transparent 14%), 0 0 88px color-mix(in srgb, var(--backlight-color), transparent 40%), var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0000006b}.preview-night .sign-board.sign-resinled .design-layer.text.is-backlit:before{display:none}.preview-night .sign-board.sign-resinled .design-layer.text.is-backlit span{color:color-mix(in srgb, var(--backlight-color), #fff 6%);-webkit-text-fill-color:color-mix(in srgb, var(--backlight-color), #fff 6%);text-shadow:var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side), var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0000005c;background:0 0}.preview-night .sign-board.sign-resinled .design-layer.logo.is-backlit img,.preview-night .sign-board.sign-resinled .design-layer.logo.is-backlit .svg-logo-mask,.preview-night .sign-board.sign-resinled .design-layer.logo.is-backlit .logo-placeholder{background:radial-gradient(circle at 50% 50%, var(--backlight-color) 0 44%, color-mix(in srgb, var(--backlight-color), #fff 24%) 68%, #eefcff 100%), var(--resin-face-gradient);filter:drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0000005c)}.preview-night .sign-board.sign-resinled .design-layer.logo.placeholder-logo-layer.is-backlit:before{display:none}.preview-night .sign-board.sign-resinled .design-layer.logo.placeholder-logo-layer.is-backlit .logo-placeholder{box-shadow:none;filter:drop-shadow(var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0000005c);background:0 0}.preview-night .sign-board.sign-resinled .design-layer.shape.is-backlit,.preview-night .sign-board.sign-resinled .design-layer.line.is-backlit{box-shadow:var(--depth-extrude-x) var(--depth-extrude-y) 0 var(--solid-side), inset 0 0 24px color-mix(in srgb, var(--backlight-color), #fff 14%), inset 0 0 46px color-mix(in srgb, var(--backlight-color), transparent 18%), var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #00000057;background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--backlight-color), #fff 6%) 0 40%, color-mix(in srgb, var(--backlight-color), #fff 28%) 60%, transparent 82%), var(--resin-face-gradient)!important}.preview-night .sign-board.sign-halo .design-layer.text.is-lit span{text-shadow:1px 1px 0 color-mix(in srgb, var(--solid-layer-side,var(--solid-side)), transparent 12%), var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0000005c}.preview-night .sign-board.sign-halo .design-layer.text.is-backlit:before{opacity:1;filter:blur(15px);text-shadow:0 0 18px var(--backlight-color), 0 0 44px color-mix(in srgb, var(--backlight-color), transparent 10%), 0 0 82px color-mix(in srgb, var(--backlight-color), transparent 34%), 0 0 112px color-mix(in srgb, var(--backlight-color), transparent 50%);transform:scale(1.2)}.preview-night .sign-board.sign-halo .design-layer.logo.is-lit img,.preview-night .sign-board.sign-halo .design-layer.logo.is-backlit .svg-logo-mask,.preview-night .sign-board.sign-halo .design-layer.logo.is-backlit .logo-placeholder{filter:drop-shadow(0 0 18px var(--backlight-color)) drop-shadow(0 0 44px color-mix(in srgb, var(--backlight-color), transparent 12%)) drop-shadow(0 0 78px color-mix(in srgb, var(--backlight-color), transparent 42%)) drop-shadow(1px 1px 0 color-mix(in srgb, var(--solid-layer-side,var(--solid-side)), transparent 10%)) drop-shadow(var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #0000005c)}.preview-night .sign-board.sign-halo .design-layer.shape.is-backlit,.preview-night .sign-board.sign-halo .design-layer.line.is-backlit{box-shadow:0 0 20px var(--backlight-color), 0 0 48px color-mix(in srgb, var(--backlight-color), transparent 12%), 0 0 82px color-mix(in srgb, var(--backlight-color), transparent 42%), 1px 1px 0 color-mix(in srgb, var(--solid-layer-side,var(--solid-side)), transparent 10%), var(--depth-offset-small) var(--depth-offset-small) var(--depth-blur) #00000057}.render-modal.preview-night{color:#eef6f8;background:#111a20;border:1px solid #2b3f48}.render-modal.preview-night .modal-heading p,.render-modal.preview-night .render-footer{color:#a8bbc3}.render-modal.preview-night .ghost-button{color:#d9e9ee;background:#18262d;border-color:#314852}.render-modal.preview-night .mockup-frame{background:#071014;box-shadow:inset 0 0 0 1px #ffffff0a}.render-modal.preview-night .mockup-frame:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle at 46% 36%,#0000 0 30%,#01070b33 58%),#030a106b;position:absolute;inset:0}.render-modal.preview-night .mockup-frame>img{filter:brightness(.48)saturate(.88)contrast(1.08)}.render-modal.preview-night .studio-scene{background:linear-gradient(#0000 0 72%,#060a0d7a 72.2% 100%),linear-gradient(90deg,#637f883d,#0000 18% 76%,#0000006b),repeating-linear-gradient(90deg,#d2ebf40d 0 1px,#0000 1px 82px),linear-gradient(#1d2a31,#111a20 58%,#202b31)}.render-modal.preview-night .studio-scene:before{background:linear-gradient(90deg,#d0dfe438,#43555b70),#1b272e;border-color:#d3e7ee1a;box-shadow:0 18px 44px #0000006b}.render-modal.preview-night .studio-scene:after{background:linear-gradient(135deg,#ffffff14,#0000 38%),repeating-linear-gradient(90deg,#c5a88414 0 1px,#0000 1px 120px),#4c443a}.render-modal.preview-night .mockup-placement{z-index:2}.render-modal.preview-night .mockup-sign{filter:drop-shadow(0 22px 42px #00000075)}.depth-preview.preview-night{background:linear-gradient(90deg,#203038f2,#0e181ef5),#101920;border-color:#2e434d}.depth-preview.preview-night .depth-preview-header strong,.depth-preview.preview-night .depth-preview-header b{color:#edf8fa}.depth-preview.preview-night .depth-preview-header span{color:#a8bbc3}.depth-preview.preview-night .depth-scene{background:linear-gradient(#ffffff0f,#0000 46%),repeating-linear-gradient(90deg,#c9eaf40f 0 1px,#0000 1px 48px),linear-gradient(135deg,#17242b,#0b1318);border-color:#314852}.depth-preview.preview-night .depth-wall{background:linear-gradient(90deg,#56666d,#1c2a31);box-shadow:inset -1px 0 #ffffff14,12px 0 28px #00000047}.depth-preview.preview-night .depth-wall span{color:#a8bbc3}.depth-preview.preview-night .depth-shadow{background:#0000006b}.depth-preview.preview-night .depth-letter{filter:drop-shadow(10px 13px 18px #0000006b)}.depth-preview.preview-night.depth-resinled .depth-letter-front{background:radial-gradient(circle,#fff2d9db,#0000 70%),linear-gradient(135deg,#f8ffff,#b8d3d8);box-shadow:inset 0 0 18px #fff2d9e0}.depth-preview.preview-night.depth-resinled .depth-letter-led{box-shadow:0 0 12px #fff2d9,0 0 28px #fff2d9bd}.depth-preview.preview-night .depth-measure{border-color:#9fc6d0}.depth-preview.preview-night .depth-measure:before,.depth-preview.preview-night .depth-measure:after{background:#9fc6d0}.depth-preview.preview-night .depth-measure span{color:#eaf6f8;background:#0c151be6;border-color:#9fc6d06b}@media (width<=1180px){.workspace{grid-template-columns:248px minmax(420px,1fr)}.right-rail{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.order-card{grid-column:span 3}}@media (width<=820px){.app-shell{grid-template-rows:auto 1fr}.topbar{flex-direction:column;align-items:flex-start;padding:14px;position:static}.topbar-actions{width:100%;overflow-x:auto}.workspace{grid-template-columns:1fr;padding:10px}.left-rail,.right-rail{max-height:none}.right-rail{grid-template-columns:1fr}.order-card{grid-column:auto}.canvas-meta{flex-direction:column;align-items:flex-start}.canvas-actions,.zoom-control{width:100%}.canvas-actions{justify-content:flex-start}.upload-vector-callout{flex-direction:column;align-items:stretch}.vectorize-tool{width:100%}.zoom-control input{flex:1;min-width:92px}.canvas-wrap{min-height:560px}.canvas-stage{min-height:560px;padding:0}.surface-viewport{min-height:560px;padding:18px}.wall-surface{width:var(--surface-width,78%);max-width:100%}.design-layer.text span,.sign-board.sign-solid3d .design-layer.text.is-backlit:before,.sign-board.sign-halo .design-layer.text.is-backlit:before,.sign-board.sign-resinled .design-layer.text.is-backlit:before{font-size:var(--layer-font-size-mobile,14px)}.tool-button{min-width:76px}.mockup-frame,.studio-scene{min-height:360px}.modal-heading,.render-footer{flex-direction:column;align-items:flex-start}.product-info-modal{width:min(100%,96vw);max-height:94vh;padding:12px}.product-info-body{padding-right:0}.product-info-hero,.product-info-hero img{min-height:240px}.product-info-sections,.product-info-gallery-grid{grid-template-columns:1fr}.product-info-highlights span{width:100%}}
