:root{--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--space-4xl:144px;--text-xs:0.75rem;--text-sm:0.875rem;--text-md:1rem;--text-lg:1.2rem;--text-xl:1.44rem;--text-2xl:1.728rem;--text-3xl:2.074rem;--text-display-s:1.44rem;--text-display:1.728rem;--text-section:1.2rem;--text-title:1rem;--text-lead:1rem;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.7,0,0.84,0);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-micro:120ms;--dur-short:220ms;--dur-long:420ms;--color-error:oklch(45.9% 0.15 29.2);--color-success:oklch(53.1% 0.078 161.9);--container:1440px;--gutter:64px;--gap-columns:32px;--section-gap-s:120px;--section-gap:144px;--section-gap-l:176px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--color-paper:oklch(91.8% 0.016 82.8);--color-paper-2:oklch(90.3% 0.014 78.3);--color-paper-3:oklch(98.6% 0.007 80.7);--color-ink:oklch(20.7% 0.008 67.4);--color-ink-2:oklch(31.5% 0.012 65);--color-muted:oklch(44.6% 0.018 61.0);--color-rule:oklch(82.8% 0.021 74.6);--color-accent:oklch(52.2% 0.173 29.3);--color-accent-2:oklch(71.0% 0.146 76.7);--color-accent-ink:oklch(98.6% 0.007 80.7);--color-focus:oklch(52.2% 0.173 29.3);--font-body:"Source Sans 3",ui-sans-serif,system-ui,sans-serif;--font-outlier:var(--font-display);--radius-card:1rem;--radius-pill:999px;--rule-hair:1px;--shadow-card:4px 4px 0 0 oklch(20.7% 0.008 67.4/0.9);--tracking-display:-0.02em;--display-weight:800}@layer base{*,:after,:before{box-sizing:border-box}body,html{overflow-x:clip}html{scroll-padding-top:var(--space-3xl);scrollbar-color:var(--color-muted) var(--color-paper)}body{-webkit-font-smoothing:antialiased;background:var(--color-paper);caret-color:var(--color-accent);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);line-height:1.55;margin:0}::selection{background:color-mix(in oklab,var(--color-accent) 22%,#0000);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.16em}h1,h2,h3{text-wrap:balance;font-family:var(--font-display);font-synthesis:none;font-weight:700;font-weight:var(--display-weight,700);letter-spacing:var(--tracking-display);line-height:1.05;margin:0;min-width:0;overflow-wrap:break-word}h1{font-size:var(--text-display);max-width:20ch}h2{font-size:var(--text-section);max-width:30ch}h3{font-size:var(--text-title);line-height:1.2;max-width:40ch}.lead{font-size:var(--text-lead);line-height:1.45;max-width:52ch}p{text-wrap:pretty;margin:0}p:not([class]){max-width:65ch}img,video{height:auto;max-width:100%}img,svg,video{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.container{box-sizing:border-box;margin-inline:auto;max-width:var(--container);padding-inline:var(--gutter);width:100%}.figure,.num,td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}[data-slot]{background:linear-gradient(160deg,var(--color-paper),var(--color-paper));background:linear-gradient(160deg,var(--color-paper-2,var(--color-paper)),var(--color-paper-3,var(--color-paper)));overflow:hidden;position:relative}[data-slot]>img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%;z-index:1}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media (max-width:60rem){:root{--gutter:24px;--section-gap-s:80px;--section-gap:96px;--section-gap-l:120px}}@media (max-width:40rem){:root{--gutter:16px;--section-gap-s:56px;--section-gap:72px;--section-gap-l:96px;--gap-columns:16px}}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):after,:not(.keep-motion):before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Source Sans\ 3,ui-sans-serif,system-ui,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:40 24% 90%;--foreground:30 13% 9%;--card:38 71% 98%;--card-foreground:30 13% 9%;--primary:5 66% 44%;--primary-foreground:38 71% 98%;--secondary:36 33% 90%;--secondary-foreground:30 13% 14%;--muted:36 20% 85%;--muted-foreground:27 11% 33%;--accent:40 88% 44%;--accent-foreground:30 13% 9%;--destructive:5 66% 37%;--destructive-foreground:38 71% 98%;--border:35 15% 80%;--input:35 15% 80%;--ring:5 66% 44%;--radius:0.75rem;--font-display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;--font-ui:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}*{border-color:#d4cdc4;border-color:hsl(var(--border))}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#ece8df;background:hsl(var(--background));color:#1a1714;color:hsl(var(--foreground));font-family:Source Sans\ 3,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-family:var(--font-ui,"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif);margin:0}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-3{bottom:.75rem}.right-3{right:.75rem}.top-0{top:0}.z-30{z-index:30}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-24{width:6rem}.w-28{width:7rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-6{min-width:1.5rem}.max-w-5xl{max-width:64rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-2px\]{--tw-translate-x:-2px}.translate-x-\[-2px\],.translate-y-\[-2px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-2px\]{--tw-translate-y:-2px}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-110,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.scroll-mt-20{scroll-margin-top:5rem}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-3{column-gap:.75rem}.gap-x-4{column-gap:1rem}.gap-x-6{column-gap:1.5rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-8{row-gap:2rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.75rem;border-radius:var(--radius)}.rounded-md{border-radius:calc(.75rem - 2px);border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(.75rem - 4px);border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-brick{--tw-border-opacity:1;border-color:#b83226;border-color:rgb(184 50 38/var(--tw-border-opacity,1))}.border-brick\/20{border-color:#b8322633}.border-canvas{--tw-border-opacity:1;border-color:#e9e3d8;border-color:rgb(233 227 216/var(--tw-border-opacity,1))}.border-ink{--tw-border-opacity:1;border-color:#1a1714;border-color:rgb(26 23 20/var(--tw-border-opacity,1))}.border-ink\/10{border-color:#1a17141a}.border-ink\/20{border-color:#1a171433}.border-ink\/30{border-color:#1a17144d}.border-ink\/90{border-color:#1a1714e6}.border-input{border-color:#d4cdc4;border-color:hsl(var(--input))}.border-transparent{border-color:#0000}.border-t-brick{--tw-border-opacity:1;border-top-color:#b83226;border-top-color:rgb(184 50 38/var(--tw-border-opacity,1))}.bg-background{background-color:#ece8df;background-color:hsl(var(--background))}.bg-black\/0{background-color:#0000}.bg-brick{--tw-bg-opacity:1;background-color:#b83226;background-color:rgb(184 50 38/var(--tw-bg-opacity,1))}.bg-canvas{--tw-bg-opacity:1;background-color:#e9e3d8;background-color:rgb(233 227 216/var(--tw-bg-opacity,1))}.bg-card{background-color:#fefbf6;background-color:hsl(var(--card))}.bg-destructive{background-color:#9d2a20;background-color:hsl(var(--destructive))}.bg-ink\/15{background-color:#1a171426}.bg-primary{background-color:#ba3226;background-color:hsl(var(--primary))}.bg-secondary{background-color:#eee7dd;background-color:hsl(var(--secondary))}.bg-signal-soft\/70{background-color:#fdf3dcb3}.bg-surface{--tw-bg-opacity:1;background-color:#fdfaf5;background-color:rgb(253 250 245/var(--tw-bg-opacity,1))}.bg-surface\/95{background-color:#fdfaf5f2}.object-cover{object-fit:cover}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-24{padding-bottom:6rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-3{padding-left:.75rem}.pr-3{padding-right:.75rem}.pt-0{padding-top:0}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.font-display{font-family:Bricolage Grotesque,ui-sans-serif,system-ui,sans-serif}.font-sans{font-family:Source Sans\ 3,ui-sans-serif,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.text-brick{--tw-text-opacity:1;color:#b83226;color:rgb(184 50 38/var(--tw-text-opacity,1))}.text-card-foreground{color:#1a1714;color:hsl(var(--card-foreground))}.text-destructive-foreground{color:#fefbf6;color:hsl(var(--destructive-foreground))}.text-foreground{color:#1a1714;color:hsl(var(--foreground))}.text-ink{--tw-text-opacity:1;color:#1a1714;color:rgb(26 23 20/var(--tw-text-opacity,1))}.text-ink-muted{--tw-text-opacity:1;color:#5c524a;color:rgb(92 82 74/var(--tw-text-opacity,1))}.text-ink\/30{color:#1a17144d}.text-muted-foreground{color:#5d534b;color:hsl(var(--muted-foreground))}.text-primary{color:#ba3226;color:hsl(var(--primary))}.text-primary-foreground{color:#fefbf6;color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:#28241f;color:hsl(var(--secondary-foreground))}.text-slate-500{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:#1e293b;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-surface{--tw-text-opacity:1;color:#fdfaf5;color:rgb(253 250 245/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-brick{accent-color:#b83226}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-hard{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-hard{--tw-shadow:4px 4px 0 0 var(--color-ink);--tw-shadow-colored:4px 4px 0 0 var(--tw-shadow-color)}.shadow-hard-drag{--tw-shadow:6px 6px 0 0 var(--color-ink);--tw-shadow-colored:6px 6px 0 0 var(--tw-shadow-color)}.shadow-hard-drag,.shadow-hard-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-hard-sm{--tw-shadow:2px 2px 0 0 var(--color-ink);--tw-shadow-colored:2px 2px 0 0 var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-soft{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-soft{--tw-shadow:0 4px 24px #14121014;--tw-shadow-colored:0 4px 24px var(--tw-shadow-color)}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-brick{--tw-ring-opacity:1;--tw-ring-color:rgb(184 50 38/var(--tw-ring-opacity,1))}.ring-offset-1{--tw-ring-offset-width:1px}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.ring-offset-surface{--tw-ring-offset-color:#fdfaf5}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out-expo{transition-timing-function:cubic-bezier(.16,1,.3,1)}@keyframes enter{0%{opacity:1;opacity:var(--tw-enter-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:1;opacity:var(--tw-exit-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-out-expo{animation-timing-function:cubic-bezier(.16,1,.3,1)}.running{animation-play-state:running}.bg-workshop{background-color:var(--color-paper);background-image:radial-gradient(var(--color-paper-2) 1.5px,#0000 1.5px);background-size:28px 28px}.hero-strip{background:linear-gradient(90deg,var(--color-accent) 0,var(--color-accent) 72%,var(--color-accent-2) 72%,var(--color-accent-2) 100%)}.title-accent-bar{background:linear-gradient(180deg,var(--color-accent) 0,var(--color-accent-2) 100%);border-radius:9999px}.studs-row{background-image:radial-gradient(circle at 8px center,color-mix(in oklab,var(--color-accent) 90%,#0000) 4px,color-mix(in oklab,var(--color-error) 35%,#0000) 4.75px,#0000 5.5px);background-position:0;background-repeat:repeat-x;background-size:24px 12px;height:12px}.panel{background:var(--color-paper-3);border:2px solid var(--color-ink);border-radius:var(--radius-card);box-shadow:4px 4px 0 0 var(--color-ink)}.panel-inset{background:var(--color-paper);border:1.5px solid var(--color-rule);border-radius:calc(var(--radius-card) - 4px)}.panel-hover{transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.panel-hover:hover{box-shadow:5px 5px 0 0 var(--color-ink);transform:translate(-1px,-1px)}.btn-press{transition:transform var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out)}.btn-press:hover:not(:disabled){box-shadow:5px 5px 0 0 var(--color-ink);transform:translate(-1px,-1px)}.btn-press:active:not(:disabled){box-shadow:1px 1px 0 0 var(--color-ink);transform:translate(2px,2px)}.eyebrow{color:var(--color-muted);letter-spacing:0;text-transform:none}.eyebrow,.spec-chip{font-size:.8125rem;font-weight:600}.spec-chip{align-items:center;background:var(--color-paper-3);border:1.5px solid var(--color-ink);border-radius:9999px;box-shadow:2px 2px 0 0 var(--color-ink);display:inline-flex;gap:.375rem;padding:var(--space-2xs) var(--space-sm)}@media (prefers-reduced-motion:reduce){.animate-spin,.btn-press,.panel-hover{animation:none!important;transition:none!important}.btn-press:active,.btn-press:hover,.panel-hover:hover{box-shadow:4px 4px 0 0 var(--color-ink);transform:none!important}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-paper)}::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--color-ink) 35%,#0000);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}@media print{body{background:var(--color-paper-3)}.bg-workshop{background:var(--color-paper-3)!important}.btn-press,.export-bom-btn,.instruction-controls,.panel-hover,.studs-row,.upload-dropzone,footer,header{display:none!important}.panel,.spec-chip{box-shadow:none!important}.panel{border-color:var(--color-rule)!important}.conversion-quality-indicator,.lego-instruction-generator,.step-by-step-instructions{break-inside:avoid-page;page-break-inside:avoid}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:initial}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:#1a1714;color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:#5d534b;color:hsl(var(--muted-foreground))}.hover\:translate-x-\[-1px\]:hover{--tw-translate-x:-1px}.hover\:translate-x-\[-1px\]:hover,.hover\:translate-y-\[-1px\]:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:translate-y-\[-1px\]:hover{--tw-translate-y:-1px}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-brick:hover{--tw-border-opacity:1;border-color:#b83226;border-color:rgb(184 50 38/var(--tw-border-opacity,1))}.hover\:bg-accent:hover{background-color:#d3910d;background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:#9d2a20cc;background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:#9d2a20e6;background-color:hsl(var(--destructive)/.9)}.hover\:bg-primary\/80:hover{background-color:#ba3226cc;background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:#ba3226e6;background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:#eee7ddcc;background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:#1a1714;color:hsl(var(--accent-foreground))}.hover\:text-brick:hover{--tw-text-opacity:1;color:#b83226;color:rgb(184 50 38/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-hard-hover:hover{--tw-shadow:5px 5px 0 0 var(--color-ink);--tw-shadow-colored:5px 5px 0 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid #0000;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-brick:focus-visible{outline-color:#b83226}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:translate-x-0\.5:active{--tw-translate-x:0.125rem}.active\:translate-x-0\.5:active,.active\:translate-x-\[2px\]:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:translate-x-\[2px\]:active{--tw-translate-x:2px}.active\:translate-y-0\.5:active{--tw-translate-y:0.125rem}.active\:translate-y-0\.5:active,.active\:translate-y-\[2px\]:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:translate-y-\[2px\]:active{--tw-translate-y:2px}.active\:translate-y-px:active{--tw-translate-y:1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:cursor-grabbing:active{cursor:grabbing}.active\:shadow-hard-press:active{--tw-shadow:1px 1px 0 0 var(--color-ink);--tw-shadow-colored:1px 1px 0 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-destructive\/15:disabled{background-color:#9d2a2026;background-color:hsl(var(--destructive)/.15)}.disabled\:bg-primary\/15:disabled{background-color:#ba322626;background-color:hsl(var(--primary)/.15)}.disabled\:text-ink-muted:disabled{--tw-text-opacity:1;color:#5c524a;color:rgb(92 82 74/var(--tw-text-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:bg-black\/10{background-color:#0000001a}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-duration:.15s;animation-name:exit}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (min-width:640px){.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:py-14{padding-bottom:3.5rem;padding-top:3.5rem}.sm\:pt-8{padding-top:2rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}}@media (min-width:768px){.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:1024px){.lg\:grid-cols-\[minmax\(0\2c 1fr\)_20rem\]{grid-template-columns:minmax(0,1fr) 20rem}.lg\:items-start{align-items:flex-start}}@media print{.print\:hidden{display:none}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{height:1rem;width:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.conversion-quality-indicator{background:var(--color-paper-3);border:2px solid var(--color-ink);border-radius:var(--radius-card);box-shadow:4px 4px 0 0 var(--color-ink);display:flex;flex-direction:column;gap:.75rem;max-width:28rem;padding:1.25rem 1.5rem}.conversion-quality-indicator h3{color:var(--color-ink);font-family:var(--font-display);font-size:1.05rem;font-weight:800;letter-spacing:-.01em;margin:0}.quality-badge{align-self:flex-start;border-radius:9999px;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.quality-badge.quality-good{background:color-mix(in oklab,var(--color-success) 15%,var(--color-paper-3));color:color-mix(in oklab,var(--color-success) 75%,var(--color-ink))}.quality-badge.quality-fair{background:color-mix(in oklab,var(--color-accent-2) 15%,var(--color-paper-3));color:color-mix(in oklab,var(--color-accent-2) 45%,var(--color-ink))}.quality-badge.quality-poor{background:color-mix(in oklab,var(--color-accent) 12%,var(--color-paper-3));color:var(--color-error)}.quality-stats{display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:.25rem;list-style:none;padding:0}.quality-stats,.quality-tip{color:var(--color-muted);margin:0}.quality-tip{border:1px solid color-mix(in oklab,var(--color-accent-2) 45%,#0000);font-size:.85rem;padding:.75rem}@media (prefers-reduced-motion:no-preference){.conversion-quality-indicator{animation:qualityFadeIn .3s cubic-bezier(.16,1,.3,1)}@keyframes qualityFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}.instruction-header{background:linear-gradient(165deg,var(--color-accent) 0,color-mix(in oklab,var(--color-accent) 60%,var(--color-ink)) 55%,color-mix(in oklab,var(--color-accent) 35%,var(--color-ink)) 100%);border:1px solid color-mix(in oklab,var(--color-paper-3) 12%,#0000);border-radius:18px;box-shadow:0 16px 40px color-mix(in oklab,var(--color-accent) 28%,#0000);color:var(--color-accent-ink);margin-bottom:32px;padding:32px}.header-content{margin:0 auto;max-width:1200px}.header-title h2{text-wrap:balance;font-size:clamp(1.75rem,3vw,2.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:0 0 8px}.header-subtitle{font-size:1.05rem;font-weight:400;margin:0;max-width:48ch;opacity:.92}.instruction-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}.optimization-toggle{align-items:center;background:color-mix(in oklab,var(--color-paper-3) 12%,#0000);border:1px solid color-mix(in oklab,var(--color-paper-3) 20%,#0000);border-radius:12px;cursor:pointer;display:flex;gap:8px;padding:12px 16px;transition:background .2s cubic-bezier(.25,1,.5,1),transform .2s cubic-bezier(.16,1,.3,1)}.optimization-toggle:hover{background:color-mix(in oklab,var(--color-paper-3) 20%,#0000);transform:translateY(-2px)}.optimization-toggle input{accent-color:var(--color-accent-2);cursor:pointer;height:20px;width:20px}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:8px;padding:12px 24px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.btn-primary{box-shadow:0 4px 14px color-mix(in oklab,var(--color-accent-2) 35%,#0000);color:var(--color-ink)}.btn-primary,.btn-primary:hover{background:var(--color-accent-2)}.btn-primary:hover{transform:translateY(-2px)}.btn-secondary{background:color-mix(in oklab,var(--color-paper-3) 95%,#0000);box-shadow:0 4px 14px color-mix(in oklab,var(--color-ink) 12%,#0000);color:color-mix(in oklab,var(--color-accent) 60%,var(--color-ink))}.btn-secondary:hover{background:var(--color-paper-3);transform:translateY(-2px)}.instruction-info-bar{align-items:center;background:var(--color-paper-3);border-radius:12px;box-shadow:0 2px 8px color-mix(in oklab,var(--color-ink) 8%,#0000);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:24px;padding:20px}.layer-selector-enhanced{display:flex;flex-direction:column;gap:8px}.selector-label{align-items:center;color:var(--color-muted);display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:4px}.layer-select{background:var(--color-paper-3);border:2px solid var(--color-paper-2);border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;min-width:200px;padding:8px 16px;transition:border-color .2s,box-shadow .2s}.layer-select:focus,.layer-select:hover{border-color:var(--color-accent)}.layer-select:focus{box-shadow:0 0 0 3px color-mix(in oklab,var(--color-focus) 10%,#0000);outline:none}.progress-summary{display:flex;flex-wrap:wrap;gap:20px}.summary-item{align-items:center;background:color-mix(in oklab,var(--color-paper-3) 70%,var(--color-paper));border-radius:8px;display:flex;gap:8px;padding:8px 16px}.summary-icon{font-size:1.2rem}.summary-text{color:var(--color-ink);font-weight:500}.step-nav-controls{border-radius:10px;box-shadow:0 2px 8px color-mix(in oklab,var(--color-ink) 8%,#0000);padding:16px}.nav-btn{align-items:center;display:flex;font-weight:600;gap:8px;min-width:120px;padding:12px 24px;transition:background-color .2s,color .2s,border-color .2s,opacity .2s,transform .2s}.nav-btn:disabled{border-color:var(--color-paper-2)}.btn-icon{font-size:1.2rem}.step-progress-indicator{flex-direction:column}.progress-dots,.step-progress-indicator{align-items:center;display:flex;gap:8px}.progress-dot{background:var(--color-paper-2);border-radius:50%;height:12px;transition:background-color .3s,box-shadow .3s;width:12px}.progress-dot.active{background:var(--color-accent);box-shadow:0 0 0 4px color-mix(in oklab,var(--color-accent) 20%,#0000);height:16px;width:16px}.progress-dot.completed{background:var(--color-success)}.progress-text{color:var(--color-ink);font-size:1.3rem}.page-header{border-bottom:3px solid color-mix(in oklab,var(--color-ink) 8%,#0000);gap:24px;padding-bottom:24px}.page-number-badge{background:linear-gradient(145deg,var(--color-accent) 0,color-mix(in oklab,var(--color-accent) 60%,var(--color-ink)) 100%);border:4px solid var(--color-paper-3);box-shadow:0 10px 28px color-mix(in oklab,var(--color-accent) 35%,#0000);font-size:2.6rem;font-weight:800;height:84px;width:84px}.page-info h3{font-size:1.65rem;font-weight:800;letter-spacing:-.02em}.page-description{align-items:center;color:var(--color-muted);display:flex;font-size:1.05rem;font-weight:500;gap:8px;margin:0}.piece-count-badge{background:linear-gradient(135deg,var(--color-accent-2) 0,color-mix(in oklab,var(--color-accent-2) 78%,var(--color-ink)) 100%);border-radius:20px;box-shadow:0 4px 12px color-mix(in oklab,var(--color-accent-2) 35%,#0000);color:var(--color-ink);font-size:1.15rem;font-weight:800;padding:4px 12px}.main-build-view{border-radius:12px;margin-bottom:20px}.view-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.view-header h4{color:var(--color-ink);font-size:1.2rem;margin:0}.progress-badge{background:var(--color-accent);border-radius:20px;color:var(--color-accent-ink);font-size:.9rem;font-weight:600;padding:4px 12px}.canvas-container{background:var(--color-paper-3);border-radius:8px;min-height:400px;padding:20px}.first-step-hint{align-items:center;background:color-mix(in oklab,var(--color-accent-2) 14%,var(--color-paper-3));border:2px dashed var(--color-accent-2);border-radius:8px;color:color-mix(in oklab,var(--color-accent-2) 45%,var(--color-ink));display:flex;gap:8px;justify-content:center;margin-top:16px;padding:12px}.hint-icon{font-size:1.5rem}.pieces-to-add{background:linear-gradient(135deg,color-mix(in oklab,var(--color-accent-2) 8%,var(--color-paper-3)) 0,color-mix(in oklab,var(--color-accent-2) 16%,var(--color-paper-3)) 100%);border:2px solid var(--color-accent-2);border-radius:12px;padding:20px}.pieces-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:20px}.pieces-header{flex-wrap:wrap;gap:8px}.pieces-header h4{font-size:1.2rem}.pieces-header h4,.pieces-instruction{color:color-mix(in oklab,var(--color-accent-2) 45%,var(--color-ink))}.pieces-instruction{background:color-mix(in oklab,var(--color-paper-3) 70%,#0000);border-radius:6px;font-size:.9rem;font-weight:500;padding:4px 12px}.piece-card{border:2px solid var(--color-accent-2);border-radius:12px;gap:8px;transition:transform .3s,box-shadow .3s,border-color .3s}.piece-card:hover{border-color:var(--color-accent-2);box-shadow:0 8px 16px color-mix(in oklab,var(--color-accent-2) 40%,#0000)}.piece-step-number{background:linear-gradient(135deg,var(--color-accent) 0,color-mix(in oklab,var(--color-accent) 60%,var(--color-ink)) 100%);box-shadow:0 4px 8px color-mix(in oklab,var(--color-accent) 30%,#0000);font-size:1.1rem;font-weight:700;height:40px;left:-15px;top:-15px;width:40px}.instruction-tips{background:linear-gradient(145deg,color-mix(in oklab,var(--color-accent-2) 8%,var(--color-paper-3)) 0,var(--color-paper-3) 55%,color-mix(in oklab,var(--color-accent-2) 8%,var(--color-paper-3)) 100%);border:2px solid color-mix(in oklab,var(--color-accent-2) 45%,#0000);border-radius:16px;box-shadow:0 8px 28px color-mix(in oklab,var(--color-accent-2) 12%,#0000);margin:28px 0;padding:24px}.instruction-tips h4{align-items:center;color:color-mix(in oklab,var(--color-accent) 60%,var(--color-ink));display:flex;font-size:1.3rem;font-weight:800;gap:8px;letter-spacing:-.02em;margin:0 0 16px}.instruction-tips ul{list-style:none;margin:0;padding-left:0}.instruction-tips li{color:var(--color-muted);font-size:.95rem;font-weight:500;line-height:1.55;margin-bottom:12px;padding-left:32px;position:relative}.instruction-tips li:before{color:color-mix(in oklab,var(--color-accent-2) 78%,var(--color-ink));content:"✨";font-size:1.1rem;font-weight:700;left:0;position:absolute}.instruction-tips strong{color:var(--color-accent);font-weight:800}@media (min-width:1400px){.header-content{max-width:1400px}.pieces-grid{gap:24px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.header-title h2{font-size:2.25rem}.page-number-badge{font-feature-settings:"tnum";font-size:2.75rem;font-variant-numeric:tabular-nums;height:90px;width:90px}.canvas-container{min-height:500px}}@media (min-width:1280px) and (max-width:1399px){.pieces-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.canvas-container{min-height:450px}}@media (min-width:1024px) and (max-width:1279px){.pieces-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.header-title h2{font-size:1.75rem}.page-number-badge{font-size:2.25rem;height:70px;width:70px}}@media (min-width:768px) and (max-width:1023px){.header-content{max-width:100%;padding:0 20px}.header-title h2{font-size:1.6rem}.instruction-header{padding:20px}.instruction-controls{gap:12px}.btn-primary,.btn-secondary{font-size:.9rem;padding:8px 16px}.instruction-info-bar{gap:16px;padding:16px}.layer-select{font-size:.95rem;min-width:180px}.summary-item{font-size:.9rem;padding:4px 12px}.step-nav-controls{gap:8px;padding:12px}.nav-btn{font-size:.9rem;min-width:100px;padding:8px 16px}.page-header{gap:16px}.page-number-badge{font-size:2rem;height:65px;width:65px}.page-info h3{font-size:1.25rem}.piece-count-badge{font-size:1rem;padding:2px 8px}.canvas-container{min-height:350px;padding:16px}.canvas-container canvas{height:auto!important;max-width:100%}.pieces-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.piece-card{padding:12px}.piece-step-number{font-size:1rem;height:35px;left:-12px;top:-12px;width:35px}.instruction-tips{padding:16px}.instruction-tips h4{font-size:1.1rem}}@media (max-width:767px){.header-content{max-width:100%;padding:0 16px}.instruction-header{border-radius:8px;margin-bottom:20px;padding:20px 16px}.header-title h2{font-size:1.4rem}.header-subtitle{font-size:.9rem}.instruction-controls{gap:8px;width:100%}.btn-primary,.btn-secondary{flex:1 1 auto;min-width:120px}.btn-primary,.btn-secondary,.optimization-toggle{font-size:.9rem;justify-content:center;padding:8px 12px}.optimization-toggle{width:100%}.instruction-info-bar{align-items:stretch;flex-direction:column;gap:16px;padding:16px}.layer-selector-enhanced{width:100%}.layer-select{font-size:.95rem;min-width:auto;width:100%}.progress-summary{gap:8px;justify-content:space-between}.summary-item{flex:1 1 auto;font-size:.85rem;justify-content:center;padding:4px 8px}.summary-icon{font-size:1rem}.step-nav-controls{flex-wrap:wrap;gap:8px;padding:12px}.nav-btn{flex:1 1 auto;font-size:.9rem;justify-content:center;min-width:100px;padding:8px 16px}.btn-icon{font-size:1rem}.step-progress-indicator{margin-bottom:8px;order:-1;width:100%}.progress-text{font-size:1.1rem}.progress-dot{height:10px;width:10px}.progress-dot.active{height:14px;width:14px}.page-header{flex-direction:column;gap:16px;padding-bottom:16px;text-align:center}.page-number-badge{font-size:1.8rem;height:60px;width:60px}.page-info h3{font-size:1.2rem}.page-description{flex-wrap:wrap;font-size:.9rem;justify-content:center}.piece-count-badge{font-size:.95rem;padding:2px 8px}.main-build-view{padding:16px}.view-header{align-items:flex-start;flex-direction:column;gap:8px}.view-header h4{font-size:1rem}.progress-badge{font-size:.85rem;padding:4px 12px}.canvas-container{min-height:250px;overflow:hidden;padding:8px}.canvas-container canvas{height:auto!important;max-width:100%;object-fit:contain}.first-step-hint{font-size:.85rem;gap:8px;padding:8px}.hint-icon{font-size:1.2rem}.pieces-to-add{padding:16px}.pieces-header{align-items:flex-start;flex-direction:column;gap:8px}.pieces-header h4{font-size:1.1rem}.pieces-instruction{font-size:.85rem;padding:4px 8px}.pieces-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.piece-card{padding:8px}.piece-card:hover{transform:translateY(-3px)}.piece-step-number{font-size:.9rem;height:32px;left:-10px;top:-10px;width:32px}.instruction-tips{margin:20px 0;padding:16px}.instruction-tips h4{font-size:1rem;margin-bottom:12px}.instruction-tips li{font-size:.9rem;margin-bottom:8px;padding-left:24px}.instruction-tips li:before{font-size:1rem}}@media (max-width:479px){.header-title h2{font-size:1.2rem}.header-subtitle{font-size:.85rem}.instruction-header{padding:16px}.btn-primary,.btn-secondary{font-size:.85rem;min-width:100px;padding:8px 12px}.page-number-badge{font-size:1.5rem;height:50px;width:50px}.page-info h3{font-size:1rem}.page-description{font-size:.85rem}.pieces-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.piece-card{padding:8px}.piece-step-number{font-size:.8rem;height:28px;left:-8px;top:-8px;width:28px}.summary-item{font-size:.8rem;padding:4px 8px}.progress-text{font-size:1rem}}.lego-manual-style{background:var(--color-paper-3);border:2px solid var(--color-ink);border-radius:8px;margin:20px 0;padding:20px}.step-progress-indicator{color:var(--color-ink);font-size:1.5rem;font-weight:700}.step-separator{color:var(--color-muted);margin:0 8px}.isometric-brick-canvas{display:block;margin:0 auto}.lego-instruction-generator .btn-primary,.lego-instruction-generator .btn-secondary,.lego-instruction-generator .layer-select{cursor:pointer}.lego-instruction-generator .btn-primary:focus-visible,.lego-instruction-generator .btn-secondary:focus-visible,.lego-instruction-generator .layer-select:focus-visible,.lego-instruction-generator .optimization-toggle input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.lego-instruction-generator .btn-primary:active,.lego-instruction-generator .btn-secondary:active{transform:translateY(1px)}.lego-instruction-generator .btn-primary:disabled,.lego-instruction-generator .btn-secondary:disabled{cursor:not-allowed;opacity:.55;transform:none}@media (prefers-reduced-motion:reduce){.lego-instruction-generator .btn-primary:active,.lego-instruction-generator .btn-secondary:active{transform:none}}.nav-bar{border:1px solid color-mix(in oklab,var(--color-ink) 8%,#0000);border-radius:14px;box-shadow:0 4px 24px color-mix(in oklab,var(--color-ink) 8%,#0000);gap:20px;justify-content:space-between;margin-bottom:24px;padding:16px 20px}.nav-arrow,.nav-bar{align-items:center;background:var(--color-paper-3);display:flex}.nav-arrow{border:2px solid var(--color-accent);border-radius:12px;color:var(--color-accent);cursor:pointer;flex-shrink:0;font-size:1.8rem;font-weight:700;height:48px;justify-content:center;transition:background .2s cubic-bezier(.25,1,.5,1),color .2s ease,transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease;width:48px}.nav-arrow:hover:not(:disabled){background:var(--color-accent);box-shadow:0 6px 18px color-mix(in oklab,var(--color-accent) 35%,#0000);color:var(--color-accent-ink);transform:scale(1.06)}.nav-arrow:active:not(:disabled){transform:scale(.96)}.nav-arrow:disabled{border-color:var(--color-rule);color:var(--color-rule);cursor:not-allowed;opacity:.35}.page-indicator{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px}.page-number,.total-pages{color:var(--color-ink);font-size:1.2rem;font-weight:800}.page-divider{color:var(--color-muted);font-weight:500;margin:0 4px}.progress-bar{border:1px solid color-mix(in oklab,var(--color-ink) 6%,#0000);max-width:240px;width:100%}.progress-fill{background:linear-gradient(90deg,var(--color-accent) 0,var(--color-accent-2) 100%);transition:transform .3s cubic-bezier(.25,1,.5,1)}.step-nav-controls{align-items:center;border-radius:8px;box-shadow:0 2px 8px color-mix(in oklab,var(--color-ink) 6%,#0000);display:flex;justify-content:space-between;margin-bottom:20px;padding:8px}.nav-btn,.step-nav-controls{background:var(--color-paper-3)}.nav-btn{border:2px solid var(--color-ink);border-radius:8px;cursor:pointer;font-size:1rem;font-weight:700;padding:8px 16px;transition:background-color .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.nav-btn:hover:not(:disabled){background:var(--color-ink);color:var(--color-accent-ink);transform:translateY(-2px)}.nav-btn:disabled{cursor:not-allowed;opacity:.3}.lego-style-step{background:var(--color-paper-3);border-radius:8px;box-shadow:0 4px 6px color-mix(in oklab,var(--color-ink) 10%,#0000);padding:20px}.step-header{align-items:center;border-bottom:2px solid var(--color-paper-2);display:flex;gap:16px;margin-bottom:20px;padding-bottom:16px}.step-number-badge{font-feature-settings:"tnum";align-items:center;background:var(--color-ink);border-radius:50%;box-shadow:0 4px 6px color-mix(in oklab,var(--color-ink) 20%,#0000);color:var(--color-accent-ink);display:flex;font-size:2rem;font-variant-numeric:tabular-nums;font-weight:700;height:60px;justify-content:center;width:60px}.step-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.brick-description{color:var(--color-ink);font-size:1.2rem;font-weight:600}.step-count{color:var(--color-muted);font-size:.9rem}.step-visualization{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 200px;margin-bottom:20px}.main-view{align-items:center;background:var(--color-paper-3);border:2px solid var(--color-paper-2);border-radius:8px;display:flex;justify-content:center;padding:16px}.piece-indicator{background:color-mix(in oklab,var(--color-accent-2) 8%,var(--color-paper-3));border:2px dashed var(--color-accent-2);border-radius:8px;padding:16px}.indicator-label{color:color-mix(in oklab,var(--color-accent-2) 45%,var(--color-ink));font-size:.85rem;font-weight:600;margin-bottom:8px}.piece-detail{align-items:center;display:flex;flex-direction:column;gap:8px}.piece-info{text-align:center}.piece-type{color:var(--color-ink);font-weight:600;margin-bottom:4px}.piece-color{color:var(--color-muted);font-size:.9rem;margin-bottom:4px}.piece-quantity{background:color-mix(in oklab,var(--color-success) 15%,var(--color-paper-3));border-radius:4px;color:color-mix(in oklab,var(--color-success) 75%,var(--color-ink));display:inline-block;font-size:.85rem;font-weight:600;padding:2px 8px}.position-info{background:var(--color-paper-3);border-radius:6px;font-size:.95rem;padding:12px;text-align:center}.position-label{color:var(--color-ink);font-weight:600;margin-right:8px}.position-coords{color:var(--color-muted)}.multi-step-page{background:var(--color-paper-3);border:1px solid var(--color-paper-2);border-radius:12px;box-shadow:0 6px 20px color-mix(in oklab,var(--color-ink) 8%,#0000);padding:24px}.page-header{align-items:center;border-bottom:3px solid var(--color-paper-2);display:flex;gap:20px;margin-bottom:32px;padding-bottom:20px}.page-number-badge{font-feature-settings:"tnum";align-items:center;background:linear-gradient(135deg,var(--color-ink) 0,var(--color-muted) 100%);border-radius:50%;box-shadow:0 6px 12px color-mix(in oklab,var(--color-ink) 30%,#0000);color:var(--color-accent-ink);display:flex;font-size:2.5rem;font-variant-numeric:tabular-nums;font-weight:700;height:80px;justify-content:center;width:80px}.page-info h3{color:var(--color-ink);font-size:1.5rem;margin:0 0 8px}.page-info p{color:var(--color-muted);font-size:1rem;margin:0}.step-content{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr}@media (min-width:1024px){.step-content{gap:40px;grid-template-columns:1.5fr 1fr}}.main-build-view{background:var(--color-paper-3);border:2px solid var(--color-paper-2);border-radius:10px;display:flex;flex-direction:column;min-height:400px;padding:20px}.main-build-view h4{color:var(--color-ink);font-size:1.1rem;margin:0 0 16px;text-align:center}.canvas-container{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:300px}.first-step-hint{background:color-mix(in oklab,var(--color-accent-2) 8%,var(--color-paper-3));border:1px solid color-mix(in oklab,var(--color-accent-2) 40%,#0000);border-radius:12px;color:var(--color-error);font-weight:600;margin-top:20px;padding:12px 16px;text-align:center}.pieces-to-add{background:linear-gradient(180deg,color-mix(in oklab,var(--color-accent-2) 8%,var(--color-paper-3)) 0,var(--color-paper-3) 100%);border:2px solid color-mix(in oklab,var(--color-accent) 35%,#0000);border-radius:16px;box-shadow:0 8px 28px color-mix(in oklab,var(--color-ink) 8%,#0000);padding:24px}.pieces-header{align-items:center;border-bottom:2px solid color-mix(in oklab,var(--color-accent-2) 35%,#0000);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.pieces-header h4{color:var(--color-error);font-size:1.25rem;font-weight:800;letter-spacing:-.02em;margin:0}.piece-count{background:var(--color-accent);border-radius:20px;box-shadow:0 4px 12px color-mix(in oklab,var(--color-accent) 30%,#0000);color:var(--color-accent-ink);font-size:.95rem;font-weight:800;padding:4px 16px}.pieces-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.piece-card{align-items:center;background:var(--color-paper-3);border:2px solid color-mix(in oklab,var(--color-accent) 25%,#0000);border-radius:14px;box-shadow:0 4px 16px color-mix(in oklab,var(--color-ink) 6%,#0000);display:flex;flex-direction:column;gap:12px;padding:16px;position:relative;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease,border-color .2s ease}.piece-card:hover{border-color:var(--color-accent);box-shadow:0 14px 36px color-mix(in oklab,var(--color-ink) 12%,#0000);transform:translateY(-6px)}.piece-step-number{align-items:center;background:linear-gradient(145deg,var(--color-accent) 0,var(--color-error) 100%);border:2px solid var(--color-paper-3);border-radius:50%;box-shadow:0 4px 10px color-mix(in oklab,var(--color-accent) 40%,#0000);color:var(--color-accent-ink);font-size:.9rem;font-weight:800;height:32px;left:-12px;position:absolute;top:-12px;width:32px;z-index:1}.piece-preview,.piece-step-number{display:flex;justify-content:center}.piece-preview{min-height:100px;padding:12px 0;width:100%}.piece-details{border-top:1px solid color-mix(in oklab,var(--color-ink) 8%,#0000);padding-top:8px;text-align:center;width:100%}.piece-type-name{color:var(--color-ink);font-size:1rem;font-weight:800;margin-bottom:4px}.piece-color-name{color:var(--color-muted);font-size:.85rem;font-weight:600;margin-bottom:4px}.piece-position{background:var(--color-paper);border-radius:6px;color:var(--color-muted);display:inline-block;font-family:ui-monospace,Cascadia Code,monospace;font-size:.75rem;font-weight:700;padding:4px 8px}@media (min-width:1400px){.pieces-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.page-number-badge{font-size:2.75rem;height:90px;width:90px}}@media (min-width:1280px) and (max-width:1399px){.pieces-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (min-width:1024px) and (max-width:1279px){.pieces-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.page-number-badge{font-size:2.25rem;height:70px;width:70px}}@media (min-width:768px) and (max-width:1023px){.lego-manual-style{padding:16px}.nav-bar{gap:12px;padding:8px 12px}.nav-arrow{font-size:1.3rem;height:40px;width:40px}.page-number,.total-pages{font-size:1rem}.progress-bar{max-width:150px}.step-nav-controls{padding:8px}.nav-btn{font-size:.9rem;padding:8px 16px}.page-number-badge{font-size:2rem;height:65px;width:65px}.page-info h3{font-size:1.25rem}.step-content{gap:20px}.main-build-view{padding:16px}.pieces-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.piece-card{padding:12px}.piece-step-number{font-size:.85rem;height:30px;width:30px}.pieces-to-add{padding:16px}}@media (max-width:767px){.lego-manual-style{border-radius:6px;padding:16px}.nav-bar{gap:8px;padding:8px}.nav-arrow{font-size:1.2rem;height:38px;width:38px}.page-number,.total-pages{font-size:.95rem}.progress-bar{height:3px;max-width:120px}.step-nav-controls{flex-direction:column;gap:8px;padding:8px}.nav-btn{font-size:.9rem;padding:8px 16px;width:100%}.step-progress-indicator{font-size:1.2rem}.step-visualization{gap:16px;grid-template-columns:1fr}.step-header{flex-direction:column;gap:8px;text-align:center}.step-number-badge{font-feature-settings:"tnum";font-size:1.75rem;font-variant-numeric:tabular-nums;height:50px;width:50px}.brick-description{font-size:1rem}.main-view{padding:8px}.main-build-view canvas,.main-view canvas{height:auto!important;max-width:100%}.piece-indicator{padding:8px}.piece-detail{gap:8px}.piece-type{font-size:.95rem}.piece-color,.position-info{font-size:.85rem}.position-info{padding:8px}.multi-step-page{padding:16px}.page-header{flex-direction:column;gap:12px;padding-bottom:16px;text-align:center}.page-number-badge{font-size:1.8rem;height:60px;width:60px}.page-info h3{font-size:1.1rem}.page-info p{font-size:.9rem}.step-content{gap:20px}.main-build-view{padding:12px}.main-build-view h4{font-size:1rem}.pieces-to-add{padding:16px}.pieces-to-add h4{font-size:1rem}.pieces-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.piece-card{padding:8px}.piece-card:hover{transform:translateY(-2px)}.piece-step-number{font-size:.8rem;height:28px;left:-10px;top:-10px;width:28px}.piece-preview{padding:8px 0}.piece-type-name{font-size:.9rem}.piece-color-name{font-size:.8rem}.piece-position{font-size:.7rem;padding:2px 4px}}@media (max-width:479px){.lego-manual-style{margin:16px 0;padding:12px}.nav-btn{font-size:.85rem;padding:8px 12px}.step-progress-indicator{font-size:1.1rem}.step-number-badge{font-feature-settings:"tnum";font-size:1.5rem;font-variant-numeric:tabular-nums;height:45px;width:45px}.brick-description{font-size:.95rem}.step-count{font-size:.85rem}.page-number-badge{font-size:1.5rem;height:50px;width:50px}.page-info h3{font-size:1rem}.pieces-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.piece-card{padding:8px}.piece-step-number{font-size:.75rem;height:24px;width:24px}.piece-type-name{font-size:.85rem}.piece-color-name{font-size:.75rem}.piece-position{font-size:.65rem}}.brick-shape-renderer{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.brick-flat{position:relative}.brick-flat *,.brick-flat:hover{background:color-mix(in oklab,var(--color-paper-3) 92%,#0000);border-radius:4px;outline:2px solid var(--color-accent);outline-offset:-2px;transition:background .15s ease,background-color .1s ease;z-index:2}.brick-flat-canvas{background:var(--color-paper);border:2px solid color-mix(in oklab,var(--color-ink) 16%,#0000);border-radius:8px;box-shadow:0 4px 16px color-mix(in oklab,var(--color-ink) 10%,#0000);max-height:100%;max-width:100%}.brick-hover-tooltip{background:color-mix(in oklab,var(--color-ink) 95%,#0000);border-radius:8px;box-shadow:0 6px 16px color-mix(in oklab,var(--color-ink) 20%,#0000);color:var(--color-accent-ink);font-size:13px;line-height:1.3;padding:4px 12px;pointer-events:none;position:absolute;transform:translate(-50%,-100%);transition:opacity .15s ease-out;white-space:nowrap;z-index:50}.brick-hover-tooltip .tooltip-color-name{font-weight:700}.brick-hover-tooltip .tooltip-brick-size{font-weight:600}.brick-hover-tooltip .tooltip-swatch{border-radius:2px;display:inline-block;height:10px;margin-right:4px;vertical-align:middle;width:10px}.brick-type-badge{background:color-mix(in oklab,var(--color-ink) 90%,#0000);border-radius:4px;color:var(--color-accent-ink);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;padding:2px 8px}.brick-canvas{background:var(--color-paper-3);border:2px solid color-mix(in oklab,var(--color-ink) 12%,#0000);border-radius:8px;box-shadow:0 4px 16px color-mix(in oklab,var(--color-ink) 10%,#0000);max-height:100%;max-width:100%}.performance-optimized-converter{background:color-mix(in oklab,var(--color-paper-3) 95%,#0000);border-radius:15px;box-shadow:0 8px 32px color-mix(in oklab,var(--color-ink) 10%,#0000);padding:20px}.converter-header{margin-bottom:20px;position:relative}.converter-header h3{color:var(--color-ink);font-size:1.3rem;margin:0}.processing-overlay{align-items:center;background:color-mix(in oklab,var(--color-ink) 70%,#0000);border-radius:15px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.progress-container{align-items:center;background:color-mix(in oklab,var(--color-paper-3) 90%,#0000);border-radius:8px;display:flex;gap:16px;min-width:300px;padding:16px 20px}.progress-bar{background:var(--color-paper);border-radius:4px;height:8px;overflow:hidden;width:200px}.progress-fill{background:linear-gradient(90deg,var(--color-accent),var(--color-error));border-radius:4px;height:100%;transform-origin:left center;transition:transform .3s ease;width:100%}.progress-text{color:var(--color-accent);font-weight:700;min-width:40px;text-align:center}.processing-info{background:color-mix(in oklab,var(--color-accent) 12%,var(--color-paper-3));border-radius:8px;color:var(--color-error);font-weight:500;margin-top:16px;padding:16px;text-align:center}.image-placeholder{align-items:center;background:var(--color-paper-3);border:2px dashed var(--color-paper-2);border-radius:8px;color:var(--color-muted);display:flex;flex-direction:column;justify-content:center;min-height:200px}.spinner{animation:spin 1s linear infinite;border-top:3px solid var(--color-paper-2);border:3px solid var(--color-paper-2);border-radius:50%;border-top-color:var(--color-accent);height:32px;margin-bottom:8px;width:32px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.original-canvas,.pixelated-canvas{background:var(--color-paper-3);border:2px solid var(--color-paper-2);border-radius:8px;height:auto;max-width:100%}.pixelated-canvas.processing{filter:blur(1px);opacity:.7}.image-comparison{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:20px}.image-container{text-align:center}.image-container h4{color:var(--color-ink);font-size:1.1rem;margin-bottom:8px}.image-wrapper{display:inline-block;position:relative}@media (max-width:768px){.image-comparison{gap:16px;grid-template-columns:1fr}.progress-container{flex-direction:column;gap:8px;min-width:250px}.progress-bar{width:100%}}@media (max-width:480px){.performance-optimized-converter{padding:16px}.converter-header h3{font-size:1.1rem}.image-placeholder{min-height:150px}.spinner{height:24px;width:24px}}.optimized-brick-layout{max-width:100%;width:100%}.layout-header{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.layout-header h3{color:var(--color-ink);font-size:1.05rem;font-weight:800;letter-spacing:-.02em;margin:0}.layout-stats{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px}.stat-item{align-items:center;background:color-mix(in oklab,var(--color-accent-2) 12%,var(--color-paper-3));border:1px solid color-mix(in oklab,var(--color-ink) 10%,#0000);border-radius:999px;color:var(--color-ink-muted);display:inline-flex;font-size:.8rem;font-weight:500;gap:4px;padding:8px 12px}.stat-item strong{color:var(--color-ink);font-weight:800}.stat-item--zoom strong{color:var(--color-accent)}.viewer3d-toolbar{background:linear-gradient(180deg,var(--color-paper-3) 0,color-mix(in oklab,var(--color-accent-2) 12%,var(--color-paper-3)) 100%);border:1px solid color-mix(in oklab,var(--color-accent) 20%,#0000);border-radius:14px;box-shadow:0 4px 16px color-mix(in oklab,var(--color-ink) 10%,#0000);display:flex;flex-direction:column;gap:8px;padding:12px;width:100%}.viewer3d-presets{display:flex;flex-wrap:wrap;gap:8px}.viewer3d-chip{background:var(--color-paper-3);border:2px solid color-mix(in oklab,var(--color-ink) 10%,#0000);border-radius:10px;color:var(--color-ink);cursor:pointer;font-size:.78rem;font-weight:700;padding:8px 12px;transition:border-color .2s cubic-bezier(.25,1,.5,1),background .2s ease,transform .2s cubic-bezier(.16,1,.3,1)}.viewer3d-chip:hover{background:var(--color-paper-3);border-color:color-mix(in oklab,var(--color-accent) 45%,#0000);transform:translateY(-1px)}.viewer3d-chip:focus-visible{outline:3px solid color-mix(in oklab,var(--color-accent-2) 55%,#0000);outline-offset:2px}.controls-3d{display:inline-flex;flex-wrap:wrap;gap:8px}.controls-3d button{background:var(--color-accent);border:2px solid var(--color-accent);border-radius:10px;color:var(--color-paper-3);cursor:pointer;font-size:.78rem;font-weight:700;padding:8px 12px;transition:background .2s ease,transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.controls-3d button:hover{background:var(--color-brick-hover);border-color:var(--color-brick-hover);box-shadow:0 6px 18px color-mix(in oklab,var(--color-accent) 25%,#0000);transform:translateY(-1px)}.controls-3d button:focus-visible{outline:3px solid color-mix(in oklab,var(--color-accent-2) 65%,#0000);outline-offset:2px}.viewer3d-performance-note{background:color-mix(in oklab,var(--color-accent-2) 20%,var(--color-paper-3));border:1px solid color-mix(in oklab,var(--color-accent-2) 40%,#0000);border-radius:12px;color:var(--color-brick-hover);font-size:.8rem;font-weight:600;margin:0 0 12px;padding:8px 12px}.viewer3d-help-row{margin-bottom:12px}.viewer3d-help-toggle{background:#0000;border:none;color:var(--color-accent);cursor:pointer;font-size:.82rem;font-weight:700;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.viewer3d-help-toggle:hover{color:var(--color-brick-hover)}.viewer3d-help-list{background:var(--color-paper-3);border:1px solid color-mix(in oklab,var(--color-ink) 8%,#0000);border-radius:12px;color:var(--color-ink-muted);font-size:.82rem;line-height:1.55;margin:8px 0 0;padding:12px 16px 12px 28px}.viewer3d-help-list li{margin-bottom:4px}.viewer3d-help-list li:last-child{margin-bottom:0}.brick-viewport{align-items:center;background:linear-gradient(165deg,color-mix(in oklab,var(--color-paper-3) 88%,var(--color-paper)) 0,var(--color-paper-3) 55%);border:2px solid color-mix(in oklab,var(--color-ink) 10%,#0000);border-radius:16px;box-sizing:border-box;display:flex;justify-content:center;max-width:100%;min-height:260px;overflow:auto;padding:8px}.viewport-3d:focus-visible{outline:3px solid color-mix(in oklab,var(--color-accent-2) 65%,#0000);outline-offset:3px}.brick-content,.brick-grid-info,.brick-shape-renderer{max-width:100%}.view-hint{color:var(--color-ink-muted);font-size:.8rem;font-weight:600;line-height:1.45;margin-top:12px;text-align:center}@media (min-width:768px){.layout-header{align-items:flex-start;flex-direction:row;justify-content:space-between}.layout-header h3{font-size:1.15rem}.stat-item{font-size:.82rem}.viewer3d-toolbar{align-items:center;flex:1 1;flex-direction:row;flex-wrap:wrap;justify-content:space-between;min-width:min(100%,520px);width:auto}.controls-3d button{font-size:.8rem}.brick-viewport{min-height:380px;padding:12px}}@media (min-width:1024px){.brick-viewport{min-height:460px;padding:12px}}.bom-generator{background:var(--color-paper-3);border:2px solid var(--color-ink);border-radius:var(--radius-card);box-shadow:4px 4px 0 0 var(--color-ink);margin-top:24px;padding:20px}.bom-header{margin-bottom:24px}.bom-header h3{color:var(--color-ink);font-size:1.5rem;margin:0 0 16px}.bom-controls{flex-wrap:wrap;gap:20px}.bom-controls,.control-group{align-items:center;display:flex}.control-group{gap:var(--space-xs)}.control-group label{color:var(--color-muted);font-weight:600}.currency-select{background:var(--color-paper-3);border:1.5px solid var(--color-rule);border-radius:6px;color:var(--color-ink);cursor:pointer;font-size:.9rem;padding:8px 12px}.currency-select:hover{border-color:var(--color-muted)}.currency-select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.checkbox-label{align-items:center;color:var(--color-muted);cursor:pointer;display:flex;font-weight:600;gap:var(--space-xs)}.checkbox-label input[type=checkbox]{accent-color:var(--color-accent);cursor:pointer;height:16px;width:16px}.export-bom-btn{background:var(--color-paper-3);border:1.5px solid var(--color-ink);border-radius:8px;box-shadow:2px 2px 0 0 var(--color-ink);color:var(--color-ink);cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:border-color var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.export-bom-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.export-bom-btn:active{box-shadow:1px 1px 0 0 var(--color-ink);transform:translate(2px,2px)}.export-bom-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.bom-summary,.summary-cards{margin-bottom:32px}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.summary-card{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:calc(var(--radius-card) - 4px);padding:20px;text-align:center}.summary-card:hover{border-color:var(--color-accent)}.card-icon{color:var(--color-muted);font-size:2.5rem;margin-bottom:16px}.card-icon svg{height:2.25rem;width:2.25rem}.card-content h4{font-feature-settings:"tnum";color:var(--color-ink);font-size:2rem;font-variant-numeric:tabular-nums;font-weight:800;margin:0 0 4px}.card-content p{color:var(--color-muted);font-size:.9rem;margin:0}.color-breakdown{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:calc(var(--radius-card) - 4px);margin-bottom:32px;padding:20px}.color-breakdown h4{color:var(--color-ink);font-size:1.2rem;margin:0 0 20px}.color-bars{display:flex;flex-direction:column;gap:12px}.color-bar-item{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr auto 100px}.color-info{align-items:center;display:flex;justify-content:space-between;min-width:120px}.color-name{color:var(--color-ink);font-weight:600}.color-count{font-feature-settings:"tnum";background:color-mix(in oklab,var(--color-accent-2) 12%,var(--color-paper-3));border-radius:12px;color:color-mix(in oklab,var(--color-accent-2) 45%,var(--color-ink));font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:600;padding:4px 8px}.color-bar{background:var(--color-paper-3);border:1px solid var(--color-rule);border-radius:12px;height:24px;overflow:hidden}.color-bar-fill{border-radius:11px;height:100%}.bom-details{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:calc(var(--radius-card) - 4px);padding:20px}.bom-details h4{color:var(--color-ink);font-size:1.3rem;margin:0 0 20px}.inventory-table-container{margin-bottom:32px;overflow-x:auto}.inventory-table{border-collapse:collapse;font-size:.9rem;width:100%}.inventory-table th{background:var(--color-paper-3);border-bottom:2px solid var(--color-rule);color:var(--color-muted);font-weight:600;padding:12px;text-align:left}.inventory-table td{border-bottom:1px solid var(--color-paper-2);padding:12px;vertical-align:middle}.inventory-row:hover{background:var(--color-paper-3)}.brick-type-cell{color:var(--color-ink);font-weight:600}.brick-type-visual{align-items:center;display:flex;gap:var(--space-xs)}.brick-shape-chip{grid-gap:1px;border:1px solid color-mix(in oklab,var(--color-ink) 25%,#0000);border-radius:4px;display:grid;gap:1px;padding:2px}.brick-shape-stud{background:color-mix(in oklab,var(--color-paper-3) 45%,#0000);border:1px solid color-mix(in oklab,var(--color-ink) 12%,#0000);border-radius:50%;height:100%;width:100%}.brick-shape-label{color:var(--color-ink);font-weight:600;white-space:nowrap}.color-cell{align-items:center;display:flex;gap:var(--space-xs)}.color-swatch{border:1px solid var(--color-paper-2);border-radius:3px;height:20px;width:20px}.quantity-cell{text-align:center}.price-cell,.quantity-cell,.total-cell{font-feature-settings:"tnum";color:var(--color-success);font-variant-numeric:tabular-nums;font-weight:600}.price-cell,.total-cell{text-align:right}.total-cell{color:var(--color-accent);font-weight:800}.bom-notes{background:color-mix(in oklab,var(--color-accent-2) 15%,var(--color-paper-3));border:1px solid var(--color-accent-2);border-radius:8px;padding:20px}.bom-notes h4{font-size:1.1rem;margin:0 0 16px}.bom-notes h4,.notes-list{color:color-mix(in oklab,var(--color-accent-2) 45%,var(--color-ink))}.notes-list{margin:0;padding-left:20px}.notes-list li{line-height:1.6;margin-bottom:8px}.empty-layout{align-items:center;color:var(--color-muted);display:flex;font-style:italic;justify-content:center;min-height:200px}@media (max-width:768px){.bom-controls{align-items:stretch;flex-direction:column;gap:16px}.summary-cards{gap:16px;grid-template-columns:1fr}.color-bar-item{gap:var(--space-xs);grid-template-columns:1fr}.color-info{justify-content:space-between}.inventory-table{font-size:.8rem}.inventory-table td,.inventory-table th{padding:var(--space-xs)}}@media (max-width:480px){.bom-generator{padding:16px}.bom-header h3{font-size:1.3rem}.summary-cards{grid-template-columns:1fr}.summary-card{padding:16px}.card-icon{font-size:2rem}.card-content h4{font-size:1.5rem}}.language-selector{display:inline-block;position:relative;z-index:1000}.language-current{align-items:center;background:var(--color-paper-3);border:1.5px solid var(--color-ink);border-radius:10px;box-shadow:2px 2px 0 0 var(--color-ink);color:var(--color-ink);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.95rem;font-weight:600;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.language-current:hover{border-color:var(--color-accent);box-shadow:3px 3px 0 0 var(--color-ink)}.language-current:active{box-shadow:1px 1px 0 0 var(--color-ink);transform:translate(1px,1px)}.language-current:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.language-current[aria-expanded=true]{border-color:var(--color-accent)}.language-code{align-items:center;background:var(--color-paper);border:1.5px solid color-mix(in oklab,var(--color-ink) 25%,#0000);border-radius:6px;color:var(--color-muted);display:inline-flex;font-size:.72rem;font-weight:600;justify-content:center;line-height:1.4;min-width:1.9em;padding:1px 4px}.language-name{font-weight:400}.language-arrow{font-size:.7em;opacity:.9;transition:transform var(--dur-short) var(--ease-out)}.language-selector--open .language-arrow{transform:rotate(180deg)}.language-dropdown{background:var(--color-paper-3);border:2px solid var(--color-ink);border-radius:12px;box-shadow:4px 4px 0 0 var(--color-ink);margin-top:var(--space-2xs);min-width:220px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:100%;transform:translateY(-4px);transition:opacity var(--dur-short) var(--ease-out),visibility var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out);visibility:hidden}.language-selector--open .language-dropdown{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}@media (prefers-reduced-motion:reduce){.language-arrow,.language-current{transition:none}.language-current:active{transform:none}.language-dropdown{transform:none;transition:opacity .15s ease,visibility .15s ease}.language-selector--open .language-dropdown{transform:none}}.language-option{align-items:center;background:#0000;border:none;color:var(--color-ink);cursor:pointer;display:flex;font:inherit;gap:var(--space-xs);margin:0;padding:var(--space-xs) 12px;text-align:left;transition:background-color var(--dur-micro) var(--ease-out);width:100%}.language-option:hover{background:color-mix(in oklab,var(--color-accent) 7%,var(--color-paper-3))}.language-option:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.language-option.active{background:color-mix(in oklab,var(--color-accent-2) 18%,var(--color-paper-3));font-weight:600}.language-option.language-option--highlighted{background:color-mix(in oklab,var(--color-accent) 10%,var(--color-paper-3))}.language-option .language-name{flex:1 1;font-weight:400}.language-option.active .language-name{font-weight:600}.language-option .language-english{color:var(--color-muted);font-size:.85em}@media (max-width:768px){.language-current{gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm)}.language-name{font-size:.9em}.language-english{display:none}.language-dropdown{min-width:180px}}@media (max-width:480px){.language-current{gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs)}.language-name{font-size:.85em}.language-dropdown{min-width:150px}.language-option{gap:var(--space-xs);padding:var(--space-xs) 12px}}.model-mesh-renderer{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.model-mesh-canvas{background:var(--color-paper-3);border:2px solid color-mix(in oklab,var(--color-ink) 12%,#0000);border-radius:8px;box-shadow:0 4px 16px color-mix(in oklab,var(--color-ink) 10%,#0000);max-height:100%;max-width:100%}
/*# sourceMappingURL=main.d8bb1a73.css.map*/