@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-normal-BjhtXyW2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-normal-BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-normal-s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--label:#1d1b17;--secondary:#6f695f;--tertiary:#a29b8f;--separator:#1d1b171c;--fill:#6e64551c;--fill-strong:#6e645533;--background:#fcfaf6;--page:#f4f1ea;--grouped:#e9e5dd;--thumb:#dfdad0;--ink:#1d1b17;--accent:#e4572e;--accent-hover:#cf4a23;--accent-tint:#e4572e1f;--link:#c4441d;--green:#2f8f5b;--orange:#d98a12;--material:#fcfaf6e0;--blur:blur(14px);--font:"Instrument Sans Variable", system-ui, "Segoe UI", Roboto, Arial, sans-serif;--serif:"Newsreader Variable", "Iowan Old Style", Georgia, serif;--margin:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}html{scroll-behavior:smooth}body{background:var(--page);color:var(--label);font:400 16px/1.5 var(--font);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}h1,h2,h3{margin:0}a{color:var(--link);text-decoration:none}:focus-visible{outline-offset:2px;border-radius:6px;outline:3px solid #e4572e73}.btn{white-space:nowrap;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 18px;font-size:16px;font-weight:600;transition:background .2s,opacity .2s,transform .15s;display:inline-flex}.btn:not(:disabled):active{transform:translateY(1px)}.btn:disabled{opacity:.4}.btn-primary{background:var(--accent);color:#fff}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-large{min-height:50px;padding:0 26px}.btn-tinted{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);background:0 0}.btn-tinted:not(:disabled):hover{background:var(--fill)}.btn-plain{color:var(--link);background:0 0}.link{color:var(--link);font-size:inherit;background:0 0;border:0;padding:0}.link:not(:disabled):hover{text-decoration:underline}.link:disabled{color:var(--tertiary)}.icon-btn{width:44px;height:44px;color:var(--label);background:0 0;border:0;border-radius:12px;flex:none;place-items:center;transition:background .2s;display:grid}.icon-btn:not(:disabled):active{background:var(--fill)}.icon-btn:disabled{color:var(--tertiary)}.form-error{color:#c0341d;margin:12px 0 0;font-size:15px}.muted{color:var(--secondary)}.swatch{border-radius:4px;flex:none;width:16px;height:16px;box-shadow:inset 0 0 0 1px #00000024}.on-pointer{display:none}.segmented{border-bottom:1px solid var(--separator);gap:22px;display:flex}.segmented button{height:42px;color:var(--secondary);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:15px;font-weight:600;transition:color .2s,box-shadow .2s;display:inline-flex;box-shadow:inset 0 -2px #0000}.segmented button.is-active{color:var(--label);box-shadow:inset 0 -2px 0 var(--accent)}.count{color:var(--tertiary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.spinner{border:2px solid var(--fill-strong);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:block}.player-host{position:absolute;inset:0}.player-canvas{touch-action:none;width:100%;height:100%;display:block}.landing{--sand:#ebe6dc;--sand-2:#e2dccf;--surface:#fcfaf6;--ink-2:#4a453d;--muted:#6f695f;--dim:#a29b8f;--hair:#1d1b171c;--dots:#1d1b1726;background:var(--page);min-height:100dvh;color:var(--ink)}.landing a{color:inherit;text-decoration:none}.brand-word{font-family:var(--serif);letter-spacing:-.025em;font-variation-settings:"opsz" 36;align-items:center;gap:8px;margin-right:auto;font-size:26px;font-weight:500;display:inline-flex}.brand-word svg{color:var(--accent)}.pill-button{background:var(--accent);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:0 20px;font-size:15px;font-weight:600;transition:background .2s,transform .15s;display:inline-flex;color:#fff!important}.pill-button:hover{background:var(--accent-hover)}.pill-button:active{transform:translateY(1px)}.pill-button.is-quiet{box-shadow:inset 0 0 0 1.5px var(--ink);background:0 0;color:var(--ink)!important}.pill-button.is-quiet:hover{background:var(--fill)}.pill-button.is-large{min-height:56px;padding:0 30px;font-size:17px}.text-link{color:var(--link);background:0 0;border:0;padding:0;font-size:17px;font-weight:600}.site-header{z-index:25;transition:background-color .3s,box-shadow .3s;position:sticky;top:0}.site-header.is-scrolled{box-shadow:0 1px 0 var(--hair);-webkit-backdrop-filter:saturate(1.6)blur(22px);backdrop-filter:saturate(1.6)blur(22px);background:#f4f1eabd}.site-nav{align-items:center;gap:22px;max-width:1240px;height:64px;margin:0 auto;padding:0 16px;display:flex}.site-nav nav{color:var(--ink-2);gap:28px;font-size:15px;font-weight:500;display:none}.site-nav nav a:hover{color:var(--accent)}.hero{isolation:isolate;text-align:center;background:radial-gradient(120% 70% at 50% 0%, #fbf8f2 0%, var(--page) 62%);flex-direction:column;align-items:center;min-height:100svh;margin-top:-64px;padding:88px 16px 16px;display:flex;position:relative}.backdrop{z-index:-1;pointer-events:none;background-image:radial-gradient(circle, var(--dots) 1px, transparent 1.5px), radial-gradient(circle, var(--dots) 1px, transparent 1.5px);background-position:0 0,14px 24.25px;background-size:28px 48.5px;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0% 40%,#0000 82%);mask-image:linear-gradient(#000 0% 40%,#0000 82%)}.backdrop-art{opacity:.9;position:absolute;overflow:visible}.backdrop-art.is-carcass{width:128px;top:70px;left:-34px}.backdrop-art.is-fittings{width:150px;top:82px;right:-40px}.backdrop-art.is-hardware{display:none}.art-ink path{fill:#faf7f1;stroke:#1d1b1766;stroke-width:1.3px;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;fill-opacity:0;animation:1.6s cubic-bezier(.4,0,.2,1) forwards art-draw}.art-ink .art-detail{fill:none;stroke-width:1.1px;stroke-dasharray:none;stroke-dashoffset:0;opacity:0;animation:.8s 1.2s forwards art-fade}.art-hole{fill:#e4572e24;stroke:var(--accent);stroke-width:1.4px;opacity:0;animation:.5s 1.5s forwards art-fade}.art-guide{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:5 5;opacity:0;animation:.6s 1.6s forwards art-fade,1.1s linear infinite art-flow}.news-pill{background:var(--surface);box-shadow:0 0 0 1px var(--hair), 0 8px 20px -12px #3c28144d;border-radius:12px;align-items:center;gap:10px;margin-bottom:22px;padding:5px 14px 5px 5px;font-size:14px;font-weight:500;display:inline-flex}.news-pill span{background:var(--accent);color:#fff;border-radius:8px;padding:3px 9px;font-size:12px;font-weight:700}.hero-title{text-align:center;-webkit-hyphens:manual;hyphens:manual;max-width:11em;font-family:var(--serif);letter-spacing:-.04em;font-variation-settings:"opsz" 72;margin:32px auto 0;font-size:clamp(50px,12vw,112px);font-weight:440;line-height:.98}.hero-title em{color:var(--accent);font-style:italic}.hero-lede{text-align:center;max-width:30em;color:var(--muted);margin:20px auto 0;font-size:clamp(17px,2.2vw,21px);line-height:1.45}.hero .hero-title{flex:none;max-width:14em;margin-top:0;font-size:clamp(44px,7.4vw,86px)}.hero .hero-lede{max-width:34em;color:var(--ink-2);text-wrap:balance;flex:none;margin-top:16px}.hero-stage{text-align:left;background:var(--surface);border-radius:26px;flex-direction:column;flex:1;width:100%;max-width:1180px;min-height:420px;margin:28px auto 0;padding:6px;display:flex;position:relative;box-shadow:0 0 0 1px #1d1b1714,0 1px 2px #3c28140f,0 30px 70px -30px #3c281461}.upload-pill{background:var(--page);width:100%;height:60px;box-shadow:inset 0 0 0 1px var(--hair);color:var(--muted);text-align:left;border:0;border-radius:20px;flex:none;align-items:center;gap:4px;margin-bottom:6px;padding:0 6px 0 8px;font-size:16px;transition:box-shadow .2s;display:flex}.upload-pill:hover{box-shadow:inset 0 0 0 1.5px #e4572e8c}.upload-hint{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;animation:.5s ease-out hint-in;overflow:hidden}.upload-icon{width:40px;height:40px;color:var(--ink-2);flex:none;place-items:center;display:grid}.landing .send{background:var(--accent);color:#fff;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;display:grid}.hero-error{text-align:center;margin:0 0 6px}.hero-media{background:var(--grouped);border-radius:20px;flex:1;min-height:260px;position:relative;overflow:hidden}.hero-media .player-canvas{opacity:0;transition:opacity .6s}.hero-note{color:var(--muted);flex:none;justify-content:center;align-items:center;gap:6px;margin:0;padding:11px 8px 6px;font-size:13.5px;display:flex}.value-row{gap:22px;max-width:952px;margin:48px auto 0;padding:0 16px;list-style:none;display:grid}.value-row li{color:var(--muted);justify-items:center;gap:3px;padding:0 14px;font-size:15px;line-height:1.45;display:grid}.value-row svg{color:var(--ink);margin-bottom:8px}.value-row strong{letter-spacing:-.01em;color:var(--ink);font-size:17px;font-weight:600}.story-steps{-webkit-backdrop-filter:blur(12px);box-shadow:0 0 0 1px var(--hair);scrollbar-width:none;background:#fcfaf6db;border-radius:16px;gap:6px;margin:0;padding:6px;list-style:none;display:flex;position:absolute;bottom:12px;left:12px;right:12px;overflow-x:auto}.story-steps::-webkit-scrollbar{display:none}.story-steps li{color:var(--dim);white-space:nowrap;border-radius:11px;flex:none;align-items:center;gap:8px;padding:8px 12px 8px 8px;font-size:14px;font-weight:600;transition:background .3s,color .3s;display:inline-flex}.story-steps li>span{background:var(--fill);font-variant-numeric:tabular-nums;border-radius:6px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;transition:background .3s,color .3s;display:grid}.story-steps li em{font-style:normal}.story-steps li:not(.is-active){padding-right:8px}.story-steps li:not(.is-active) em{display:none}.story-steps{justify-content:center}.story-steps li.is-done{color:var(--ink-2)}.story-steps li.is-done>span,.story-steps li.is-active{background:var(--ink);color:#fff}.story-steps li.is-active>span{background:var(--accent);color:#fff}.layer{background:var(--sand);border-radius:24px;flex-direction:column;padding:6px;display:flex;box-shadow:0 0 0 1px #1d1b170d}.layer-inner{background:var(--surface);border-radius:18px;flex:1;position:relative;overflow:hidden;box-shadow:0 0 0 1px #1d1b1712,0 1px 2px #3c28140d,0 8px 18px -10px #3c28142e}.layer-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:11px 12px 6px;font-size:14px;display:flex}.drawing-tile{aspect-ratio:16/9;background-color:var(--sand);background-image:radial-gradient(circle, var(--dots) 1px, transparent 1.5px), radial-gradient(circle, var(--dots) 1px, transparent 1.5px);background-position:0 0,10px 17.3px;background-size:20px 34.6px;border-radius:13px;place-items:center;display:grid;position:relative;overflow:hidden}.drawing-tile:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23e4572e' stroke-opacity='.55' stroke-dasharray='3 5' stroke-linecap='round'%3E%3Ccircle cx='100' cy='100' r='36'/%3E%3Ccircle cx='100' cy='100' r='60'/%3E%3Ccircle cx='100' cy='100' r='86'/%3E%3C/svg%3E") 50%/contain no-repeat;position:absolute;inset:-10%}.drawing-tile span{width:60px;height:60px;color:var(--ink);background:var(--surface);box-shadow:0 0 0 1px var(--hair), 0 12px 26px -12px #3c281466;border-radius:50%;place-items:center;display:grid;position:relative}.drawing-tile svg{stroke-width:1.7px}.statement-section{padding:120px 16px 72px}.statement{text-align:center;max-width:1120px;font-family:var(--serif);letter-spacing:-.035em;font-variation-settings:"opsz" 72;margin:0 auto;font-size:clamp(34px,6.4vw,82px);font-weight:440;line-height:1.1}.statement-word{color:#1d1b1724;transition:color .35s}.statement-word.is-lit{color:var(--ink)}.statement-chip{vertical-align:-.14em;background:var(--sand-2);width:1.05em;height:1.05em;color:var(--ink);opacity:.25;border-radius:.28em;place-items:center;transition:opacity .4s,transform .4s;display:inline-grid;transform:scale(.8)rotate(-6deg)}.statement-chip svg{width:50%;height:50%}.statement-chip.is-blue{background:var(--accent);color:#fff}.statement-chip.is-lit{opacity:1;transform:none}.features{gap:80px;max-width:1120px;margin:0 auto;padding:40px 16px 64px;display:grid}.feature{align-items:center;gap:28px;display:grid}.feature-media{border-radius:30px}.feature-media .layer-inner{aspect-ratio:1;background:#efeae1;border-radius:24px}.feature-copy h2{font-family:var(--serif);letter-spacing:-.035em;font-variation-settings:"opsz" 72;font-size:clamp(34px,4.6vw,52px);font-weight:450;line-height:1.02}.feature-copy p{max-width:25em;color:var(--muted);margin:16px 0 0;font-size:18px;line-height:1.55}.feature-copy a{border-bottom:2px solid var(--accent);align-items:center;gap:6px;margin-top:22px;padding-bottom:2px;font-size:16px;font-weight:600;display:inline-flex}.visual{position:absolute;inset:0}.visual-parts{grid-template-columns:repeat(3,1fr);align-content:center;gap:10px;padding:20px;display:grid}.visual-parts figure{background:var(--surface);box-shadow:0 1px 0 var(--hair);border-radius:14px;margin:0;animation:6s ease-in-out infinite float;overflow:hidden}.visual-parts img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.visual-parts figcaption{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);padding:6px 10px 9px;font-size:12px;overflow:hidden}.visual-parts b{color:var(--ink)}.visual-stepper{background:radial-gradient(70% 60% at 50% 35%, #f6d6c6 0%, var(--sand) 72%);place-items:center;display:grid}.phone{aspect-ratio:9/18.5;background:#1d1b17;border-radius:36px;flex-direction:column;height:86%;padding:8px;display:flex;overflow:hidden;box-shadow:0 30px 60px #3c1e0a47}.phone-stage{background:var(--grouped);border-radius:28px 28px 0 0;flex:1;overflow:hidden}.phone-stage img{object-fit:cover;width:100%;height:100%}.phone-card{color:#1d1b17;background:#fcfaf6;border-radius:0 0 28px 28px;gap:4px;padding:12px 14px 14px;font-size:11px;display:grid}.phone-bar{gap:2px;margin-bottom:4px;display:flex}.phone-bar i{background:#0000001f;border-radius:2px;flex:1;height:3px}.phone-bar i.is-done,.phone-bar i.is-current{background:var(--accent)}.phone-card span{color:#6f695f}.phone-card strong{font-family:var(--serif);letter-spacing:-.01em;font-size:16px;font-weight:500}.phone-actions{gap:6px;margin-top:6px;display:flex}.phone-back{border-radius:8px;place-items:center;width:30px;height:30px;display:grid;box-shadow:inset 0 0 0 1.5px #1d1b17}.phone-next{background:var(--accent);color:#fff;white-space:nowrap;border-radius:8px;flex:1;place-items:center;height:30px;font-size:11px;font-weight:600;display:grid}.visual-qr{background:linear-gradient(150deg,#f08a5d 0%,#e4572e 55%,#b8401c 100%);place-items:center;display:grid}.qr-card{color:#1d1b17;background:#fff;border-radius:20px;justify-items:center;gap:10px;width:50%;padding:18px 18px 14px;display:grid;transform:rotate(-4deg);box-shadow:0 30px 60px #5014004d}.qr-card img{width:100%}.qr-card span{text-align:center;font-size:12px;font-weight:600}.visual-privacy{background:radial-gradient(60% 60% at 50% 45%,#3a342b 0%,#1d1b17 75%);place-items:center;display:grid}.privacy-lock{background:var(--page);width:132px;height:132px;color:var(--ink);border-radius:36px;place-items:center;display:grid;box-shadow:0 30px 60px #0006}.visual-languages{flex-direction:column;justify-content:center;gap:14px;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000);mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}.lang-row{gap:10px;width:max-content;animation:36s linear infinite drift;display:flex}.lang-row.is-reverse{animation-direction:reverse}.lang-row span{background:var(--surface);color:var(--ink-2);white-space:nowrap;box-shadow:0 1px 0 var(--hair);border-radius:12px;padding:12px 20px;font-size:18px;font-weight:500}.lang-row span.is-active{background:var(--ink);color:#fff}.band{padding:96px 16px}.band-inner{max-width:1120px;margin:0 auto}.section-head{max-width:760px}.section-head h2{-webkit-hyphens:auto;hyphens:auto;font-family:var(--serif);letter-spacing:-.032em;font-variation-settings:"opsz" 72;font-size:clamp(34px,4.8vw,54px);font-weight:450;line-height:1.04}.section-head p{max-width:36em;color:var(--muted);margin:12px 0 0;font-size:18px;line-height:1.5}.sub-title{font-family:var(--serif);letter-spacing:-.025em;margin:64px 0 18px;font-size:30px;font-weight:500}.landing .demo-grid{scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:82%;grid-auto-flow:column;gap:12px;margin:32px -16px 0;padding:0 16px 6px;scroll-padding-inline:16px;display:grid;overflow-x:auto}.landing .demo-grid::-webkit-scrollbar{display:none}.landing .demo-card{scroll-snap-align:start;transition:transform .3s cubic-bezier(.2,.9,.3,1),box-shadow .3s}.landing .demo-thumb{aspect-ratio:4/3;background:var(--grouped);place-items:center;display:grid;position:relative}.landing .demo-thumb img{object-fit:cover;width:100%;height:100%;animation:.4s ease-out fade;position:absolute;inset:0}.landing .demo-body{padding:16px 18px 18px}.landing .demo-industry{letter-spacing:.02em;color:var(--accent);font-size:12px;font-weight:600}.landing .demo-body h3{font-family:var(--serif);letter-spacing:-.025em;margin-top:4px;font-size:26px;font-weight:500}.landing .demo-body p{color:var(--muted);margin:4px 0 0;font-size:15px;line-height:1.45}.landing .demo-meta{font-variant-numeric:tabular-nums}.landing .demo-open{color:var(--ink);align-items:center;gap:6px;font-weight:600;display:inline-flex}.landing .demo-open svg{transition:transform .2s}.landing .demo-card:hover .demo-open svg{transform:translate(3px)}.benefits{gap:12px;margin-top:40px;display:grid}.benefit .layer-inner{padding:8px 8px 22px}.benefit h3{letter-spacing:-.01em;margin:18px 12px 0;font-size:18px;font-weight:600}.benefit p{color:var(--muted);margin:6px 12px 0;font-size:15px;line-height:1.5}.landing .channels{gap:10px;margin:0;padding:0;list-style:none;display:grid}.landing .channels li{background:var(--sand);color:var(--muted);border-radius:18px;align-items:flex-start;gap:14px;padding:18px 20px;font-size:15px;line-height:1.5;display:flex}.landing .channels svg{color:var(--accent);flex:none;margin-top:1px}.landing .channels strong{color:var(--ink);margin-bottom:2px;font-weight:600;display:block}.landing .roi{gap:14px;margin-top:36px;display:grid}.landing .roi-inputs{background:var(--surface);box-shadow:0 0 0 1px var(--hair);border-radius:22px;margin:0;padding:6px 22px;list-style:none}.landing .roi-inputs li{padding:16px 0 8px}.landing .roi-inputs li+li{border-top:1px solid var(--hair)}.landing .roi-inputs label{color:var(--ink-2);justify-content:space-between;align-items:baseline;gap:16px;font-size:15px;display:flex}.landing .roi-inputs output{color:var(--ink);font-variant-numeric:tabular-nums;flex:none;font-weight:700}.slider{appearance:none;cursor:pointer;background:0 0;width:100%;height:36px;margin:0}.slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--fill), #1d1b171f var(--fill));border-radius:2px;height:4px}.slider::-moz-range-track{background:#1d1b171f;border-radius:2px;height:4px}.slider::-moz-range-progress{background:var(--accent);border-radius:2px;height:4px}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;box-shadow:0 0 0 2px var(--accent), 0 4px 10px #3c1e0a33;background:#fff;border-radius:6px;margin-top:-9px}.slider::-moz-range-thumb{border:2px solid var(--accent);background:#fff;border-radius:6px;width:22px;height:22px}.landing .roi-result{background:var(--ink);color:#fff;border-radius:22px;flex-direction:column;align-items:flex-start;padding:30px;display:flex}.landing .roi-label{color:#ffffffb3;font-size:15px}.landing .roi-result strong{font-family:var(--serif);letter-spacing:-.03em;color:#ff8a5c;font-variant-numeric:tabular-nums;font-variation-settings:"opsz" 72;margin-top:6px;font-size:clamp(48px,10vw,72px);font-weight:500;line-height:1}.landing .roi-result dl{width:100%;margin:22px 0 0}.landing .roi-result dl div{border-top:1px solid #ffffff24;justify-content:space-between;padding:11px 0;font-size:15px;display:flex}.landing .roi-result dt{color:#ffffffb3}.landing .roi-result dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.landing .roi-result p{color:#ffffff8c;margin:14px 0 22px;font-size:13px}.landing .roi-result .btn{background:var(--accent);color:#fff;border-radius:12px}.steps{gap:12px;margin:40px 0 0;padding:0;list-style:none;display:grid}.step-row{gap:18px;padding:8px 8px 22px;display:grid}.step-mock{aspect-ratio:16/9;background:var(--grouped);border-radius:13px;place-items:center;display:grid}.step-copy{padding:0 12px}.steps h3{letter-spacing:-.01em;align-items:center;gap:10px;font-size:19px;font-weight:600;display:flex}.step-index{background:var(--ink);color:#fff;font-variant-numeric:tabular-nums;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:grid}.steps p{color:var(--muted);margin:8px 0 0;font-size:15px;line-height:1.5}.mock-card{background:var(--surface);width:min(64%,260px);box-shadow:0 0 0 1px var(--hair), 0 12px 26px -14px #3c281459;border-radius:12px;gap:7px;padding:12px;display:grid}.mock-card i{background:#1d1b171f;border-radius:3px;height:6px;display:block}.mock-drop{background:var(--accent-tint);color:var(--accent);border:1.5px dashed #e4572e8c;border-radius:9px;justify-items:center;gap:8px;padding:14px;display:grid}.mock-drop i{width:55%}.mock-card .mock-button{background:var(--ink);border-radius:6px;width:42%;height:18px;margin:2px auto 0}.mock-row{border-radius:8px;align-items:center;gap:8px;padding:6px;display:flex}.mock-row span{background:var(--ink);color:#fff;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;display:grid}.mock-row i{flex:1}.mock-row.is-active{background:var(--accent-tint)}.mock-row.is-active span{background:var(--accent)}.mock-publish{grid-template-columns:auto 1fr;align-items:center;gap:12px}.mock-qr{background:var(--ink);color:#fff;border-radius:10px;place-items:center;width:52px;height:52px;display:grid}.mock-publish div{gap:7px;display:grid}.mock-publish .is-short{width:60%}.landing .plans{gap:12px;margin-top:40px;display:grid}.landing .plan .layer-inner{padding:26px 24px}.landing .plan.is-featured{background:#e4572e29;box-shadow:0 0 0 1.5px #e4572e8c}.landing .plan h3{font-family:var(--serif);letter-spacing:-.03em;font-variation-settings:"opsz" 72;font-size:38px;font-weight:500}.landing .plan-pitch{color:var(--muted);margin:6px 0 0;font-size:16px}.landing .plan ul{margin:22px 0 0;padding:0;list-style:none}.landing .plan li{color:var(--ink-2);align-items:flex-start;gap:10px;padding:6px 0;font-size:15px;display:flex}.landing .plan li svg{color:var(--accent);flex:none;margin-top:2px}.landing .plan .layer-foot{padding:6px 0 0}.landing .plan .pill-button{border-radius:18px;width:100%;min-height:50px}.landing .plans-note{color:var(--muted);margin:22px 0 0;font-size:15px}.landing .faq{max-width:820px}.landing .faq-list{border-top:1px solid var(--hair);margin-top:32px}.landing .faq details{border-bottom:1px solid var(--hair)}.landing .faq summary{cursor:pointer;letter-spacing:-.01em;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-size:19px;font-weight:600;list-style:none;display:flex}.landing .faq summary::-webkit-details-marker{display:none}.landing .faq summary:after{content:"+";font-family:var(--serif);color:var(--accent);flex:none;font-size:30px;font-weight:400;line-height:1;transition:transform .2s}.landing .faq details[open] summary:after{transform:rotate(45deg)}.landing .faq details p{color:var(--muted);margin:-6px 0 22px;font-size:17px;line-height:1.55}.closing{text-align:center;background:radial-gradient(70% 70% at 50% 100%, #3b2418 0%, var(--ink) 70%);color:#fff;border-radius:28px;margin:0 8px;padding:110px 16px 120px}.closing .hero-title{color:#fff;margin-top:0}.closing .hero-lede{color:#ffffffb3}.closing .text-link{color:#ff8a5c}.closing-actions{flex-direction:column;align-items:center;gap:18px;margin-top:38px;display:flex}.site-footer{margin-top:8px}.footer-inner{gap:16px;max-width:1120px;margin:0 auto;padding:32px 16px 120px;display:grid}.site-footer nav{color:var(--muted);flex-wrap:wrap;gap:10px 22px;font-size:14px;display:flex}.site-footer nav a:hover{color:var(--accent)}.site-footer p{color:var(--dim);margin:0;font-size:13px}.upload-dock{z-index:20;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));border:1px solid var(--hair);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(540px,100% - 24px);height:60px;color:var(--ink-2);text-align:left;opacity:0;background:#fcfaf6f0;border-radius:16px;align-items:center;gap:12px;padding:0 6px 0 20px;font-size:15px;font-weight:500;transition:transform .45s cubic-bezier(.2,.9,.3,1),opacity .3s;display:flex;position:fixed;transform:translate(-50%,160%);box-shadow:0 18px 40px #3c28142e}.upload-dock.is-visible{opacity:1;transform:translate(-50%)}.upload-dock>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.upload-dock .send{width:46px;height:46px}.access-backdrop{z-index:45;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1d1b1752;justify-content:center;align-items:flex-end;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}.access-sheet{width:100%;max-height:92dvh;padding:28px 20px calc(24px + env(safe-area-inset-bottom));background:var(--surface);text-align:left;border-radius:24px 24px 0 0;animation:.35s cubic-bezier(.2,.9,.3,1) slide-up;position:relative;overflow:auto}.access-sheet h2{font-family:var(--serif);letter-spacing:-.03em;font-variation-settings:"opsz" 72;margin-top:16px;font-size:34px;font-weight:450;line-height:1.05}.access-lede,.access-sent p{color:var(--muted);margin:10px 0 0;font-size:16px;line-height:1.5}.access-sent strong{color:var(--ink)}.access-sent .pill-button{margin-top:22px}.access-badge{background:var(--accent-tint);width:48px;height:48px;color:var(--accent);border-radius:14px;place-items:center;display:grid}.access-badge.is-done{color:var(--green);background:#2f8f5b24}.access-close{background:var(--fill);width:40px;height:40px;color:var(--ink-2);border:0;border-radius:12px;place-items:center;font-size:24px;line-height:1;display:grid;position:absolute;top:14px;right:14px}.access-close:hover{background:var(--fill-strong)}.access-file{background:var(--page);box-shadow:inset 0 0 0 1px var(--hair);color:var(--muted);overflow-wrap:anywhere;border-radius:14px;gap:2px;margin:18px 0 0;padding:12px 14px;font-size:14px;display:grid}.access-file strong{color:var(--ink);font-size:15px}.access-sheet .auth-form{margin-top:20px}.drop-overlay{z-index:40;-webkit-backdrop-filter:blur(12px);background:#f4f1eadb;place-items:center;padding:24px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}.drop-overlay div{border:2px dashed var(--accent);background:var(--background);color:var(--ink);text-align:center;border-radius:22px;justify-items:center;gap:12px;padding:48px 56px;font-size:19px;font-weight:600;display:grid}.drop-overlay svg{color:var(--accent)}@keyframes float{50%{transform:translateY(-6px)}}@keyframes drift{to{transform:translate(-50%)}}@keyframes hint-in{0%{opacity:0;transform:translateY(6px)}}@keyframes art-draw{55%{fill-opacity:0}to{stroke-dashoffset:0;fill-opacity:1}}@keyframes art-fade{to{opacity:1}}@keyframes art-flow{to{stroke-dashoffset:-10px}}@media (width>=560px){.value-row{grid-template-columns:repeat(3,1fr);gap:0}.value-row li+li{border-left:1px solid var(--hair)}}@media (width>=720px){.site-nav{padding:0 24px}.access-backdrop{align-items:center;padding:24px}.access-sheet{border-radius:26px;width:min(480px,100%);padding:32px 32px 28px;animation:.25s ease-out rise;box-shadow:0 30px 80px -20px #1d1b1766}.hero{padding:96px 32px 24px}.hero-stage{min-height:460px;margin-top:36px}.backdrop-art.is-carcass{width:clamp(140px,14vw,210px);top:150px;left:max(-30px,50% - 720px)}.backdrop-art.is-fittings{width:clamp(150px,15vw,230px);top:120px;right:max(-30px,50% - 730px)}.story-steps{max-width:calc(100% - 36px);bottom:18px;left:50%;right:auto;transform:translate(-50%)}.story-steps li:not(.is-active){padding-right:12px}.story-steps li:not(.is-active) em{display:inline}.statement-section{padding-top:160px;padding-bottom:96px}.band{padding-top:120px;padding-bottom:120px}.landing .demo-grid{grid-template-columns:repeat(2,1fr);grid-auto-columns:auto;grid-auto-flow:row;gap:16px;margin:40px 0 0;padding:0;overflow:visible}.benefits,.landing .channels{grid-template-columns:repeat(2,1fr)}.landing .plans{grid-template-columns:repeat(3,1fr)}.step-row{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:36px;padding:8px}.step-mock{aspect-ratio:2.1}.step-copy{padding:0 32px 0 0}.steps h3{font-size:21px}.steps p{font-size:16px}.closing{border-radius:40px;margin:0 14px}.closing-actions{flex-direction:row;justify-content:center;gap:30px}}@media (width>=1024px){.site-nav nav{display:flex}.hero .hero-lede{max-width:40em}.backdrop-art.is-hardware{width:90px;display:block;top:520px;left:max(8px,50% - 690px)}.features{gap:128px}.feature{grid-template-columns:1fr 1fr;gap:96px}.feature:nth-child(2n) .feature-media{order:2}.landing .demo-grid{grid-template-columns:repeat(3,1fr)}.landing .demo-card:hover{transform:translateY(-4px);box-shadow:0 0 0 1px #1d1b170d,0 26px 50px -22px #3c28144d}.benefits{grid-template-columns:repeat(4,1fr)}.landing .channels{grid-template-columns:repeat(3,1fr)}.landing .roi{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:16px}.landing .roi-result{position:sticky;top:24px}}@media (prefers-reduced-motion:reduce){.lang-row,.visual-parts figure{animation:none}.art-ink path{stroke-dasharray:none;fill-opacity:1;animation:none}.art-ink .art-detail,.art-hole,.art-guide{opacity:1;animation:none}}.share-backdrop{z-index:30;background:#00000047;align-items:flex-end;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}.share-sheet{width:100%;max-height:92dvh;padding:0 var(--margin) calc(20px + env(safe-area-inset-bottom));background:var(--grouped);border-radius:14px 14px 0 0;animation:.35s cubic-bezier(.2,.9,.3,1) slide-up;overflow:auto}.share-head{justify-content:space-between;align-items:center;padding:10px 0 6px;display:flex}.share-head h2{font-family:var(--serif);letter-spacing:-.025em;font-size:28px;font-weight:500}.share-done{border:0;min-height:44px;font-size:17px;font-weight:600}.share-qr{background:var(--background);text-align:center;border-radius:14px;justify-items:center;gap:4px;padding:20px;display:grid}.share-qr img{width:200px;height:200px}.share-qr .spinner{margin:91px}.share-qr p{color:var(--secondary);margin:6px 0 0;font-size:15px}.share-qr .share-hint{color:var(--orange);margin:2px 0 0;font-size:13px}.share-note{color:var(--secondary);margin:8px 4px 16px;font-size:15px}.share-group{background:var(--background);border-radius:14px;margin-top:16px;padding-left:16px}.share-group button{width:100%;min-height:50px;color:var(--accent);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0 16px 0 0;font-size:17px;display:flex}.share-group button+button{border-top:.5px solid var(--separator)}.share-group button>span:first-child{white-space:nowrap;flex:none}.share-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--tertiary);font-size:15px;overflow:hidden}.share-copied{color:var(--green);align-items:center;gap:4px;font-size:15px;display:inline-flex}.powered{font-size:15px;font-weight:600;display:inline!important}.processing{z-index:10;background:#00000047;align-items:flex-end;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}.processing-card{background:var(--grouped);width:100%;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:14px 14px 0 0;animation:.35s cubic-bezier(.2,.9,.3,1) slide-up;position:relative;overflow:auto}.grabber{background:#3c3c434d;border:0;border-radius:3px;width:36px;height:5px;margin:6px auto 0;padding:0;display:block}button.grabber{position:relative}button.grabber:before{content:"";position:absolute;inset:-12px -40px}.processing-preview{display:none}.processing-preview img{background:#fff;border-radius:6px;width:100%;display:block;box-shadow:0 4px 16px #0000001a}.processing-preview pre{height:100%;min-height:200px;max-height:300px;color:var(--secondary);white-space:pre-wrap;word-break:break-word;background:#fff;border-radius:6px;margin:0;padding:12px;font:10px/1.5 ui-monospace,Menlo,monospace;overflow:hidden;box-shadow:0 4px 16px #0000001a}.processing-body{padding:14px var(--margin) 16px;min-width:0}.processing-body h2{font-family:var(--serif);letter-spacing:-.025em;font-size:28px;font-weight:500;line-height:1.12}.processing-file{color:var(--secondary);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:15px;overflow:hidden}.stages{background:var(--background);border-radius:14px;margin:18px 0;padding:0 16px;list-style:none}.stage{color:var(--tertiary);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.stage+.stage{border-top:.5px solid var(--separator)}.stage.is-running,.stage.is-done,.stage.is-warn{color:var(--label)}.stage-icon{flex:none;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}.stage.is-done .stage-icon{color:var(--accent)}.stage.is-warn .stage-icon{color:var(--orange)}.stage-pending{border:2px solid var(--fill-strong);border-radius:50%;width:18px;height:18px}.stage-text{flex:1;gap:2px;min-width:0;display:grid}.stage-label{justify-content:space-between;align-items:baseline;gap:12px;font-size:17px;display:flex}.stage-tag{color:var(--secondary);flex:none;font-size:13px}.stage-detail{color:var(--secondary);overflow-wrap:anywhere;font-size:15px;line-height:1.33}.processing-actions{justify-content:space-between;gap:10px;display:flex}.processing-actions .btn-primary{flex:1;max-width:240px;margin-left:auto}.workspace{background:var(--grouped);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.ws-header{background:var(--page);border-bottom:1px solid var(--separator);z-index:2;flex:none;grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr);align-items:center;gap:4px;height:52px;padding:0 4px;display:grid;position:relative}.nav-btn{min-width:44px;height:44px;color:var(--ink);background:0 0;border:0;justify-self:start;align-items:center;gap:2px;padding:0 8px 0 4px;font-size:15px;font-weight:600;display:inline-flex}.nav-btn span{display:none}.nav-btn:disabled{color:var(--tertiary)}.ws-export{justify-self:end;padding:0 10px}.nav-progress{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;display:inline!important}.ws-title{text-align:center;justify-items:center;min-width:0;max-width:62vw;display:grid}.ws-title h1{max-width:100%;font-family:var(--serif);letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:19px;font-weight:500;line-height:1.25;overflow:hidden}.ws-sub{max-width:100%;color:var(--secondary);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:flex;overflow:hidden}.ws-sub svg{color:var(--accent);flex:none}.ws-file{text-overflow:ellipsis;display:none;overflow:hidden}.ws-stage{flex:auto;min-height:180px;position:relative;overflow:hidden}.legend{background:var(--background);color:var(--label);box-shadow:0 0 0 1px var(--separator);pointer-events:none;border-radius:8px;gap:12px;padding:6px 12px;font-size:13px;font-weight:500;display:flex;position:absolute;top:10px;left:10px}.legend.is-hidden{display:none}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:50%;width:10px;height:10px}.dot-needed{background:var(--accent);box-shadow:0 0 0 2px #fff,0 0 0 4px #e4572e47}.dot-later{background:#968c7d40;box-shadow:inset 0 0 0 1px #968c7d99}.btn-float{min-height:34px;color:var(--ink);background:var(--background);box-shadow:0 0 0 1px var(--separator);border-radius:8px;gap:5px;padding:0 12px;font-size:14px;font-weight:600;position:absolute}.recenter{top:10px;right:10px}.form-error.floating{background:var(--background);border-radius:12px;margin:0;padding:10px 14px;position:absolute;top:54px;left:10px;right:10px;box-shadow:0 4px 16px #0000001a}.ws-dock{z-index:1;background:var(--background);min-height:0;max-height:68dvh;box-shadow:0 -1px 0 var(--separator), 0 -10px 30px #3c281414;padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0;flex-direction:column;flex:none;margin-top:-12px;display:flex;position:relative}.sheet-open .ws-dock{height:68dvh}.ws-dock>.grabber{flex:none;margin:6px auto 0}.step-card{padding:10px var(--margin) 4px;animation:.3s ease-out rise}.step-kicker{color:var(--secondary);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:13px;display:flex}.step-kicker.is-done{color:var(--green);gap:6px;font-weight:600}.step-card h2{font-family:var(--serif);letter-spacing:-.025em;font-variation-settings:"opsz" 48;margin-top:4px;font-size:27px;font-weight:500;line-height:1.12}.step-desc{color:var(--secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:15px;line-height:1.4;display:-webkit-box;overflow:hidden}.step-manual{color:var(--secondary);margin:10px 0 0;font-size:13px;line-height:1.4;display:none}.step-manual b{color:var(--label);font-weight:600}.stepper{gap:3px;margin:0 0 10px;padding:0;list-style:none;display:flex}.stepper li{flex:1;min-width:0}.stepper button{background:0 0;border:0;width:100%;height:20px;padding:0;display:block;position:relative}.stepper button:before,.stepper button span{content:"";border-radius:2px;height:4px;position:absolute;top:8px;left:0}.stepper button:before{background:var(--fill-strong);right:0}.stepper button span{background:var(--accent);width:0}.stepper .is-done button:before{background:var(--accent)}.stepper .is-current button:before{background:#e4572e4d}.checklist-btn{min-height:36px;margin-top:12px;font-size:15px}.stepper-nav{padding:8px var(--margin) 10px;flex:none;align-items:center;gap:8px;display:flex}.stepper-nav .btn{min-height:48px;font-weight:600}.nav-back{gap:2px;padding:0 14px 0 10px}.nav-back span{display:none}.nav-next{flex:1;gap:4px}.nav-replay{color:var(--accent)}.needed{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.needed-label{color:var(--secondary);margin-right:2px;font-size:13px}.needed ul{display:contents}.needed li{background:var(--accent-tint);height:30px;color:var(--label);border-radius:8px;align-items:center;gap:7px;padding:0 12px 0 8px;font-size:15px;list-style:none;display:inline-flex}.needed li b{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.sheet-toggle{border:0;border-top:.5px solid var(--separator);height:44px;color:var(--accent);background:0 0;flex:none;justify-content:center;align-items:center;gap:5px;margin:0;font-size:15px;display:flex}.sheet-toggle svg{transition:transform .25s}.sheet-open .sheet-toggle svg{transform:rotate(180deg)}.sheet{background:var(--grouped);flex-direction:column;flex:1;min-height:0;display:none}.sheet-open .sheet{display:flex}.sheet .segmented{margin:12px var(--margin) 4px;flex:none}.step-list,.parts-panel{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.step-list{margin:8px var(--margin) 16px;padding:0;list-style:none}.step-list li{background:var(--background)}.step-list li:first-child{border-radius:12px 12px 0 0}.step-list li:last-child{border-radius:0 0 12px 12px}.step-list li:only-child{border-radius:12px}.step-list li+li .step-copy{border-top:.5px solid var(--separator)}.step-list button{border-radius:inherit;text-align:left;background:0 0;border:0;align-items:stretch;gap:12px;width:100%;padding:0 0 0 14px;display:flex}.step-list button:not(:disabled):active{background:var(--fill)}.step-num{background:var(--fill);width:26px;height:26px;color:var(--secondary);font-variant-numeric:tabular-nums;border-radius:7px;flex:none;align-self:center;place-items:center;font-size:14px;font-weight:600;display:grid}.is-active .step-num{background:var(--accent);color:#fff}.is-done .step-num{color:var(--accent);background:0 0}.step-copy{flex:1;gap:2px;min-width:0;padding:11px 14px 11px 0;display:grid}.step-title{font-size:17px;line-height:1.3}.is-active .step-title{color:var(--accent);font-weight:600}.is-done .step-title{color:var(--secondary)}.step-quote{color:var(--secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.38;display:-webkit-box;overflow:hidden}.step-quote b{font-weight:600}.parts-panel{padding:8px var(--margin) 20px}.parts-panel h3{color:var(--secondary);margin:22px 16px 6px;font-size:13px;font-weight:400}.bom{background:var(--background);border-radius:12px;margin:0;padding:0 0 0 16px;list-style:none}.bom li{align-items:center;gap:12px;min-height:48px;padding:6px 16px 6px 0;font-size:17px;display:flex}.bom li+li{border-top:.5px solid var(--separator)}.bom-name{flex:1;min-width:0}.bom-state{color:var(--secondary);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-size:15px;display:inline-flex}.bom-count{text-align:right;min-width:28px;color:var(--tertiary);font-variant-numeric:tabular-nums;font-size:15px}.bom li.is-needed .bom-name{font-weight:600}.bom li.is-needed .bom-state{color:var(--accent);font-weight:600}.bom li.is-later .bom-name,.bom li.is-later .bom-state{color:var(--tertiary)}.bom li.is-later .swatch{opacity:.35}.checklist-head{justify-content:space-between;align-items:baseline;margin:8px 16px 0;font-size:15px;font-weight:600;display:flex}.checklist-head .link{font-size:15px;font-weight:400}.tool-icon{background:var(--fill);width:32px;height:32px;color:var(--secondary);border-radius:8px;place-items:center;display:grid}.bom.checklist li{padding:0}.bom.checklist button{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:64px;padding:8px 16px 8px 0;display:flex}.part-thumb{background:var(--thumb);border-radius:8px;flex:none;place-items:center;width:56px;height:42px;display:grid;overflow:hidden}.part-thumb img{object-fit:cover;width:100%;height:100%}.part-text{flex:1;gap:1px;min-width:0;display:grid}.part-sub{color:var(--secondary);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;overflow:hidden}.part-sub .bom-state{font-size:13px}.part-tick{width:24px;height:24px;color:var(--accent);flex:none;place-items:center;display:grid}.tick-empty{width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--tertiary);border-radius:50%}.bom.checklist li.is-checked .bom-name{color:var(--secondary)}.parts-strip{margin:12px calc(-1 * var(--margin)) 0;padding:0 var(--margin) 2px;scrollbar-width:none;gap:8px;list-style:none;display:flex;overflow-x:auto}.parts-strip::-webkit-scrollbar{display:none}.parts-strip button{background:0 0;border:0;justify-items:center;gap:2px;padding:0;display:grid}.strip-thumb{background:var(--thumb);border-radius:10px;place-items:center;width:64px;height:48px;display:grid;overflow:hidden}.strip-thumb img{object-fit:cover;width:100%;height:100%}.strip-count{color:var(--label);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.intro-meta{color:var(--secondary);flex-wrap:wrap;gap:4px 16px;margin:10px 0 0;font-size:13px;display:flex}.intro-meta span{align-items:center;gap:5px;display:inline-flex}.notes{background:var(--background);color:var(--label);border-radius:12px;margin:0;padding:12px 16px 12px 34px;font-size:15px}.notes li{margin:3px 0}.parts-panel>.muted{margin:0 16px;font-size:15px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(4px)}}@keyframes slide-up{0%{transform:translateY(100%)}}@media (width>=720px){:root{--margin:24px}.share-backdrop{justify-content:center;align-items:center;padding:24px}.share-sheet{border-radius:18px;width:min(420px,100%);padding-bottom:20px;animation:.25s ease-out rise;box-shadow:0 24px 64px #00000038}.share-sheet>.grabber{display:none}.processing{background:#00000038;justify-content:center;align-items:center;padding:24px}.processing-card{border-radius:18px;grid-template-columns:220px minmax(0,1fr);width:min(760px,100%);max-height:calc(100dvh - 48px);padding-bottom:0;animation:.25s ease-out rise;display:grid;box-shadow:0 24px 64px #00000038}.processing-card>.grabber{display:none}.processing-preview{background:var(--thumb);padding:24px;display:block}.processing-body{padding:24px}.ws-header{padding:0 8px}.nav-btn span,.nav-back span,.ws-file{display:inline}.step-manual{display:block}}@media (width>=1024px){.workspace{grid-template-rows:52px minmax(0,1fr);grid-template-columns:380px minmax(0,1fr);display:grid}.ws-header{grid-column:1/-1}.ws-stage{grid-area:2/2;min-height:0}.ws-dock{height:auto;max-height:none;box-shadow:.5px 0 0 var(--separator);border-radius:0;grid-area:2/1;margin-top:0}.sheet-open .ws-dock{height:auto}.ws-dock>.grabber,.sheet-toggle{display:none}.step-card{padding:20px 20px 6px}.stepper-nav{padding:8px 20px 16px}.parts-strip{flex-wrap:wrap;margin-inline:-20px;padding-inline:20px;overflow:visible}.step-desc{-webkit-line-clamp:unset}.sheet,.sheet-open .sheet{border-top:.5px solid var(--separator);display:flex}.legend{top:16px;left:16px}.recenter{top:14px;right:16px}}@media (hover:hover) and (pointer:fine){.on-pointer{display:inline}.icon-btn:not(:disabled):hover{background:var(--fill)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
