/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");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:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");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:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-mono-latin-ext.woff2)format("woff2");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:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-mono-latin.woff2)format("woff2");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}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-1{top:calc(var(--spacing) * 1)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-1{bottom:calc(var(--spacing) * 1)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-3{bottom:calc(var(--spacing) * 3)}.left-0{left:calc(var(--spacing) * 0)}.left-1{left:calc(var(--spacing) * 1)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.m-2{margin:calc(var(--spacing) * 2)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-3{margin-left:calc(var(--spacing) * 3)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-64{height:calc(var(--spacing) * 64)}.h-\[92vh\]{height:92vh}.h-\[100dvh\]{height:100dvh}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-\[70vh\]{max-height:70vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[44px\]{min-height:44px}.min-h-\[250px\]{min-height:250px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-\[calc\(100\%-1rem\)\]{width:calc(100% - 1rem)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[320px\]{max-width:320px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-4{--tw-translate-x:calc(var(--spacing) * -4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-crosshair{cursor:crosshair}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--color-border-default\)\]{border-color:var(--color-border-default)}.bg-\[var\(--color-primary\)\]{background-color:var(--color-primary)}.bg-\[var\(--color-surface-app\)\]{background-color:var(--color-surface-app)}.bg-\[var\(--color-surface-card\)\]{background-color:var(--color-surface-card)}.bg-\[var\(--color-surface-elevated\)\]{background-color:var(--color-surface-elevated)}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.\!py-0{padding-block:calc(var(--spacing) * 0)!important}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.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-filter{-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-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,width\]{transition-property:left,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media(hover:hover){.hover\:bg-\[var\(--color-surface-panel\)\]:hover{background-color:var(--color-surface-panel)}.hover\:text-\[var\(--color-text-primary\)\]:hover{color:var(--color-text-primary)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:p-2{padding:calc(var(--spacing) * 2)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:py-3{padding-block:calc(var(--spacing) * 3)}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-1\/3{width:33.3333%}.md\:w-1\/4{width:25%}.md\:w-5\/12{width:41.6667%}.md\:w-7\/12{width:58.3333%}.md\:translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.md\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.md\:p-4{padding:calc(var(--spacing) * 4)}.md\:opacity-0{opacity:0}.md\:group-focus-within\:translate-y-0:is(:where(.group):focus-within *){--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media(hover:hover){.md\:group-hover\:translate-y-0:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}}@media(min-width:80rem){.xl\:max-w-\[360px\]{max-width:360px}}@container (min-width:560px){.\@min-\[560px\]\:hidden{display:none}.\@min-\[560px\]\:inline{display:inline}}@media print{.print\:hidden{display:none}}}:root{--brand-acier-profond:#1c2b3a;--brand-ambre-industriel:#d97706;--brand-blanc-technique:#f8f6f2;--brand-bleu-technique:#2b6cb0;--brand-gris-forge:#64748b;--breakpoint-mobile:640px;--color-border-default:#94a3b873;--color-border-pattern:#94a3b88c;--color-border-strong:#64748b8c;--color-border-subtle:#94a3b847;--color-danger:#dc2626;--color-focus-ring:#2563eb59;--color-info:#0284c7;--color-primary:#2b6cb0;--color-primary-strong:#1e40af;--color-success:#059669;--color-surface-accent:#2563eb1f;--color-surface-app:#eef2f8;--color-surface-card:#ffffffe6;--color-surface-danger:#dc26261a;--color-surface-elevated:#fff;--color-surface-input:#fffffff0;--color-surface-muted:#e2e8f0;--color-surface-panel:#ffffffd1;--color-text-inverse:#f8f6f2;--color-text-link:#1e40af;--color-text-muted:#475569;--color-text-primary:#1c2b3a;--color-text-secondary:#334155;--color-warning:#d97706;--component-button-height-lg:44px;--component-button-height-md:38px;--component-button-height-sm:32px;--component-input-height:46px;--diagram-accent:#60a5fa;--diagram-emphasis:#be185d;--diagram-fill-accent:#1e40af1a;--diagram-fill-accent-soft:#1e40af0d;--diagram-fill-emphasis:#be185d1a;--diagram-fill-emphasis-soft:#be185d0d;--diagram-fill-neutral:#f3f4f6;--diagram-grid:#ddd;--diagram-grid-strong:#e5e7eb;--diagram-marker:var(--color-text-primary);--diagram-measure-grid:#94a3b83d;--diagram-measure-grid-strong:#64748b6b;--diagram-measure-label:#9d174d;--diagram-measure-label-bg:#ffffffeb;--diagram-measure-line:#be185d;--diagram-measure-point:#be185d;--diagram-muted-line:#9ca3af;--diagram-stroke:var(--color-text-primary);--diagram-text:var(--color-text-primary);--font-family-mono:Roboto Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--font-family-sans:Inter, system-ui, sans-serif;--font-size-body-lg:14px;--font-size-body-md:13px;--font-size-caption:11px;--font-size-data:16px;--font-size-display:36px;--font-size-heading-lg:22px;--font-size-heading-md:18px;--font-size-heading-sm:14px;--font-size-heading-xl:28px;--font-size-label:14px;--font-size-mobile-scale-heading:.88;--font-size-mono:12px;--font-size-small:12px;--font-weight-body-lg:400;--font-weight-body-md:400;--font-weight-caption:400;--font-weight-data:500;--font-weight-display:700;--font-weight-heading-lg:600;--font-weight-heading-md:600;--font-weight-heading-sm:600;--font-weight-heading-xl:700;--font-weight-label:600;--font-weight-mono:400;--font-weight-small:400;--layout-card-padding:20px;--layout-panel-padding:24px;--layout-section-gap:32px;--line-height-body-lg:1.5;--line-height-body-md:1.5;--line-height-caption:1.4;--line-height-data:1.4;--line-height-display:1.1;--line-height-heading-lg:1.25;--line-height-heading-md:1.3;--line-height-heading-sm:1.35;--line-height-heading-xl:1.2;--line-height-label:1.35;--line-height-mono:1.6;--line-height-small:1.4;--motion-duration-enter:.25s;--motion-duration-exit:.15s;--motion-duration-fast:.15s;--motion-duration-instant:0s;--motion-duration-layout:.22s;--motion-duration-micro:.1s;--motion-duration-normal:.2s;--motion-duration-slow:.28s;--motion-easing-accelerate:cubic-bezier(.4, 0, 1, 1);--motion-easing-decelerate:cubic-bezier(0, 0, .2, 1);--motion-easing-emphasis:cubic-bezier(.2, .8, .2, 1);--motion-easing-spring:cubic-bezier(.34, 1.56, .64, 1);--motion-easing-standard:cubic-bezier(.4, 0, .2, 1);--opacity-disabled:.5;--opacity-glass-card:.9;--opacity-glass-panel:.82;--opacity-hidden:0;--opacity-muted:.72;--opacity-visible:1;--pattern-cut:#1b3faa;--pattern-cut-accent:#c8502e;--pattern-cut-accent-fill:#c8502e14;--pattern-cut-fill:#1b3faa0d;--pattern-dim:#33415c;--pattern-measure-grid:#33415c24;--pattern-measure-grid-strong:#33415c47;--pattern-measure-label:#9d174d;--pattern-measure-label-bg:#ffffffeb;--pattern-measure-line:#9d174d;--pattern-measure-point:#9d174d;--pattern-paper:#f7f6f1;--pattern-paper-grid:#24344d0f;--pattern-paper-grid-strong:#24344d1c;--pattern-press:#8b95a8;--pattern-text:#33415c;--primitive-amber-100:#fef3c7;--primitive-amber-200:#fde68a;--primitive-amber-300:#fcd34d;--primitive-amber-400:#fbbf24;--primitive-amber-50:#fffbeb;--primitive-amber-500:#f59e0b;--primitive-amber-600:#d97706;--primitive-amber-700:#b45309;--primitive-amber-800:#92400e;--primitive-amber-900:#78350f;--primitive-amber-950:#451a03;--primitive-blue-100:#dbeafe;--primitive-blue-200:#bfdbfe;--primitive-blue-300:#93c5fd;--primitive-blue-400:#60a5fa;--primitive-blue-50:#eff6ff;--primitive-blue-500:#3b82f6;--primitive-blue-600:#2563eb;--primitive-blue-700:#2b6cb0;--primitive-blue-800:#1e40af;--primitive-blue-900:#1e3a8a;--primitive-blue-950:#172554;--primitive-gray-100:#f1f5f9;--primitive-gray-200:#e2e8f0;--primitive-gray-300:#cbd5e1;--primitive-gray-400:#94a3b8;--primitive-gray-50:#f8f6f2;--primitive-gray-500:#64748b;--primitive-gray-600:#475569;--primitive-gray-700:#334155;--primitive-gray-800:#1e293b;--primitive-gray-900:#1c2b3a;--primitive-gray-950:#020617;--primitive-green-100:#dcfce7;--primitive-green-200:#bbf7d0;--primitive-green-300:#86efac;--primitive-green-400:#4ade80;--primitive-green-50:#f0fdf4;--primitive-green-500:#22c55e;--primitive-green-600:#16a34a;--primitive-green-700:#15803d;--primitive-green-800:#166534;--primitive-green-900:#14532d;--primitive-green-950:#052e16;--primitive-red-100:#fee2e2;--primitive-red-200:#fecaca;--primitive-red-300:#fca5a5;--primitive-red-400:#f87171;--primitive-red-50:#fef2f2;--primitive-red-500:#ef4444;--primitive-red-600:#dc2626;--primitive-red-700:#b91c1c;--primitive-red-800:#991b1b;--primitive-red-900:#7f1d1d;--primitive-red-950:#450a0a;--radius-2xl:.85rem;--radius-2xs:.2rem;--radius-3xl:.9rem;--radius-compact:.25rem;--radius-lg:.65rem;--radius-md:.5rem;--radius-pill:999px;--radius-sm:.4rem;--radius-sm-plus:.45rem;--radius-xl:.75rem;--radius-xs:.375rem;--scene-3d-axis-z:#2b6cb0;--scene-3d-edge:#3f5368;--scene-3d-facet:#9aa8b7;--scene-3d-grid:#47556921;--scene-3d-helper:#8796a8;--scene-3d-metal-high:#d6dee6;--scene-3d-metal-low:#56687a;--scene-3d-surface:#f8fafc;--scene-3d-wire:#2b6cb0;--shadow-card:0 1px 3px #0f172a14, 0 10px 22px #0f172a14;--shadow-glass:0 10px 28px #0f172a2e;--space-1:4px;--space-10:40px;--space-12:48px;--space-16:64px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--z-base:0;--z-floating:20;--z-focus:1;--z-modal:70;--z-sticky:10;--z-toast:60;--z-tooltip:30}html[data-theme=dark]{--color-border-default:#707c8894;--color-border-pattern:#6874808c;--color-border-strong:#919ca6ad;--color-border-subtle:#525c666b;--color-danger:#ef4444;--color-focus-ring:#5d9bd68c;--color-info:#38bdf8;--color-primary:#3678b8;--color-primary-strong:#8ab9e6;--color-success:#10b981;--color-surface-accent:#2b6cb04d;--color-surface-app:#101316;--color-surface-card:#181e24f0;--color-surface-danger:#ef444433;--color-surface-elevated:#21282ffa;--color-surface-input:#0e1217fa;--color-surface-muted:#2d353df0;--color-surface-panel:#14191ee6;--color-text-inverse:#f8f6f2;--color-text-link:#8ab9e6;--color-text-muted:#98a3ad;--color-text-primary:#edf1f4;--color-text-secondary:#c3cbd3;--color-warning:#f59e0b;--diagram-accent:#60a5fa;--diagram-emphasis:#f472b6;--diagram-fill-accent:#60a5fa3d;--diagram-fill-accent-soft:#60a5fa24;--diagram-fill-emphasis:#f472b63d;--diagram-fill-emphasis-soft:#f472b624;--diagram-fill-neutral:#33415566;--diagram-grid:#475569;--diagram-grid-strong:#64748b;--diagram-marker:var(--color-text-primary);--diagram-measure-grid:#64748b52;--diagram-measure-grid-strong:#94a3b880;--diagram-measure-label:#fbcfe8;--diagram-measure-label-bg:#0f172adb;--diagram-measure-line:#f472b6;--diagram-measure-point:#f472b6;--diagram-muted-line:#94a3b8;--diagram-stroke:var(--color-text-primary);--diagram-text:var(--color-text-primary);--pattern-cut:#1b3faa;--pattern-cut-accent:#c8502e;--pattern-cut-accent-fill:#c8502e14;--pattern-cut-fill:#1b3faa0d;--pattern-dim:#33415c;--pattern-measure-grid:#33415c24;--pattern-measure-grid-strong:#33415c47;--pattern-measure-label:#9d174d;--pattern-measure-label-bg:#ffffffeb;--pattern-measure-line:#9d174d;--pattern-measure-point:#9d174d;--pattern-paper:#f7f6f1;--pattern-paper-grid:#24344d0f;--pattern-paper-grid-strong:#24344d1c;--pattern-press:#8b95a8;--pattern-text:#33415c;--scene-3d-axis-z:#60a5fa;--scene-3d-edge:#d1d9df;--scene-3d-facet:#a8b4be;--scene-3d-grid:#9aa7b324;--scene-3d-helper:#6e7e8c;--scene-3d-metal-high:#c4cdd5;--scene-3d-metal-low:#3f4b55;--scene-3d-surface:#151a1f;--scene-3d-wire:#79aee4;--shadow-card:0 1px 3px #00000061, 0 12px 30px #00000085;--shadow-glass:0 14px 34px #00000094}*,:before,:after{box-sizing:border-box}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-family-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(1000px 700px at 85% -10%,#1d4ed814,transparent 60%),radial-gradient(1200px 800px at 0% 100%,#05966914,transparent 65%),var(--color-surface-app);color:var(--color-text-primary)}html[data-theme=dark] body{background:radial-gradient(900px 560px at 88% -12%,var(--brand-ambre-industriel),transparent 62%),radial-gradient(1200px 760px at 0% 100%,var(--brand-bleu-technique),transparent 66%),var(--color-surface-app)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] body{background:radial-gradient(900px 560px at 88% -12%,color-mix(in oklab,var(--brand-ambre-industriel) 5%,transparent),transparent 62%),radial-gradient(1200px 760px at 0% 100%,color-mix(in oklab,var(--brand-bleu-technique) 10%,transparent),transparent 66%),var(--color-surface-app)}}.font-mono,input[type=number],.token-unit,.slider-value-tooltip,.parameter-section-count,.parameter-section-pill-count{font-variant-numeric:tabular-nums}.type-caption{font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--line-height-caption)}.type-small{font-size:var(--font-size-small);font-weight:var(--font-weight-small);line-height:var(--line-height-small)}.type-body{font-size:var(--font-size-body-md);font-weight:var(--font-weight-body-md);line-height:var(--line-height-body-md)}.type-label{font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--line-height-label)}.type-data{font-size:var(--font-size-data);font-weight:var(--font-weight-data);line-height:var(--line-height-data)}.type-mono{font-size:var(--font-size-mono);font-weight:var(--font-weight-mono);line-height:var(--line-height-mono)}.type-heading-sm{font-size:var(--font-size-heading-sm);font-weight:var(--font-weight-heading-sm);line-height:var(--line-height-heading-sm)}.type-heading-md{font-size:var(--font-size-heading-md);font-weight:var(--font-weight-heading-md);line-height:var(--line-height-heading-md)}.type-heading-lg{font-size:var(--font-size-heading-lg);font-weight:var(--font-weight-heading-lg);line-height:var(--line-height-heading-lg)}.app-shell{color:var(--color-text-primary);background:0 0}.brand-header{z-index:var(--z-toast);background:linear-gradient(132deg,#f8fafcf5,#f1f5f9f0 50%,#dbeafeeb);border-bottom:1px solid #94a3b85c;position:relative;overflow:visible;box-shadow:0 6px 18px #0f172a1f}html[data-theme=dark] .brand-header{background:linear-gradient(130deg,var(--color-surface-app),var(--color-surface-elevated) 50%,var(--color-primary))}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .brand-header{background:linear-gradient(130deg,color-mix(in oklab,var(--color-surface-app) 88%,black),color-mix(in oklab,var(--color-surface-elevated) 86%,var(--color-surface-app)) 50%,color-mix(in oklab,var(--color-primary) 18%,var(--color-surface-card)))}}html[data-theme=dark] .brand-header{border-bottom-color:var(--brand-ambre-industriel)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .brand-header{border-bottom-color:color-mix(in oklab,var(--brand-ambre-industriel) 34%,var(--color-border-default))}}html[data-theme=dark] .brand-header{box-shadow:inset 0 -1px 0 var(--brand-ambre-industriel),var(--shadow-glass)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .brand-header{box-shadow:inset 0 -1px color-mix(in oklab,var(--brand-ambre-industriel) 22%,transparent),var(--shadow-glass)}}.brand-logo{border-radius:var(--radius-md);background:linear-gradient(160deg,var(--brand-acier-profond),var(--brand-bleu-technique) 55%,var(--brand-bleu-technique))}@supports (color:color-mix(in lab,red,red)){.brand-logo{background:linear-gradient(160deg,color-mix(in oklab,var(--brand-acier-profond) 82%,black),var(--brand-bleu-technique) 55%,color-mix(in oklab,var(--brand-bleu-technique) 70%,var(--brand-blanc-technique)))}}.brand-logo{box-shadow:inset 0 1px #ffffff38,0 8px 18px var(--brand-acier-profond)}@supports (color:color-mix(in lab,red,red)){.brand-logo{box-shadow:inset 0 1px #ffffff38,0 8px 18px color-mix(in oklab,var(--brand-acier-profond) 70%,transparent)}}.pill-badge{border-radius:var(--radius-pill);color:#1e293b;font-size:var(--font-size-caption);letter-spacing:.04em;background:#94a3b829;border:1px solid #94a3b86b;justify-content:center;align-items:center;padding:.2rem .55rem;font-weight:700;display:inline-flex}html[data-theme=dark] .pill-badge{color:var(--color-text-secondary);background:var(--color-surface-muted)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .pill-badge{background:color-mix(in oklab,var(--color-surface-muted) 68%,transparent)}}html[data-theme=dark] .pill-badge{border-color:var(--color-border-subtle)}.surface-card{border:1px solid var(--color-border-default);border-radius:var(--radius-2xl);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:box-shadow var(--motion-duration-normal) var(--motion-easing-standard),border-color var(--motion-duration-normal) var(--motion-easing-standard),background-color var(--motion-duration-normal) var(--motion-easing-standard);background:linear-gradient(#fffffff5,#ffffffe0);box-shadow:0 1px 2px #0f172a0f,0 10px 26px #0f172a1a}html[data-theme=dark] .surface-card{background:linear-gradient(180deg,var(--color-surface-card),var(--color-surface-card))}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .surface-card{background:linear-gradient(180deg,color-mix(in oklab,var(--color-surface-card) 88%,var(--color-surface-elevated)),var(--color-surface-card))}}html[data-theme=dark] .surface-card{box-shadow:var(--shadow-card)}.surface-card:hover{box-shadow:0 2px 5px #0f172a1a,0 14px 32px #0f172a21}.surface-card-header{border-bottom:1px solid var(--color-border-default);border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl);background:linear-gradient(#94a3b81f,#94a3b80a);padding:1rem}html[data-theme=dark] .surface-card-header{background:linear-gradient(180deg,var(--color-surface-muted),var(--color-surface-muted))}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .surface-card-header{background:linear-gradient(180deg,color-mix(in oklab,var(--color-surface-muted) 48%,transparent),color-mix(in oklab,var(--color-surface-muted) 18%,transparent))}}.surface-divider-top{border-top:1px solid var(--color-border-default)}.section-title{color:var(--color-text-primary);font-size:var(--font-size-heading-md);font-weight:var(--font-weight-heading-md);line-height:var(--line-height-heading-md)}.section-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-body-md);font-weight:var(--font-weight-body-md);line-height:var(--line-height-body-md)}.field-label{color:var(--color-text-primary)}@supports (color:color-mix(in lab,red,red)){.field-label{color:color-mix(in oklab,var(--color-text-primary) 84%,var(--color-text-secondary))}}.field-label{line-height:var(--line-height-label);font-size:var(--font-size-label);font-weight:var(--font-weight-label);letter-spacing:.005em}.field-helper{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--line-height-caption);margin:0}.field-error{color:var(--color-danger-foreground);font-size:var(--font-size-caption);font-weight:600;line-height:var(--line-height-caption);margin:0}.token-section-title{color:var(--color-text-primary);font-size:var(--font-size-label);letter-spacing:.01em;font-weight:600;line-height:1.25rem}.token-hint-box{color:var(--color-text-secondary);background:var(--color-surface-muted);border:1px solid var(--color-border-default)}.parameter-section-nav-cluster{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.parameter-section-nav-cluster .parameter-section-nav{align-self:stretch}.parameter-conditional-hint{max-width:100%;font-size:var(--font-size-caption);color:var(--color-text-muted);align-self:flex-start;align-items:center;gap:.45rem;margin:0;padding:0 .25rem;display:inline-flex}.parameter-conditional-hint-dot{background:var(--color-primary);border-radius:999px;flex:none;width:.35rem;height:.35rem}@supports (color:color-mix(in lab,red,red)){.parameter-conditional-hint-dot{background:color-mix(in oklab,var(--color-primary) 55%,transparent)}}html[data-theme=dark] .parameter-conditional-hint-dot{background:var(--brand-ambre-industriel)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .parameter-conditional-hint-dot{background:color-mix(in oklab,var(--brand-ambre-industriel) 72%,transparent)}}html[data-theme=dark] .parameter-conditional-hint-dot{box-shadow:0 0 0 2px var(--brand-ambre-industriel)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .parameter-conditional-hint-dot{box-shadow:0 0 0 2px color-mix(in oklab,var(--brand-ambre-industriel) 10%,transparent)}}.parameter-form-content{flex-direction:column;gap:1rem;display:flex}.parameter-form-content-framed{padding:1.15rem 1.15rem 1.35rem}.parameter-section-nav{flex-wrap:wrap;gap:.55rem;display:flex}.parameter-section-pill{border:1px solid var(--color-border-default);background:var(--color-surface-input);color:var(--color-text-secondary);border-radius:var(--radius-pill);font-size:var(--font-size-small);transition:border-color var(--motion-duration-fast) var(--motion-easing-standard),background-color var(--motion-duration-fast) var(--motion-easing-standard),color var(--motion-duration-fast) var(--motion-easing-standard),box-shadow var(--motion-duration-normal) var(--motion-easing-standard);align-items:center;gap:.45rem;padding:.3rem .75rem;font-weight:600;line-height:1;display:inline-flex}.parameter-section-pill:hover{color:var(--color-text-primary);background:var(--color-surface-muted)}.parameter-section-pill:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.parameter-section-pill.active{color:var(--color-primary-strong);background:var(--color-surface-accent);border-color:#2563eb6b;box-shadow:inset 0 0 0 1px #2563eb29}.parameter-section-pill.has-errors{border-color:#dc26265c}.parameter-section-pill-count{border:1px solid var(--color-border-default);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--font-size-caption);padding:.12rem .32rem;line-height:1}.parameter-section-pill.active .parameter-section-pill-count{color:var(--color-primary-strong);border-color:#2563eb59}.parameter-section{border:1px solid var(--color-border-default);border-radius:var(--radius-2xl);transition:border-color var(--motion-duration-normal) var(--motion-easing-standard),box-shadow var(--motion-duration-normal) var(--motion-easing-standard),background-color var(--motion-duration-normal) var(--motion-easing-standard);background:linear-gradient(#ffffff73,#ffffff52);padding:0 .95rem .7rem;box-shadow:0 1px 2px #0f172a0a}html[data-theme=dark] .parameter-section{background:linear-gradient(180deg,var(--color-surface-card),var(--color-surface-panel))}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .parameter-section{background:linear-gradient(180deg,color-mix(in oklab,var(--color-surface-card) 62%,transparent),color-mix(in oklab,var(--color-surface-panel) 54%,transparent))}}.parameter-section.has-errors{border-color:#dc262661}.parameter-section:hover{border-color:var(--color-border-strong)}.parameter-section-static-head{justify-content:space-between;align-items:center;padding:.85rem 0 .75rem;display:flex}.parameter-section-meta{align-items:center;gap:.5rem;display:inline-flex}.parameter-section-count{border-radius:var(--radius-pill);border:1px solid var(--color-border-default);background:var(--color-surface-input);min-width:1.5rem;color:var(--color-text-muted);font-size:var(--font-size-small);text-align:center;padding:.05rem .45rem;font-weight:600}.parameter-section-count.has-errors{color:#b91c1c;border-color:#dc262673}html[data-theme=dark] .parameter-section-count.has-errors{color:#fca5a5}.parameter-section-body{transition:grid-template-rows var(--motion-duration-layout) var(--motion-easing-standard);grid-template-rows:0fr;display:grid}.parameter-section-body.open{grid-template-rows:1fr}.parameter-section-body-inner{flex-direction:column;gap:.65rem;min-width:0;padding-bottom:.1rem;display:flex;overflow:hidden}.parameter-section-body.open .parameter-section-body-inner{overflow:visible}.slider-field{margin:0;container-type:inline-size}.slider-field-line{align-items:center;gap:.75rem;display:flex}.slider-field-label{overflow-wrap:normal;white-space:normal;flex:auto;min-width:0;line-height:1.25}.slider-field-input-wrap{flex:none;width:8.75rem}.slider-field-line.has-label-action{gap:.5rem}.slider-field-line.has-label-action .slider-field-input-wrap{width:6.25rem}.slider-field .slider-track-wrap{margin-top:.2rem;padding:.2rem 0}@container (max-width:280px){.slider-field-line,.slider-field-line.has-label-action{grid-template-columns:minmax(0,1fr) auto;gap:.375rem;display:grid}.slider-field-input-wrap,.slider-field-line.has-label-action .slider-field-input-wrap{grid-column:1/-1;width:100%}}.token-divider-vertical{background:var(--color-border-default)}.token-segmented{border-radius:var(--radius-md);display:flex;overflow:hidden}.segmented-button{background:var(--color-surface-input);color:var(--color-text-secondary);border:1px solid var(--color-border-default);font-size:var(--font-size-body-md);font-weight:500;line-height:var(--line-height-body-md);transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard),color var(--motion-duration-fast) var(--motion-easing-standard)}.segmented-button:hover{background:var(--color-surface-muted)}.segmented-button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-1px;z-index:var(--z-focus);position:relative}.segmented-button-active{background:var(--color-surface-accent);color:var(--color-primary-strong);border-color:var(--color-primary);font-weight:600;box-shadow:inset 0 0 0 1px #2563eb33}html[data-theme=dark] .segmented-button-active{box-shadow:inset 0 0 0 1px #3b82f64d}.token-input{padding:var(--space-2) var(--space-3)}.token-input,.token-select{border-radius:var(--radius-xs);border:1px solid var(--color-border-default);background:var(--color-surface-input);width:100%;color:var(--color-text-primary);transition:border-color var(--motion-duration-fast) var(--motion-easing-standard),box-shadow var(--motion-duration-fast) var(--motion-easing-standard),background-color var(--motion-duration-fast) var(--motion-easing-standard);min-height:var(--component-input-height);font-size:var(--font-size-label);line-height:var(--line-height-label);box-shadow:inset 0 1px #fff6}html[data-theme=dark] .token-input,html[data-theme=dark] .token-select{box-shadow:inset 0 1px #ffffff0f}.token-input:focus,.token-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus-ring);outline:0}.token-input-error{border-color:var(--color-danger)}.token-input-error:focus{box-shadow:0 0 0 2px #dc26263d}.token-input:disabled,.token-select:disabled{background:var(--color-surface-muted);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}.token-unit{color:var(--color-text-muted);font-size:var(--font-size-caption);line-height:var(--line-height-caption)}.token-checkbox{accent-color:var(--color-primary);border:1px solid var(--color-border-default);background:var(--color-surface-input);transition:box-shadow var(--motion-duration-normal) var(--motion-easing-standard),border-color var(--motion-duration-normal) var(--motion-easing-standard)}.token-checkbox:hover{border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f629}.token-checkbox:focus{box-shadow:0 0 0 2px var(--color-focus-ring);outline:0}.ui-switch{align-items:flex-start;gap:.65rem;display:inline-flex}.ui-switch-copy{flex-direction:column;min-width:0;display:flex}.ui-switch-label{color:var(--color-text-primary);font-size:var(--font-size-label);letter-spacing:.004em;font-weight:650;line-height:1.35}.ui-switch-description{color:var(--color-text-muted);font-size:var(--font-size-small);margin:0;line-height:1.35}.ui-switch-control{border-radius:var(--radius-pill);border:1px solid var(--color-border-default);background:var(--color-surface-muted);width:2.15rem;height:1.3rem;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard),box-shadow var(--motion-duration-fast) var(--motion-easing-standard);flex-shrink:0;display:inline-flex;position:relative}.ui-switch-control:hover{border-color:var(--color-primary)}.ui-switch-control:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.ui-switch-control:disabled{cursor:not-allowed;opacity:.55}.ui-switch-control.is-on{border-color:var(--color-primary);background:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.ui-switch-control.is-on{background:color-mix(in srgb,var(--color-primary) 30%,var(--color-surface-muted))}}.ui-switch-control.is-sm{width:1.9rem;height:1.15rem}.ui-switch-thumb{border-radius:var(--radius-pill);background:var(--color-surface-elevated);border:1px solid var(--color-border-default);width:.9rem;height:.9rem;position:absolute;top:50%;left:2px}@supports (color:color-mix(in lab,red,red)){.ui-switch-thumb{border:1px solid color-mix(in srgb,var(--color-border-default) 82%,transparent)}}.ui-switch-thumb{transition:transform var(--motion-duration-fast) var(--motion-easing-standard);box-shadow:0 1px 3px var(--color-text-primary);transform:translateY(-50%)}@supports (color:color-mix(in lab,red,red)){.ui-switch-thumb{box-shadow:0 1px 3px color-mix(in srgb,var(--color-text-primary) 16%,transparent)}}.ui-switch-control.is-sm .ui-switch-thumb{width:.78rem;height:.78rem}.ui-switch-thumb.is-on{transform:translate(.85rem,-50%)}.ui-switch-control.is-sm .ui-switch-thumb.is-on{transform:translate(.7rem,-50%)}.token-preset-select{border-radius:var(--radius-xs);background:var(--color-surface-accent);color:var(--color-primary-strong);transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard),color var(--motion-duration-fast) var(--motion-easing-standard);border:1px solid #3b82f659}.token-preset-select:hover{background:#2563eb29}html[data-theme=dark] .token-preset-select{background:var(--color-surface-accent)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .token-preset-select{background:color-mix(in oklab,var(--color-surface-accent) 56%,var(--color-surface-input))}}html[data-theme=dark] .token-preset-select{color:var(--brand-blanc-technique)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .token-preset-select{color:color-mix(in oklab,var(--brand-blanc-technique) 90%,var(--color-text-primary))}}html[data-theme=dark] .token-preset-select{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .token-preset-select{border-color:color-mix(in oklab,var(--color-primary) 52%,var(--color-border-default))}}html[data-theme=dark] .token-preset-select:hover{background:var(--color-surface-accent)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .token-preset-select:hover{background:color-mix(in oklab,var(--color-surface-accent) 72%,var(--color-surface-input))}}html[data-theme=dark] .token-preset-select:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .token-preset-select:hover{border-color:color-mix(in oklab,var(--color-primary) 62%,var(--color-border-strong))}}.token-preset-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus-ring);outline:0}.diameter-preset-row{border:1px dashed var(--color-primary);margin-bottom:.6rem}@supports (color:color-mix(in lab,red,red)){.diameter-preset-row{border:1px dashed color-mix(in oklab,var(--color-primary) 28%,var(--color-border-default))}}.diameter-preset-row{border-radius:var(--radius-lg);background:var(--color-surface-accent)}@supports (color:color-mix(in lab,red,red)){.diameter-preset-row{background:color-mix(in oklab,var(--color-surface-accent) 52%,var(--color-surface-input))}}.diameter-preset-row{padding:.7rem}html[data-theme=dark] .diameter-preset-row{background:linear-gradient(180deg,var(--color-surface-accent),var(--color-surface-accent))}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .diameter-preset-row{background:linear-gradient(180deg,color-mix(in oklab,var(--color-surface-accent) 54%,var(--color-surface-card)),color-mix(in oklab,var(--color-surface-accent) 34%,var(--color-surface-panel)))}}html[data-theme=dark] .diameter-preset-row{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .diameter-preset-row{border-color:color-mix(in oklab,var(--color-primary) 42%,var(--color-border-default))}}.diameter-preset-caption{font-size:var(--font-size-body-md);letter-spacing:.02em;color:var(--color-text-primary);flex-wrap:wrap;align-items:center;gap:.45rem;margin:0;font-weight:700;line-height:1.35;display:flex}@supports (color:color-mix(in lab,red,red)){.diameter-preset-caption{color:color-mix(in oklab,var(--color-text-primary) 82%,var(--color-primary))}}html[data-theme=dark] .diameter-preset-caption{color:var(--brand-blanc-technique)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .diameter-preset-caption{color:color-mix(in oklab,var(--brand-blanc-technique) 82%,var(--color-text-secondary))}}.diameter-preset-caption-kicker{border-radius:var(--radius-pill);border:1px solid var(--color-primary);justify-content:center;align-items:center;min-width:2rem;padding:.14rem .45rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.diameter-preset-caption-kicker{border:1px solid color-mix(in oklab,var(--color-primary) 44%,var(--color-border-default))}}.diameter-preset-caption-kicker{background:var(--color-surface-accent)}@supports (color:color-mix(in lab,red,red)){.diameter-preset-caption-kicker{background:color-mix(in oklab,var(--color-surface-accent) 68%,var(--color-surface-input))}}.diameter-preset-caption-kicker{color:var(--color-primary-strong);font-size:var(--font-size-caption);letter-spacing:.08em;font-weight:800}.diameter-preset-select{width:100%;min-height:2.15rem;padding:.45rem 1.8rem .45rem .55rem}.btn-base{border-radius:var(--radius-md);transition:transform var(--motion-duration-fast) var(--motion-easing-standard),background-color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard),color var(--motion-duration-fast) var(--motion-easing-standard),box-shadow var(--motion-duration-normal) var(--motion-easing-standard);border:1px solid #0000;font-weight:600;line-height:1}.btn-base:hover{transform:translateY(-.5px)}.btn-size-sm{min-height:var(--component-button-height-sm);padding:0 var(--space-2);font-size:var(--font-size-small)}.btn-size-md{min-height:var(--component-button-height-md);padding:0 var(--space-4);font-size:var(--font-size-body-md)}.btn-size-lg{min-height:var(--component-button-height-lg);padding:0 var(--space-5);font-size:var(--font-size-label)}.slider-field .token-input{font-size:var(--font-size-data);font-weight:var(--font-weight-data);padding:.625rem 2.75rem .625rem .625rem}.btn-base:active{transform:translateY(0)}.btn-base:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.btn-base:disabled{box-shadow:none;transform:none}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 1px 2px #0f172a33}.btn-primary:hover{background:var(--color-primary-strong)}.btn-secondary{background:linear-gradient(180deg,var(--color-surface-elevated),var(--color-surface-panel));color:var(--color-text-primary);border-color:var(--color-border-default);box-shadow:0 1px 2px #0f172a24}.btn-secondary:hover{background:linear-gradient(180deg,var(--color-surface-panel),var(--color-surface-muted));border-color:var(--color-border-strong)}.btn-secondary:active{box-shadow:inset 0 1px #0f172a14}.btn-ghost{color:var(--color-text-secondary);box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--color-surface-accent);color:var(--color-primary-strong)}.btn-ghost:active{background:#2563eb29}.btn-outline{background:var(--color-surface-input);color:var(--color-text-primary);border-color:var(--color-border-default)}.btn-outline:hover{background:var(--color-surface-panel)}.btn-danger{background:var(--color-danger);color:#fff;box-shadow:0 1px 2px #7f1d1d38}.btn-danger:hover{background:#b91c1c}.text-on-surface{color:var(--color-text-primary)}.border-border{border-color:var(--color-border-default)}.spinner{color:currentColor;display:inline-block}.spinner-track{opacity:.25}.spinner-indicator{opacity:.85}.spinner-default{color:var(--color-text-secondary)}.spinner-primary{color:var(--color-primary)}.spinner-danger{color:var(--color-danger)}.divider{background:var(--color-border-default);flex-shrink:0}.divider-horizontal{width:100%;height:1px}.divider-vertical{width:1px;height:100%}.breadcrumb{color:var(--color-text-muted);font-size:var(--font-size-small);line-height:1.2}.breadcrumb-list{flex-wrap:wrap;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumb-item{align-items:center;gap:.25rem;min-width:0;display:inline-flex}.breadcrumb-link{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;max-width:100%;margin:0;padding:0;text-decoration:none;overflow:hidden}.breadcrumb-link:hover{color:var(--color-text-primary)}.breadcrumb-link:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-2xs)}.breadcrumb-current{color:var(--color-primary-strong);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.breadcrumb-separator{color:var(--color-text-muted)}.alert{border-radius:var(--radius-md);border:1px solid var(--color-border-default);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;display:flex}.alert-body{flex:1;min-width:0}.alert-title{font-size:var(--font-size-label);margin:0 0 .2rem;font-weight:700;line-height:1.2}.alert-dismiss{border-radius:var(--radius-sm);color:inherit;cursor:pointer;opacity:.85;background:0 0;border:0;padding:.1rem .35rem;font-size:1rem;font-weight:700;line-height:1}.alert-dismiss:hover{opacity:1}.alert-dismiss:focus-visible,.error-toast-dismiss:focus-visible,.app-modal-close:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.alert-info{background:var(--color-surface-accent)}@supports (color:color-mix(in lab,red,red)){.alert-info{background:color-mix(in oklab,var(--color-surface-accent) 70%,var(--color-surface-input))}}.alert-info{color:var(--color-text-primary)}.alert-success{background:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.alert-success{background:color-mix(in oklab,var(--color-success) 12%,var(--color-surface-input))}}.alert-success{border-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.alert-success{border-color:color-mix(in oklab,var(--color-success) 40%,var(--color-border-default))}}.alert-success{color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.alert-success{color:color-mix(in oklab,var(--color-success) 70%,var(--color-text-primary))}}.alert-warning{background:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.alert-warning{background:color-mix(in oklab,var(--color-warning) 14%,var(--color-surface-input))}}.alert-warning{border-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.alert-warning{border-color:color-mix(in oklab,var(--color-warning) 40%,var(--color-border-default))}}.alert-warning{color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.alert-warning{color:color-mix(in oklab,var(--color-warning) 70%,var(--color-text-primary))}}.alert-danger{background:var(--color-surface-danger);color:#b91c1c;border-color:#dc262659}html[data-theme=dark] .alert-danger{color:#fecaca}.interactive-lift{transition:box-shadow var(--motion-duration-normal) var(--motion-easing-standard)}.interactive-lift:hover{box-shadow:0 8px 20px #0f172a24}html[data-theme=dark] .interactive-lift:hover{box-shadow:0 10px 24px #02061780}.resize-handle{border-radius:var(--radius-pill);cursor:col-resize;opacity:.34;width:6px;transition:opacity var(--motion-duration-normal) var(--motion-easing-standard),background var(--motion-duration-normal) var(--motion-easing-standard),transform var(--motion-duration-normal) var(--motion-easing-standard);background:linear-gradient(#94a3b82e,#64748b38);flex-shrink:0;align-self:stretch}.resize-handle:hover,.resize-handle.active{opacity:1;background:linear-gradient(#3b82f6bf,#2563ebbf);transform:scaleX(1.08)}.resize-handle:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;opacity:1}.panel-shell{transition:width var(--motion-duration-slow) var(--motion-easing-standard),opacity var(--motion-duration-layout) var(--motion-easing-standard),transform var(--motion-duration-layout) var(--motion-easing-standard),margin var(--motion-duration-slow) var(--motion-easing-standard);overflow:hidden}.tablet-workspace{transition:grid-template-columns var(--motion-duration-slow) var(--motion-easing-emphasis),gap var(--motion-duration-normal) var(--motion-easing-standard);grid-template-columns:minmax(280px,34%) minmax(0,1fr);gap:1rem;display:grid}.tablet-workspace.left-collapsed{grid-template-columns:0 minmax(0,1fr);gap:.65rem}.tablet-left-panel{opacity:1;filter:blur();min-width:0;transition:opacity var(--motion-duration-layout) var(--motion-easing-standard),transform var(--motion-duration-layout) var(--motion-easing-standard),filter var(--motion-duration-layout) var(--motion-easing-standard);overflow:hidden;transform:translate(0)}.tablet-left-panel.is-collapsed{opacity:0;filter:blur(1px);pointer-events:none;transform:translate(-10px)}.tablet-main-panel{min-width:0}.panel-shell-expanded{opacity:1;visibility:visible;transform:translate(0)}.panel-shell-collapsed{opacity:0;pointer-events:none;visibility:hidden}.panel-shell-left.panel-shell-collapsed{margin-right:-.75rem;transform:translate(-8px)}.panel-shell-right.panel-shell-collapsed{margin-left:-.75rem;transform:translate(8px)}@media(min-width:960px)and (max-width:1279px){.desktop-workspace{gap:8px;padding:12px}.desktop-workspace .panel-shell-left.panel-shell-collapsed{margin-right:-8px}.desktop-workspace .panel-shell-right.panel-shell-collapsed{margin-left:-8px}}.shape-transition-surface{transition:opacity var(--motion-duration-normal) var(--motion-easing-standard),transform var(--motion-duration-normal) var(--motion-easing-standard),filter var(--motion-duration-normal) var(--motion-easing-standard)}.shape-transition-surface.is-transitioning{animation:shapeSwapIn var(--motion-duration-slow) var(--motion-easing-emphasis)}@keyframes shapeSwapIn{0%{opacity:.82;filter:saturate(.92);transform:translateY(4px)}to{opacity:1;filter:saturate();transform:translateY(0)}}html.resizing-panels,html.resizing-panels *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.grid-bg{background-color:var(--color-surface-elevated);background-image:linear-gradient(var(--color-border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--color-border-subtle) 1px,transparent 1px);background-size:40px 40px}.app-modal-overlay{z-index:var(--z-modal);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modalOverlayIn var(--motion-duration-fast) var(--motion-easing-decelerate);background:#02061794}.app-modal-shell{background:var(--color-surface-panel);border:1px solid var(--color-border-default);box-shadow:var(--shadow-glass);transform-origin:50%;animation:modalFadeIn var(--motion-duration-fast) var(--motion-easing-decelerate)}.app-modal-header{border-bottom:1px solid var(--color-border-default);background:linear-gradient(#94a3b824,#94a3b80a);padding:1rem}html[data-theme=dark] .app-modal-header{background:linear-gradient(#47556957,#4755691f)}.app-modal-title{color:var(--color-text-primary);font-size:var(--font-size-heading-md);font-weight:var(--font-weight-heading-md);line-height:var(--line-height-heading-md)}.app-modal-body{background:0 0}.app-modal-footer{border-top:1px solid var(--color-border-default);background:#ffffffad;padding:1rem}html[data-theme=dark] .app-modal-footer{background:#020617ad}.app-modal-close{border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-heading-lg);font-weight:300;line-height:1}.app-modal-close:hover{color:var(--color-primary-strong);background:var(--color-surface-accent)}.app-drawer-layer{pointer-events:none;z-index:var(--z-modal)}.app-drawer-shell{pointer-events:auto;background:var(--color-surface-app);border-left:1px solid var(--color-border-default);width:min(390px,100vw - 2rem);animation:drawerEnter var(--motion-duration-enter) var(--motion-easing-decelerate) both;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-18px 0 42px -24px #0f172a73}.app-drawer-header,.app-drawer-footer{align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-surface-elevated);flex-shrink:0;display:flex}.app-drawer-header{border-bottom:1px solid var(--color-border-default);justify-content:space-between}.app-drawer-footer{border-top:1px solid var(--color-border-default);justify-content:stretch}.app-drawer-footer .btn-base{flex:1}.app-drawer-title{font-size:var(--font-size-heading-sm);font-weight:var(--font-weight-heading-sm);margin:0}.app-drawer-close{flex:none}.app-drawer-body{min-height:0;padding:var(--space-4);overscroll-behavior:contain;flex:1;overflow-y:auto}@keyframes drawerEnter{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(0)}}@media(max-width:767px){.app-drawer-layer{pointer-events:auto;background:#0206178f}.app-drawer-shell{border-left:0;width:100%}.app-drawer-footer{padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}}.app-modal-search{background:var(--color-surface-input)}.shape-library-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0206178f}.shape-library-panel{border-radius:var(--radius-md);background:var(--color-surface-panel);border:1px solid var(--color-border-default);box-shadow:var(--shadow-glass);transform-origin:50%;animation:modalFadeIn var(--motion-duration-fast) var(--motion-easing-decelerate);max-height:92vh}.shape-library-body{flex-direction:column;flex:auto;min-height:0;padding:0;display:flex;overflow:hidden}.shape-library-layout{min-height:0}.shape-library-header-preferences{border-radius:var(--radius-md);margin-left:.4rem}.shape-library-header-lang-btn{min-width:1.85rem;font-size:var(--font-size-caption);padding:.28rem .48rem}.shape-library-header-theme-btn{min-width:1.92rem;height:1.92rem}.cad-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-pill);background:linear-gradient(to right,var(--color-primary) 0%,var(--color-primary) var(--fill,0%),var(--color-surface-muted) var(--fill,0%),var(--color-surface-muted) 100%);outline:none;height:.22rem}.cad-slider:focus-visible{box-shadow:0 0 0 2px var(--color-focus-ring)}.cad-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-pill);border:2px solid var(--color-surface-elevated);background:var(--color-primary);width:.9rem;height:.9rem;transition:transform var(--motion-duration-fast) var(--motion-easing-standard);box-shadow:0 2px 8px #2563eb59}.cad-slider:active::-webkit-slider-thumb{transform:scale(1.12)}.cad-slider::-moz-range-thumb{border:2px solid var(--color-surface-elevated);border-radius:var(--radius-pill);background:var(--color-primary);width:.9rem;height:.9rem;transition:transform var(--motion-duration-fast) var(--motion-easing-standard);box-shadow:0 2px 8px #2563eb59}.cad-slider:active::-moz-range-thumb{transform:scale(1.12)}.slider-value-tooltip{border-radius:var(--radius-sm-plus);border:1px solid var(--color-border-default);background:var(--color-surface-elevated);color:var(--color-text-primary);box-shadow:var(--shadow-card);font-size:var(--font-size-small);pointer-events:none;opacity:0;transition:opacity var(--motion-duration-normal) var(--motion-easing-standard),transform var(--motion-duration-normal) var(--motion-easing-standard);white-space:nowrap;padding:.2rem .5rem;font-weight:600;line-height:1;position:absolute;bottom:calc(100% + .45rem);transform:translate(-50%)translateY(6px)scale(.96)}.slider-value-tooltip:after{content:"";background:inherit;border-right:1px solid var(--color-border-default);border-bottom:1px solid var(--color-border-default);width:.42rem;height:.42rem;position:absolute;top:100%;left:50%;transform:translate(-50%)rotate(45deg)}.slider-value-tooltip.visible{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.ui-tooltip-content{z-index:var(--z-tooltip);border-radius:var(--radius-sm-plus);border:1px solid var(--color-border-default);background:var(--color-surface-elevated);min-width:max-content;max-width:18rem;color:var(--color-text-primary);font-size:var(--font-size-small);box-shadow:var(--shadow-card);pointer-events:none;opacity:var(--opacity-hidden);transition:opacity var(--motion-duration-fast) var(--motion-easing-standard),transform var(--motion-duration-fast) var(--motion-easing-standard);padding:.28rem .52rem;font-weight:500;line-height:1.3;position:absolute;left:50%;transform:translate(-50%,6px)scale(.98)}.ui-tooltip-content[data-side=top]{bottom:calc(100% + .4rem)}.ui-tooltip-content[data-side=bottom]{top:calc(100% + .4rem)}.ui-tooltip:hover .ui-tooltip-content,.ui-tooltip:focus-within .ui-tooltip-content{opacity:var(--opacity-visible);transform:translate(-50%)scale(1)}.pattern-grid-surface{background-color:var(--pattern-paper);background-image:linear-gradient(to right,var(--pattern-paper-grid-strong) 1px,transparent 1px),linear-gradient(to bottom,var(--pattern-paper-grid-strong) 1px,transparent 1px),linear-gradient(to right,var(--pattern-paper-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--pattern-paper-grid) 1px,transparent 1px);background-size:50px 50px,50px 50px,10px 10px,10px 10px}.pattern-ink-label{stroke:var(--pattern-paper);stroke-width:.3em;stroke-linejoin:round;paint-order:stroke fill}.pattern-cartouche{z-index:10;pointer-events:none;font-family:var(--font-family-mono);font-size:var(--font-size-caption);letter-spacing:.02em;text-align:right;color:var(--pattern-dim);overflow-wrap:anywhere;background:var(--pattern-paper);border:1px solid var(--pattern-dim);flex:none;order:1;align-self:flex-end;max-width:calc(100% - 24px);margin:8px 4px 4px;padding:5px 9px;line-height:1.4;position:relative}@media print{.pattern-cartouche{display:none}}.viewport-surface{border-radius:var(--radius-md);background-color:var(--color-surface-elevated);border:1px solid var(--color-border-default)}.floating-toolbar{border:1px solid var(--color-border-default);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0}html[data-theme=dark] .floating-toolbar{background:var(--color-surface-card)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .floating-toolbar{background:color-mix(in oklab,var(--color-surface-card) 96%,transparent)}}.floating-toolbar-compact{border-radius:var(--radius-pill)}.header-title{color:var(--color-text-primary);font-size:var(--font-size-heading-md);font-weight:var(--font-weight-heading-md);line-height:var(--line-height-heading-md)}.header-home-btn{min-height:var(--component-button-height-md);border-radius:var(--radius-md);cursor:pointer}.header-home-btn:hover .header-title{color:var(--color-text-link)}.header-home-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}@media(max-width:639px){.header-brand .pill-badge{display:none}.header-home-btn{min-height:var(--component-button-height-lg)}}.header-subtitle{color:var(--color-text-secondary)}.header-caption{color:var(--color-text-muted)}.header-preferences{border:1px solid var(--color-border-default);background:var(--color-surface-input);box-shadow:none}.header-language-toggle{border-radius:var(--radius-pill);overflow:hidden}.header-lang-btn{min-width:2rem;font-size:var(--font-size-caption);padding:.32rem .55rem;font-weight:700;line-height:1}.header-theme-btn{border-radius:var(--radius-pill);background:var(--color-surface-accent);min-width:2.1rem;height:2.1rem;padding:0}@supports (color:color-mix(in lab,red,red)){.header-theme-btn{background:color-mix(in oklab,var(--color-surface-accent) 58%,var(--color-surface-input))}}.header-theme-btn{color:var(--color-primary-strong);border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.header-theme-btn{border-color:color-mix(in oklab,var(--color-primary) 38%,var(--color-border-default))}}.header-theme-btn:hover{background:var(--color-surface-accent)}@supports (color:color-mix(in lab,red,red)){.header-theme-btn:hover{background:color-mix(in oklab,var(--color-surface-accent) 76%,var(--color-surface-input))}}.header-theme-btn:hover{color:var(--color-text-primary)}.header-outline-btn{background:var(--color-surface-input);color:var(--color-text-primary);border-color:var(--color-border-default);box-shadow:none;padding-inline:.8rem}.overflow-menu-trigger{min-height:var(--component-button-height-sm);border-radius:var(--radius-md);padding:0 var(--space-2);font-size:var(--font-size-small)}.btn-icon{width:var(--component-button-height-sm);min-width:var(--component-button-height-sm);height:var(--component-button-height-sm);min-height:var(--component-button-height-sm);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}@media(pointer:coarse){.brand-header button{min-width:var(--component-button-height-lg);min-height:var(--component-button-height-lg)}.token-input,.token-select,.slider-field .token-input{font-size:max(16px,var(--font-size-label))}.ui-switch-control:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.alert-dismiss,.error-toast-dismiss{min-width:44px;min-height:44px}.breadcrumb-link:is(a,button){min-height:44px;padding-inline:var(--space-1);align-items:center;display:inline-flex}.btn-base{min-height:var(--component-button-height-lg)}.btn-icon{width:var(--component-button-height-lg);min-width:var(--component-button-height-lg);height:var(--component-button-height-lg);min-height:var(--component-button-height-lg)}}.overflow-menu-panel{overscroll-behavior:contain;border-radius:var(--radius-lg);background:var(--color-surface-card);border-color:var(--color-border-default);min-width:220px;max-height:min(70dvh,640px);overflow-y:auto}.overflow-menu-item{border-radius:var(--radius-xs);width:100%;font-size:var(--font-size-body-md);color:var(--color-text-primary);text-align:left;align-items:center;gap:8px;padding:8px 10px;font-weight:500;display:flex}.overflow-menu-item:hover,.overflow-menu-item:focus-visible{background:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.overflow-menu-item:hover,.overflow-menu-item:focus-visible{background:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.overflow-menu-item:hover,.overflow-menu-item:focus-visible{outline:none}.overflow-menu-separator{border-top:1px solid var(--color-border-subtle);margin:4px 6px}.overflow-menu-group-label{font-size:var(--font-size-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding:6px 10px 2px;font-weight:600}.diameter-dn-menu{flex:none}.diameter-dn-trigger{border-color:var(--color-primary);min-width:2.25rem;min-height:1.75rem;padding:.125rem .4rem}@supports (color:color-mix(in lab,red,red)){.diameter-dn-trigger{border-color:color-mix(in oklab,var(--color-primary) 42%,var(--color-border-default))}}.diameter-dn-trigger{color:var(--color-primary-strong);font-family:var(--font-family-mono);line-height:1}.diameter-dn-trigger-content{align-items:center;gap:.15rem;display:inline-flex}.diameter-dn-menu .overflow-menu-panel{overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--color-surface-app);min-width:10rem;max-height:min(340px,60vh);overflow-y:auto}.diameter-dn-option{white-space:normal;min-height:2.25rem;line-height:1.35;font-family:var(--font-family-mono)}@media(pointer:coarse){.diameter-dn-trigger{min-width:44px;min-height:44px}.diameter-dn-option{min-height:44px}}.header-outline-btn:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong)}.header-icon-group{border-inline:1px solid var(--color-border-subtle);padding-inline:.15rem}.header-icon-btn{color:var(--color-text-secondary)}.header-icon-btn:hover .header-panel-toggle-icon,.header-icon-btn:focus-visible .header-panel-toggle-icon{color:var(--color-primary-strong)}.header-command-bar{gap:.3rem;min-width:0}.header-context-row{border-top:1px solid var(--color-border-default);min-height:2.45rem;margin-top:.45rem;padding-top:.45rem}@supports (color:color-mix(in lab,red,red)){.header-context-row{border-top:1px solid color-mix(in oklab,var(--color-border-default) 78%,transparent)}}.workshop-progress{flex:1;min-width:0}.workshop-progress ol{align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.workshop-progress li{align-items:center;min-width:0;display:flex}.workshop-progress li:not(:last-child):after{background:var(--color-border-default);content:"";width:clamp(.75rem,2vw,2.25rem);height:1px;margin-inline:.25rem}.workshop-progress button{border-radius:var(--radius-md);min-height:2rem;color:var(--color-text-secondary);font-size:var(--font-size-small);white-space:nowrap;background:0 0;border:0;align-items:center;gap:.45rem;padding:.2rem .45rem;font-weight:650;display:inline-flex}.workshop-progress button:hover{background:var(--color-surface-muted);color:var(--color-text-primary)}.workshop-progress button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.workshop-progress button>span{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface-card);width:1.35rem;height:1.35rem;font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:inline-flex}.workshop-progress .is-current button{background:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.workshop-progress .is-current button{background:color-mix(in oklab,var(--color-primary) 13%,transparent)}}.workshop-progress .is-current button{color:var(--color-primary-strong)}.workshop-progress .is-current button>span{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-inverse)}.workshop-progress .is-complete button>span{border-color:var(--color-success);background:var(--color-success);color:var(--color-text-inverse)}.header-context-actions{margin-left:auto}.workshop-guided-toggle{border-radius:var(--radius-md);min-height:2rem;color:var(--color-text-primary);font-size:var(--font-size-small);background:0 0;border:1px solid #0000;align-items:center;gap:.45rem;padding:.2rem .45rem;font-weight:650;display:inline-flex}.workshop-guided-toggle:hover{border-color:var(--color-border-default);background:var(--color-surface-muted)}.workshop-guided-toggle:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.workshop-guided-track{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface-muted);width:1.9rem;height:1.1rem;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard);padding:2px;display:inline-flex;position:relative}.workshop-guided-track>span{border-radius:var(--radius-pill);background:var(--color-text-muted);width:.7rem;height:.7rem;transition:transform var(--motion-duration-fast) var(--motion-easing-standard)}.workshop-guided-toggle[aria-checked=true] .workshop-guided-track{border-color:var(--color-primary);background:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.workshop-guided-toggle[aria-checked=true] .workshop-guided-track{background:color-mix(in oklab,var(--color-primary) 32%,var(--color-surface-card))}}.workshop-guided-toggle[aria-checked=true] .workshop-guided-track>span{background:var(--color-primary-strong);transform:translate(.75rem)}.workshop-status-bar{border-top:1px solid var(--color-border-default);background:var(--color-surface-panel);align-items:center;gap:.75rem;min-height:2rem;padding:.3rem 1rem;display:flex}@supports (color:color-mix(in lab,red,red)){.workshop-status-bar{background:color-mix(in oklab,var(--color-surface-panel) 94%,transparent)}}.workshop-status-bar{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums}.workshop-status-bar>span+span{border-left:1px solid var(--color-border-default);padding-left:.75rem}.workshop-status-state{color:var(--color-text-primary);font-family:var(--font-family-sans);align-items:center;gap:.4rem;font-weight:700;display:inline-flex}.workshop-status-dot{border-radius:var(--radius-pill);background:var(--color-danger);width:.5rem;height:.5rem;box-shadow:0 0 0 3px var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.workshop-status-dot{box-shadow:0 0 0 3px color-mix(in oklab,var(--color-danger) 14%,transparent)}}.workshop-status-state.is-valid .workshop-status-dot{background:var(--color-success);box-shadow:0 0 0 3px var(--color-success)}@supports (color:color-mix(in lab,red,red)){.workshop-status-state.is-valid .workshop-status-dot{box-shadow:0 0 0 3px color-mix(in oklab,var(--color-success) 14%,transparent)}}.header-project-name{width:clamp(100px,12vw,180px);min-width:0;padding:.5rem}.header-file-label{display:none}.measurement-help>summary,.export-summary>summary{cursor:pointer;padding-block:.45rem}@media(min-width:1280px){.header-file-label{margin-left:.35rem;display:inline}}@media(max-width:1023px){.workshop-progress{display:none}.header-main-row{flex-wrap:wrap;justify-content:flex-start}.header-command-bar{display:contents}.header-brand{margin-right:auto}.header-project-cluster{flex-basis:100%;order:1}.header-project-name{flex:1;width:0}.header-file-label{margin-left:.25rem;display:inline}}@media(max-width:359px){.header-file-label{display:none}}.header-shape-cluster{min-width:0}.header-tools-cluster,.header-project-cluster,.header-overflow-menu{z-index:calc(var(--z-toast) + 1);flex-shrink:0}.header-shape-cluster,.header-tools-cluster,.header-project-cluster{border:1px solid var(--color-border-subtle);background:var(--color-surface-input);border-radius:.95rem;align-items:center;gap:.3rem;padding:.22rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.header-shape-cluster,.header-tools-cluster,.header-project-cluster{background:color-mix(in oklab,var(--color-surface-input) 84%,transparent)}}.header-shape-btn{background:var(--color-surface-accent);border-color:#3b82f65c;justify-content:flex-start;align-items:center;min-width:0;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.header-shape-btn{background:color-mix(in oklab,var(--color-surface-accent) 75%,var(--color-surface-input))}}.header-shape-btn{color:var(--color-primary-strong)}.header-shape-btn:hover{background:var(--color-surface-accent);border-color:#2563eb80}@supports (color:color-mix(in lab,red,red)){.header-shape-btn:hover{background:color-mix(in oklab,var(--color-surface-accent) 90%,var(--color-surface-input))}}.header-shape-btn-content{align-items:center;gap:.35rem;width:100%;min-width:0}.header-shape-btn-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.token-input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.token-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.token-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.header-shape-btn-hint{font-size:var(--font-size-caption);color:var(--color-text-secondary);white-space:nowrap;font-weight:600}.header-shape-btn-chevron{opacity:.82;transition:transform var(--motion-duration-fast) var(--motion-easing-standard),opacity var(--motion-duration-fast) var(--motion-easing-standard);flex-shrink:0}.header-shape-btn:hover .header-shape-btn-chevron{opacity:1;transform:translateY(1px)}html[data-theme=dark] .header-title{color:var(--brand-blanc-technique)}html[data-theme=dark] .header-subtitle{color:var(--color-text-primary)}html[data-theme=dark] .header-caption{color:var(--color-text-muted)}html[data-theme=dark] .header-preferences{background:var(--color-surface-card)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .header-preferences{background:color-mix(in oklab,var(--color-surface-card) 92%,transparent)}}html[data-theme=dark] .header-preferences{border-color:var(--color-border-default)}html[data-theme=dark] .header-shape-cluster,html[data-theme=dark] .header-tools-cluster,html[data-theme=dark] .header-project-cluster{background:var(--color-surface-panel)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .header-shape-cluster,html[data-theme=dark] .header-tools-cluster,html[data-theme=dark] .header-project-cluster{background:color-mix(in oklab,var(--color-surface-panel) 72%,transparent)}}html[data-theme=dark] .header-shape-cluster,html[data-theme=dark] .header-tools-cluster,html[data-theme=dark] .header-project-cluster{border-color:var(--color-border-subtle)}html[data-theme=dark] .header-theme-btn{background:var(--color-surface-accent)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .header-theme-btn{background:color-mix(in oklab,var(--color-surface-accent) 68%,var(--color-surface-card))}}html[data-theme=dark] .header-theme-btn{color:var(--color-text-primary);border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .header-theme-btn{border-color:color-mix(in oklab,var(--color-primary) 52%,var(--color-border-default))}}html[data-theme=dark] .header-theme-btn:hover{background:var(--color-surface-accent)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .header-theme-btn:hover{background:color-mix(in oklab,var(--color-surface-accent) 82%,var(--color-surface-card))}}html[data-theme=dark] .header-theme-btn:hover{color:var(--brand-blanc-technique)}html[data-theme=dark] .header-outline-btn{background:var(--color-surface-input)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .header-outline-btn{background:color-mix(in oklab,var(--color-surface-input) 82%,transparent)}}html[data-theme=dark] .header-outline-btn{color:var(--color-text-primary);border-color:var(--color-border-default)}html[data-theme=dark] .header-outline-btn:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong)}.workspace-segmented{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-card);background:#ffffffe6}html[data-theme=dark] .workspace-segmented{background:var(--color-surface-card)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .workspace-segmented{background:color-mix(in oklab,var(--color-surface-card) 96%,transparent)}}.workspace-segmented-indicator{border-radius:var(--radius-md);background:linear-gradient(145deg,var(--color-surface-accent),#2563eb29);border:1px solid #2563eb2e}.workspace-segmented-btn{color:var(--color-text-secondary);border-radius:var(--radius-md);font-size:var(--font-size-body-md);font-weight:500;line-height:var(--line-height-body-md);transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard),color var(--motion-duration-fast) var(--motion-easing-standard),transform var(--motion-duration-fast) var(--motion-easing-standard);transform:translateY(0)}.workspace-segmented-btn:hover{color:var(--color-text-primary);transform:translateY(-1px)}.workspace-segmented-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.workspace-segmented-btn-active{color:var(--color-primary-strong);font-weight:600}.workspace-segmented-btn-inactive{color:var(--color-text-secondary)}.workspace-segmented-btn-inactive:hover{background:var(--color-surface-muted)}.pattern-toolbar-select{min-width:176px}.pattern-toolbar-zoom-group{border-radius:var(--radius-xs);border:1px solid var(--color-border-default);background:var(--color-surface-input)}.pattern-toolbar-active-dot{border-radius:var(--radius-pill)}.pattern-toolbar-zoom-btn,.pattern-toolbar-fit-btn{color:var(--color-text-secondary)}.pattern-toolbar-zoom-btn:hover,.pattern-toolbar-fit-btn:hover{color:var(--color-text-primary);background:var(--color-surface-muted)}.pattern-toolbar-print-btn{border-color:var(--color-border-strong)}.pattern-output-dialog [data-testid=output-settings]{grid-template-columns:1fr}.pattern-output-dialog [data-testid=output-settings]>p{grid-column:1}.preview-loading-text{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--line-height-caption)}.scene-3d-fullscreen-btn{border-radius:var(--radius-xs)}.preview-helper-wire{color:var(--scene-3d-helper)}.preview-model-cad{color:var(--scene-3d-edge)}.preview-model-wire{color:var(--scene-3d-wire)}.preview-not-implemented{background:var(--color-surface-muted);color:var(--color-text-secondary)}.mobile-action-btn{min-height:var(--component-button-height-lg);border-radius:var(--radius-xl);background:var(--color-surface-elevated);color:var(--color-text-primary);border-color:var(--color-border-default);letter-spacing:.01em;font-weight:600}.mobile-action-btn:hover{background:var(--color-surface-panel)}.mobile-top-strip{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-workshop-header{z-index:var(--z-toast)}.mobile-change-shape-btn{min-height:var(--component-button-height-lg);background:linear-gradient(180deg,var(--color-surface-elevated),var(--color-surface-panel));border-color:var(--color-border-default)}.mobile-change-shape-btn:hover{border-color:var(--color-border-strong)}.mobile-view-switcher{border-radius:var(--radius-lg);border:1px solid var(--color-border-default);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-card);transition:border-color var(--motion-duration-normal) var(--motion-easing-standard),background-color var(--motion-duration-normal) var(--motion-easing-standard);background:#ffffffe6}html[data-theme=dark] .mobile-view-switcher{background:var(--color-surface-card)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .mobile-view-switcher{background:color-mix(in oklab,var(--color-surface-card) 96%,transparent)}}.mobile-view-switch-indicator{border-radius:var(--radius-md);background:linear-gradient(145deg,var(--color-surface-accent),#2563eb29);border:1px solid #2563eb2e}.mobile-tab-btn{min-width:var(--component-button-height-lg);min-height:var(--component-button-height-lg);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-body-md);font-weight:500;line-height:var(--line-height-body-md);transition:color var(--motion-duration-normal) var(--motion-easing-standard),transform var(--motion-duration-normal) var(--motion-easing-standard),background-color var(--motion-duration-normal) var(--motion-easing-standard);transform:translateY(0)}.mobile-tab-btn:hover{color:var(--color-text-primary);transform:translateY(-1px)}.mobile-tab-btn:active{transform:translateY(0)}.mobile-tab-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.mobile-tab-btn-active{color:var(--color-primary-strong);font-weight:600}.mobile-tab-btn-inactive{color:var(--color-text-secondary)}.mobile-tab-btn-inactive:hover{background:var(--color-surface-muted)}.mobile-surface-2d{background:var(--color-surface-app)}.mobile-surface-3d{background:var(--color-surface-panel)}.error-toast{z-index:var(--z-toast);border-radius:var(--radius-xl);border:1px solid var(--color-danger);justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.error-toast{border:1px solid color-mix(in srgb,var(--color-danger) 40%,transparent)}}.error-toast{background:var(--color-surface-danger);color:var(--color-danger-foreground);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);--toast-x:0;transition:opacity var(--motion-duration-normal) var(--motion-easing-standard),transform var(--motion-duration-normal) var(--motion-easing-standard),filter var(--motion-duration-normal) var(--motion-easing-standard);transform-origin:bottom;padding:.75rem}.error-toast-center{--toast-x:-50%;width:min(100% - 1.5rem,32rem);bottom:1rem;left:50%}.error-toast-inset{bottom:1rem;left:1rem;right:1rem}.error-toast-mobile-offset{bottom:6rem}.error-toast.is-visible{opacity:1;transform:translate(var(--toast-x)) scale(1);filter:blur()}.error-toast.is-hidden{opacity:0;transform:translate(var(--toast-x),14px) scale(.98);filter:blur(1.2px)}.error-toast-message{font-size:var(--font-size-label);flex:1;line-height:1.3}.error-toast-dismiss{color:inherit;cursor:pointer;border-radius:var(--radius-sm);opacity:.8;transition:opacity var(--motion-duration-normal) var(--motion-easing-standard),background-color var(--motion-duration-normal) var(--motion-easing-standard);background:0 0;border:0;padding:.1rem .35rem;font-size:1rem;font-weight:700;line-height:1}.error-toast-dismiss:hover{opacity:1;background:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.error-toast-dismiss:hover{background:color-mix(in srgb,var(--color-danger) 12%,transparent)}}.mobile-current-shape-card{border-radius:var(--radius-md);background:var(--color-surface-card);border-color:var(--color-border-default)}.mobile-current-shape-label{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--line-height-caption)}.mobile-current-shape-value{color:var(--color-text-primary);font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--line-height-label)}.bottom-sheet{background:var(--color-surface-panel);border:1px solid var(--color-border-default);border-radius:var(--radius-xl) var(--radius-xl) 0 0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:box-shadow var(--motion-duration-normal) var(--motion-easing-standard),border-color var(--motion-duration-normal) var(--motion-easing-standard);border-bottom:0;box-shadow:0 -4px 20px -5px #0f172a47}.bottom-sheet.is-open{box-shadow:0 -8px 26px -8px #0f172a5c}.bottom-sheet-actions{border:1px solid var(--color-border-default);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-3xl);transition:transform var(--motion-duration-normal) var(--motion-easing-standard),opacity var(--motion-duration-normal) var(--motion-easing-standard);background:#ffffffd6;padding:.25rem}html[data-theme=dark] .bottom-sheet-actions{background:var(--color-surface-card)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .bottom-sheet-actions{background:color-mix(in oklab,var(--color-surface-card) 92%,transparent)}}.bottom-sheet.is-closed .bottom-sheet-actions{transform:translateY(2px)}.bottom-sheet.is-open .bottom-sheet-actions{transform:translateY(0)}.bottom-sheet-header{border-bottom:1px solid var(--color-border-default);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-surface-card)}.bottom-sheet-header:hover{background:var(--color-surface-panel)}.bottom-sheet-header:focus-visible{box-shadow:inset 0 0 0 2px var(--color-focus-ring)}.bottom-sheet-handle{border-radius:var(--radius-pill);background:var(--color-border-strong)}.bottom-sheet-title{color:var(--color-text-primary);font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--line-height-label)}.bottom-sheet-dot{border-radius:var(--radius-pill);background:var(--color-text-muted)}.bottom-sheet-dot.open{background:var(--color-primary)}.bottom-sheet-chevron{border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text-secondary)}.bottom-sheet-content{background:var(--color-surface-app);padding-bottom:1.25rem}@media(max-width:767px){.floating-toolbar-compact{gap:.35rem;padding:.3rem .45rem}.floating-toolbar-compact .btn-base{min-width:2rem}.bottom-sheet-content{padding-top:.9rem;padding-left:.9rem;padding-right:.9rem}}.shape-library-sidebar{background:linear-gradient(#94a3b814,#94a3b805)}.shape-library-sidebar-head{border-bottom:1px solid var(--color-border-default);padding-bottom:.5rem}.shape-library-sidebar-title{letter-spacing:.03em;color:var(--color-text-muted)}.shape-library-header{padding:.75rem .9rem}.shape-library-hint{color:var(--color-text-secondary)}.shape-library-scroll-list{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#64748b57 transparent;flex:auto;min-height:0;padding-right:.25rem;overflow-y:auto}.shape-library-scroll-list::-webkit-scrollbar{width:.34rem}.shape-library-scroll-list::-webkit-scrollbar-track{background:0 0}.shape-library-scroll-list::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:#64748b4d}.shape-library-scroll-list::-webkit-scrollbar-thumb:hover{background:#64748b7a}.shape-library-meta-pill{border-radius:var(--radius-pill);font-size:var(--font-size-caption);border:1px solid var(--color-border-default);background:var(--color-surface-input);color:var(--color-text-muted);padding:.1rem .45rem;font-weight:600;line-height:1.1}.shape-library-search-wrap{position:relative}.shape-library-search-icon{width:.95rem;height:.95rem;color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.shape-library-search-input{padding-left:2rem;padding-right:2rem}.shape-library-search-clear{border-radius:var(--radius-pill);width:1.65rem;height:1.65rem;color:var(--color-text-muted);transition:background-color var(--motion-duration-normal) var(--motion-easing-standard),color var(--motion-duration-normal) var(--motion-easing-standard),border-color var(--motion-duration-normal) var(--motion-easing-standard);background:0 0;border:1px solid #0000;font-size:1rem;line-height:1;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.shape-library-search-clear:hover{border-color:var(--color-border-default);background:var(--color-surface-muted);color:var(--color-text-primary)}.shape-library-category-btn{border-radius:var(--radius-md);font-size:var(--font-size-body-md);font-weight:500;line-height:var(--line-height-body-md);border:1px solid var(--color-border-default);background:var(--color-surface-card);justify-content:space-between;align-items:center;gap:.75rem;display:flex}@supports (color:color-mix(in lab,red,red)){.shape-library-category-btn{background:color-mix(in oklab,var(--color-surface-card) 80%,var(--color-surface-panel))}}.shape-library-category-btn{transition:transform var(--motion-duration-normal) var(--motion-easing-standard),border-color var(--motion-duration-normal) var(--motion-easing-standard),background-color var(--motion-duration-normal) var(--motion-easing-standard),box-shadow var(--motion-duration-normal) var(--motion-easing-standard)}html[data-theme=dark] .shape-library-category-btn{background:var(--color-surface-card)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .shape-library-category-btn{background:color-mix(in oklab,var(--color-surface-card) 74%,var(--color-surface-panel))}}.shape-library-category-main{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.shape-library-category-dot{border-radius:var(--radius-pill);background:var(--category-accent,var(--color-primary));opacity:.6;flex-shrink:0;width:.45rem;height:.45rem}.shape-library-category-btn-active{background:linear-gradient(145deg,var(--category-accent,var(--color-primary)),var(--category-accent,var(--color-primary)))}@supports (color:color-mix(in lab,red,red)){.shape-library-category-btn-active{background:linear-gradient(145deg,color-mix(in oklab,var(--category-accent,var(--color-primary)) 18%,var(--color-surface-input)),color-mix(in oklab,var(--category-accent,var(--color-primary)) 8%,var(--color-surface-card)))}}.shape-library-category-btn-active{color:var(--color-text-primary);border-color:var(--category-accent,var(--color-primary))}@supports (color:color-mix(in lab,red,red)){.shape-library-category-btn-active{border-color:color-mix(in oklab,var(--category-accent,var(--color-primary)) 42%,var(--color-border-default))}}.shape-library-category-btn-active{box-shadow:0 1px 2px var(--category-accent,var(--color-primary)),0 0 0 1px var(--category-accent,var(--color-primary))}@supports (color:color-mix(in lab,red,red)){.shape-library-category-btn-active{box-shadow:0 1px 2px color-mix(in oklab,var(--category-accent,var(--color-primary)) 24%,transparent),0 0 0 1px color-mix(in oklab,var(--category-accent,var(--color-primary)) 22%,transparent)}}.shape-library-category-btn-inactive{color:var(--color-text-primary)}.shape-library-category-btn-inactive:hover{background:linear-gradient(180deg,var(--color-surface-card),var(--color-surface-muted));border-color:var(--color-border-strong);transform:translate(2px)}.shape-library-count-pill{border-radius:var(--radius-pill);font-size:var(--font-size-caption);line-height:var(--line-height-caption);background:var(--category-accent,var(--color-primary))}@supports (color:color-mix(in lab,red,red)){.shape-library-count-pill{background:color-mix(in oklab,var(--category-accent,var(--color-primary)) 16%,var(--color-surface-input))}}.shape-library-count-pill{border-color:var(--category-accent,var(--color-primary))}@supports (color:color-mix(in lab,red,red)){.shape-library-count-pill{border-color:color-mix(in oklab,var(--category-accent,var(--color-primary)) 44%,var(--color-border-default))}}.shape-library-count-pill{color:var(--category-accent,var(--color-primary))}@supports (color:color-mix(in lab,red,red)){.shape-library-count-pill{color:color-mix(in oklab,var(--category-accent,var(--color-primary)) 70%,var(--color-text-primary))}}.shape-library-count-pill{font-weight:600}.shape-library-shapes-column{background:linear-gradient(#94a3b80a,#0000)}.shape-library-column-head{border-bottom:1px solid var(--color-border-default);padding-bottom:.5rem}.shape-library-column-title{letter-spacing:.03em;color:var(--color-text-muted);font-size:var(--font-size-caption);font-weight:600;line-height:var(--line-height-caption)}.shape-library-shape-btn{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-surface-card)}@supports (color:color-mix(in lab,red,red)){.shape-library-shape-btn{background:color-mix(in oklab,var(--color-surface-card) 78%,var(--color-surface-panel))}}html[data-theme=dark] .shape-library-shape-btn{background:var(--color-surface-card)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .shape-library-shape-btn{background:color-mix(in oklab,var(--color-surface-card) 72%,var(--color-surface-panel))}}.shape-library-shape-btn-active{background:linear-gradient(145deg,var(--color-primary),var(--color-primary))}@supports (color:color-mix(in lab,red,red)){.shape-library-shape-btn-active{background:linear-gradient(145deg,color-mix(in oklab,var(--color-primary) 14%,var(--color-surface-input)),color-mix(in oklab,var(--color-primary) 6%,var(--color-surface-card)))}}.shape-library-shape-btn-active{color:var(--color-text-primary);border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.shape-library-shape-btn-active{border-color:color-mix(in oklab,var(--color-primary) 38%,var(--color-border-default))}}.shape-library-shape-btn-active{box-shadow:0 1px 2px var(--color-primary),0 0 0 1px var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.shape-library-shape-btn-active{box-shadow:0 1px 2px color-mix(in oklab,var(--color-primary) 22%,transparent),0 0 0 1px color-mix(in oklab,var(--color-primary) 18%,transparent)}}.shape-library-shape-btn-inactive{color:var(--color-text-primary)}.shape-library-shape-btn-inactive:hover{background:linear-gradient(180deg,var(--color-surface-card),var(--color-surface-muted));border-color:var(--color-border-strong)}.shape-library-shape-icon{border-radius:var(--radius-xs);background:linear-gradient(145deg,var(--color-surface-card),var(--color-surface-muted));border-color:var(--color-border-strong)}@supports (color:color-mix(in lab,red,red)){.shape-library-shape-icon{border-color:color-mix(in oklab,var(--color-border-strong) 72%,transparent)}}html[data-theme=dark] .shape-library-shape-icon{background:linear-gradient(145deg,var(--color-surface-card),var(--color-surface-panel))}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .shape-library-shape-icon{background:linear-gradient(145deg,color-mix(in oklab,var(--color-surface-card) 76%,var(--color-surface-elevated)),color-mix(in oklab,var(--color-surface-panel) 84%,var(--color-surface-input)))}}html[data-theme=dark] .shape-library-shape-icon{border-color:var(--color-border-strong)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .shape-library-shape-icon{border-color:color-mix(in oklab,var(--color-border-strong) 68%,transparent)}}.shape-library-shape-icon-svg{color:var(--color-text-primary);display:block}.shape-library-shape-icon-svg *{vector-effect:non-scaling-stroke}.shape-library-shape-btn-active .shape-library-shape-icon-svg{color:var(--color-primary-strong)}.shape-library-shape-desc{color:var(--color-text-secondary)}.shape-library-shape-chevron{color:var(--color-primary)}.shape-library-accent-card{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.shape-library-accent-card{border-color:color-mix(in oklab,var(--color-primary) 32%,var(--color-border-default))}}.shape-library-accent-header{background:linear-gradient(180deg,var(--color-surface-accent),var(--color-surface-accent))}@supports (color:color-mix(in lab,red,red)){.shape-library-accent-header{background:linear-gradient(180deg,color-mix(in oklab,var(--color-surface-accent) 78%,var(--color-surface-card)),color-mix(in oklab,var(--color-surface-accent) 28%,var(--color-surface-card)))}}html[data-theme=dark] .shape-library-accent-header{background:linear-gradient(180deg,var(--color-surface-accent),var(--color-surface-accent))}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .shape-library-accent-header{background:linear-gradient(180deg,color-mix(in oklab,var(--color-surface-accent) 72%,var(--color-surface-card)),color-mix(in oklab,var(--color-surface-accent) 22%,var(--color-surface-card)))}}.shape-library-shape-name{font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--line-height-label)}.shape-library-accent-title{color:var(--color-primary-strong);font-size:var(--font-size-heading-md);font-weight:var(--font-weight-heading-md);line-height:var(--line-height-heading-md)}.shape-library-accent-icon-wrap{border-radius:var(--radius-xs);background:var(--color-surface-input);border-color:var(--color-border-default)}.shape-library-accent-icon{color:var(--color-primary-strong)}.shape-library-detail-card{flex-direction:column;min-height:0;display:flex;overflow:hidden}.shape-library-detail-description{color:var(--color-text-secondary);font-size:var(--font-size-body-md);font-weight:var(--font-weight-body-md);line-height:var(--line-height-body-md)}.shape-library-diagram-head{background:linear-gradient(180deg,var(--color-surface-muted),var(--color-surface-muted))}@supports (color:color-mix(in lab,red,red)){.shape-library-diagram-head{background:linear-gradient(180deg,color-mix(in oklab,var(--color-surface-muted) 42%,var(--color-surface-card)),color-mix(in oklab,var(--color-surface-muted) 12%,var(--color-surface-card)))}}html[data-theme=dark] .shape-library-diagram-head{background:linear-gradient(180deg,var(--color-surface-muted),var(--color-surface-muted))}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .shape-library-diagram-head{background:linear-gradient(180deg,color-mix(in oklab,var(--color-surface-muted) 60%,var(--color-surface-card)),color-mix(in oklab,var(--color-surface-muted) 22%,var(--color-surface-card)))}}.shape-library-diagram-canvas{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);background-color:var(--color-surface-elevated);min-height:0;overflow:hidden}.shape-library-diagram-canvas-compact{padding:.75rem}.shape-library-diagram-canvas>*{max-width:100%;max-height:100%}.shape-library-diagram-canvas svg{width:100%;max-width:100%;height:100%;max-height:100%;overflow:visible}.shape-library-diagram-canvas svg text{fill:var(--diagram-text);letter-spacing:.004em;paint-order:stroke;stroke:var(--color-surface-elevated);font-size:clamp(7.4px,.3vw + 6.9px,8.8px);font-weight:520}@supports (color:color-mix(in lab,red,red)){.shape-library-diagram-canvas svg text{stroke:color-mix(in oklab,var(--color-surface-elevated) 78%,transparent)}}.shape-library-diagram-canvas svg text{stroke-width:.95px;stroke-linejoin:round}@media(max-width:640px){.shape-library-header-preferences{margin-left:.2rem}.shape-library-header-lang-btn{min-width:1.7rem;font-size:var(--font-size-caption)}.shape-library-header-theme-btn{min-width:1.74rem;height:1.74rem}.shape-library-diagram-canvas svg text{stroke-width:.85px;font-size:clamp(7px,.7vw + 5.5px,8px)}}@media(max-width:767px){.shape-library-panel .app-modal-header{flex-shrink:0;gap:.5rem;padding:.75rem}.shape-library-panel .app-modal-title{font-size:var(--font-size-body-lg)}.shape-library-body{overscroll-behavior:contain;scrollbar-gutter:stable;overflow-y:auto}.shape-library-layout{min-height:max-content}.shape-library-pane-categories{flex:none}.shape-library-pane-categories .shape-library-scroll-list{gap:.5rem;padding-bottom:.35rem;display:flex;overflow:auto hidden}.shape-library-pane-categories li{flex:none;margin:0}.shape-library-category-btn{min-height:44px}.shape-library-pane-shapes{flex:none;min-height:10.5rem;max-height:32vh}.shape-library-pane-shapes .shape-library-scroll-list{max-height:calc(32vh - 2.5rem)}.shape-library-pane-detail{flex:none;min-height:clamp(17rem,46vh,28rem);overflow:visible}.shape-library-detail-card{min-height:clamp(17rem,46vh,28rem)}.shape-library-diagram-canvas{min-height:clamp(14rem,36vh,22rem)}.shape-library-diagram-canvas svg{min-height:clamp(13rem,34vh,21rem)}}.shape-library-footer{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);background:var(--color-surface-panel);padding:.65rem .9rem}@supports (color:color-mix(in lab,red,red)){.shape-library-footer{background:color-mix(in oklab,var(--color-surface-panel) 86%,var(--color-surface-card))}}html[data-theme=dark] .shape-library-footer{background:var(--color-surface-panel)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .shape-library-footer{background:color-mix(in oklab,var(--color-surface-panel) 84%,var(--color-surface-card))}}.shape-library-footer-actions .btn-base{min-height:44px;padding-top:.45rem;padding-bottom:.45rem}.app-error-shell{background:var(--color-surface-app)}.app-error-card{border-color:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.app-error-card{border-color:color-mix(in srgb,var(--color-danger) 38%,transparent)}}.app-error-icon{color:var(--color-danger)}.app-error-details{border-radius:var(--radius-compact);background:var(--color-surface-danger);border:1px solid var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.app-error-details{border:1px solid color-mix(in srgb,var(--color-danger) 25%,transparent)}}.app-error-details{color:var(--color-danger-foreground-strong)}.app-error-report-block,.viewer-error-report-block{border-radius:var(--radius-compact);background:var(--color-surface-panel)}@supports (color:color-mix(in lab,red,red)){.app-error-report-block,.viewer-error-report-block{background:color-mix(in srgb,var(--color-surface-panel) 92%,var(--color-danger))}}.app-error-report-block,.viewer-error-report-block{border:1px solid var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.app-error-report-block,.viewer-error-report-block{border:1px solid color-mix(in srgb,var(--color-danger) 22%,transparent)}}.app-error-report-block,.viewer-error-report-block{color:var(--color-text-primary);white-space:pre-wrap;-webkit-user-select:text;user-select:text}.viewer-error-report-block{max-width:min(100%,32rem)}.viewer-error-surface{border-radius:var(--radius-md);background:var(--color-surface-danger);border-color:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.viewer-error-surface{border-color:color-mix(in srgb,var(--color-danger) 35%,transparent)}}.viewer-error-title,.viewer-error-message{color:var(--color-danger-foreground)}.viewer-error-button{background:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.viewer-error-button{background:color-mix(in srgb,var(--color-danger) 20%,transparent)}}.viewer-error-button{color:var(--color-danger-foreground)}.viewer-error-button:hover{background:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.viewer-error-button:hover{background:color-mix(in srgb,var(--color-danger) 28%,transparent)}}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes parameterSectionFadeIn{0%{opacity:0}to{opacity:1}}.parameter-section-motion{animation:parameterSectionFadeIn var(--motion-duration-micro) var(--motion-easing-decelerate)}@media(prefers-reduced-motion:reduce){*,:before,:after{animation-duration:var(--motion-duration-instant)!important;animation-delay:var(--motion-duration-instant)!important;transition-duration:var(--motion-duration-instant)!important;transition-delay:var(--motion-duration-instant)!important;scroll-behavior:auto!important}.app-modal-overlay,.app-modal-shell,.parameter-section-motion{animation:none!important}}@media print{.pattern-ink-label{stroke:#fff}body *{visibility:hidden}.printable-area,.printable-area *{visibility:visible}.printable-area{box-sizing:border-box;width:100%;height:100%;padding:1cm;position:absolute;top:0;left:0;overflow:visible;background:#fff!important}.printable-area svg{width:100%;max-width:100%;height:100%;max-height:100%}}@media(max-width:767px){.header-shape-cluster,.header-project-cluster,.header-project-status{display:none}.pattern-card-header{padding:.5rem}.pattern-header-toolbar{gap:.5rem .25rem;width:100%}.pattern-header-toolbar>.divider{display:none}.pattern-toolbar-zoom-group{flex:1 0 calc(100% - 90px);justify-content:center}.pattern-toolbar-export-btn{order:1;padding-inline:.5rem}.pattern-toolbar-fullscreen-btn{order:2}.pattern-toolbar-view-menu{order:3}.pattern-toolbar-print-btn{order:4}.pattern-toolbar-output-settings{flex:1 0 calc(100% - 156px);order:5;min-width:0}.pattern-toolbar-output-settings .type-caption{display:none}.printable-area{min-height:0}.scene-3d-controls,.scene-3d-controls-collapsed{top:1rem!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:767px)and (max-height:650px){.brand-header{padding-block:.25rem}.brand-header [data-testid=project-file-status]>p:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-top-strip{padding-block:.25rem}.mobile-surface-2d{padding-bottom:4rem}.pattern-card-header{padding-block:.25rem}.pattern-header-toolbar{row-gap:.25rem}.pattern-cartouche{margin-block:4px 0;padding-block:2px}}.animate-fade-in-up{animation:fadeInUp var(--motion-duration-enter) var(--motion-easing-decelerate) forwards}.output-settings-sections{gap:1.5rem;display:grid}.output-settings-sections>section{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}.output-settings-sections>section>*{grid-column:1;min-width:0}.output-settings-sections>section+section{border-top:1px solid var(--color-border-subtle);padding-top:1.25rem}.output-settings-sections h3{font-weight:600}.pattern-mobile-zoom{display:none}.scene-3d-advanced{border-top:1px solid var(--color-border-subtle)}.scene-3d-advanced>summary{cursor:pointer;min-height:44px;padding:.75rem 0;font-size:12px;display:list-item}.scene-3d-advanced>summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.header-save-feedback{z-index:var(--z-toast);max-width:calc(100vw - 2rem);position:fixed;bottom:4rem;left:50%;transform:translate(-50%)}.header-save-feedback button{background:var(--color-surface-card);color:var(--color-text-primary);border:1px solid var(--color-primary);min-height:44px;box-shadow:var(--shadow-card);cursor:pointer;border-radius:8px;padding:.75rem 1rem}.bottom-sheet-expand{min-width:44px;min-height:44px;color:var(--color-text-primary);background:var(--color-surface-card);border:1px solid var(--color-border-subtle);cursor:pointer;border-radius:6px}.bottom-sheet-expand:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.header-project-cluster,.header-tools-cluster{box-shadow:none}@media(pointer:coarse){.parameter-section-pill{min-height:44px}}@media(min-width:768px)and (max-width:1023px){.header-project-cluster,.header-project-status [data-testid=project-file-status]{display:none}}.pattern-card-header{container-name:pattern-header}@container pattern-header (max-width:520px){.pattern-toolbar-zoom-group{box-shadow:none;border:0;flex:auto;justify-content:flex-start;padding:0}.pattern-toolbar-zoom-btn,.pattern-toolbar-output-settings,.pattern-toolbar-print-btn{display:none}.pattern-mobile-zoom{display:flex}.pattern-toolbar-fullscreen-btn,.pattern-toolbar-view-menu{order:0}.pattern-toolbar-export-btn{order:1}.pattern-header-toolbar{flex-wrap:nowrap;width:100%}}@media(max-width:767px){.parameter-section-pill{min-height:44px}.bottom-sheet-content{padding:.5rem 1rem}.bottom-sheet-content .parameter-form-content{gap:.5rem}.bottom-sheet-content>.mobile-current-shape-value{color:var(--color-text-muted);margin:0 0 .25rem;font-size:12px}.bottom-sheet-content .guided-intro{background:0 0;border:0;margin-bottom:.5rem;padding:0}.bottom-sheet-content .guided-intro strong{display:none}.bottom-sheet-content .guided-intro p{margin:0;font-size:12px}.parameters-open .mobile-surface-2d,.parameters-open .mobile-surface-3d .viewport-surface{padding-bottom:0}.parameters-open .pattern-card-header,.parameters-open .pattern-cartouche,.parameters-open .pattern-annotation-hint,.parameters-open .scene-3d-controls,.parameters-open .scene-3d-controls-collapsed{display:none}.parameters-open .mobile-surface-2d>div{padding:.25rem}.parameters-open .pattern-card{box-shadow:none;border:0}.bottom-sheet-title{font-size:12px}.bottom-sheet-actions{box-shadow:none;border:0;padding:0}}.shape-library-shape-name{white-space:normal;overflow-wrap:anywhere}.shape-library-choice-meta{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.shape-library-choice-diagram{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.shape-library-choice-diagram .shape-library-diagram-canvas{flex:1;justify-content:center;align-items:center;min-height:12rem;padding:.75rem;display:flex}.shape-library-choice-diagram .shape-library-main-dimensions{border-top:1px solid var(--color-border-subtle);font-size:var(--font-size-label);flex-shrink:0;padding:.45rem .9rem .55rem}.shape-library-main-dimensions dl{flex-wrap:wrap;gap:.15rem 1.25rem;display:flex}.shape-library-main-dimensions dl>div{align-items:baseline;gap:.4rem;min-width:0;display:flex}.shape-library-main-dimensions dt{color:var(--color-text-secondary)}.shape-library-main-dimensions dd{white-space:nowrap;font-weight:600}.shape-library-main-dimensions p{color:var(--color-text-secondary);font-size:var(--font-size-caption);margin-bottom:.2rem}.shape-library-detail-card{overflow-y:auto}@media(max-width:767px){.shape-library-pane-detail{scroll-margin-top:.5rem}.shape-library-accent-title{white-space:normal}}.shape-library-choice-diagram.is-compact .shape-library-diagram-canvas{flex:none;height:6rem;min-height:6rem}.shape-library-choice-diagram.is-compact .shape-library-diagram-canvas svg{min-height:0}.shape-library-choice-diagram.is-compact .shape-library-diagram-canvas svg *{vector-effect:non-scaling-stroke}@page conicad-technical{size:A4 portrait;margin:10mm}.pattern-print-title-block,.print-fit-document,.print-drawing-document,.print-tile-title-page,.print-tile-document,.print-blocked-document,.pattern-print-root{display:none}.preview-suspended{z-index:30;text-align:center;background:linear-gradient(var(--color-surface-elevated),var(--color-surface-elevated)),var(--color-surface-app);color:var(--color-text-primary);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.preview-suspended p{max-width:32ch;color:var(--color-text-secondary);margin:0;line-height:1.5}.print-bounds-probe{visibility:hidden;pointer-events:none;width:1px;height:1px;position:absolute;top:-10000px;left:-10000px;overflow:visible}@media print{html,body{background:#fff!important;height:auto!important;overflow:visible!important}body>:not(.pattern-print-root){display:none!important}.pattern-print-root{page:conicad-pattern;width:auto!important;height:auto!important;padding:0!important;display:block!important;position:static!important}.printable-area{flex-direction:column;gap:4mm;display:flex!important}.printable-area>svg{flex:auto;min-height:0;height:auto!important}.pattern-print-title-block{color:#111;background:#fff;border:1pt solid #444;border-radius:2pt;flex:none;padding:3mm 4mm;font-size:9pt;line-height:1.5;display:block}.pattern-print-title-row{justify-content:space-between;gap:6mm;margin-bottom:1.5mm;font-size:10pt;display:flex}.pattern-print-note{margin-top:1.5mm;font-size:8pt;font-style:italic}.print-calibration{align-items:flex-end;gap:4mm;margin-top:4mm;font-size:8pt;display:flex}.print-calibration-square{box-sizing:border-box;background:#fff;border:.35mm solid #111;flex:none;width:50mm;height:50mm}.print-mode-fit .print-blocked-document,.print-mode-fit .print-blocked-document *,.print-mode-true-scale .print-blocked-document,.print-mode-true-scale .print-blocked-document *{visibility:visible!important}.print-blocked-document{color:#111;background:#fff;border:1pt solid #444;padding:6mm;font-size:12pt;line-height:1.5;display:block}.print-mode-fit>.group,.print-mode-fit .printable-area,.print-mode-fit .printable-area *{visibility:hidden!important;display:none!important}.print-mode-fit,.print-mode-fit .print-fit-document,.print-mode-fit .print-fit-document *{visibility:visible!important}.print-mode-fit{width:100%;height:auto;position:absolute;inset:0 auto auto 0;background:#fff!important;padding:0!important}.print-mode-fit .print-fit-document{box-sizing:border-box;color:#111;background:#fff;flex-direction:column;gap:4mm;width:100%;height:100vh;overflow:hidden;display:flex!important}.print-mode-fit .print-fit-pattern{flex:auto;width:100%;min-height:0;display:block;overflow:visible}.print-mode-fit .print-drawing-document,.print-mode-fit .print-drawing-document *,.print-mode-true-scale .print-drawing-document,.print-mode-true-scale .print-drawing-document *{visibility:visible!important}.print-mode-fit .print-drawing-document,.print-mode-true-scale .print-drawing-document{page:conicad-technical;box-sizing:border-box;color:#111;break-inside:avoid;page-break-inside:avoid;background:#fff;min-height:0;padding:0;display:block!important}.print-mode-fit .print-drawing-document{break-before:page;page-break-before:always}.technical-drawing-sheet{fill:none;color:#111;width:100%;height:100%;font-family:Arial,sans-serif;font-size:2.8px;display:block}.technical-drawing-sheet text{fill:currentColor;stroke:none;font-variant-numeric:tabular-nums}.technical-drawing-sheet .drawing-dimension-value{paint-order:stroke fill;stroke:#fff;stroke-width:.9px;stroke-linejoin:round;font-size:3.2px}.drawing-callout-description{font-size:2.5px}.technical-drawing-sheet .drawing-angle-value{font-size:3.6px;font-weight:600}.drawing-angle-reference,.drawing-angle-ray,.drawing-angle-arc,.drawing-angle-arc-extension{fill:none;stroke:currentColor;stroke-width:.18px}.drawing-angle-reference{stroke-width:.18px}.drawing-angle-arrows{fill:currentColor;stroke:none}.drawing-projection-outline{stroke:currentColor;stroke-width:.35px}.drawing-projection-axis{stroke:currentColor;stroke-width:.18px;stroke-dasharray:3 .6 .3 .6}.drawing-projection-label{font-size:2.5px}.drawing-frame{stroke:currentColor;stroke-width:.4px}.drawing-rule{stroke:currentColor;stroke-width:.18px}.drawing-model path{stroke:currentColor;stroke-width:.35px;vector-effect:none;stroke-linejoin:round;stroke-linecap:round}.drawing-hidden path{stroke:currentColor;stroke-width:.18px;stroke-dasharray:2 1}.drawing-centerline path{stroke:currentColor;stroke-width:.16px;stroke-dasharray:6 1 1 1}.drawing-extension,.drawing-dimension-line{stroke:currentColor;stroke-width:.16px}.drawing-view-label,.drawing-sheet-heading{letter-spacing:.12px;font-size:2.6px;font-weight:600}.drawing-view-label{font-size:2.8px}.drawing-field-label{letter-spacing:.1px;font-size:1.9px}.drawing-parameter-label,.drawing-parameter-value{font-size:2.2px}.drawing-parameter-value{font-weight:600}.drawing-note,.drawing-orientation text{font-size:2.05px}.drawing-brand{font-size:4px;font-weight:700}.drawing-designation,.drawing-field-value{font-size:3.1px}.technical-drawing-sheet .print-calibration-square{fill:none;stroke:currentColor;stroke-width:.25px;border:0;width:49.75px;height:49.75px}.print-mode-true-scale>.group,.print-mode-true-scale .printable-area,.print-mode-true-scale .printable-area *{visibility:hidden!important;display:none!important}.print-mode-true-scale,.print-mode-true-scale .print-tile-title-page,.print-mode-true-scale .print-tile-title-page *,.print-mode-true-scale .print-tile-document,.print-mode-true-scale .print-tile-document *{visibility:visible!important}.print-mode-true-scale{width:auto;height:auto;position:absolute;inset:0 auto auto 0;background:#fff!important;padding:0!important}.print-mode-true-scale .print-drawing-document{break-after:page;page-break-after:always}.print-mode-true-scale .print-tile-document{color:#111;background:#fff;display:block!important}.print-mode-true-scale .print-tiles{display:block}.print-mode-true-scale .print-tile-page{box-sizing:border-box;width:var(--print-tile-width);height:var(--print-tile-height);break-after:page;page-break-after:always;color:#111;background:#fff;position:relative;overflow:hidden}.print-mode-true-scale .print-tile-page:last-child{break-after:auto;page-break-after:auto}.print-mode-true-scale .print-tile-pattern,.print-mode-true-scale .print-tile-marks{display:block;position:absolute;top:0;right:0;bottom:0;left:0}.print-mode-true-scale .print-tile-footer{color:#111;text-align:center;background:#ffffffdb;border-top:.2pt solid #666;padding-top:1mm;font-size:7pt;line-height:1.2;position:absolute;bottom:2mm;left:3mm;right:3mm}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:960px){.app-layout{display:grid;grid-template-columns:340px 1fr 400px;gap:1rem;height:100%;overflow:hidden;padding-bottom:1rem}.left-panel,.right-panel{display:flex;flex-direction:column;overflow-y:auto;height:100%;min-height:0;gap:1rem}.center-panel{overflow:hidden;display:flex;flex-direction:column;height:100%;min-height:0}}@media(min-width:768px)and (max-width:959px){.app-layout{display:grid;grid-template-columns:300px 1fr;gap:1rem;height:100%;overflow:hidden;padding-bottom:1rem}.left-panel{display:flex;flex-direction:column;overflow-y:auto;height:100%;min-height:0;gap:1rem}.center-panel{overflow:hidden;display:flex;flex-direction:column;height:100%;min-height:0}.right-panel{display:none}}@media(max-width:767px){.app-layout{display:flex;flex-direction:column;height:100%;overflow:hidden}.scene-3d-controls,.scene-3d-controls-collapsed{top:4rem!important}.mobile-surface-3d .scene-3d-controls{width:min(232px,calc(100% - 1.5rem));max-height:calc(100% - 9.75rem)}}.scene-3d-canvas{background-color:var(--scene-3d-surface);background-image:linear-gradient(var(--scene-3d-grid) 1px,transparent 1px),linear-gradient(90deg,var(--scene-3d-grid) 1px,transparent 1px);background-size:40px 40px}.scene-3d-canvas.render-backend-webgl{background-image:none}.scene-3d-canvas polyline,.scene-3d-canvas path,.scene-3d-canvas polygon{transition:stroke-opacity var(--motion-duration-micro) var(--motion-easing-standard),stroke-width var(--motion-duration-micro) var(--motion-easing-standard),stroke var(--motion-duration-normal) var(--motion-easing-standard),fill var(--motion-duration-normal) var(--motion-easing-standard);vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.scene-3d-canvas .preview-model-cad polygon,.scene-3d-canvas .preview-contour{transition:none}.scene-3d-canvas.dragging polyline,.scene-3d-canvas.dragging path,.scene-3d-canvas.dragging polygon{transition:none!important}.scene-3d-controls-collapsed{position:absolute;top:3rem;right:.75rem;z-index:var(--z-floating)}.scene-3d-toggle-btn{background:var(--color-surface-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border-default);border-radius:var(--radius-md);width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-card);font-size:1.25rem;color:var(--color-text-primary);transition:background-color var(--motion-duration-normal) var(--motion-easing-standard),transform var(--motion-duration-normal) var(--motion-easing-standard)}.scene-3d-toggle-btn:hover{background:var(--color-surface-card);transform:scale(1.02)}.scene-3d-controls{position:absolute;top:3rem;right:.75rem;display:flex;flex-direction:column;gap:.375rem;background:color-mix(in oklab,var(--color-surface-panel) 80%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid color-mix(in oklab,var(--color-border-default) 82%,transparent);border-radius:var(--radius-md);padding:.5625rem;box-shadow:0 14px 32px #02061733;width:156px;z-index:var(--z-sticky);color:var(--color-text-primary);max-height:calc(100% - 3.75rem);overflow-y:auto}.scene-3d-controls-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid color-mix(in oklab,var(--color-border-default) 72%,transparent);position:sticky;top:-.5625rem;background:color-mix(in oklab,var(--color-surface-panel) 84%,transparent);z-index:var(--z-focus);margin:-.5625rem -.5625rem .25rem;padding:.5625rem .5625rem .3125rem}.scene-3d-controls-title{font-size:var(--font-size-small);font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em}.scene-3d-header-actions{display:inline-flex;align-items:center;gap:.25rem}.scene-3d-icon-btn{width:1.75rem;height:1.75rem;border-radius:var(--radius-xs);border:1px solid var(--color-border-default);background:var(--color-surface-input);color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-label);font-weight:700;cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard),color var(--motion-duration-fast) var(--motion-easing-standard)}.scene-3d-icon-btn:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong);color:var(--color-text-primary)}.scene-3d-icon-btn.active{background:var(--color-primary);border-color:var(--color-primary-strong);color:var(--color-text-inverse)}.scene-3d-close-btn{background:var(--color-surface-input);border:1px solid var(--color-border-default);border-radius:var(--radius-xs);width:1.75rem;height:1.75rem;font-size:var(--font-size-heading-md);line-height:1;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard),color var(--motion-duration-fast) var(--motion-easing-standard)}.scene-3d-close-btn:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong);color:var(--color-text-primary)}.scene-3d-controls-section{display:flex;flex-direction:column;gap:.3125rem}.scene-3d-controls-label{font-size:var(--font-size-caption);font-weight:600;color:var(--color-text-secondary);letter-spacing:.02em}.scene-3d-warning{color:var(--color-warning)}.scene-3d-checkbox-label{color:var(--color-text-secondary)}.scene-3d-presets,.scene-3d-controls-section .grid,.scene-3d-option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.3125rem}.scene-3d-controls-button{background:var(--color-surface-input);border:1px solid color-mix(in oklab,var(--color-border-default) 78%,transparent);border-radius:var(--radius-xs);padding:.22rem .32rem;min-height:1.78rem;font-size:var(--font-size-caption);font-weight:500;cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard),color var(--motion-duration-fast) var(--motion-easing-standard);text-align:center;display:flex;align-items:center;justify-content:center;gap:.25rem;color:var(--color-text-secondary)}.scene-3d-controls-button-fullwidth{width:100%}.scene-3d-controls-button:disabled{opacity:.5;cursor:not-allowed}@media(pointer:coarse){.scene-3d-controls-button,.scene-3d-toggle-btn,.scene-3d-close-btn,.scene-3d-icon-btn{min-width:44px;min-height:44px}}.scene-3d-controls-button:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong)}.scene-3d-controls-button.active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary-strong)}.scene-3d-help-panel{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;border:1px solid color-mix(in oklab,var(--color-border-default) 72%,transparent);border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-surface-elevated) 84%,transparent);box-shadow:var(--shadow-card)}.scene-3d-help-section{display:flex;flex-direction:column;gap:.25rem}.scene-3d-help-title{font-size:var(--font-size-caption);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary)}.scene-3d-help-list{display:flex;flex-direction:column;gap:.2rem}.scene-3d-help-row{display:grid;grid-template-columns:minmax(0,auto) 1fr;gap:.35rem;align-items:center;font-size:var(--font-size-caption);color:var(--color-text-secondary)}.scene-3d-help-row strong,.scene-3d-help-row kbd{color:var(--color-text-primary)}.keyboard-shortcuts{font-size:var(--font-size-caption);color:var(--color-text-secondary);padding-top:.5rem;border-top:1px solid var(--color-border-default)}.keyboard-shortcuts-title{font-weight:600;margin-bottom:.25rem}.keyboard-shortcuts-list{display:grid;grid-template-columns:1fr 1fr;gap:.25rem}.keyboard-key{background:var(--color-surface-muted);border-radius:var(--radius-2xs);padding:.1rem .3rem;font-family:monospace;font-size:var(--font-size-caption)}
