*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.order-first{order:-9999}.order-last{order:9999}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2 / span 2}.row-start-1{grid-row-start:1}.\!m-0{margin:0!important}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-1{margin-left:.25rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-10{width:2.5rem;height:2.5rem}.size-2{width:.5rem;height:.5rem}.size-2\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-auto{width:auto;height:auto}.size-full{width:100%;height:100%}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1\.15rem\]{height:1.15rem}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\[300px\]{max-height:300px}.min-h-0{min-height:0px}.min-h-16{min-height:4rem}.min-h-4{min-height:1rem}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-1{width:.25rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-10{min-width:2.5rem}.min-w-5{min-width:1.25rem}.min-w-8{min-width:2rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0\.5{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}.animate-caret-blink{animation:caret-blink 1.25s ease-out infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-text{cursor:text}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.scroll-py-1{scroll-padding-top:.25rem;scroll-padding-bottom:.25rem}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-start{justify-items:start}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-\[--spacing\(var\(--gap\)\)\]{gap:var(--spacing(var(--gap)))}.gap-y-0\.5{row-gap:.125rem}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[calc\(var\(--radius\)-5px\)\]{border-radius:calc(var(--radius) - 5px)}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:calc(var(--radius) - 6px)}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-0{border-width:0px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-black\/50{background-color:#00000080}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{--tw-bg-opacity: 1;background-color:hsl(var(--destructive) / var(--tw-bg-opacity, 1))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-input{background-color:hsl(var(--input))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.fill-foreground{fill:hsl(var(--foreground))}.fill-primary{fill:hsl(var(--primary))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-sm\/relaxed{font-size:.875rem;line-height:1.625}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-background{color:hsl(var(--background))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{--tw-text-opacity: 1;color:hsl(var(--destructive) / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xs{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-ring\/50{--tw-ring-color: hsl(var(--ring) / .5)}.ring-sidebar-ring{--tw-ring-color: hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-none{transition-property:none}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-100{animation-duration:.1s}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.\[--cell-size\:--spacing\(8\)\]{--cell-size: var(--spacing(8))}:root{--blue-600: oklch(.45 .19 266);--blue-100: oklch(.94 .025 266);--red-600: oklch(.55 .2 28);--paper-50: oklch(.98 .005 105);--paper-100: oklch(.96 .008 105);--ink-900: oklch(.25 .01 255);--ink-700: oklch(.4 .012 255);--ink-500: oklch(.53 .012 255);--line-300: oklch(.87 .012 255);--color-bg: var(--paper-50);--color-text: var(--ink-900);--color-accent: var(--blue-600);--background: 105 3% 98%;--foreground: 255 4% 16%;--border: 255 6% 84%;--radius: .25rem;color-scheme:light;font-family:IBM Plex Sans,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper-50)}body{margin:0;min-width:320px;min-height:100dvh;background:var(--paper-50);color:var(--ink-900);font-family:IBM Plex Sans,sans-serif;font-size:16px;line-height:1.65;overflow-x:hidden}button,input,textarea,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}::-moz-selection{background:var(--red-600);color:var(--paper-50)}::selection{background:var(--red-600);color:var(--paper-50)}:focus-visible{outline:3px solid var(--blue-600);outline-offset:4px}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{display:none;-webkit-appearance:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--paper-100)}::-webkit-scrollbar-thumb{background:var(--ink-500);border:2px solid var(--paper-100);border-radius:10px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{body{background:#fff;color:#000;font-size:11pt}.publication-utility,.reader-header,.reader-footer,.reading-progress,.article-tools,.article-toc,.article-sequence,.related-guides,.article-hero-facts,.breadcrumbs,.article-quiz,.video-walkthrough,.further-reading{display:none!important}.article-hero{background:#fff!important;color:#000!important;padding:0 0 24px!important}.article-hero-inner,.article-body-layout,.article-prose{display:block!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important}.article-hero-grid{display:block!important}.article-hero h1{font-size:30pt!important}.article-outcomes{margin:0 0 24px!important;box-shadow:none!important}.prose-chapter,.article-figure,.article-code,.article-table-wrap,.article-exercise{-moz-column-break-inside:avoid;break-inside:avoid}.article-figure{width:100%!important;margin-left:0!important}.visual-controls,.visual-slider{display:none!important}}.selection\:bg-primary *::-moz-selection{background-color:hsl(var(--primary))}.selection\:bg-primary *::selection{background-color:hsl(var(--primary))}.selection\:text-primary-foreground *::-moz-selection{color:hsl(var(--primary-foreground))}.selection\:text-primary-foreground *::selection{color:hsl(var(--primary-foreground))}.selection\:bg-primary::-moz-selection{background-color:hsl(var(--primary))}.selection\:bg-primary::selection{background-color:hsl(var(--primary))}.selection\:text-primary-foreground::-moz-selection{color:hsl(var(--primary-foreground))}.selection\:text-primary-foreground::selection{color:hsl(var(--primary-foreground))}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:1.75rem}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:mt-0:last-child{margin-top:0}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:ring-4:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:z-10:focus{z-index:10}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-ring:focus-visible{border-color:hsl(var(--ring))}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:hsl(var(--ring))}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-4:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color: hsl(var(--destructive) / .2)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color: hsl(var(--ring) / .5)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group\/menu-item:hover .group-hover\/menu-item\:opacity-100{opacity:1}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-50{opacity:.5}.has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button){margin-left:-.45rem}.has-\[\>button\]\:mr-\[-0\.45rem\]:has(>button){margin-right:-.45rem}.has-\[\>kbd\]\:ml-\[-0\.35rem\]:has(>kbd){margin-left:-.35rem}.has-\[\>kbd\]\:mr-\[-0\.35rem\]:has(>kbd){margin-right:-.35rem}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing) * 4) 1fr}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){gap:.5rem}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:.75rem}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:.75rem}.has-\[\>svg\]\:gap-x-3:has(>svg){-moz-column-gap:.75rem;column-gap:.75rem}.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--radius) - 2px)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-width:1px}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:hsl(var(--ring))}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){--tw-border-opacity: 1;border-color:hsl(var(--destructive) / var(--tw-border-opacity, 1))}.has-\[\>svg\]\:p-0:has(>svg){padding:0}.has-\[\>svg\]\:px-2:has(>svg){padding-left:.5rem;padding-right:.5rem}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-left:.625rem;padding-right:.625rem}.has-\[\>svg\]\:px-3:has(>svg){padding-left:.75rem;padding-right:.75rem}.has-\[\>svg\]\:px-4:has(>svg){padding-left:1rem;padding-right:1rem}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-\[3px\]:has([data-slot=input-group-control]:focus-visible){--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color: hsl(var(--ring) / .5)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color: hsl(var(--destructive) / .2)}.group\/item:has([data-slot=item-description]) .group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/item:has([data-slot=item-description]) .group-has-\[\[data-slot\=item-description\]\]\/item\:self-start{align-self:flex-start}.group\/field:has([data-orientation=horizontal]) .group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance{text-wrap:balance}.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pb-2\.5{padding-bottom:.625rem}.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pt-2\.5{padding-top:.625rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom]{left:0;right:0}.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right]{top:0;bottom:0}.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top]{left:0;right:0}.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:0}.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left]{left:0}.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right]{right:0}.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top]{top:0}.data-\[active\=true\]\:z-10[data-active=true]{z-index:10}.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:6rem}.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:6rem}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:.375rem}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[size\=default\]\:h-9[data-size=default]{height:2.25rem}.data-\[size\=sm\]\:h-8[data-size=sm]{height:2rem}.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom],.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:11rem}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:.375rem}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction=right]{width:75%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical],.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:.75rem}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--radius) - 2px)}.data-\[selected\=true\]\:rounded-none[data-selected=true],.data-\[spacing\=0\]\:rounded-none[data-spacing="0"]{border-radius:0}.data-\[range-end\=true\]\:rounded-r-md[data-range-end=true]{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.data-\[range-start\=true\]\:rounded-l-md[data-range-start=true]{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction=bottom]{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction=top]{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0[data-variant=outline][data-spacing="0"]{border-left-width:0px}.data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction=bottom]{border-top-width:1px}.data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction=left]{border-right-width:1px}.data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction=right]{border-left-width:1px}.data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction=top]{border-bottom-width:1px}.data-\[active\=true\]\:border-ring[data-active=true]{border-color:hsl(var(--ring))}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:hsl(var(--primary))}.data-\[active\=true\]\:bg-accent\/50[data-active=true]{background-color:hsl(var(--accent) / .5)}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:hsl(var(--primary))}.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true]{background-color:hsl(var(--accent))}.data-\[range-start\=true\]\:bg-primary[data-range-start=true],.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:hsl(var(--primary))}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[inset\]\:pl-8[data-inset]{padding-left:2rem}.data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:.875rem;line-height:1.25rem}.data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:1rem;line-height:1.5rem}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-accent-foreground[data-active=true]{color:hsl(var(--accent-foreground))}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[error\=true\]\:text-destructive[data-error=true],.data-\[invalid\=true\]\:text-destructive[data-invalid=true]{--tw-text-opacity: 1;color:hsl(var(--destructive) / var(--tw-text-opacity, 1))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:hsl(var(--primary-foreground))}.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true]{color:hsl(var(--accent-foreground))}.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true],.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:hsl(var(--primary-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{--tw-text-opacity: 1;color:hsl(var(--destructive) / var(--tw-text-opacity, 1))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[spacing\=0\]\:shadow-none[data-spacing="0"]{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[spacing\=default\]\:data-\[variant\=outline\]\:shadow-xs[data-variant=outline][data-spacing=default],.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[active\=true\]\:ring-\[3px\][data-active=true]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color: hsl(var(--ring) / .5)}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed],.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.\*\:data-\[slot\=select-value\]\:line-clamp-1[data-slot=select-value]>*{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\*\:data-\[slot\=select-value\]\:flex[data-slot=select-value]>*{display:flex}.\*\:data-\[slot\=select-value\]\:items-center[data-slot=select-value]>*{align-items:center}.\*\:data-\[slot\=select-value\]\:gap-2[data-slot=select-value]>*{gap:.5rem}.\*\:data-\[slot\=alert-description\]\:text-destructive\/90[data-slot=alert-description]>*{color:hsl(var(--destructive) / .9)}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[spacing\=0\]\:first\:rounded-l-md:first-child[data-spacing="0"]{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l:first-child[data-variant=outline][data-spacing="0"]{border-left-width:1px}.data-\[spacing\=0\]\:last\:rounded-r-md:last-child[data-spacing="0"]{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.data-\[active\=true\]\:hover\:bg-accent:hover[data-active=true],.data-\[state\=open\]\:hover\:bg-accent:hover[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.data-\[active\=true\]\:focus\:bg-accent:focus[data-active=true]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:focus\:bg-accent:focus[data-state=open]{background-color:hsl(var(--accent))}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10:focus[data-variant=destructive]{background-color:hsl(var(--destructive) / .1)}.data-\[variant\=destructive\]\:focus\:text-destructive:focus[data-variant=destructive]{--tw-text-opacity: 1;color:hsl(var(--destructive) / var(--tw-text-opacity, 1))}.group[data-disabled=true] .group-data-\[disabled\=true\]\:pointer-events-none{pointer-events:none}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:relative{position:relative}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:top-full{top:100%}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:z-10{z-index:10}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group\/field-group[data-variant=outline] .group-data-\[variant\=outline\]\/field-group\:-mb-2{margin-bottom:-.5rem}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:mt-1\.5{margin-top:.375rem}.group\/drawer-content[data-vaul-drawer-direction=bottom] .group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block{display:block}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]{width:calc(var(--sidebar-width-icon) + (--spacing(4)))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]{width:calc(var(--sidebar-width-icon) + (--spacing(4)) + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden,.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:rounded-md{border-radius:calc(var(--radius) - 2px)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border,.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:border-ring{border-color:hsl(var(--ring))}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:bg-popover{background-color:hsl(var(--popover))}.group\/drawer-content[data-vaul-drawer-direction=bottom] .group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:text-center,.group\/drawer-content[data-vaul-drawer-direction=top] .group-data-\[vaul-drawer-direction\=top\]\/drawer-content\:text-center{text-align:center}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:text-popover-foreground{color:hsl(var(--popover-foreground))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group\/field[data-disabled=true] .group-data-\[disabled\=true\]\/field\:opacity-50,.group\/input-group[data-disabled=true] .group-data-\[disabled\=true\]\/input-group\:opacity-50,.group[data-disabled=true] .group-data-\[disabled\=true\]\:opacity-50{opacity:.5}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-\[3px\]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-ring\/50{--tw-ring-color: hsl(var(--ring) / .5)}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:duration-200{transition-duration:.2s;animation-duration:.2s}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.dark\:border-input:is(.dark *){border-color:hsl(var(--input))}.dark\:bg-destructive\/60:is(.dark *){background-color:hsl(var(--destructive) / .6)}.dark\:bg-input\/30:is(.dark *){background-color:hsl(var(--input) / .3)}.dark\:bg-transparent:is(.dark *){background-color:transparent}.dark\:text-muted-foreground:is(.dark *){color:hsl(var(--muted-foreground))}.dark\:hover\:bg-accent\/50:hover:is(.dark *){background-color:hsl(var(--accent) / .5)}.dark\:hover\:bg-input\/50:hover:is(.dark *){background-color:hsl(var(--input) / .5)}.dark\:hover\:text-accent-foreground:hover:is(.dark *){color:hsl(var(--accent-foreground))}.dark\:focus-visible\:ring-destructive\/40:focus-visible:is(.dark *){--tw-ring-color: hsl(var(--destructive) / .4)}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]):is(.dark *){--tw-ring-color: hsl(var(--destructive) / .4)}.dark\:data-\[state\=active\]\:border-input[data-state=active]:is(.dark *){border-color:hsl(var(--input))}.dark\:data-\[state\=active\]\:bg-input\/30[data-state=active]:is(.dark *){background-color:hsl(var(--input) / .3)}.dark\:data-\[state\=checked\]\:bg-primary[data-state=checked]:is(.dark *){background-color:hsl(var(--primary))}.dark\:data-\[state\=checked\]\:bg-primary-foreground[data-state=checked]:is(.dark *){background-color:hsl(var(--primary-foreground))}.dark\:data-\[state\=unchecked\]\:bg-foreground[data-state=unchecked]:is(.dark *){background-color:hsl(var(--foreground))}.dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked]:is(.dark *){background-color:hsl(var(--input) / .8)}.dark\:data-\[state\=active\]\:text-foreground[data-state=active]:is(.dark *){color:hsl(var(--foreground))}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:focus[data-variant=destructive]:is(.dark *){background-color:hsl(var(--destructive) / .2)}@media(min-width:640px){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:pl-2\.5{padding-left:.625rem}.sm\:pr-2\.5{padding-right:.625rem}.sm\:text-left{text-align:left}.data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction=right]{max-width:24rem}}@media(min-width:768px){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:gap-1\.5{gap:.375rem}.md\:p-12{padding:3rem}.md\:text-left{text-align:left}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.md\:after\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset][data-state=collapsed]~.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:calc(var(--radius) + 4px)}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content]{flex:none}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:nth-child\(2\)\[data-selected\=true\]_button\]\:rounded-l-md:nth-child(2)[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>*:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>*:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>*:not(:first-child){border-left-width:0px}.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>*:not(:first-child){border-top-width:0px}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>*:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>*:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\[\&\>\*\]\:w-full>*{width:100%}.\[\&\>\*\]\:focus-visible\:relative:focus-visible>*{position:relative}.\[\&\>\*\]\:focus-visible\:z-10:focus-visible>*{z-index:10}.\[\&\>\*\]\:data-\[slot\=field\]\:p-4[data-slot=field]>*{padding:1rem}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group]{gap:1rem}.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:1 1 auto}.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md>[data-slot=select-trigger]:last-of-type:has(select[aria-hidden=true]:last-child){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:-moz-fit-content;width:fit-content}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>a\:hover\]\:text-primary>a:hover{color:hsl(var(--primary))}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>input\]\:flex-1>input{flex:1 1 0%}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3>input:has(>[data-align=block-end]){padding-top:.75rem}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3>input:has(>[data-align=block-start]){padding-bottom:.75rem}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2>input:has(>[data-align=inline-end]){padding-right:.5rem}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2>input:has(>[data-align=inline-start]){padding-left:.5rem}.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{border-radius:calc(var(--radius) - 5px)}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:text-xs>span{font-size:.75rem;line-height:1rem}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:.875rem;height:.875rem}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]){width:1rem;height:1rem}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:.75rem;height:.75rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:text-current>svg{color:currentColor}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_img\]\:size-full img{width:100%;height:100%}.\[\&_img\]\:object-cover img{-o-object-fit:cover;object-fit:cover}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:.75rem;height:.75rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*=size-]){width:1.5rem;height:1.5rem}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:hsl(var(--muted-foreground))}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:transparent}[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20{background-color:hsl(var(--background) / .2)}[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:text-background{color:hsl(var(--background))}[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *){background-color:hsl(var(--background) / .1)}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:-.375rem}a.\[a\&\]\:hover\:bg-accent:hover{background-color:hsl(var(--accent))}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:hsl(var(--secondary) / .9)}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}#root,.reader-app{min-height:100dvh}.reader-app{--visual-blue: #2052bb;--visual-red: #d9332b;--visual-ink: #242628;--visual-paper: #f8f8f6;--visual-muted: #d9dce2;background:var(--paper-50);color:var(--ink-900)}.reader-main{min-height:70dvh}button,a,summary{transition:color .16s ease-out,background-color .16s ease-out,border-color .16s ease-out,opacity .16s ease-out,transform .16s ease-out}button:active:not(:disabled),a:active,summary:active{transform:scale(.985)}.publication-utility{min-height:32px;padding:6px 40px;background:var(--blue-600);color:var(--paper-50);display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.04em}.reader-header{height:82px;padding:0 40px;position:sticky;top:0;z-index:60;border-bottom:1px solid var(--ink-900);background:color-mix(in oklch,var(--paper-50) 95%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}.reader-brand{width:-moz-fit-content;width:fit-content;min-height:48px;display:inline-flex;align-items:center;gap:12px;color:var(--ink-900);text-decoration:none}.reader-brand-mark{width:32px;height:36px;display:flex;align-items:flex-end;gap:3px}.reader-brand-mark i{width:9px;background:var(--blue-600)}.reader-brand-mark i:nth-child(1){height:21px}.reader-brand-mark i:nth-child(2){height:34px}.reader-brand-mark i:nth-child(3){height:27px;background:var(--red-600)}.reader-brand>span:last-child{display:flex;flex-direction:column}.reader-brand strong{font-family:Inter,sans-serif;font-size:15px;font-weight:800;letter-spacing:-.04em;line-height:1.1;text-transform:uppercase}.reader-brand em{font-family:IBM Plex Sans,sans-serif;font-size:25px;font-weight:600;font-style:italic;line-height:1}.reader-desktop-nav{height:100%;display:flex;align-items:stretch;gap:30px}.reader-desktop-nav a{min-height:48px;padding:2px 0 0;border-bottom:3px solid transparent;display:inline-flex;align-items:center;color:var(--ink-700);font-size:14px;font-weight:600;text-decoration:none}.reader-desktop-nav a:hover{color:var(--blue-600);border-bottom-color:var(--blue-600)}.reader-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.reader-search-link,.reading-count{min-height:44px;padding:0 12px;border:1px solid var(--line-300);border-radius:4px;display:inline-flex;align-items:center;gap:7px;color:var(--ink-700);font-family:IBM Plex Mono,monospace;font-size:11px;text-decoration:none}.reader-search-link:hover,.reading-count:hover{border-color:var(--blue-600);color:var(--blue-600)}.reading-count{background:var(--blue-100);border-color:var(--blue-100);color:var(--blue-600)}.reader-menu-button{width:44px;height:44px;padding:0;border:1px solid var(--ink-900);border-radius:4px;background:transparent;color:var(--ink-900);display:none;align-items:center;justify-content:center}.reader-mobile-nav{position:absolute;top:74px;left:16px;right:16px;padding:8px 20px;border:1px solid var(--ink-900);background:var(--paper-50);box-shadow:8px 8px 0 var(--blue-600)}.reader-mobile-nav a{min-height:52px;border-bottom:1px solid var(--line-300);display:flex;align-items:center;justify-content:space-between;color:var(--ink-900);font-weight:600;text-decoration:none}.reader-mobile-nav a:last-child{border-bottom:0}.editorial-button{min-height:50px;padding:0 20px;border:1px solid var(--ink-900);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;text-decoration:none}.editorial-button:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--ink-900)}.editorial-button.primary{background:var(--blue-600);color:var(--paper-50);border-color:var(--blue-600)}.editorial-button.secondary{background:transparent;color:var(--ink-900)}.section-line-heading{position:relative;margin-bottom:36px}.section-line-heading>span{display:block;margin-bottom:12px;color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.08em}.section-line-heading h2{margin:0;font-family:Inter,sans-serif;font-size:clamp(32px,4vw,52px);font-weight:600;letter-spacing:-.055em;line-height:1.08}.section-line-heading>a{min-height:44px;display:inline-flex;align-items:center;gap:8px;color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:11px;text-decoration:none}.blog-hero{max-width:1500px;margin:0 auto;padding:0 40px 88px}.issue-line{min-height:58px;margin-bottom:58px;border-bottom:1px solid var(--ink-900);display:flex;align-items:center;justify-content:space-between;gap:24px;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.06em}.blog-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:clamp(48px,6vw,96px)}.blog-hero-copy{position:relative}.audience-stamp{width:-moz-fit-content;width:fit-content;margin:0 0 26px 58%;padding:12px 16px;background:var(--red-600);color:var(--paper-50);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.06em;transform:rotate(-4deg)}.blog-hero-copy h1{margin:0;font-family:Inter,sans-serif;font-size:clamp(58px,6.5vw,100px);font-weight:700;letter-spacing:-.075em;line-height:.94}.blog-hero-copy h1 span{color:var(--blue-600)}.blog-hero-copy>p{max-width:650px;margin:30px 0 0;color:var(--ink-700);font-size:18px;line-height:1.7}.blog-hero-actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}.publication-stats{margin-top:38px;padding-top:22px;border-top:1px solid var(--line-300);display:flex;flex-wrap:wrap;gap:24px}.publication-stats span{display:flex;align-items:baseline;gap:7px;color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:9px;text-transform:uppercase}.publication-stats strong{color:var(--ink-900);font-family:Inter,sans-serif;font-size:28px;font-weight:600;letter-spacing:-.05em}.hero-feature{padding:18px;border:1px solid var(--ink-900);background:#fff;color:var(--ink-900);box-shadow:12px 12px 0 var(--blue-600);text-decoration:none;transform:rotate(1.5deg)}.hero-feature:hover{transform:rotate(0) translateY(-5px);box-shadow:16px 16px 0 var(--red-600)}.hero-feature-top{min-height:40px;display:flex;align-items:center;justify-content:space-between;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.06em}.hero-feature .cover-art{border:1px solid var(--line-300)}.hero-feature-copy{padding:24px 8px 8px}.hero-feature-copy>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:10px;text-transform:uppercase}.hero-feature-copy h2{margin:10px 0 12px;font-family:Inter,sans-serif;font-size:clamp(26px,2.5vw,38px);font-weight:600;letter-spacing:-.05em;line-height:1.08}.hero-feature-copy p{margin:0;color:var(--ink-700);font-size:14px}.hero-feature-copy small{margin-top:18px;display:block;font-family:IBM Plex Mono,monospace;font-size:10px}.collection-strip{padding:80px 40px;border-top:1px solid var(--ink-900);border-bottom:1px solid var(--ink-900);background:#fff}.collection-strip>*,.editors-picks,.reading-path{max-width:1420px;margin-left:auto;margin-right:auto}.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink-900);border-left:1px solid var(--ink-900)}.collection-grid>a{min-height:260px;padding:26px;border-right:1px solid var(--ink-900);border-bottom:1px solid var(--ink-900);display:flex;flex-direction:column;color:var(--ink-900);text-decoration:none}.collection-grid>a:hover{background:var(--blue-600);color:var(--paper-50)}.collection-grid>a>span{color:var(--red-600);font-family:IBM Plex Mono,monospace;font-size:12px}.collection-grid>a:hover>span,.collection-grid>a:hover p{color:var(--paper-50)}.collection-grid h3{margin:28px 0 12px;font-family:Inter,sans-serif;font-size:25px;font-weight:600;letter-spacing:-.045em}.collection-grid p{margin:0;color:var(--ink-700);font-size:14px}.collection-grid small{margin-top:auto;padding-top:24px;display:flex;align-items:center;justify-content:space-between;font-family:IBM Plex Mono,monospace;font-size:10px}.editors-picks{padding:88px 40px}.editors-picks .section-line-heading{display:grid;grid-template-columns:1fr auto;align-items:end}.editors-picks .section-line-heading>span{grid-column:1 / -1}.editors-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:32px;align-items:start}.editors-grid .article-card.feature{grid-row:span 3}.article-card{min-width:0}.article-card>a{height:100%;color:var(--ink-900);text-decoration:none}.article-card-art{position:relative;overflow:hidden;border:1px solid var(--line-300);background:#fff}.article-card-art>span{position:absolute;top:12px;left:12px;padding:4px 8px;border:1px solid var(--ink-900);background:var(--paper-50);color:var(--ink-900);font-family:IBM Plex Mono,monospace;font-size:9px;text-transform:uppercase}.article-card-art .cover-art{transition:transform .22s ease-out}.article-card a:hover .cover-art{transform:scale(1.025)}.article-card-copy{padding:20px 0}.article-card-meta{display:flex;justify-content:space-between;gap:16px;color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.article-card-copy h3{margin:10px 0;font-family:Inter,sans-serif;font-size:25px;font-weight:600;letter-spacing:-.045em;line-height:1.15}.article-card-copy>p{margin:0;color:var(--ink-700);font-size:14px;line-height:1.65}.article-card-footer{margin-top:18px;padding-top:14px;border-top:1px solid var(--line-300);display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:10px}.article-card-footer span{display:inline-flex;align-items:center;gap:6px}.article-card-footer span:last-child{color:var(--blue-600)}.article-card.row{padding:22px 0;border-top:1px solid var(--ink-900)}.article-card.row>a{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px}.article-card.row .article-card-copy{padding:0}.article-card.row .article-card-copy h3{font-size:22px}.article-card.row .article-card-copy>p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.article-card.row .article-card-art>span{top:8px;left:8px}.article-card.feature{padding:20px;border:1px solid var(--ink-900);background:#fff;box-shadow:8px 8px 0 var(--blue-600)}.article-card.feature .article-card-copy{padding:26px 4px 4px}.article-card.feature .article-card-copy h3{font-size:clamp(30px,3.2vw,46px)}.article-card.compact{padding:18px 0;border-top:1px solid var(--ink-900)}.article-card.compact .article-card-copy h3{font-size:21px}.article-card.compact .article-card-copy>p{display:none}.visual-learning{padding:88px 40px;background:var(--blue-600);color:var(--paper-50);display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(48px,6vw,90px)}.visual-learning-intro>span{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.07em}.visual-learning-intro h2{margin:18px 0;font-family:Inter,sans-serif;font-size:clamp(38px,4.5vw,64px);font-weight:600;letter-spacing:-.06em;line-height:1.02}.visual-learning-intro>p{max-width:580px;color:var(--paper-50);font-size:16px;line-height:1.75;opacity:.9}.visual-learning-intro>a{min-height:44px;margin-top:16px;display:inline-flex;align-items:center;gap:8px;color:var(--paper-50);font-family:IBM Plex Mono,monospace;font-size:11px;text-underline-offset:5px}.media-list{margin-top:30px;padding-top:22px;border-top:1px solid color-mix(in oklch,var(--paper-50) 35%,transparent);display:grid;grid-template-columns:1fr 1fr;gap:12px}.media-list span{display:flex;align-items:center;gap:8px;font-size:12px}.visual-learning .article-figure{color:var(--ink-900)}.reading-path{padding:88px 40px}.reading-path-heading{max-width:800px;margin-bottom:40px}.reading-path-heading>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:11px}.reading-path-heading h2{margin:12px 0 0;font-family:Inter,sans-serif;font-size:clamp(36px,4vw,54px);font-weight:600;letter-spacing:-.055em;line-height:1.08}.reading-path-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.reading-path-grid>a{min-height:300px;padding:34px;border:1px solid var(--ink-900);display:flex;flex-direction:column;color:var(--ink-900);text-decoration:none}.reading-path-grid>a:last-child{background:var(--ink-900);color:var(--paper-50)}.reading-path-grid>a:hover{box-shadow:8px 8px 0 var(--red-600);transform:translateY(-3px)}.reading-path-grid>a>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:10px}.reading-path-grid>a:last-child>span{color:var(--paper-50);opacity:.8}.reading-path-grid h3{margin:22px 0 12px;font-family:Inter,sans-serif;font-size:36px;font-weight:600;letter-spacing:-.05em}.reading-path-grid p{max-width:550px;margin:0;font-size:15px;opacity:.85}.reading-path-grid strong{margin-top:auto;padding-top:24px;display:flex;align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:11px}.library-hero{padding:72px 40px 60px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:end;gap:60px}.library-hero>div:first-child>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.07em}.library-hero h1{margin:16px 0 0;font-family:Inter,sans-serif;font-size:clamp(54px,6.4vw,92px);font-weight:700;letter-spacing:-.075em;line-height:.95}.library-hero h1 em{color:var(--blue-600);font-style:normal}.library-hero>div:last-child>p{max-width:600px;margin:0;color:var(--ink-700);font-size:17px}.library-hero>div:last-child>div{margin-top:26px;padding-top:20px;border-top:1px solid var(--line-300);display:flex;flex-wrap:wrap;gap:22px}.library-hero>div:last-child span{display:flex;align-items:baseline;gap:6px;font-family:IBM Plex Mono,monospace;font-size:10px}.library-hero>div:last-child strong{font-family:Inter,sans-serif;font-size:25px;font-weight:600}.archive-controls{padding:24px 40px;position:sticky;top:82px;z-index:30;border-top:1px solid var(--ink-900);border-bottom:1px solid var(--ink-900);background:color-mix(in oklch,var(--paper-50) 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.archive-search{max-width:850px;min-height:54px;margin:0 auto 20px;padding:0 16px;border:1px solid var(--ink-900);background:#fff;display:flex;align-items:center;gap:12px}.archive-search:focus-within{box-shadow:4px 4px 0 var(--blue-600)}.archive-search input{width:100%;min-width:0;height:50px;border:0;outline:0;background:transparent;color:var(--ink-900);font-size:15px}.archive-search button{width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ink-700);display:flex;align-items:center;justify-content:center}.archive-filter-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.archive-categories{display:flex;flex-wrap:wrap;gap:8px}.archive-categories a,.archive-levels button{min-height:44px;padding:0 14px;border:1px solid var(--line-300);border-radius:999px;background:transparent;color:var(--ink-700);font-size:12px}.archive-categories a:hover,.archive-categories a.active{border-color:var(--blue-600);background:var(--blue-600);color:var(--paper-50)}.archive-sort{min-height:44px;padding:0 10px;border:1px solid var(--line-300);display:flex;align-items:center;gap:6px}.archive-sort select{height:44px;border:0;outline:0;background:transparent;color:var(--ink-900);font-size:12px}.archive-levels{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}.archive-levels button{min-height:44px;padding:0 12px;border:0;border-radius:0;border-bottom:2px solid transparent;font-family:IBM Plex Mono,monospace;font-size:10px}.archive-levels button.active{border-bottom-color:var(--red-600);color:var(--red-600)}.archive-results{padding:36px 40px 96px}.archive-result-line{margin-bottom:22px;display:flex;justify-content:space-between;gap:20px;color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:10px}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}.archive-grid .article-card.row{padding:0;border-top:0}.archive-grid .article-card.row>a{display:block;border-top:1px solid var(--ink-900);padding-top:14px}.archive-grid .article-card.row .article-card-copy{padding-top:20px}.archive-grid .article-card.row .article-card-copy h3{font-size:25px}.archive-empty,.reader-not-found{min-height:540px;padding:64px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.archive-empty h2,.reader-not-found h1{max-width:760px;margin:20px 0 10px;font-family:Inter,sans-serif;font-size:38px;font-weight:600;letter-spacing:-.05em}.archive-empty p,.reader-not-found p{max-width:620px;margin:0;color:var(--ink-700)}.archive-empty button{min-height:46px;margin-top:24px;padding:0 18px;border:1px solid var(--ink-900);background:var(--blue-600);color:var(--paper-50)}.reader-not-found>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:11px}.reader-not-found .editorial-button{margin-top:28px}.reading-progress{height:4px;position:fixed;top:0;left:0;right:0;z-index:80;background:transparent;pointer-events:none}.reading-progress>div{width:100%;height:100%;background:var(--red-600);transform:scaleX(0);transform-origin:left center}.article-hero{padding:42px 40px 68px;background:var(--blue-600);color:var(--paper-50)}.article-hero-inner{max-width:1360px;margin:0 auto}.breadcrumbs{min-height:44px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--paper-50);font-family:IBM Plex Mono,monospace;font-size:10px;opacity:.85}.breadcrumbs a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}.article-hero-grid{margin-top:36px;display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:end;gap:64px}.article-labels{margin-bottom:20px;display:flex;flex-wrap:wrap;gap:8px}.article-labels span{padding:5px 10px;border:1px solid color-mix(in oklch,var(--paper-50) 65%,transparent);border-radius:3px;font-family:IBM Plex Mono,monospace;font-size:10px;text-transform:uppercase}.article-hero h1{max-width:1000px;margin:0;font-family:Inter,sans-serif;font-size:clamp(46px,5.7vw,82px);font-weight:600;letter-spacing:-.065em;line-height:1.02}.article-hero-grid>div>p{max-width:760px;margin:26px 0 0;color:var(--paper-50);font-size:19px;line-height:1.65;opacity:.92}.article-byline{margin-top:32px;display:flex;align-items:center;gap:12px}.author-mark{width:44px;height:44px;border:1px solid var(--paper-50);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:11px}.article-byline>span:last-child{display:flex;flex-direction:column}.article-byline strong{font-size:13px;font-weight:600}.article-byline small{font-family:IBM Plex Mono,monospace;font-size:9px;opacity:.8}.article-hero-facts{padding-left:28px;border-left:1px solid color-mix(in oklch,var(--paper-50) 35%,transparent);display:grid;gap:24px}.article-hero-facts>div{display:flex;align-items:flex-start;gap:12px}.article-hero-facts span{display:flex;flex-direction:column}.article-hero-facts strong{font-family:Inter,sans-serif;font-size:17px;font-weight:500}.article-hero-facts small{font-size:11px;opacity:.75}.article-outcomes{max-width:1060px;margin:-30px auto 0;padding:22px 28px;position:relative;z-index:2;border:1px solid var(--ink-900);background:#fff;box-shadow:7px 7px 0 var(--red-600);display:grid;grid-template-columns:180px 1fr;align-items:center;gap:24px}.article-outcomes>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;line-height:1.6}.article-outcomes>div{display:flex;flex-wrap:wrap;gap:12px 24px}.article-outcomes p{margin:0;display:flex;align-items:center;gap:7px;color:var(--ink-700);font-size:13px}.article-outcomes svg{color:var(--blue-600);flex:0 0 auto}.article-body-layout{max-width:1280px;margin:0 auto;padding:70px 32px 80px;display:grid;grid-template-columns:92px minmax(0,704px) 230px;justify-content:center;align-items:start;gap:44px}.article-tools{position:sticky;top:112px;display:grid;gap:8px}.article-tools button{min-height:48px;padding:8px 6px;border:1px solid var(--line-300);border-radius:4px;background:transparent;color:var(--ink-700);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-family:IBM Plex Mono,monospace;font-size:8px}.article-tools button:hover,.article-tools button.done{border-color:var(--blue-600);color:var(--blue-600);background:var(--blue-100)}.article-prose{min-width:0;max-width:44rem}.prose-chapter{padding:0 0 54px;margin:0 0 54px;border-bottom:1px solid var(--line-300);scroll-margin-top:112px}.chapter-number{margin-bottom:12px;color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600}.prose-chapter h2,.article-exercise h2,.article-quiz h2,.further-reading h2{margin:0 0 24px;font-family:Inter,sans-serif;font-size:clamp(28px,3vw,38px);font-weight:600;letter-spacing:-.045em;line-height:1.15}.prose-chapter>p,.article-example p{margin:0 0 21px;color:var(--ink-700);font-size:18px;line-height:1.76}.prose-chapter>ul{margin:26px 0;padding:0;list-style:none}.prose-chapter>ul li{padding:13px 0 13px 26px;position:relative;border-top:1px solid var(--line-300);color:var(--ink-700);font-size:16px}.prose-chapter>ul li:last-child{border-bottom:1px solid var(--line-300)}.prose-chapter>ul li:before{content:"";width:7px;height:7px;position:absolute;left:3px;top:23px;background:var(--blue-600)}.worked-steps{margin:30px 0;padding:24px;border:1px solid var(--blue-600);background:var(--blue-100)}.worked-steps>span,.article-exercise>span,.article-quiz>span,.further-reading>span,.article-takeaway>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.07em}.worked-steps ol{margin:18px 0 0;padding:0;list-style:none;counter-reset:worked}.worked-steps li{padding:11px 0 11px 42px;position:relative;border-top:1px solid color-mix(in oklch,var(--blue-600) 18%,transparent);counter-increment:worked;color:var(--ink-700);font-size:15px}.worked-steps li:before{content:counter(worked);position:absolute;left:0;top:11px;color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:13px}.article-example{margin:30px 0;padding:24px 26px;background:var(--paper-100);border:1px solid var(--line-300)}.article-example>span{color:var(--red-600);font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:600;letter-spacing:.07em}.article-example h3{margin:8px 0 10px;font-family:Inter,sans-serif;font-size:22px;font-weight:600;letter-spacing:-.035em}.article-example p{margin:0;font-size:15px}.article-code{margin:32px 0;overflow:hidden;border:2px solid var(--line-300);border-radius:8px;background:var(--ink-900);color:var(--paper-50)}.article-code>div{min-height:48px;padding:0 16px;border-bottom:1px solid var(--ink-500);display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.06em}.article-code button{min-height:44px;padding:0;border:0;background:transparent;color:var(--paper-50);display:inline-flex;align-items:center;gap:7px;font-size:10px}.article-code button:hover{color:#b7ccff}.article-code pre{margin:0;padding:24px;overflow-x:auto;color:#c4d5ff;font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.article-table-wrap{margin:32px 0;overflow-x:auto}.article-table-wrap table{width:100%;border-collapse:collapse;background:#fff;font-size:13px;line-height:1.55}.article-table-wrap caption{margin-bottom:10px;color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:9px;text-align:left;text-transform:uppercase}.article-table-wrap th,.article-table-wrap td{padding:13px 14px;border:1px solid var(--line-300);text-align:left;vertical-align:top}.article-table-wrap thead th{background:var(--blue-600);color:var(--paper-50);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500}.article-table-wrap tbody th{background:var(--blue-100);color:var(--ink-900);font-weight:600}.article-table-wrap td{color:var(--ink-700)}.article-toc{position:sticky;top:112px}.article-toc>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.07em}.article-toc nav{margin-top:14px;display:grid}.article-toc nav button{min-height:48px;padding:9px 0 9px 12px;border:0;border-left:2px solid var(--line-300);background:transparent;color:var(--ink-500);display:grid;grid-template-columns:24px 1fr;gap:6px;text-align:left;font-size:11px;line-height:1.45}.article-toc nav button span{padding-top:1px;font-family:IBM Plex Mono,monospace;font-size:8px}.article-toc nav button:hover,.article-toc nav button.active{border-left-color:var(--blue-600);color:var(--blue-600)}.toc-note{margin-top:22px;padding-top:18px;border-top:1px solid var(--line-300)}.toc-note strong{font-size:12px}.toc-note p{margin:6px 0 0;color:var(--ink-500);font-size:11px}.article-figure{width:calc(100% + 64px);margin:40px 0 40px -32px}.figure-heading{margin-bottom:12px;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}.figure-heading>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.07em}.figure-heading>strong{font-family:Inter,sans-serif;font-size:19px;font-weight:600;letter-spacing:-.03em}.visual-frame{padding:12px;border:1px solid var(--line-300);background:#fff;box-shadow:0 0 0 3px var(--paper-100);color:var(--line-300)}.visual-frame svg,.cover-art svg{width:100%;height:auto;display:block}.visual-frame rect.blue,.visual-frame path.blue,.cover-art rect.blue,.cover-art path.blue{fill:var(--visual-blue)}.visual-frame rect.red,.visual-frame path.red,.cover-art rect.red,.cover-art path.red{fill:var(--visual-red)}.visual-frame rect.ink,.visual-frame path.ink,.cover-art rect.ink,.cover-art path.ink{fill:var(--visual-ink)}.visual-frame rect.paper,.visual-frame path.paper,.cover-art rect.paper,.cover-art path.paper{fill:var(--visual-paper);stroke:var(--visual-muted)}.visual-frame rect.muted,.cover-art rect.muted{fill:var(--visual-muted)}.visual-frame rect.blue+text,.visual-frame rect.red+text,.visual-frame rect.ink+text,.cover-art rect.blue+text,.cover-art rect.red+text,.cover-art rect.ink+text{fill:var(--visual-paper)}.visual-frame .svg-label,.cover-art .svg-label{fill:var(--visual-ink);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;letter-spacing:.02em}.visual-frame .svg-small,.cover-art .svg-small{fill:var(--visual-ink);font-family:IBM Plex Sans,sans-serif;font-size:13px;font-weight:500}.visual-frame .inverse,.cover-art .inverse{fill:var(--visual-paper)}.svg-arrow{fill:none;stroke:var(--visual-ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.svg-path{fill:none;stroke:var(--visual-muted);stroke-width:3;stroke-dasharray:7 8}.shape-blue-fill{fill:#2052bb55;stroke:var(--visual-blue);stroke-width:2}.shape-red-fill{fill:#d9332b44;stroke:var(--visual-red);stroke-width:2}.shape-paper-fill{fill:#f8f8f688;stroke:var(--visual-ink);stroke-width:2}.article-figure figcaption{max-width:620px;margin:14px auto 0;color:var(--ink-500);font-size:12px;line-height:1.6;text-align:center}.cover-art{overflow:hidden;background:var(--paper-50);color:var(--line-300)}.visual-controls{margin-bottom:14px;padding:4px;width:-moz-fit-content;width:fit-content;max-width:100%;border-radius:999px;background:var(--line-300);display:flex;flex-wrap:wrap;gap:3px}.visual-controls button{min-height:44px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--ink-700);font-family:IBM Plex Mono,monospace;font-size:10px}.visual-controls button.active{background:var(--paper-50);color:var(--blue-600);box-shadow:0 1px 4px #24262818}.scope-demo canvas{width:100%;height:auto;display:block}.scope-demo>p,.attribution-demo>p{margin:12px 4px 2px;color:var(--ink-500);font-size:12px;text-align:center}.touch-journey{padding:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.touch-journey>div>span{color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:8px}.touch-journey strong{display:block;margin:5px 0 12px;font-family:Inter,sans-serif;font-size:18px;font-weight:600}.touch-journey>div>div{height:28px;position:relative;background:var(--paper-100)}.touch-journey i{width:100%;height:100%;display:block;background:var(--blue-600);transform-origin:left center;transition:transform .22s ease-out}.touch-journey em{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ink-900);font-family:IBM Plex Mono,monospace;font-size:11px;font-style:normal;mix-blend-mode:multiply}.funnel-demo-grid{display:grid;grid-template-columns:1fr 170px;align-items:center;gap:26px}.demo-funnel-row{margin:14px 0;display:grid;grid-template-columns:92px 1fr 58px;align-items:center;gap:10px;font-size:11px}.demo-funnel-row>div{height:24px;background:var(--paper-100)}.demo-funnel-row i{width:100%;height:100%;display:block;background:var(--blue-600);transform-origin:left center;transition:transform .22s ease-out}.demo-funnel-row:last-child i{background:var(--red-600)}.demo-funnel-row strong{font-family:IBM Plex Mono,monospace;font-size:10px;text-align:right}.completion-readout{padding-left:20px;border-left:1px solid var(--line-300)}.completion-readout span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:8px}.completion-readout strong{display:block;font-family:Inter,sans-serif;font-size:48px;font-weight:600;letter-spacing:-.06em}.completion-readout p{margin:0;color:var(--ink-500);font-size:11px}.visual-slider{min-height:48px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line-300);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:20px;color:var(--ink-700);font-family:IBM Plex Mono,monospace;font-size:10px}.visual-slider input{width:100%;min-height:44px;accent-color:var(--blue-600);cursor:pointer}.video-walkthrough{margin:60px 0;padding:28px;border:1px solid var(--ink-900);background:#fff}.video-heading>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:10px}.video-heading h2{margin:10px 0;font-family:Inter,sans-serif;font-size:28px;font-weight:600;letter-spacing:-.04em}.video-heading p{color:var(--ink-500);font-size:13px}.video-frame{aspect-ratio:16 / 9;margin:20px 0 10px;background:var(--ink-900)}.video-frame iframe{width:100%;height:100%;border:0;display:block}.video-poster{width:100%;height:100%;padding:24px;position:relative;overflow:hidden;border:0;background:var(--blue-600);color:var(--paper-50);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.poster-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);opacity:.15}.poster-grid i{border:1px solid var(--paper-50)}.video-play{width:66px;height:66px;position:relative;border:2px solid var(--paper-50);border-radius:50%;display:flex;align-items:center;justify-content:center}.video-poster strong{max-width:480px;position:relative;font-family:Inter,sans-serif;font-size:23px;font-weight:600}.video-poster small{position:relative;font-family:IBM Plex Mono,monospace;font-size:10px}.video-walkthrough>a{min-height:44px;display:inline-flex;align-items:center;gap:7px;color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:10px}.article-exercise{margin:60px 0;padding:32px;background:var(--blue-600);color:var(--paper-50)}.article-exercise>span{color:var(--paper-50);opacity:.75}.article-exercise h2{margin-top:10px}.article-exercise>p{font-size:16px;line-height:1.7}.article-exercise ol{margin:24px 0;padding:0;list-style:none;counter-reset:exercise}.article-exercise li{padding:12px 0 12px 40px;position:relative;border-top:1px solid color-mix(in oklch,var(--paper-50) 25%,transparent);counter-increment:exercise;font-size:14px}.article-exercise li:before{content:counter(exercise);position:absolute;left:0;font-family:IBM Plex Mono,monospace}.article-exercise button{min-height:44px;padding:0 14px;border:1px solid var(--paper-50);background:transparent;color:var(--paper-50);display:inline-flex;align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:10px}.article-quiz{margin:60px 0;padding:32px;border:1px solid var(--ink-900);background:#fff}.article-quiz>div{display:grid;gap:9px}.article-quiz>div>button{min-height:58px;padding:12px 16px;border:1px solid var(--line-300);border-radius:4px;background:var(--paper-50);color:var(--ink-700);display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;text-align:left;font-size:14px}.article-quiz>div>button>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:11px}.article-quiz>div>button:hover:not(:disabled){border-color:var(--blue-600);transform:translate(3px)}.article-quiz>div>button.correct{border-color:var(--blue-600);background:var(--blue-100)}.article-quiz>div>button.wrong{border-color:var(--red-600)}.article-quiz-feedback{margin-top:18px;padding:18px;background:var(--blue-100)}.article-quiz-feedback strong{font-family:Inter,sans-serif;font-size:16px;font-weight:600}.article-quiz-feedback p{margin:5px 0 0;color:var(--ink-700);font-size:13px}.article-takeaway{margin:60px 0;padding:30px 0;border-top:2px solid var(--ink-900);border-bottom:2px solid var(--ink-900)}.article-takeaway>p{margin:12px 0 24px;font-family:Inter,sans-serif;font-size:26px;font-weight:500;letter-spacing:-.035em;line-height:1.4}.article-takeaway button{min-height:46px;padding:0 16px;border:1px solid var(--blue-600);border-radius:4px;background:var(--blue-600);color:var(--paper-50);display:inline-flex;align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:11px}.article-takeaway button.complete{background:transparent;color:var(--blue-600)}.further-reading{margin:60px 0}.further-reading h2{margin-top:10px}.further-reading a{min-height:58px;padding:12px 0;border-top:1px solid var(--line-300);display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--blue-600);font-weight:600;text-decoration:none}.further-reading a:last-child{border-bottom:1px solid var(--line-300)}.further-reading a:hover{padding-left:8px}.article-sequence{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink-900);border-bottom:1px solid var(--ink-900)}.article-sequence>a{min-height:116px;padding:26px 40px;display:flex;align-items:center;gap:18px;color:var(--ink-900);text-decoration:none}.article-sequence>a:last-child{border-left:1px solid var(--ink-900);justify-content:flex-end;text-align:right}.article-sequence>a:hover{background:var(--blue-600);color:var(--paper-50)}.article-sequence span{display:flex;flex-direction:column}.article-sequence small{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:9px}.article-sequence>a:hover small{color:var(--paper-50)}.article-sequence strong{font-family:Inter,sans-serif;font-size:21px;font-weight:600}.related-guides{max-width:1280px;margin:0 auto;padding:72px 40px 88px;scroll-margin-top:110px}.related-guides>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.practice-page,.glossary-page{min-height:100dvh;background:var(--paper-50);color:var(--ink-900)}.practice-hero,.glossary-hero{padding:72px 40px 52px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:end;gap:56px}.section-kicker{margin:0 0 18px;color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.07em}.practice-hero h1,.glossary-hero h1{margin:0;font-family:Inter,sans-serif;font-size:clamp(52px,6vw,84px);font-weight:700;letter-spacing:-.07em;line-height:.98}.practice-hero h1 span,.glossary-hero h1 span{color:var(--blue-600)}.practice-hero>p,.glossary-hero>div:last-child>p{max-width:600px;margin:0;color:var(--ink-700);font-size:17px}.practice-tabs{margin:0 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.practice-tabs button{min-height:82px;padding:16px 18px;border:1px solid var(--ink-900);border-radius:4px;background:transparent;color:var(--ink-700);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left}.practice-tabs button>span{display:flex;flex-direction:column;color:var(--ink-900);font-family:Inter,sans-serif;font-size:16px;font-weight:600}.practice-tabs button small{color:var(--ink-500);font-family:IBM Plex Sans,sans-serif;font-size:11px;font-weight:400}.practice-tabs button:hover,.practice-tabs button.active{border-color:var(--blue-600);color:var(--blue-600)}.practice-tabs button.active{background:var(--blue-100)}.practice-workspace{margin:24px 40px 88px;overflow:hidden;border:1px solid var(--ink-900);background:#fff;box-shadow:8px 8px 0 var(--blue-600)}.tool-grid,.funnel-tool{display:grid;grid-template-columns:1fr 1fr}.tool-form,.funnel-inputs{padding:40px}.tool-output,.funnel-output{min-width:0;padding:40px;background:var(--ink-900);color:var(--paper-50)}.tool-form-heading>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.07em}.tool-form-heading h2{margin:10px 0 12px;font-family:Inter,sans-serif;font-size:clamp(30px,3vw,42px);font-weight:600;letter-spacing:-.05em;line-height:1.1}.tool-form-heading p{margin:0 0 28px;color:var(--ink-700);font-size:14px}.field-label{margin-top:18px;display:flex;flex-direction:column;gap:7px;color:var(--ink-700);font-family:IBM Plex Mono,monospace;font-size:11px}.field-label input,.parameter-row input,.funnel-input input{width:100%;height:48px;padding:0 13px;border:1px solid var(--line-300);border-radius:4px;outline:0;background:var(--paper-50);color:var(--ink-900);font-family:IBM Plex Mono,monospace;font-size:12px}.field-label input:focus,.parameter-row input:focus,.funnel-input input:focus{border-color:var(--blue-600);box-shadow:0 0 0 2px var(--blue-600)}.field-label input[aria-invalid=true]{border-color:var(--red-600)}.field-error{margin:7px 0 0;color:var(--red-600);font-size:12px}.parameter-heading{margin:28px 0 10px;display:flex;justify-content:space-between;gap:16px;color:var(--ink-700);font-family:IBM Plex Mono,monospace;font-size:11px}.parameter-heading small{font-family:IBM Plex Sans,sans-serif;font-size:12px}.parameter-row{margin-top:10px;display:grid;grid-template-columns:1fr 1fr 44px;align-items:end;gap:10px}.parameter-row label>span{display:none}.icon-button{width:44px;height:44px;padding:0;border:1px solid var(--line-300);border-radius:50%;background:transparent;color:var(--ink-700);display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{border-color:var(--red-600);color:var(--red-600)}.text-button{min-height:44px;margin-top:12px;padding:0;border:0;background:transparent;color:var(--blue-600);display:inline-flex;align-items:center;gap:7px;font-family:IBM Plex Mono,monospace;font-size:11px}.privacy-reminder{margin-top:24px;padding:16px 18px;border:1px solid var(--line-300);background:var(--paper-100)}.privacy-reminder strong{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:11px}.privacy-reminder p{margin:4px 0 0;color:var(--ink-700);font-size:12px}.output-topline{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--paper-50);font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.06em}.copy-button{min-height:44px;padding:0 12px;border:1px solid var(--ink-500);border-radius:4px;background:transparent;color:var(--paper-50);display:inline-flex;align-items:center;gap:7px;font-family:IBM Plex Mono,monospace;font-size:10px}.copy-button:hover{border-color:var(--paper-50)}.builder-code{min-height:220px;margin:20px 0;padding:22px;overflow:auto;border:1px solid var(--ink-500);border-radius:4px;background:#1c1e20;color:#c4d5ff;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.validation-line{margin-bottom:20px;display:flex;align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:11px}.validation-line>span{width:8px;height:8px;border-radius:50%}.validation-line .valid{background:#76caa0}.validation-line .invalid{background:#ef766f}.button{min-height:48px;padding:0 20px;border:1px solid transparent;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;text-decoration:none}.button-primary{background:var(--blue-600);color:var(--paper-50)}.button-primary:hover:not(:disabled){background:#173f91}.button-primary:disabled{opacity:.45}.full-width{width:100%}.local-stream{margin-top:28px;padding-top:20px;border-top:1px solid var(--ink-500)}.local-stream>div{display:flex;justify-content:space-between;gap:16px;font-family:IBM Plex Mono,monospace;font-size:10px}.local-stream>div small{opacity:.65}.local-stream p{min-height:44px;margin:8px 0 0;padding:10px 0;border-bottom:1px solid var(--ink-500);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;font-family:IBM Plex Mono,monospace;font-size:11px}.local-stream p i{width:7px;height:7px;border-radius:50%;background:#a9c5ff}.local-stream p strong{font-weight:500}.local-stream .stream-empty{display:block;opacity:.65}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.url-result{min-height:180px;margin:20px 0;padding:22px;border:1px solid var(--ink-500);border-radius:4px;background:#1c1e20;color:#c4d5ff;font-family:IBM Plex Mono,monospace;font-size:12px;overflow-wrap:anywhere}.url-parts{margin-bottom:24px;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ink-500);border:1px solid var(--ink-500)}.url-parts>div{min-width:0;padding:12px;background:var(--ink-900);display:flex;flex-direction:column}.url-parts span{font-family:IBM Plex Mono,monospace;font-size:9px;text-transform:uppercase;opacity:.75}.url-parts strong{overflow:hidden;text-overflow:ellipsis;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500;white-space:nowrap}.output-note{margin:12px 0 0;font-size:11px;text-align:center;opacity:.75}.funnel-input{min-height:72px;padding:10px 0;border-top:1px solid var(--line-300);display:grid;grid-template-columns:1fr 130px;align-items:center;gap:20px}.funnel-input>span{font-family:IBM Plex Mono,monospace;font-size:11px}.funnel-summary{padding-bottom:24px;border-bottom:1px solid var(--ink-500)}.funnel-summary>span{color:#c4d5ff;font-family:IBM Plex Mono,monospace;font-size:10px}.funnel-summary>strong{display:block;font-family:Inter,sans-serif;font-size:68px;font-weight:600;letter-spacing:-.07em;line-height:1.1}.funnel-summary p{margin:0;font-size:12px;opacity:.75}.funnel-bars{margin-top:24px;display:grid;gap:18px}.funnel-bar-row>div:first-child{display:flex;justify-content:space-between;gap:16px;font-size:12px}.funnel-bar-row strong{font-family:IBM Plex Mono,monospace;font-weight:500}.funnel-track{height:10px;margin:7px 0 4px;overflow:hidden;background:var(--ink-500)}.funnel-track i{width:100%;height:100%;display:block;background:#a9c5ff;transform-origin:left center;transition:transform .22s ease-out}.funnel-bar-row small{font-size:10px;opacity:.7}.funnel-insight{margin-top:28px;padding:20px;border:1px solid var(--ink-500);display:flex;gap:16px;color:#ef766f}.funnel-insight>div>span{font-family:IBM Plex Mono,monospace;font-size:10px}.funnel-insight strong{display:block;margin-top:4px;color:var(--paper-50);font-family:Inter,sans-serif;font-size:19px;font-weight:600}.funnel-insight p{margin:7px 0 0;font-size:12px;opacity:.8}.glossary-count{margin-top:22px;display:inline-flex;align-items:center;gap:8px;color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:11px}.glossary-library{margin:0 40px 88px;padding:32px 36px 44px;border:1px solid var(--ink-900);background:#fff;box-shadow:8px 8px 0 var(--blue-600)}.glossary-toolbar{display:flex;align-items:center;justify-content:space-between;gap:28px}.search-field{min-width:260px;min-height:48px;padding:0 12px;border:1px solid var(--line-300);border-radius:4px;display:flex;align-items:center;gap:10px;color:var(--ink-500)}.search-field:focus-within{border-color:var(--blue-600)}.search-field input{width:100%;min-width:0;height:44px;padding:0;border:0;outline:0;background:transparent;color:var(--ink-900);font-size:13px}.search-field>button{width:44px;height:44px;padding:0;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:center}.glossary-search{width:min(100%,470px);border-color:var(--ink-900)}.glossary-filters{display:flex;flex-wrap:wrap;gap:6px}.glossary-filters button{min-height:44px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ink-700);font-size:12px}.glossary-filters button:hover,.glossary-filters button.active{border-color:var(--blue-600);background:var(--blue-600);color:var(--paper-50)}.glossary-result-count{margin:24px 0 12px;color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:10px}.glossary-list{border-bottom:1px solid var(--line-300);display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:40px;column-gap:40px}.glossary-entry{border-top:1px solid var(--line-300)}.glossary-entry summary{min-height:92px;padding:16px 0;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;list-style:none;cursor:pointer}.glossary-entry summary::-webkit-details-marker{display:none}.glossary-letter{color:var(--blue-600);font-family:Inter,sans-serif;font-size:30px;font-weight:600}.glossary-entry summary>span:nth-child(2){display:flex;flex-direction:column}.glossary-entry summary small{color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:9px;text-transform:uppercase}.glossary-entry summary strong{font-family:Inter,sans-serif;font-size:21px;font-weight:600;letter-spacing:-.03em}.glossary-entry summary i{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:24px;font-style:normal;transition:transform .16s ease-out}.glossary-entry[open] summary i{transform:rotate(45deg)}.glossary-definition{padding:0 0 26px 58px}.glossary-definition>p{margin:0;color:var(--ink-700);font-size:14px}.glossary-definition>div{margin-top:16px;padding:14px 16px;background:var(--blue-100)}.glossary-definition>div span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:9px}.glossary-definition>div p{margin:4px 0 0;color:var(--ink-700);font-size:12px}.glossary-definition a{min-height:46px;margin-top:12px;padding:0;border:0;background:transparent;color:var(--blue-600);display:inline-flex;align-items:center;gap:7px;font-family:IBM Plex Mono,monospace;font-size:11px;text-decoration:underline;text-underline-offset:4px}.empty-state{min-height:320px;padding:48px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink-500)}.empty-state h2{margin:18px 0 6px;color:var(--ink-900);font-family:Inter,sans-serif;font-size:27px;font-weight:600}.empty-state p{margin:0}.empty-state button{min-height:44px;margin-top:22px;padding:0 18px;border:1px solid var(--blue-600);border-radius:4px;background:var(--blue-600);color:var(--paper-50)}.reader-footer{padding:64px 40px 24px;background:var(--ink-900);color:var(--paper-50)}.reader-footer .reader-brand{color:var(--paper-50)}.reader-footer-main{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:64px}.reader-footer-main>div:first-child>p{max-width:390px;margin:22px 0 10px;color:var(--paper-50);font-size:14px;opacity:.8}.reader-footer-main>div:first-child>span{color:#c4d5ff;font-family:IBM Plex Mono,monospace;font-size:10px}.reader-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.reader-footer-links>div{display:flex;flex-direction:column;align-items:flex-start}.reader-footer-links strong{margin-bottom:12px;color:#c4d5ff;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500}.reader-footer-links a{min-height:44px;display:inline-flex;align-items:center;gap:6px;color:var(--paper-50);font-size:13px;text-decoration:none;opacity:.85}.reader-footer-links a:hover{color:#c4d5ff;opacity:1}.reader-footer-bottom{margin-top:52px;padding-top:20px;border-top:1px solid var(--ink-500);display:flex;justify-content:space-between;gap:24px;font-family:IBM Plex Mono,monospace;font-size:9px;opacity:.65}@media(max-width:1200px){.article-body-layout{grid-template-columns:80px minmax(0,704px)}.article-toc{display:none}.blog-hero-grid{gap:44px}.collection-grid{grid-template-columns:repeat(2,1fr)}.collection-grid>a{min-height:230px}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-learning{gap:40px}}@media(max-width:1000px){.reader-header{padding:0 24px}.reader-desktop-nav{gap:18px}.reading-count{display:none}.blog-hero-grid{grid-template-columns:1fr}.blog-hero-copy{max-width:820px}.hero-feature{width:min(100%,720px);margin:20px auto 0}.editors-grid{grid-template-columns:1fr}.editors-grid .article-card.feature{grid-row:auto}.visual-learning{grid-template-columns:1fr}.visual-learning-intro{max-width:760px}.article-hero-grid{grid-template-columns:1fr;gap:36px}.article-hero-facts{padding:22px 0 0;border-left:0;border-top:1px solid color-mix(in oklch,var(--paper-50) 35%,transparent);grid-template-columns:repeat(3,1fr)}.article-outcomes{margin-left:32px;margin-right:32px}.article-body-layout{padding-top:56px}.library-hero,.practice-hero,.glossary-hero{gap:36px}.tool-form,.tool-output,.funnel-inputs,.funnel-output{padding:30px}.glossary-toolbar{align-items:flex-start;flex-direction:column}.glossary-search{width:100%;max-width:none}}@media(max-width:820px){.publication-utility{padding:6px 20px}.publication-utility span:last-child{display:none}.reader-header{height:72px;grid-template-columns:1fr auto;padding:0 20px}.reader-desktop-nav{display:none}.reader-menu-button{display:inline-flex}.archive-controls{top:72px}.article-hero{padding-left:28px;padding-right:28px}.article-body-layout{display:block;padding:48px 28px 64px}.article-prose{margin:0 auto}.article-tools{margin-bottom:32px;position:static;display:flex;flex-wrap:wrap}.article-tools button{min-width:88px;padding:8px 12px;flex-direction:row;font-size:10px}.article-figure{width:100%;margin-left:0}.article-sequence>a{padding:24px 28px}.related-guides>div:last-child{grid-template-columns:1fr 1fr}.related-guides .article-card:last-child{grid-column:1 / -1}.library-hero,.practice-hero,.glossary-hero{grid-template-columns:1fr;padding:56px 28px 44px}.archive-controls{padding:20px 28px}.archive-filter-row{align-items:flex-start;flex-direction:column}.archive-results{padding:32px 28px 72px}.practice-tabs{margin:0 28px;grid-template-columns:1fr}.practice-workspace{margin:24px 28px 72px}.tool-grid,.funnel-tool{grid-template-columns:1fr}.glossary-library{margin:0 28px 72px}.glossary-list{grid-template-columns:1fr}.reader-footer-main{grid-template-columns:1fr;gap:40px}}@media(max-width:600px){.publication-utility{min-height:30px;font-size:9px}.reader-header{padding:0 16px}.reader-search-link{padding:0 10px}.reader-search-link span{display:none}.reader-brand em{font-size:22px}.reader-brand strong{font-size:13px}.blog-hero{padding:0 20px 64px}.issue-line{margin-bottom:38px;font-size:9px}.issue-line span:last-child{display:none}.audience-stamp{margin-left:35%;font-size:9px}.blog-hero-copy h1{font-size:clamp(49px,15vw,68px)}.blog-hero-copy>p{font-size:16px}.blog-hero-actions{display:grid;grid-template-columns:1fr}.publication-stats{gap:16px}.publication-stats span{flex-direction:column;gap:0;font-size:9px}.hero-feature{padding:12px;box-shadow:7px 7px 0 var(--blue-600)}.hero-feature-copy h2{font-size:28px}.collection-strip,.editors-picks,.visual-learning,.reading-path{padding:64px 20px}.collection-grid{grid-template-columns:1fr}.collection-grid>a{min-height:220px}.editors-picks .section-line-heading{display:block}.article-card.row>a{grid-template-columns:116px minmax(0,1fr);gap:14px}.article-card.row .article-card-copy h3{font-size:18px}.article-card.row .article-card-copy>p,.article-card.row .article-card-footer{display:none}.article-card.row .article-card-meta span:last-child{display:none}.article-card.row .article-card-art>span{font-size:7px}.article-card.feature{padding:14px}.article-card.feature .article-card-copy h3{font-size:30px}.media-list,.reading-path-grid{grid-template-columns:1fr}.reading-path-grid>a{min-height:280px;padding:26px}.reading-path-grid h3{font-size:30px}.library-hero,.practice-hero,.glossary-hero{padding:48px 20px 40px}.library-hero h1,.practice-hero h1,.glossary-hero h1{font-size:49px}.library-hero>div:last-child>p,.practice-hero>p,.glossary-hero>div:last-child>p{font-size:16px}.archive-controls{padding:16px 20px;position:static}.archive-categories{gap:6px}.archive-categories a{padding:0 11px;font-size:11px}.archive-results{padding:28px 20px 64px}.archive-grid{grid-template-columns:1fr}.archive-result-line{flex-direction:column;gap:4px}.article-hero{padding:28px 20px 52px}.article-hero-grid{margin-top:24px}.article-hero h1{font-size:42px}.article-hero-grid>div>p{font-size:17px}.article-hero-facts{grid-template-columns:1fr;gap:16px}.article-outcomes{margin:-22px 20px 0;padding:20px;grid-template-columns:1fr;gap:14px}.article-outcomes>div{flex-direction:column}.article-body-layout{padding:44px 20px 56px}.prose-chapter{padding-bottom:42px;margin-bottom:42px}.prose-chapter h2,.article-exercise h2,.article-quiz h2,.further-reading h2{font-size:29px}.prose-chapter>p{font-size:17px}.worked-steps,.article-example,.article-exercise,.article-quiz{padding:22px 20px}.article-code pre{padding:18px;font-size:11px}.article-table-wrap table{font-size:12px}.article-table-wrap th,.article-table-wrap td{padding:10px}.visual-frame{padding:6px}.visual-frame .svg-label,.cover-art .svg-label,.visual-frame .svg-small,.cover-art .svg-small{font-size:15px}.visual-controls{border-radius:6px;width:100%}.visual-controls button{flex:1;padding:0 10px;font-size:10px}.touch-journey{padding:12px 4px;grid-template-columns:1fr}.funnel-demo-grid{grid-template-columns:1fr}.completion-readout{padding:16px 0 0;border-left:0;border-top:1px solid var(--line-300)}.demo-funnel-row{grid-template-columns:82px 1fr 50px}.visual-slider{grid-template-columns:1fr;gap:4px}.video-walkthrough{padding:18px}.video-poster strong{font-size:17px}.video-play{width:54px;height:54px}.article-takeaway>p{font-size:23px}.article-sequence{grid-template-columns:1fr}.article-sequence>a{min-height:92px;padding:20px}.article-sequence>a:last-child{border-left:0;border-top:1px solid var(--ink-900)}.related-guides{padding:56px 20px 64px}.related-guides>div:last-child{grid-template-columns:1fr}.related-guides .article-card:last-child{grid-column:auto}.practice-tabs{margin:0 20px}.practice-workspace{margin:20px 20px 64px;box-shadow:5px 5px 0 var(--blue-600)}.tool-form,.tool-output,.funnel-inputs,.funnel-output{padding:24px 20px}.parameter-heading{align-items:flex-start;flex-direction:column;gap:4px}.parameter-row{grid-template-columns:1fr 44px;padding:12px 0;border-top:1px solid var(--line-300)}.parameter-row label:first-child,.parameter-row label:nth-child(2){grid-column:1}.parameter-row .icon-button{grid-column:2;grid-row:1 / 3;align-self:center}.parameter-row label>span{display:block;margin-bottom:4px;font-size:9px}.two-fields{grid-template-columns:1fr}.local-stream>div{flex-direction:column;gap:4px}.funnel-input{grid-template-columns:1fr 100px}.glossary-library{margin:0 20px 64px;padding:24px 20px 32px;box-shadow:5px 5px 0 var(--blue-600)}.glossary-entry summary{grid-template-columns:32px 1fr auto;gap:10px}.glossary-entry summary strong{font-size:19px}.glossary-definition{padding-left:42px}.reader-footer{padding:48px 20px 24px}.reader-footer-links{grid-template-columns:1fr 1fr;gap:24px}.reader-footer-links>div:last-child{grid-column:1 / -1}.reader-footer-bottom{flex-direction:column;gap:8px;font-size:10px}}.reader-loading{min-height:60dvh;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:12px}.reader-loading span{width:10px;height:10px;background:var(--red-600);animation:loading-pulse .8s ease-in-out infinite alternate}@keyframes loading-pulse{0%{opacity:.35;transform:scale(.8)}to{opacity:1;transform:scale(1.1)}}.visual-learning .figure-heading>span,.visual-learning .figure-heading>strong,.visual-learning .article-figure figcaption{color:var(--paper-50)}.scope-mobile-journey{display:none}@media(max-width:600px){.scope-demo canvas{display:none}.scope-mobile-journey{display:block;padding:14px 8px}.mobile-user-label{width:-moz-fit-content;width:fit-content;margin:0 auto 12px;padding:4px 14px;border:2px solid var(--blue-600);display:block;color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600}.scope-mobile-journey>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scope-mobile-journey section{padding:12px 10px;border:1px solid var(--line-300);background:var(--paper-50)}.scope-mobile-journey section>strong{color:var(--ink-900);font-family:IBM Plex Mono,monospace;font-size:12px}.scope-mobile-journey section p{margin:12px 0 0;display:flex;align-items:center;gap:7px;color:var(--ink-700);font-family:IBM Plex Mono,monospace;font-size:12px}.scope-mobile-journey section p i{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:var(--blue-600)}.scope-mobile-journey>small{margin-top:14px;display:block;color:var(--ink-700);font-size:12px;text-align:center}.scope-mobile-journey.user .mobile-user-label{background:var(--blue-600);color:var(--paper-50)}.scope-mobile-journey.session section{border:2px solid var(--blue-600);background:var(--blue-100)}.scope-mobile-journey.event section p i{outline:3px solid color-mix(in oklch,var(--red-600) 25%,transparent);background:var(--red-600)}.publication-utility,.issue-line,.article-card-meta,.article-card-footer,.article-labels span,.article-byline small,.breadcrumbs,.article-hero-facts small,.figure-heading>span,.article-figure figcaption,.section-line-heading>span,.archive-result-line,.article-card-art>span,.reader-footer-bottom{font-size:12px}.visual-frame{overflow-x:auto}.visual-frame>svg{min-width:520px}.visual-frame .svg-label,.visual-frame .svg-small{font-size:18px}.visual-frame .scope-demo,.visual-frame .attribution-demo,.visual-frame .funnel-demo{min-width:0}}.screenshot-walkthrough{width:calc(100% + 96px);margin:58px 0 58px -48px}.screenshot-heading{margin-bottom:16px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.screenshot-heading>div>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.07em}.screenshot-heading h2{margin:8px 0 0;font-family:Inter,sans-serif;font-size:28px;font-weight:600;letter-spacing:-.04em;line-height:1.18}.illustrative-badge{min-height:32px;padding:0 10px;border:1px solid var(--line-300);border-radius:3px;display:inline-flex;align-items:center;gap:6px;color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:9px;white-space:nowrap}.mock-browser{overflow:hidden;border:1px solid var(--ink-900);border-radius:7px;background:#f5f7fa;box-shadow:8px 8px 0 var(--blue-600)}.mock-browser-bar{min-height:40px;padding:0 14px;background:var(--ink-900);color:var(--paper-50);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;font-family:IBM Plex Mono,monospace;font-size:9px}.mock-browser-bar>strong{justify-self:end;color:#c4d5ff;font-size:8px;letter-spacing:.08em}.mock-window-dots{display:flex;gap:5px}.mock-window-dots i{width:8px;height:8px;border-radius:50%;background:var(--paper-50);opacity:.45}.mock-window-dots i:first-child{background:var(--red-600);opacity:1}.mock-app{min-height:520px;display:grid;grid-template-columns:132px minmax(0,1fr)}.mock-nav{padding:18px 12px;border-right:1px solid #cfd5df;background:#eef1f5;display:flex;flex-direction:column;gap:5px}.mock-nav>strong{margin-bottom:18px;color:#254b94;font-family:Inter,sans-serif;font-size:12px;font-weight:700;line-height:1.35}.mock-nav>span{min-height:34px;padding:7px 9px;border-radius:4px;color:#4b5565;font-size:10px;font-weight:500}.mock-nav>span.active{background:#d8e4fa;color:#174ea6;font-weight:700}.mock-nav>small{margin-top:auto;color:#6e7784;font-family:IBM Plex Mono,monospace;font-size:7px;line-height:1.6}.mock-screen-main{min-width:0;padding:20px}.mock-screen-title{margin-bottom:20px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.mock-screen-title h3{margin:0;color:#242628;font-family:Inter,sans-serif;font-size:19px;font-weight:600;letter-spacing:-.035em}.mock-screen-title p{margin:4px 0 0;color:#687386;font-size:10px}.mock-screen-title>span{padding:6px 8px;border:1px solid #cfd5df;border-radius:4px;background:#fff;color:#4b5565;font-family:IBM Plex Mono,monospace;font-size:8px;white-space:nowrap}.mock-workspace{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:start;gap:16px}.mock-primary{min-width:0;display:grid;gap:16px}.mock-zone{padding:10px;position:relative;border:2px solid transparent;border-radius:6px;transition:border-color .18s ease-out,background-color .18s ease-out,box-shadow .18s ease-out}.mock-zone.is-active{border-color:#2052bb;background:#fff;box-shadow:0 0 0 3px #2052bb12}.mock-hotspot{width:44px;height:44px;padding:0;position:absolute;top:-15px;right:-12px;z-index:4;border:3px solid #f5f7fa;border-radius:50%;background:#2052bb;color:#fff;display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;box-shadow:0 2px 8px #2052bb35}.mock-hotspot:hover{background:#d9332b;transform:scale(1.08)}.mock-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mock-metrics>div{min-width:0;padding:12px;border:1px solid #dce1e8;border-radius:4px;background:#fff;display:flex;flex-direction:column}.mock-metrics span{overflow:hidden;color:#687386;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.mock-metrics strong{margin-top:3px;color:#242628;font-family:Inter,sans-serif;font-size:22px;font-weight:600;letter-spacing:-.045em;line-height:1.15}.mock-metrics small{color:#174ea6;font-size:8px}.mock-chart{margin-top:12px;padding:14px;border:1px solid #dce1e8;border-radius:4px;background:#fff}.mock-chart h4,.mock-panel h4{margin:0 0 12px;display:flex;align-items:center;gap:7px;color:#4b5565;font-family:Inter,sans-serif;font-size:11px;font-weight:600}.mock-line-chart{width:100%;height:160px;display:block}.mock-line-chart text{fill:#7b8492;font-family:IBM Plex Mono,monospace;font-size:8px}.mock-grid-lines{fill:none;stroke:#e5e9ef;stroke-width:1}.mock-line{fill:none;stroke:#2052bb;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.mock-area{fill:#2052bb12;stroke:none}.mock-point{fill:#fff;stroke:#2052bb;stroke-width:3}.mock-bars{height:160px;padding:12px 8px 0;display:flex;align-items:flex-end;justify-content:space-around;gap:12px;border-bottom:1px solid #dce1e8}.mock-bars>div{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.mock-bars i{width:100%;max-width:46px;display:block;background:#2052bb;border-radius:3px 3px 0 0}.mock-bars>div:nth-child(2n) i{background:#5d83cd}.mock-bars span{color:#7b8492;font-family:IBM Plex Mono,monospace;font-size:8px}.mock-funnel{padding:12px 0;display:grid;gap:12px}.mock-funnel>div{display:flex;align-items:center;justify-content:center;gap:10px}.mock-funnel span{height:28px;display:block;background:#2052bb;border-radius:3px}.mock-funnel>div:last-child span{background:#d9332b}.mock-funnel strong{width:42px;color:#4b5565;font-family:IBM Plex Mono,monospace;font-size:10px}.mock-table-scroll{overflow-x:auto;border:1px solid #dce1e8;border-radius:4px;background:#fff}.mock-table-scroll table{width:100%;border-collapse:collapse;font-size:10px}.mock-table-scroll th,.mock-table-scroll td{padding:10px 12px;border-bottom:1px solid #e5e9ef;text-align:left;white-space:nowrap}.mock-table-scroll thead th{background:#eef1f5;color:#4b5565;font-size:9px;font-weight:600}.mock-table-scroll tbody th{color:#242628;font-weight:500}.mock-table-scroll tbody td{color:#4b5565;font-family:IBM Plex Mono,monospace}.mock-table-scroll tr:last-child th,.mock-table-scroll tr:last-child td{border-bottom:0}.mock-panel{border:1px solid #dce1e8;border-radius:4px;background:#fff}.mock-panel.is-active{border:2px solid #2052bb}.mock-panel>div{display:grid}.mock-panel p{margin:0;padding:11px 0;position:relative;border-top:1px solid #e5e9ef;display:flex;flex-direction:column;gap:3px}.mock-panel p>span{color:#687386;font-family:IBM Plex Mono,monospace;font-size:8px}.mock-panel p>strong{padding-right:22px;color:#242628;font-size:11px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.mock-panel p>i{width:18px;height:18px;position:absolute;right:0;top:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:10px;font-style:normal;font-weight:700}.mock-panel p>i.good{background:#d8f0e2;color:#1e6c41}.mock-panel p>i.review{background:#fbe3df;color:#a62d27}.screenshot-step-content{margin-top:18px;padding:20px 22px;border:1px solid #bfd0ef;background:var(--blue-100);display:grid;grid-template-columns:100px 1fr;gap:20px}.screenshot-step-content>span{color:var(--blue-600);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600}.screenshot-step-content h3{margin:0;font-family:Inter,sans-serif;font-size:19px;font-weight:600;letter-spacing:-.03em}.screenshot-step-content p{margin:6px 0 0;color:var(--ink-700);font-size:13px;line-height:1.65}.screenshot-step-controls{margin-top:10px;display:grid;grid-template-columns:repeat(3,1fr) auto;gap:8px}.screenshot-step-controls button{min-height:52px;padding:8px 12px;border:1px solid var(--line-300);border-radius:4px;background:#fff;color:var(--ink-700);display:flex;align-items:center;gap:8px;text-align:left;font-size:11px;line-height:1.35}.screenshot-step-controls button>span{width:24px;height:24px;flex:0 0 auto;border:1px solid var(--blue-600);border-radius:50%;color:var(--blue-600);display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:9px}.screenshot-step-controls button:hover,.screenshot-step-controls button.active{border-color:var(--blue-600);color:var(--blue-600);background:var(--blue-100)}.screenshot-step-controls .screenshot-next{padding:0 16px;border-color:var(--blue-600);background:var(--blue-600);color:var(--paper-50);font-family:IBM Plex Mono,monospace;font-size:10px;white-space:nowrap}.screenshot-step-controls .screenshot-next:hover{background:#173f91;color:var(--paper-50)}.screenshot-walkthrough>figcaption{margin-top:14px;color:var(--ink-500);font-size:11px;text-align:center}@media(max-width:1000px){.mock-workspace{grid-template-columns:1fr}.mock-panel{max-width:none}.mock-panel>div{grid-template-columns:1fr 1fr;-moz-column-gap:18px;column-gap:18px}.screenshot-step-controls{grid-template-columns:1fr 1fr}}@media(max-width:820px){.screenshot-walkthrough{width:100%;margin-left:0}.mock-app{grid-template-columns:1fr}.mock-nav{display:none}}@media(max-width:600px){.screenshot-heading{align-items:flex-start;flex-direction:column}.screenshot-heading h2{font-size:25px}.illustrative-badge{min-height:36px;font-size:10px}.mock-browser{box-shadow:5px 5px 0 var(--blue-600)}.mock-browser-bar{grid-template-columns:auto 1fr;font-size:8px}.mock-browser-bar>strong{display:none}.mock-screen-main{padding:14px 10px}.mock-screen-title{flex-direction:column}.mock-screen-title h3{font-size:18px}.mock-screen-title>span{font-size:10px}.mock-metrics{gap:5px}.mock-metrics>div{padding:9px 7px}.mock-metrics span{font-size:10px;white-space:normal}.mock-metrics strong{font-size:18px}.mock-metrics small{font-size:9px}.mock-hotspot{right:-6px}.mock-panel>div{grid-template-columns:1fr}.mock-panel p>span{font-size:10px}.mock-panel p>strong{font-size:12px}.mock-table-scroll th,.mock-table-scroll td{padding:10px;font-size:11px}.screenshot-step-content{padding:18px;grid-template-columns:1fr;gap:8px}.screenshot-step-content>span{font-size:11px}.screenshot-step-content p{font-size:14px}.screenshot-step-controls{grid-template-columns:1fr}.screenshot-step-controls button{min-height:54px;font-size:12px}.screenshot-walkthrough>figcaption{font-size:12px}}@media print{.screenshot-step-controls,.mock-hotspot{display:none!important}.screenshot-walkthrough{width:100%!important;margin-left:0!important;-moz-column-break-inside:avoid;break-inside:avoid}.mock-browser{box-shadow:none}}.archive-categories a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
