@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600&display=swap";*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;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]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:Space Grotesk,sans-serif;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}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left: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}.-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}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1}.size-4{width:1rem;height:1rem}.size-\[--cell-size\]{width:var(--cell-size);height:var(--cell-size)}.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-\[--cell-size\]{height:var(--cell-size)}.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-\[--cell-size\]{width:var(--cell-size)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.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-\[--cell-size\]{min-width:var(--cell-size)}.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}.border-collapse{border-collapse:collapse}.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)) 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-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))}.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 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:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:.125rem}.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-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-black\/80{background-color:#000c}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.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-\[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}.px-\[--cell-size\]{padding-left:var(--cell-size);padding-right:var(--cell-size)}.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-1{padding-right:.25rem}.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}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-current{color:currentColor}.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-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)}.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,-webkit-backdrop-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)}.\[--cell-size\:2rem\]{--cell-size:2rem}:root{--paper:#faf9f6;--paper-2:#f2f0ea;--ink:#1a1a1e;--ink-60:#1a1a1e9e;--ink-40:#1a1a1e66;--ink-12:#1a1a1e1f;--ink-08:#1a1a1e14;--accent:#0e7c66;--accent-soft:#e5f3ef;--node-fill:#ffef9e;--node-border:#1a1a1e;--amber:#b45309;--purple:#7c5cfc;--green:#0e7c66;--red:#c2410c;--font-display:"Fraunces", serif;--font-body:"Manrope", sans-serif;--font-mono:"Space Grotesk", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--paper);color:var(--ink)}#root{min-height:100vh}::selection{background:var(--node-fill)}.topnav{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--ink-08);background:#faf9f6d9;align-items:center;gap:28px;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);letter-spacing:-.3px;cursor:pointer;align-items:center;gap:8px;font-size:22px;font-weight:700;display:flex}.brand-dot{background:var(--accent);border-radius:50%;width:10px;height:10px}.nav-link{color:var(--ink-60);cursor:pointer;border-bottom:2px solid #0000;padding:6px 2px;font-size:14px;font-weight:600;transition:all .15s}.nav-link:hover{color:var(--ink)}.nav-link.active{color:var(--ink);border-bottom-color:var(--accent)}.nav-right{align-items:center;gap:14px;margin-left:auto;display:flex}.streak-pill{color:var(--amber);background:#fff4e0;border:1px solid #f0dbb0;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:700;display:flex}.btn-dark{background:var(--ink);color:var(--paper);cursor:pointer;font-family:var(--font-body);border:none;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:700;transition:all .15s}.btn-dark:hover{background:#000;transform:translateY(-1px)}.btn-dark:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-outline{color:var(--ink);border:1.5px solid var(--ink);cursor:pointer;font-family:var(--font-body);background:0 0;border-radius:10px;padding:8px 18px;font-size:14px;font-weight:700;transition:all .15s}.btn-outline:hover{background:var(--ink);color:var(--paper)}.hero{text-align:center;max-width:880px;margin:0 auto;padding:84px 24px 56px}.hero-eyebrow{letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-bottom:20px;font-size:12px;font-weight:800;display:inline-flex}.hero h1{font-family:var(--font-display);letter-spacing:-1.5px;margin-bottom:18px;font-size:clamp(40px,6vw,64px);font-weight:600;line-height:1.06}.hero h1 em{color:var(--accent);font-style:italic}.hero-sub{color:var(--ink-60);max-width:560px;margin:0 auto 36px;font-size:18px;line-height:1.6}.gen-box{border:1.5px solid var(--ink);max-width:640px;box-shadow:4px 4px 0 var(--ink);background:#fff;border-radius:16px;align-items:center;gap:10px;margin:0 auto;padding:8px 8px 8px 20px;transition:box-shadow .15s,transform .15s;display:flex}.gen-box:focus-within{box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.gen-box input{font-family:var(--font-body);color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:10px 0;font-size:16px;font-weight:500}.gen-box input::placeholder{color:var(--ink-40)}.gen-suggestions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.suggestion-chip{color:var(--ink-60);cursor:pointer;border:1px solid var(--ink-12);background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s}.suggestion-chip:hover{border-color:var(--ink);color:var(--ink)}.browse{max-width:1040px;margin:0 auto;padding:24px 24px 80px}.browse-section-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-40);margin:32px 0 14px;font-size:12px;font-weight:800}.roadmap-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.roadmap-card{border:1px solid var(--ink-12);cursor:pointer;background:#fff;border-radius:14px;padding:18px;transition:all .18s;position:relative}.roadmap-card:hover{border-color:var(--ink);box-shadow:3px 3px 0 var(--ink);transform:translateY(-2px)}.roadmap-card h3{margin-bottom:4px;font-size:15px;font-weight:800}.roadmap-card p{color:var(--ink-60);font-size:12.5px;line-height:1.5}.roadmap-card .rc-meta{gap:8px;margin-top:12px;display:flex}.tag{background:var(--paper-2);color:var(--ink-60);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.tag.green{background:var(--accent-soft);color:var(--accent)}.modal-veil{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a1a1e59;justify-content:center;align-items:center;padding:20px;animation:.2s fadein;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}@keyframes fadein{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--paper);border:1.5px solid var(--ink);width:520px;max-width:100%;max-height:88vh;box-shadow:8px 8px 0 var(--ink);border-radius:20px;padding:32px;animation:.3s cubic-bezier(.22,1,.36,1) rise;overflow-y:auto}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.modal-card h2{font-family:var(--font-display);letter-spacing:-.5px;margin-bottom:6px;font-size:26px;font-weight:600}.modal-sub{color:var(--ink-60);margin-bottom:24px;font-size:14px}.cal-q{margin:18px 0 10px;font-size:14px;font-weight:800}.cal-opts{flex-direction:column;gap:8px;display:flex}.cal-opt{text-align:left;border:1.5px solid var(--ink-12);font-family:var(--font-body);color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;padding:12px 16px;font-size:14px;font-weight:600;transition:all .13s}.cal-opt:hover{border-color:var(--ink)}.cal-opt.sel{border-color:var(--accent);background:var(--accent-soft)}.rm-page{max-width:1100px;margin:0 auto;padding:36px 24px 100px}.rm-header{flex-wrap:wrap;align-items:flex-start;gap:20px;margin-bottom:8px;display:flex}.rm-header h1{font-family:var(--font-display);letter-spacing:-1px;font-size:clamp(30px,4vw,44px);font-weight:600;line-height:1.1}.rm-header .rm-desc{color:var(--ink-60);max-width:560px;margin-top:8px;font-size:15px;line-height:1.6}.rm-progress-card{border:1px solid var(--ink-12);background:#fff;border-radius:14px;min-width:200px;margin-left:auto;padding:16px 20px}.rm-progress-bar{background:var(--paper-2);border-radius:4px;height:8px;margin-top:8px;overflow:hidden}.rm-progress-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.phase-label{align-items:center;gap:12px;margin:44px 0 22px;display:flex}.phase-num{font-family:var(--font-mono);background:var(--ink);color:var(--paper);border-radius:8px;padding:4px 10px;font-size:13px;font-weight:600}.phase-label h2{font-family:var(--font-display);letter-spacing:-.4px;font-size:22px;font-weight:600}.phase-line{background:var(--ink-12);flex:1;height:1px}.node-row{flex-wrap:wrap;gap:12px;padding-left:26px;display:flex;position:relative}.node-row:before{content:"";border-left:2px dotted var(--ink-12);position:absolute;top:-16px;bottom:-28px;left:9px}.rm-node{background:var(--node-fill);border:1.5px solid var(--ink);cursor:pointer;box-shadow:2.5px 2.5px 0 var(--ink);border-radius:10px;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:700;transition:all .15s;display:flex;position:relative}.rm-node:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1.5px,-1.5px)}.rm-node.done{background:#fff}.rm-node.done .rm-node-title{color:var(--ink-40);text-decoration:line-through}.rm-node .check{border:1.5px solid var(--ink);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;transition:all .15s;display:flex}.rm-node.done .check{background:var(--accent);border-color:var(--accent);color:#fff}.rm-node.deeper{box-shadow:none;background:#efeaff;border-style:dashed}.rm-node.deeper:hover{box-shadow:2.5px 2.5px 0 var(--ink);border-style:solid}.panel-veil{z-index:90;background:#1a1a1e4d;animation:.2s fadein;position:fixed;top:0;right:0;bottom:0;left:0}.lesson-panel{z-index:95;background:var(--paper);border-left:1.5px solid var(--ink);flex-direction:column;width:560px;max-width:96vw;animation:.32s cubic-bezier(.22,1,.36,1) slidein;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 40px #1a1a1e26}@keyframes slidein{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:none}}.lp-head{padding:24px 28px 0}.lp-eyebrow{letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:11px;font-weight:800}.lp-head h2{font-family:var(--font-display);letter-spacing:-.6px;font-size:28px;font-weight:600;line-height:1.15}.lp-tabs{border-bottom:1px solid var(--ink-12);gap:4px;margin-top:20px;display:flex}.lp-tab{cursor:pointer;font-family:var(--font-body);color:var(--ink-40);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 14px;font-size:13.5px;font-weight:700;transition:all .15s}.lp-tab:hover{color:var(--ink)}.lp-tab.active{color:var(--ink);border-bottom-color:var(--ink)}.lp-body{flex:1;padding:24px 28px;overflow-y:auto}.lp-body p.lesson{color:var(--ink);font-size:15.5px;line-height:1.75}.lp-body p.lesson+p.lesson{margin-top:14px}.fact-card{background:#fff8e5;border:1px solid #efdfae;border-radius:14px;padding:18px 20px}.fact-card h4{color:var(--amber);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:13px;font-weight:800}.fact-card p{font-size:14.5px;line-height:1.7}.lp-foot{border-top:1px solid var(--ink-12);background:#fff;gap:10px;padding:18px 28px;display:flex}.q-opt{text-align:left;border:1.5px solid var(--ink-12);width:100%;font-family:var(--font-body);cursor:pointer;color:var(--ink);background:#fff;border-radius:12px;align-items:center;gap:12px;margin-bottom:9px;padding:13px 16px;font-size:14.5px;font-weight:600;transition:all .13s;display:flex}.q-opt:hover:not(:disabled){border-color:var(--ink)}.q-opt:disabled{cursor:default}.q-opt.correct{border-color:var(--accent);background:var(--accent-soft)}.q-opt.wrong{border-color:var(--red);background:#fdf0e8;animation:.35s shake}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.q-letter{border:1.5px solid var(--ink-12);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:flex}.toast{z-index:200;background:var(--ink);color:var(--paper);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:700;animation:2.4s forwards toastin;position:fixed;top:80px;right:28px;box-shadow:4px 4px #1a1a1e33}@keyframes toastin{0%{opacity:0;transform:translateY(12px)}12%{opacity:1;transform:none}80%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.gen-loading{color:var(--ink-60);align-items:center;gap:12px;padding:16px 0;font-size:14px;font-weight:600;display:flex}.pulse-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite pd}.pulse-dot:nth-child(2){animation-delay:.15s}.pulse-dot:nth-child(3){animation-delay:.3s}@keyframes pd{0%,to{opacity:.4;transform:scale(.6)}50%{opacity:1;transform:scale(1.15)}}.gen-stage{text-align:center;max-width:560px;margin:100px auto;padding:0 24px}.gen-stage h2{font-family:var(--font-display);letter-spacing:-.6px;margin:20px 0 8px;font-size:32px;font-weight:600}.gen-stage p{color:var(--ink-60);font-size:15px}.gen-orbit{border:2.5px solid var(--ink-12);border-top-color:var(--accent);border-radius:50%;width:64px;height:64px;margin:0 auto;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.gen-steps{text-align:left;flex-direction:column;gap:10px;margin-top:28px;display:inline-flex}.gen-step{color:var(--ink-40);align-items:center;gap:10px;font-size:14px;font-weight:600;transition:color .3s;display:flex}.gen-step.on{color:var(--ink)}.gen-step .gs-dot{border:1.5px solid var(--ink-12);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:flex}.gen-step.on .gs-dot{background:var(--accent);border-color:var(--accent);color:#fff}.section-page{max-width:980px;margin:0 auto;padding:44px 24px 100px}.section-page>h1{font-family:var(--font-display);letter-spacing:-1px;font-size:clamp(30px,4vw,42px);font-weight:600}.section-page>.sub{color:var(--ink-60);max-width:540px;margin:8px 0 32px;font-size:15px;line-height:1.6}.card{border:1px solid var(--ink-12);background:#fff;border-radius:16px;padding:22px}.exam-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:28px;display:grid}.exam-row-card h3{margin-bottom:4px;font-size:16px;font-weight:800}.exam-row-card p{color:var(--ink-60);font-size:13px}.exam-row-card .meta{gap:8px;margin-top:12px;display:flex}.exam-live{z-index:100;background:var(--paper);flex-direction:column;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.exam-live-top{border-bottom:1.5px solid var(--ink);background:#fff;justify-content:space-between;align-items:center;padding:14px 28px;display:flex}.lock-chip{color:var(--red);align-items:center;gap:8px;font-size:12.5px;font-weight:800;display:flex}.lock-dot{background:var(--red);border-radius:50%;width:8px;height:8px;animation:1.1s ease-in-out infinite blink}@keyframes blink{50%{opacity:.15}}.exam-timer{font-family:var(--font-mono);font-size:20px;font-weight:600}.exam-cols{flex:1;gap:28px;width:100%;max-width:1000px;margin:0 auto;padding:28px;display:flex;overflow:auto}.exam-q h3{font-family:var(--font-display);letter-spacing:-.3px;margin-bottom:20px;font-size:24px;font-weight:600;line-height:1.4}.proctor{flex-shrink:0;width:220px}.cam{aspect-ratio:4/3;border:1.5px solid var(--ink);background:linear-gradient(160deg,#23262e,#3a4150);border-radius:14px;margin-bottom:12px;position:relative;overflow:hidden}.cam-face{border:2px solid #5ee0b8;border-radius:50%;width:62px;height:74px;animation:2s ease-in-out infinite facepulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-58%)}@keyframes facepulse{50%{box-shadow:0 0 16px #5ee0b899}}.cam-label{color:#5ee0b8;background:#00000073;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:800;display:flex;position:absolute;bottom:8px;left:8px}.pcheck{border:1px solid var(--ink-12);background:#fff;border-radius:10px;align-items:center;gap:8px;margin-bottom:7px;padding:8px 10px;font-size:12.5px;font-weight:700;display:flex}.pcheck .ok{color:var(--accent);margin-left:auto}.cert-grid2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.cert2{border:1.5px solid var(--ink);cursor:pointer;background:#fff;border-radius:18px;padding:24px;transition:all .18s;position:relative;overflow:hidden}.cert2:hover{box-shadow:5px 5px 0 var(--ink);transform:translateY(-3px)}.cert2 .ribbon{height:6px;position:absolute;top:0;left:0;right:0}.cert2 .ci{letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-40);margin-bottom:14px;font-size:11px;font-weight:800}.cert2 h3{font-family:var(--font-display);letter-spacing:-.4px;margin-bottom:4px;font-size:21px;font-weight:600}.cert2 .cs{color:var(--ink-60);margin-bottom:16px;font-size:13px}.hash{font-family:var(--font-mono);color:var(--ink-40);margin-bottom:14px;font-size:11.5px}.receipt-row2{border-bottom:1px solid var(--ink-08);justify-content:space-between;padding:9px 0;font-size:13.5px;display:flex}.receipt-row2 .k{color:var(--ink-60);font-weight:600}.receipt-row2 .v{font-family:var(--font-mono);text-align:right;word-break:break-all;max-width:240px;font-size:12.5px}.wavebar{background:var(--accent);border-radius:3px;width:5px;margin:0 2.5px;animation:1s ease-in-out infinite wv;display:inline-block}@keyframes wv{0%,to{opacity:.4;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}}.icon-btn{border:1px solid var(--ink-12);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;transition:all .15s;display:flex}.icon-btn:hover{border-color:var(--ink)}@media(max-width:720px){.topnav{gap:16px;padding:0 16px}.rm-progress-card{width:100%;margin-left:0}.lesson-panel{width:100vw}.exam-cols{flex-direction:column}.proctor{width:100%}}.outcomes-banner{border:1.5px solid var(--ink);background:#fff;border-radius:18px;grid-template-columns:1.4fr 1fr;gap:0;margin:28px 0 8px;display:grid;overflow:hidden}.ob-left{padding:24px 28px}.ob-left .ob-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:11px;font-weight:800}.ob-item{align-items:flex-start;gap:11px;padding:7px 0;font-size:14.5px;font-weight:600;line-height:1.5;display:flex}.ob-item .ob-check{background:var(--accent-soft);width:20px;height:20px;color:var(--accent);border:1px solid var(--accent);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:11px;font-weight:800;display:flex}.ob-right{background:var(--ink);color:var(--paper);flex-direction:column;gap:14px;padding:24px 26px;display:flex}.ob-right .ob-label{letter-spacing:1.5px;text-transform:uppercase;color:#faf9f680;font-size:11px;font-weight:800}.ob-reward{align-items:flex-start;gap:12px;display:flex}.ob-reward .ri{background:#faf9f61a;border:1px solid #faf9f633;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.ob-reward b{font-size:13.5px;display:block}.ob-reward span{color:#faf9f68c;margin-top:2px;font-size:12px;line-height:1.45;display:block}.summit{margin-top:56px;padding-left:26px;position:relative}.summit:before{content:"";border-left:2px dotted var(--ink-12);height:40px;position:absolute;top:-40px;left:9px}.summit-card{border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:linear-gradient(135deg,#fff8e5,#ffef9e);border-radius:18px;flex-wrap:wrap;align-items:center;gap:24px;padding:28px 32px;display:flex}.summit-flag{font-size:40px;line-height:1}.summit-card h3{font-family:var(--font-display);letter-spacing:-.5px;margin-bottom:4px;font-size:24px;font-weight:600}.summit-card p{color:var(--ink-60);max-width:460px;font-size:14px;line-height:1.55}.summit-actions{flex-direction:column;gap:8px;margin-left:auto;display:flex}@media(max-width:720px){.outcomes-banner{grid-template-columns:1fr}.summit-actions{width:100%;margin-left:0}}.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}.after\:absolute:after{content:var(--tw-content);position:absolute}.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\:-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))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover,.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-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-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.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\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.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\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity))}.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}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.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-4[data-state=checked]{--tw-translate-x:1rem;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],.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)) skew(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)) skew(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)) 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\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:.375rem}.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:.375rem}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.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-\[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))}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:relative{position:relative}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:z-10{z-index:10}.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\/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)}@media(min-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:.5rem}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media(min-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\:flex-row{flex-direction:row}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.\[\&\: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:.375rem;border-bottom-right-radius:.375rem}.\[\&\>\[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))}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>span\]\:text-xs>span{font-size:.75rem;line-height:1rem}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>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)) skew(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-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>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\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[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))}.\[\&_\[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\]\: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}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:#0000}:root{--glass-bg: rgba(255, 255, 255, .55);--glass-bg-strong: rgba(255, 255, 255, .74);--glass-border: rgba(26, 26, 30, .1);--glass-blur: 16px;--shadow-soft: 0 12px 40px -14px rgba(26, 26, 30, .22)}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.aurora:before,.aurora:after{content:"";position:absolute;border-radius:50%;filter:blur(90px)}.aurora:before{width:560px;height:560px;background:radial-gradient(circle,rgba(14,124,102,.22),transparent 70%);top:-160px;left:-100px}.aurora:after{width:520px;height:520px;background:radial-gradient(circle,rgba(124,92,252,.16),transparent 70%);top:24%;right:-160px}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);border:1px solid var(--glass-border);box-shadow:var(--shadow-soft)}.topnav{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}.nav-desktop{display:flex;align-items:center;gap:24px}.nav-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.nav-toggle{display:none;margin-left:auto;width:42px;height:42px;border-radius:12px;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--glass-border);background:var(--glass-bg)}.nav-toggle .bars,.nav-toggle .bars:before,.nav-toggle .bars:after{content:"";display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform .2s}.nav-toggle .bars:before{position:absolute;top:-6px}.nav-toggle .bars:after{position:absolute;top:6px}.nav-drawer{display:none}@media(max-width:880px){.topnav{gap:10px;padding:0 16px}.nav-desktop,.nav-actions{display:none}.nav-toggle{display:flex}.nav-drawer.open{display:flex;flex-direction:column;gap:2px;position:fixed;top:64px;left:0;right:0;z-index:60;padding:12px 16px 20px;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border-bottom:1px solid var(--glass-border);box-shadow:var(--shadow-soft);animation:drawerdown .22s cubic-bezier(.22,1,.36,1)}.nav-drawer .nav-link{padding:13px 6px;font-size:16px;border-bottom:1px solid var(--ink-08);border-radius:0;display:flex;align-items:center;gap:8px}.nav-drawer .nav-link:last-child{border-bottom:none}}@keyframes drawerdown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(max-width:640px){.hero{padding:52px 18px 30px}.hero h1{font-size:clamp(30px,8.5vw,46px);letter-spacing:-1px}.hero-sub{font-size:16px;margin-bottom:24px}.gen-box{flex-direction:column;align-items:stretch;padding:10px;gap:8px;box-shadow:3px 3px 0 var(--ink)}.gen-box>div{width:100%}.gen-box input{padding:6px 4px}.gen-box .btn-dark{width:100%;padding:12px}.modal-card{padding:22px;border-radius:18px;box-shadow:5px 5px 0 var(--ink)}.rm-page{padding:24px 16px 80px}.browse{padding:20px 16px 60px}.topnav{height:60px}.nav-drawer.open{top:60px}}@media(max-width:760px){.outcomes-banner{grid-template-columns:1fr}}.section{max-width:1040px;margin:0 auto;padding:72px 24px}.section-eyebrow{text-transform:uppercase;letter-spacing:1.6px;font-size:12px;font-weight:800;color:var(--accent);text-align:center}.section-title{font-family:var(--font-display);font-weight:600;font-size:clamp(26px,4vw,40px);text-align:center;letter-spacing:-.6px;margin:8px 0 12px}.section-sub{color:var(--ink-60);text-align:center;max-width:600px;margin:0 auto 40px;font-size:16px;line-height:1.6}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.step-card{border-radius:18px;padding:26px;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);backdrop-filter:blur(var(--glass-blur)) saturate(150%);border:1px solid var(--glass-border);box-shadow:var(--shadow-soft)}.step-num{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}.step-card h3{font-family:var(--font-display);font-weight:600;font-size:20px;margin:16px 0 6px}.step-card p{color:var(--ink-60);font-size:14px;line-height:1.55}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature-card{border-radius:16px;padding:22px;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);backdrop-filter:blur(var(--glass-blur)) saturate(150%);border:1px solid var(--glass-border);box-shadow:var(--shadow-soft);transition:transform .18s}.feature-card:hover{transform:translateY(-3px)}.feature-card .ic{font-size:26px}.feature-card h3{font-weight:700;font-size:16px;margin:12px 0 5px}.feature-card p{color:var(--ink-60);font-size:13.5px;line-height:1.5}.community-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.course-card{border-radius:16px;padding:18px;cursor:pointer;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);backdrop-filter:blur(var(--glass-blur)) saturate(150%);border:1px solid var(--glass-border);box-shadow:var(--shadow-soft);transition:transform .18s,box-shadow .18s}.course-card:hover{transform:translateY(-4px);box-shadow:0 18px 48px -16px #1a1a1e4d}.course-card h3{font-family:var(--font-display);font-weight:600;font-size:18px;line-height:1.15}.course-card p{color:var(--ink-60);font-size:13.5px;line-height:1.5;margin-top:6px}.course-meta{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:12px;color:var(--ink-60);font-weight:600}.avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;color:#fff}.cta-band{border-radius:26px;padding:52px 32px;text-align:center;max-width:1040px;margin:24px auto;background:linear-gradient(135deg,var(--ink),#2c2c34);color:var(--paper)}.cta-band h2{font-family:var(--font-display);font-weight:600;font-size:clamp(24px,4vw,36px);margin-bottom:10px}.cta-band p{color:#faf9f6b3;max-width:520px;margin:0 auto 22px}.footer{border-top:1px solid var(--ink-08);margin-top:48px;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.footer-inner{max-width:1040px;margin:0 auto;padding:48px 24px 24px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px}.footer-brand .brand{margin-bottom:10px}.footer-brand p{color:var(--ink-60);font-size:13.5px;line-height:1.6;max-width:280px}.footer-col h4{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-40);margin-bottom:12px}.footer-col a{display:block;color:var(--ink-60);font-size:14px;padding:5px 0;cursor:pointer}.footer-col a:hover{color:var(--ink)}.footer-bottom{border-top:1px solid var(--ink-08);text-align:center;padding:18px;color:var(--ink-40);font-size:13px}@media(max-width:880px){.steps,.feature-grid,.community-grid,.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1 / -1}}@media(max-width:560px){.steps,.feature-grid,.community-grid{grid-template-columns:1fr}.section{padding:52px 18px}.cta-band{padding:40px 22px}}@media(min-width:1281px){.section,.browse,.cta-band,.footer-inner{max-width:1200px}.hero{max-width:940px;padding-top:96px}.rm-page{max-width:1220px}}@media(min-width:1660px){.section,.browse,.cta-band,.footer-inner{max-width:1320px}.feature-grid,.community-grid{gap:20px}}.nav-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-drawer .nav-email{max-width:none}.outcomes-banner.outcomes-list{display:flex;flex-direction:column;gap:12px;padding:24px 26px}.outcomes-list>strong{font-size:15px;font-weight:700}.outcomes-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.outcomes-list li{position:relative;padding-left:24px;font-size:14.5px;line-height:1.55;color:var(--ink)}.outcomes-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:800}.lesson-panel{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%)}.lp-body .key-terms{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lp-body .key-terms li{background:var(--paper-2);border:1px solid var(--ink-08);border-radius:10px;padding:10px 14px;font-size:13.5px;line-height:1.55;color:var(--ink-60)}.lp-body .key-terms li strong{color:var(--ink);font-weight:800;margin-right:4px}.lp-body p.lesson strong,.fact-card strong{color:var(--ink);font-weight:800}.lp-body p.lesson em{font-style:italic}.lp-body .lp-hl,.fact-card .lp-hl{background:var(--accent-soft);color:var(--ink);padding:1px 4px;border-radius:5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.lp-body .lp-code,.fact-card .lp-code{font-family:var(--font-mono);font-size:.88em;background:var(--paper-2);border:1px solid var(--ink-08);border-radius:5px;padding:1px 5px;white-space:nowrap}.op-diagram{background:var(--paper-2);border:1px solid var(--ink-08);border-radius:14px;padding:16px;margin:16px 0}.diagram-stack{display:flex;flex-direction:column;align-items:center;gap:4px}.diagram-stack-item{display:flex;flex-direction:column;align-items:center;width:100%}.diagram-connector{color:var(--ink-40);font-weight:700;font-size:16px;line-height:1;padding:2px 0}.diagram-box{background:var(--node-fill);border:1.5px solid var(--ink);border-radius:10px;padding:10px 14px;box-shadow:2px 2px 0 var(--ink);text-align:center;min-width:90px;max-width:220px;overflow-wrap:break-word;word-break:break-word}.diagram-box .db-label{font-size:13px;font-weight:700}.diagram-box .db-detail{font-size:11px;font-weight:600;color:var(--ink-60);margin-top:3px}.lp-toc{display:none}.lp-main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}@media(min-width:1024px){.lesson-panel{width:860px;flex-direction:row}.lp-toc{display:flex;flex-direction:column;width:280px;flex-shrink:0;border-right:1px solid var(--glass-border);padding:20px 16px;overflow-y:auto}}.lp-toc-phase{margin-bottom:18px}.lp-toc-phase h4{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-40);margin:0 0 8px}.lp-toc-item{padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-60)}.lp-toc-item:hover{background:var(--paper-2)}.lp-toc-item.active{background:var(--ink);color:var(--paper)}.lp-toc-item.done:not(.active){color:var(--accent)}.lp-nav-row{display:flex;align-items:center;gap:10px;margin-top:12px}.lp-nav-btn{border:1.5px solid var(--ink-12);background:#fff;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:700;cursor:pointer}.lp-nav-btn:hover:not(:disabled){border-color:var(--ink)}.lp-nav-btn:disabled{opacity:.35;cursor:default}.lp-nav-progress{font-size:12px;font-weight:700;color:var(--ink-40)}.gen-loading-screen{display:flex;flex-direction:column;align-items:center;text-align:center;padding:72px 24px 80px;max-width:620px;margin:0 auto}.gen-spinner{width:56px;height:56px;border-radius:50%;border:3px solid var(--ink-12);border-top-color:var(--accent);animation:spin .8s linear infinite;margin-bottom:28px}.gen-title{font-family:var(--font-display);font-weight:600;font-size:clamp(28px,5vw,44px);letter-spacing:-.8px;line-height:1.1;margin:0 0 10px}.gen-title em{font-style:italic}.gen-loading-screen .modal-sub{margin-bottom:32px}.gen-steps{list-style:none;margin:0;padding:0;display:inline-flex;flex-direction:column;gap:14px;text-align:left}.gen-step{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;color:var(--ink-40);transition:color .3s}.gen-step.done,.gen-step.active{color:var(--ink)}.gen-step-dot{width:24px;height:24px;flex-shrink:0;border-radius:50%;border:2px solid var(--ink-12);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;transition:all .3s}.gen-step.done .gen-step-dot{background:var(--accent);border-color:var(--accent)}.gen-step.active .gen-step-dot{background:var(--accent);border-color:var(--accent);animation:pulse 1.2s ease-in-out infinite}.rm-phase{margin-bottom:10px}.phase-label{margin:40px 0 20px}.phase-label h2{flex-shrink:1;min-width:0;overflow-wrap:break-word;margin:0}@media(max-width:640px){.phase-rule{display:none}}.phase-num{min-width:34px;text-align:center;border-radius:9px;padding:6px 8px}.phase-rule{flex:1;height:1px;background:var(--ink-12)}.rm-node-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-left:16px;padding-left:24px;border-left:2px dashed var(--ink-12)}.rm-node{gap:12px}.rm-node-check{width:22px;height:22px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--ink);background:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;transition:all .15s}.rm-node.done .rm-node-check{background:var(--accent);border-color:var(--accent)}@media(max-width:640px){.rm-node-grid{grid-template-columns:1fr;margin-left:8px;padding-left:16px}}.lp-toc-toggle{display:inline-flex}.lp-toc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--ink-40)}.lp-toc-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:125;background:#1a1a1e66;animation:fadein .2s}@media(min-width:1024px){.lp-toc-toggle,.lp-toc-head,.lp-toc-veil{display:none}}@media(max-width:1023px){.lesson-panel{width:100vw;max-width:100vw}.lp-head{padding:18px 20px 0}.lp-head h2{font-size:22px}.lp-body{padding:20px}.lp-nav-row{flex-wrap:wrap}.lp-toc.open{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;width:min(320px,84vw);z-index:130;padding:18px 16px;overflow-y:auto;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border-right:1px solid var(--glass-border);box-shadow:var(--shadow-soft);animation:tocslide .25s cubic-bezier(.22,1,.36,1)}}@keyframes tocslide{0%{transform:translate(-100%)}to{transform:none}}.rm-node.deeper-1:not(.done){background:#e9e1ff}.rm-node.deeper-2:not(.done){background:#7c5cfc;border-color:#2d1a66;box-shadow:2.5px 2.5px #2d1a66}.rm-node.deeper-2:not(.done):hover{box-shadow:4px 4px #2d1a66}.rm-node.deeper-2:not(.done) .rm-node-title{color:#fff}.rm-node.deeper-2:not(.done) .rm-node-check{border-color:#fff;background:transparent}.lp-body h3{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:var(--accent);margin:24px 0 10px;padding-top:16px;border-top:1px solid var(--ink-08)}@keyframes node-pop-in{0%{opacity:0;transform:scale(.6) translateY(-8px)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes node-glow{0%,to{box-shadow:2px 2px 0 var(--ink),0 0 #7c5cfc8c}50%{box-shadow:2px 2px 0 var(--ink),0 0 0 9px #7c5cfc00}}.rm-node.just-added{animation:node-pop-in .45s cubic-bezier(.34,1.56,.64,1) both,node-glow 1.1s ease-out .45s 2}.lp-toc-item.toc-deeper-1:not(.active){color:#6d4fe0}.lp-toc-item.toc-deeper-2:not(.active){color:#4b2fbd;font-weight:700}.lp-toc-item.toc-deeper-1,.lp-toc-item.toc-deeper-2{border-left:3px solid #b9a5ff;border-radius:0 8px 8px 0;margin-left:4px}.lp-toc-item.toc-deeper-2{border-left-color:#7c5cfc}.lp-toc-item.just-added{animation:node-pop-in .45s cubic-bezier(.34,1.56,.64,1) both;background:#efe9ff}.q-opt .q-opt-mark{flex-shrink:0;width:18px;font-weight:900;text-align:center}.q-opt.correct{border-color:#15803d;background:#dcfce7;color:#14532d;font-weight:800}.q-opt.wrong{border-color:#b91c1c;background:#fee2e2;color:#7f1d1d;font-weight:800}.q-opt.reveal{border-color:#15803d;background:#f0fdf4;color:#14532d}.q-opt:disabled:not(.correct):not(.wrong):not(.reveal){opacity:.55}.q-feedback{border-radius:10px;padding:10px 14px;font-size:13.5px;line-height:1.5;margin:4px 0 10px}.q-feedback.right{background:#dcfce7;color:#14532d;border:1px solid #86efac}.q-feedback.wrong{background:#fee2e2;color:#7f1d1d;border:1px solid #fca5a5}.btn-outline.deeper-confirm{border-color:#7c5cfc;color:#4b2fbd;background:#efe9ff}.deeper-toast{background:#efe9ff;border:1.5px solid #b9a5ff;border-radius:12px;padding:11px 14px;font-size:13.5px;line-height:1.5;color:#3b2a80;margin-top:12px;animation:node-pop-in .4s ease both}.deeper-toast .nav-link{color:#4b2fbd;font-weight:800;text-decoration:underline}.ip-topics{margin:14px 0 4px}.ip-topics-label{display:block;font-size:12px;font-weight:700;color:var(--ink-40);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}.ip-topic-strip{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:6px;margin-inline:-4px;padding-inline:4px}.ip-topic-chip{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:transform .12s,border-color .12s}.ip-topic-chip:hover:not(:disabled){border-color:var(--ink);transform:translateY(-1px)}.ip-topic-icon{font-size:15px}.ip-steps{display:flex;align-items:center;gap:10px;margin:18px 0;min-width:0}.ip-step{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.ip-step-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;background:var(--ink);color:var(--paper)}.ip-step.todo .ip-step-num{background:var(--paper-2);color:var(--ink-40)}.ip-step-label{font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ip-step.current .ip-step-label{font-weight:800}.ip-step.todo .ip-step-label{color:var(--ink-40)}.ip-step-rule{flex:1 0 12px;height:1px;background:var(--ink-12)}@media(max-width:640px){.ip-step:not(.current) .ip-step-label{display:none}.ip-step{flex:0 0 auto}.ip-step.current{flex:1;min-width:0}.ip-steps{gap:6px}}.lp-body code{white-space:normal;overflow-wrap:break-word}.rm-view-toggle{display:inline-flex;gap:0;border:1.5px solid var(--ink);border-radius:10px;overflow:hidden;margin:26px 0 4px;box-shadow:2px 2px 0 var(--ink);background:#fff}.rm-view-toggle button{font-family:var(--font-body);font-size:13px;font-weight:700;padding:8px 16px;cursor:pointer;color:var(--ink-60);background:transparent;border:0}.rm-view-toggle button+button{border-left:1.5px solid var(--ink-12)}.rm-view-toggle button.active{background:var(--ink);color:var(--paper)}.rm-tree{overflow:auto;-webkit-overflow-scrolling:touch;margin-top:18px;padding-bottom:12px}.rm-tree-inner{min-width:560px;width:max-content;max-width:820px;position:relative;padding:8px 24px 8px 4px}.rm-tree-inner:before{content:"";position:absolute;left:22px;top:28px;bottom:46px;border-left:2.5px solid var(--ink)}.tree-phase{position:relative;padding-bottom:30px}.tree-hub{position:relative;display:inline-flex;align-items:center;gap:10px;background:var(--node-fill);border:1.5px solid var(--ink);border-radius:12px;box-shadow:2.5px 2.5px 0 var(--ink);padding:10px 16px 10px 10px;font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.3px;max-width:460px}.tree-hub .phase-num{flex-shrink:0}.tree-hub-title{overflow-wrap:break-word;min-width:0}.tree-children{margin:14px 0 0 46px;display:flex;flex-direction:column;gap:12px}.tree-branch{position:relative;padding-left:30px}.tree-branch:before{content:"";position:absolute;left:0;top:-14px;width:22px;height:calc(50% + 14px);border-left:2px dotted var(--ink-40);border-bottom:2px dotted var(--ink-40);border-bottom-left-radius:12px}.tree-branch:not(:last-child):after{content:"";position:absolute;left:0;top:50%;bottom:-14px;border-left:2px dotted var(--ink-40)}.tree-node{max-width:420px}@media(max-width:640px){.rm-tree-inner{min-width:480px}.tree-node{max-width:320px}.tree-children{margin-left:34px}}
