*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){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-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after,::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:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.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-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.m-1{margin:.25rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height: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}.max-h-\[--radix-context-menu-content-available-height\]{max-height:var(--radix-context-menu-content-available-height)}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-screen{max-height:100vh}.min-h-\[60px\]{min-height:60px}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-full{width:100%}.w-max{width:max-content}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.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-lg{max-width:32rem}.max-w-max{max-width:max-content}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.origin-\[--radix-context-menu-content-transform-origin\]{transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-hover-card-content-transform-origin\]{transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\[--radix-menubar-content-transform-origin\]{transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.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-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.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-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.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\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-primary{fill:hsl(var(--primary))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{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-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.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-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.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-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.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))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);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 #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);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 #0000000d;--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-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring{--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)}.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-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@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{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg:#f8f6f1;--panel:#efece4;--card:#fffdf8;--ink:#1c1b19;--muted:#67645d;--accent:#1f5fbf;--accent-2:#c8611d;--good:#23845a;--bad:#b8323a;--line:#dcd7cb;--key-bg:#e6eefb;--flash:#fff0bf;--tip-bg:#1c1b19;--tip-ink:#f8f6f1;--serif:"Newsreader", Georgia, "Times New Roman", serif;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141517;--panel:#1f2125;--card:#191b1e;--ink:#e9e7e2;--muted:#a3a09a;--accent:#78a6ff;--accent-2:#f0a062;--good:#5cc898;--bad:#f07a80;--line:#33353b;--key-bg:#1c283d;--flash:#4a3f1a;--tip-bg:#e9e7e2;--tip-ink:#141517;color-scheme:dark}}:root[data-theme=dark]{color-scheme:dark;--bg:#141517;--panel:#1f2125;--card:#191b1e;--ink:#e9e7e2;--muted:#a3a09a;--accent:#78a6ff;--accent-2:#f0a062;--good:#5cc898;--bad:#f07a80;--line:#33353b;--key-bg:#1c283d;--flash:#4a3f1a;--tip-bg:#e9e7e2;--tip-ink:#141517}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{background:var(--bg);color:var(--ink);font:17px/1.65 var(--sans);margin:0}main.page{max-width:860px;padding-block:20px 96px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg);position:fixed;inset:0 0 auto}main.page p{margin:0 0 12px}main.page ul,main.page ol{list-style:revert;margin:0 0 12px;padding-left:1.4em}main.page li{margin:4px 0}main.page h3{font:600 1.02rem var(--sans);margin:20px 0 6px}main.page a:not(.term):not(.navlink){color:var(--accent);text-underline-offset:2px;text-decoration:underline}main.page strong{font-weight:650}code{font-family:var(--mono);background:var(--panel);border-radius:4px;padding:1px 5px;font-size:.88em}.topbar{top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb, var(--bg) 90%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky}.topbar .inner{max-width:860px;padding-block:7px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));align-items:center;gap:6px;margin:0 auto;display:flex}.topbar nav{scrollbar-width:none;flex:1;gap:2px;display:flex;overflow-x:auto}.topbar nav::-webkit-scrollbar{display:none}.topbar a,.topbar button{font:600 .78rem var(--sans);color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;text-decoration:none}.topbar a:hover,.topbar button:hover{background:var(--panel);color:var(--ink)}.progress{background:var(--accent);width:0;height:2px;position:absolute;bottom:-1px;left:0}.kicker{font:600 .78rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2);margin-top:18px}h1.title{font:600 2.35rem/1.12 var(--serif);letter-spacing:-.01em;margin:6px 0 8px}.hook{color:var(--muted);font:400 1.18rem/1.5 var(--serif);margin:0 0 14px;font-style:italic}.meta{flex-wrap:wrap;gap:8px;margin:10px 0 4px;display:flex}.chip{font:500 .78rem var(--sans);border:1px solid var(--line);color:var(--muted);background:var(--card);border-radius:999px;padding:3px 10px}section.sec>details>summary{cursor:pointer;-webkit-user-select:none;user-select:none;border-top:1px solid var(--line);align-items:baseline;gap:10px;margin:36px 0 12px;padding-top:14px;list-style:none;display:flex}section.sec>details>summary::-webkit-details-marker{display:none}section.sec>details>summary:before{content:"▸";color:var(--muted);font-size:.85rem;transition:transform .15s}section.sec>details[open]>summary:before{transform:rotate(90deg)}section.sec h2{font:600 1.45rem/1.25 var(--serif);margin:0}section.sec .secnum{font:600 .75rem var(--mono);color:var(--accent-2)}section.sec>details>summary:hover h2{color:var(--accent)}.scope{color:var(--muted);font-size:.92rem;font-style:italic}figure.fig{background:var(--panel);border-radius:10px;margin:0;padding:14px}figure.fig svg{width:100%;height:auto;display:block}figure.fig svg text,svg.g text{font-family:var(--sans);fill:var(--ink)}figure.fig svg .step{cursor:pointer;transition:opacity .15s}figure.fig.focusing svg .step{opacity:.2}figure.fig.focusing svg .step.on{opacity:1}figcaption{color:var(--muted);margin-top:8px;font-size:.85rem}ol.read{padding-left:1.4em}ol.read li{border-radius:6px;margin:6px 0;padding:3px 8px;transition:background .15s}.formula{text-align:center;margin:14px 0 4px;overflow-x:auto}.key{background:var(--key-bg);border-left:4px solid var(--accent);font:600 1.12rem/1.5 var(--serif);border-radius:6px;margin:0 0 10px;padding:14px 18px}.box{background:var(--panel);border-radius:10px;margin:0 0 12px;padding:14px 18px}.box>:last-child{margin-bottom:0}.note{color:var(--muted);font-size:.92rem}.katex-display{padding:4px 0;overflow:auto hidden}.callout{border:1px solid var(--line);background:var(--card);border-radius:10px;margin:0 0 12px;padding:12px 16px}.callout .ch{font:700 .74rem var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.callout.hist .ch{color:var(--accent-2)}.callout.phil .ch{color:var(--good)}.callout.warn .ch{color:var(--bad)}.callout.ml .ch{color:var(--accent)}.callout>:last-child{margin-bottom:0}.timeline{border-left:2px solid var(--line);margin:6px 0 12px;padding-left:18px;position:relative}.timeline .ev{margin:0 0 12px;position:relative}.timeline .ev:before{content:"";background:var(--card);border:2px solid var(--accent-2);border-radius:50%;width:10px;height:10px;position:absolute;top:8px;left:-24px}.timeline .yr{font:600 .85rem var(--mono);color:var(--accent-2);margin-right:8px}a.term{color:inherit;border-bottom:2px dotted var(--accent-2);cursor:help;text-decoration:none}a.term:hover,a.term:focus{background:color-mix(in srgb, var(--accent-2) 15%, transparent);outline:none}.tip{z-index:30;background:var(--tip-bg);max-width:300px;color:var(--tip-ink);pointer-events:none;opacity:0;border-radius:8px;padding:10px 12px;font-size:.88rem;line-height:1.45;transition:opacity .12s,transform .12s;position:fixed;transform:translateY(4px);box-shadow:0 6px 24px #0003}.tip.show{opacity:1;transform:none}.tip b{margin-bottom:2px;display:block}.tip .fa{opacity:.85;margin-top:4px;display:block}.tip .hint{opacity:.6;margin-top:6px;font-size:.75rem;display:block}.backbtn{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:25;font:600 .85rem var(--sans);background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:10px 16px;position:fixed;box-shadow:0 4px 16px #0003}table.gloss{border-collapse:collapse;width:100%;font-size:.94rem}table.gloss th,table.gloss td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:9px 8px}table.gloss th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.76rem;font-weight:600}table.gloss td:first-child{font-weight:600}table.gloss tr{transition:background .6s}table.gloss tr.flash{background:var(--flash);transition:none}.pos{color:var(--muted);margin-left:4px;font-size:.78rem;font-weight:400}.ctx{color:var(--muted);font-style:italic}[lang=fa]{direction:rtl;unicode-bidi:isolate;font-family:Vazirmatn,Tahoma,sans-serif;font-size:1.02em}td.fa{text-align:right!important}.lab{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0 0 14px;padding:14px}.lab .labhead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.lab .labtitle{font:700 .78rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.lab .labsub{color:var(--muted);font-size:.85rem}.controls{flex-wrap:wrap;align-items:center;gap:10px 18px;margin:8px 0;font-size:.9rem;display:flex}.controls label{align-items:center;gap:8px;display:flex}.controls input[type=range]{width:150px;accent-color:var(--accent)}.btn{font:600 .82rem var(--sans);border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:6px;padding:6px 12px}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{color:#fff;opacity:.9}.stat{background:var(--panel);border-radius:8px;flex-direction:column;min-width:92px;padding:6px 12px;display:inline-flex}.stat .v{font:600 1.15rem var(--mono)}.stat .l{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.stats{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}svg.g{background:var(--panel);touch-action:manipulation;border-radius:8px;width:100%;height:auto;display:block}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=640px){.grid2{grid-template-columns:1fr}h1.title{font-size:1.9rem}}.puzzle{border:1px dashed var(--accent-2);border-radius:10px;margin:0 0 14px;padding:12px 16px}.puzzle .ph{font:700 .74rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2);margin-bottom:4px}.puzzle details>summary{cursor:pointer;color:var(--accent);margin-top:6px;font-size:.9rem;font-weight:600}.puzzle details[open]>summary{margin-bottom:6px}.quiz .q{margin:0 0 14px}.quiz .opts{gap:6px;margin-top:6px;display:grid}.quiz .opt{text-align:left;font:400 .93rem var(--sans);border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:8px;padding:8px 12px}.quiz .opt:hover{border-color:var(--accent)}.quiz .opt.right{border-color:var(--good);background:color-mix(in srgb, var(--good) 14%, transparent)}.quiz .opt.wrong{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 12%, transparent)}.quiz .expl{color:var(--muted);margin-top:6px;font-size:.9rem}table.read-t{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:.92rem}table.read-t td,table.read-t th{border-bottom:1px solid var(--line);vertical-align:top;text-align:left;padding:8px}table.read-t th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.74rem}.tag{font:600 .7rem var(--sans);background:var(--panel);color:var(--muted);border-radius:4px;margin-right:4px;padding:1px 7px;display:inline-block}.tag.must{background:color-mix(in srgb, var(--accent-2) 20%, transparent);color:var(--accent-2)}.tag.new{background:color-mix(in srgb, var(--good) 18%, transparent);color:var(--good)}.openq{counter-reset:oq;padding-left:0!important;list-style:none!important}.openq li{counter-increment:oq;position:relative;margin:8px 0!important;padding-left:34px!important}.openq li:before{content:counter(oq);background:var(--ink);width:24px;height:24px;color:var(--bg);font:700 .78rem/24px var(--sans);text-align:center;border-radius:50%;position:absolute;top:1px;left:0}.coursenav{border-top:1px solid var(--line);justify-content:space-between;gap:12px;margin-top:40px;padding-top:16px;font-size:.9rem;display:flex}@media print{.topbar,.backbtn,.tip{display:none!important}}.katex{position:relative}.formula,.katex-display{max-width:100%;position:relative}@media (width<=640px){table.gloss thead,table.read-t thead{display:none}table.gloss tr,table.read-t tr{border-bottom:1px solid var(--line);padding:10px 0;display:block}table.gloss td,table.read-t td{border:0;padding:2px 0;display:block}td.fa{text-align:left!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}:root{--part-l:#1f5fbf;--part-d:#78a6ff;--part:var(--part-l);--shadow:0 1px 2px #1e190f0f, 0 4px 14px #1e190f0d}:root[data-part="2"]{--part-l:#0d7a6f;--part-d:#4fd1bf}:root[data-part="3"]{--part-l:#b84d17;--part-d:#f29b62}:root[data-part="4"]{--part-l:#8a3a7a;--part-d:#e39ad4}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--part:var(--part-d);--shadow:0 1px 2px #0000004d, 0 6px 18px #00000040}}:root[data-theme=dark]{--part:var(--part-d);--shadow:0 1px 2px #0000004d, 0 6px 18px #00000040}body.noscroll{overflow:hidden}.progress{background:var(--part);height:3px}.topbar a.active{background:color-mix(in srgb, var(--part) 14%, transparent);color:var(--part)}.topbar a.isdone:after{content:" ✓";color:var(--good)}.miniring{display:inline-flex}.kicker{color:var(--part);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.partpill{font:700 .7rem var(--sans);letter-spacing:.08em;background:color-mix(in srgb, var(--part) 14%, transparent);color:var(--part);border-radius:999px;padding:3px 9px}.shell{grid-template-columns:minmax(0,1fr);max-width:1240px;margin:0 auto;display:grid}.side{display:none}@media (width>=1180px){.shell{grid-template-columns:250px minmax(0,860px);justify-content:center;gap:28px}.side{top:calc(env(safe-area-inset-top,0px) + 58px);align-self:start;max-height:calc(100vh - 80px);padding:22px 0 22px 16px;display:block;position:sticky;overflow-y:auto}.topbar nav{visibility:hidden}}.sidehead{align-items:center;gap:12px;margin-bottom:14px;display:flex}.sidek{font:700 .74rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--part)}.sidet{color:var(--muted);font-size:.85rem}.toc{border-left:2px solid var(--line);margin:0 0 16px;padding:0!important;list-style:none!important}.toc li{margin:0}.toc a{color:var(--muted);border-left:2px solid #0000;align-items:center;gap:8px;margin-left:-2px;padding:5px 10px;font-size:.86rem;line-height:1.3;text-decoration:none;display:flex}.toc a:hover{color:var(--ink)}.toc a.active{border-left-color:var(--part);color:var(--ink);font-weight:600}.toc .tdot{border:1.5px solid var(--muted);border-radius:50%;flex:none;width:7px;height:7px}.toc a.isdone .tdot{background:var(--good);border-color:var(--good)}.sidelinks{gap:6px;font-size:.84rem;display:grid}.sidelinks a{color:var(--part);text-decoration:none}.hero{grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;margin-top:6px;display:grid}.heronet{aspect-ratio:520/300;background:color-mix(in srgb, var(--part) 6%, var(--panel));border-radius:12px;width:100%;height:auto;max-height:220px}@media (width>=760px){.hero{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px}.heronet{max-height:none}}h1.title{text-wrap:balance;flex-direction:column;gap:2px;display:flex}.unum{font:600 1rem var(--mono);color:var(--part);letter-spacing:.05em}.chip{background:var(--card)}section.sec>details>summary{border-top:1px solid var(--line)}section.sec>details>summary:before{color:var(--part)}.donemark{color:var(--good);font-size:1rem;font-weight:700}.secfoot{justify-content:flex-end;margin-top:10px;display:flex}.btn.gotit{color:var(--muted);padding:4px 10px;font-size:.78rem}.btn.gotit.primary{background:var(--good);border-color:var(--good);color:#fff}.key{border-left-color:var(--part);background:color-mix(in srgb, var(--part) 10%, var(--bg))}.btn{transition:border-color .15s,color .15s,background .15s}.btn.primary{background:var(--part);border-color:var(--part)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000;padding:4px 8px}.btn.ghost:hover{color:var(--part);border-color:var(--line)}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible,.opt:focus-visible,.play:focus-visible{outline:2px solid var(--part);outline-offset:2px}.slider{align-items:center;gap:8px;display:inline-flex}.slider .slabel{white-space:nowrap}.play{border:1px solid var(--line);background:var(--card);width:24px;height:24px;color:var(--part);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.play:hover,.play.on{background:var(--part);color:#fff;border-color:var(--part)}input[type=range]{appearance:none;cursor:pointer;background:linear-gradient(to right, var(--part) var(--pct,50%), var(--line) var(--pct,50%));border-radius:999px;width:150px;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--card);border:2px solid var(--part);width:16px;height:16px;box-shadow:var(--shadow);border-radius:50%}input[type=range]::-moz-range-thumb{background:var(--card);border:2px solid var(--part);border-radius:50%;width:14px;height:14px}@media (width<=640px){.slider{flex-wrap:wrap}input[type=range]{width:130px}}.scrub{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.scrub input[type=range]{flex:1;min-width:120px}.lab{box-shadow:var(--shadow);border-top:3px solid var(--part)}.lab .labhead{align-items:center}.lab .labtitle{color:var(--part);align-items:center;gap:6px;display:inline-flex}.lab .labsub{flex-basis:100%}.lab.focus{z-index:60;padding:calc(18px + env(safe-area-inset-top,0px)) max(18px, env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(18px, env(safe-area-inset-left,0px));border-radius:0;margin:0;position:fixed;inset:0;overflow:auto}.lab.focus .grid2{grid-template-columns:1fr 1fr}@media (width<=640px){.lab.focus .grid2{grid-template-columns:1fr}}.stat{border:1px solid var(--line);background:var(--bg)}.stat .v{font-variant-numeric:tabular-nums;color:var(--ink)}svg.g{border:1px solid color-mix(in srgb, var(--line) 60%, transparent)}figure.fig{box-shadow:var(--shadow)}figure.fig svg .mk circle{transition:transform .2s}.tourbar{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.tourdots{gap:6px;margin:0 4px;display:inline-flex}.tourdots .dot{border:1.5px solid var(--muted);cursor:pointer;background:0 0;border-radius:50%;width:11px;height:11px;padding:0}.tourdots .dot.on{background:var(--part);border-color:var(--part)}ol.read li{cursor:pointer}ol.read li.on{background:color-mix(in srgb, var(--part) 12%, transparent)}.fbox{background:var(--card);border:1px solid var(--line);border-radius:10px;margin:10px 0 12px;padding:8px 14px 12px}.formula.live [class*=fs-]{cursor:help;padding:0 1px;transition:opacity .15s,background .15s}.flegend{flex-wrap:wrap;gap:6px;display:flex}.fchip{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:400 .84rem var(--sans);cursor:help;border-radius:999px;align-items:baseline;gap:6px;padding:3px 10px;display:inline-flex}.fchip.on,.fchip:hover{border-color:var(--part);background:color-mix(in srgb, var(--part) 10%, var(--bg))}.fchip .fsym{font-weight:600}.callout .ch{align-items:center;gap:6px;display:flex}.callout{box-shadow:var(--shadow)}.timeline .ev{border-radius:6px;padding:4px 8px;transition:background .15s}.timeline .ev.on{background:color-mix(in srgb, var(--part) 9%, transparent)}.timeline .ev:before{border-color:var(--part);top:12px;left:-16px}.timeline .yr{color:var(--part)}.timeline .ev.on:before{background:var(--part)}.puzzle{border-color:color-mix(in srgb, var(--part) 60%, var(--line));background:color-mix(in srgb, var(--part) 4%, var(--bg))}.puzzle .ph{color:var(--part);flex-wrap:wrap;align-items:center;display:flex}.reveal{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px;animation:.25s fadein}.reveal.sol{border-top-color:var(--part)}textarea.attempt{width:100%;min-height:90px;font:400 .95rem/1.5 var(--sans);color:var(--ink);background:var(--card);border:1px solid var(--line);resize:vertical;border-radius:8px;margin-top:8px;padding:8px 10px}textarea.attempt:focus,#gloss-search:focus{outline:2px solid var(--part);outline-offset:1px}@keyframes fadein{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.qprog{align-items:center;gap:5px;margin-bottom:12px;display:flex}.qd{background:var(--line);border-radius:3px;width:22px;height:6px}.qd.ok{background:var(--good)}.qd.no{background:var(--bad)}.quiz .opt{align-items:baseline;gap:10px;display:flex}.quiz .opt .ol{font:700 .75rem var(--mono);color:var(--muted)}.quiz .opt.dim{opacity:.55}.quiz .opt:disabled{cursor:default}.quiz .expl{border-left:3px solid var(--line);padding:4px 10px}.quiz .expl.ok{border-left-color:var(--good)}.quiz .expl.no{border-left-color:var(--bad)}.qsum{background:color-mix(in srgb, var(--part) 9%, var(--bg));border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.readings{gap:8px;margin-bottom:12px;display:grid}.rd{border:1px solid var(--line);background:var(--card);border-radius:10px;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 12px;display:grid}.rd.isread{opacity:.6}.rdcheck input{width:16px;height:16px;accent-color:var(--part);margin-top:3px}.rdcite{font-weight:600}.rdcite a{color:var(--ink)!important;text-decoration-color:var(--part)!important}.rdwhy{color:var(--muted);margin-top:2px;font-size:.92rem}.glosstools input[type=search]{min-width:160px;font:400 .95rem var(--sans);border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;flex:1;padding:7px 10px}.tablewrap{overflow-x:auto}.say{color:var(--part);cursor:pointer;vertical-align:middle;background:0 0;border:0;margin-left:4px;padding:2px 4px}.flash{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:12px}.flashbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.flash .card{perspective:900px;cursor:pointer;width:100%;min-height:190px;color:var(--ink);font:inherit;background:0 0;border:0;padding:0;display:block;position:relative}.flash .card .face{border:1px solid var(--line);background:color-mix(in srgb, var(--part) 6%, var(--bg));backface-visibility:hidden;text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px;transition:transform .45s;display:flex;position:absolute;inset:0}.flash .card .back,.flash .card.flipped .front{transform:rotateY(180deg)}.flash .card.flipped .back{transform:rotateY(360deg)}.flash .card.done{text-align:center;cursor:default;min-height:0;padding:18px;position:static}.cterm{font:600 1.6rem var(--serif)}.cctx{color:var(--muted);font-style:italic}.cdef{font-size:1.05rem}.cfa{font-size:1.3rem}.flash .hint{color:var(--muted);font-size:.75rem}@media (prefers-reduced-motion:reduce){.flash .card .face{transition:none}}.takeaways{gap:12px;display:grid}.tk-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.tk{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:12px 14px;display:grid}.tkn{background:var(--part);color:#fff;width:26px;height:26px;font:700 .85rem var(--mono);border-radius:50%;place-items:center;display:grid}.feyn{border:1px dashed color-mix(in srgb, var(--part) 60%, var(--line));border-radius:10px;padding:12px 14px}.feyn .ch{font:700 .74rem var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.drawer{z-index:50;top:calc(env(safe-area-inset-top,0px) + 50px);right:calc(10px + env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;width:min(380px,100vw - 20px);padding:12px;display:flex;position:fixed;box-shadow:0 12px 40px #00000038}.drawer textarea{resize:none;width:100%;font:400 .95rem/1.55 var(--sans);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;flex:1;padding:10px}.coursenav{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.navcard{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:2px;padding:12px 14px;transition:border-color .15s,transform .15s;display:flex;color:var(--ink)!important;text-decoration:none!important}.navcard:hover{border-color:var(--part);transform:translateY(-1px)}.navcard .nk{font:600 .74rem var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--part)}.navcard .nt{font:600 1rem var(--serif)}.navcard.right{text-align:right}.navcard.mid{text-align:center}@media (width<=640px){.coursenav{grid-template-columns:1fr}.navcard.right,.navcard.mid{text-align:left}}.charthover line.xh{stroke:var(--muted);stroke-dasharray:3 3}.ctip rect{fill:var(--tip-bg);opacity:.94}.ctip text{font-size:11px;fill:var(--tip-ink)!important}.pc1{--pc:#1f5fbf}.pc2{--pc:#0d7a6f}.pc3{--pc:#b84d17}.pc4{--pc:#8a3a7a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pc1{--pc:#78a6ff}:root:not([data-theme=light]) .pc2{--pc:#4fd1bf}:root:not([data-theme=light]) .pc3{--pc:#f29b62}:root:not([data-theme=light]) .pc4{--pc:#e39ad4}}:root[data-theme=dark] .pc1{--pc:#78a6ff}:root[data-theme=dark] .pc2{--pc:#4fd1bf}:root[data-theme=dark] .pc3{--pc:#f29b62}:root[data-theme=dark] .pc4{--pc:#e39ad4}.ucard{border-left:4px solid var(--pc)!important}.ucard .unumb{font:700 1.3rem var(--mono);color:var(--pc)}.ucard a.utitle{font:600 1.15rem var(--serif);color:var(--ink)!important;text-decoration-color:var(--pc)!important}.parthead{font:700 .78rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--pc);margin:18px 0 6px}.shell>main.page,.shell>.side,.hero>*{min-width:0}.shell>main.page{width:100%}:root{--on-part:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--on-part:#141517}}:root[data-theme=dark]{--on-part:#141517}.btn.primary,.btn.primary:hover,.btn.gotit.primary,.play:hover,.play.on,.tkn{color:var(--on-part)}main.page svg a,main.page svg a *{text-decoration:none!important}.figscroll{overflow-x:auto}.figscroll>svg{width:100%;height:auto;display:block}.cmap{background:var(--panel);box-shadow:var(--shadow);border-radius:12px;margin-bottom:14px;padding:12px}.cmap-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:6px;font-size:.82rem;display:flex}.cmap-legend i{vertical-align:-1px;border-radius:3px;width:11px;height:11px;margin-right:5px;display:inline-block}.cmap svg text{font-family:var(--sans);fill:var(--ink)}.cmap-info{background:var(--card);border:1px solid var(--line);border-radius:10px;min-height:52px;margin-top:8px;padding:10px 12px;font-size:.95rem}.cmap-k{font:700 .7rem var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}.cmap-rel{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.cmap-rel .chip{font-size:.78rem}.codeblk{border:1px solid var(--line);background:var(--card);border-radius:10px;margin:10px 0;overflow:hidden}.codehead{font:600 .78rem var(--mono);color:var(--muted);background:var(--panel);align-items:center;gap:6px;padding:6px 10px;display:flex}.codeblk pre{font:500 .82rem/1.55 var(--mono);background:var(--card);margin:0;padding:10px 0;overflow-x:auto}.codeblk .cl{white-space:pre;padding-right:12px}.codeblk .ln{text-align:right;width:34px;color:var(--muted);opacity:.55;-webkit-user-select:none;user-select:none;padding-right:12px;display:inline-block}.c-k{color:var(--part);font-weight:600}.c-s{color:var(--good)}.c-c{color:var(--muted);font-style:italic}.c-n{color:var(--accent-2)}.bars{gap:6px;margin:8px 0 12px;display:grid}.bar{grid-template-columns:minmax(90px,190px) minmax(0,1fr) 70px;align-items:center;gap:10px;font-size:.9rem;display:grid}.bar .bl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar .bt{background:color-mix(in srgb, var(--line) 60%, transparent);border-radius:4px;height:14px;overflow:hidden}.bar .bf{border-radius:4px;height:100%;transition:width .5s;display:block}.bar .bv{font:600 .82rem var(--mono);text-align:right;font-variant-numeric:tabular-nums}.bar .bn{color:var(--muted);grid-column:2/4;margin-top:-4px;font-size:.78rem}.bar.hi .bl{color:var(--part);font-weight:700}@media (width<=520px){.bar{grid-template-columns:100px minmax(0,1fr) 58px}}table.data-t{border-collapse:collapse;width:100%;margin:6px 0 12px;font-size:.9rem}table.data-t th,table.data-t td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:7px 8px}table.data-t th button{font:600 .74rem var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0}table.data-t th button:hover{color:var(--part)}table.data-t .num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:.84rem}table.data-t tr.hi td{background:color-mix(in srgb, var(--part) 9%, transparent);font-weight:600}table.data-t td.best{color:var(--part);font-weight:700}.practice{border:1px solid color-mix(in srgb, var(--part) 45%, var(--line));background:var(--card);box-shadow:var(--shadow);border-radius:14px;margin:0 0 18px;padding:14px 16px}.prhead{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.prk{font:700 .7rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--on-part);background:var(--part);border-radius:5px;padding:3px 8px}.prt{font:600 1.15rem var(--serif)}.prdata{color:var(--muted);align-items:center;gap:6px;margin-bottom:8px;font-size:.84rem;display:flex}.finding{border-left:4px solid var(--good);background:color-mix(in srgb, var(--good) 8%, var(--bg));border-radius:6px;margin:8px 0 12px;padding:10px 14px}.finding:before{content:"Result. ";color:var(--good);font-weight:700}.practice .grid2>div{overflow-wrap:anywhere;min-width:0}.practice ol{margin:4px 0 8px;padding-left:1.3em}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.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::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.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\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.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\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1: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(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\: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\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #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-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.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)) skewX(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)) skewX(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)) skewX(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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}.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-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--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-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.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]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.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]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.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-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[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\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.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-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.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\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[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-\[state\=open\]\:hover\:bg-accent:hover[data-state=open],.data-\[state\=open\]\:focus\:bg-accent:focus[data-state=open]{background-color:hsl(var(--accent))}.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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:is(.dark .dark\:border-destructive){border-color:hsl(var(--destructive))}@media (width>=640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:.5rem}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (width>=768px){.md\:absolute{position:absolute}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\[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}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
