*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:var(--font-inter),system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.visible{visibility:visible}.collapse{visibility:collapse}.absolute{position:absolute}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-8{height:2rem}.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))}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--sans:var(--font-sans),ui-sans-serif,system-ui,sans-serif;--serif:var(--font-serif),Georgia,"Times New Roman",serif;--mono:var(--font-mono),ui-monospace,monospace;--fa:var(--font-vazirmatn),var(--font-sans),sans-serif;--paper:oklch(0.974 0.013 83);--surface:oklch(0.996 0.005 85);--surface-sunk:oklch(0.955 0.014 80);--ink:oklch(0.275 0.02 65);--ink-2:oklch(0.46 0.022 66);--ink-3:oklch(0.63 0.02 72);--line:oklch(0.905 0.013 80);--line-2:oklch(0.85 0.016 78);--good:oklch(0.56 0.1 150);--good-tint:oklch(0.95 0.04 152);--bad:oklch(0.55 0.15 27);--bad-tint:oklch(0.95 0.045 30);--shadow-sm:0 1px 2px rgba(64,46,28,.05),0 1px 1px rgba(64,46,28,.04);--shadow:0 2px 4px rgba(64,46,28,.05),0 10px 28px -12px rgba(64,46,28,.18);--shadow-lg:0 6px 14px rgba(64,46,28,.07),0 28px 60px -22px rgba(64,46,28,.3)}[data-accent=clay]{--accent:oklch(0.565 0.13 45);--accent-press:oklch(0.5 0.13 45);--accent-tint:oklch(0.95 0.035 55);--accent-line:oklch(0.86 0.07 50);--on-accent:oklch(0.985 0.012 80)}[data-accent=pine]{--accent:oklch(0.5 0.092 158);--accent-press:oklch(0.44 0.092 158);--accent-tint:oklch(0.95 0.03 160);--accent-line:oklch(0.85 0.055 160);--on-accent:oklch(0.985 0.012 150)}[data-accent=oxblood]{--accent:oklch(0.47 0.13 25);--accent-press:oklch(0.41 0.13 25);--accent-tint:oklch(0.95 0.035 30);--accent-line:oklch(0.86 0.07 28);--on-accent:oklch(0.985 0.012 40)}[data-corners=soft]{--r-lg:20px;--r:14px;--r-sm:10px;--r-pill:999px}[data-corners=sharp]{--r-lg:6px;--r:6px;--r-sm:4px;--r-pill:6px}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}::selection{background:var(--accent-tint)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}[dir=rtl]{font-family:var(--fa)}[dir=rtl] .katex,[dir=rtl] .math{direction:ltr;unicode-bidi:isolate}.app{min-height:100vh}.app-shell{display:flex;align-items:flex-start}.app-main{flex:1;min-width:0;padding:56px 40px 120px}.app-shell.has-sidebar .app-main{padding-top:44px}.navbar{position:sticky;top:0;z-index:30;background:color-mix(in oklch,var(--paper) 82%,transparent);backdrop-filter:blur(14px) saturate(1.3);border-bottom:1px solid var(--line)}.navbar-inner{gap:28px;max-width:1280px;margin:0 auto;padding:14px 40px}.brand,.navbar-inner{display:flex;align-items:center}.brand{gap:11px;padding:4px 6px}.brand-mark{font-size:22px;line-height:1;filter:saturate(.9)}.brand-name{font-family:var(--serif);font-weight:600;font-size:21px;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}.nav-pills{display:flex;gap:6px}.nav-pill{font-size:14.5px;font-weight:600;color:var(--ink-2);padding:8px 17px;border-radius:var(--r-pill);transition:background .18s,color .18s;letter-spacing:.005em;white-space:nowrap}.nav-pill:hover{color:var(--ink);background:var(--surface-sunk)}.nav-pill.is-active{background:var(--ink);color:var(--paper)}.font-size-controls{display:flex;gap:4px;margin-inline-start:auto}.font-size-controls button{font-size:13px;font-weight:700;font-family:var(--sans);color:var(--ink-2);background:none;border:1px solid var(--line);border-radius:var(--r-sm);padding:5px 10px;cursor:pointer;transition:background .15s,color .15s}.font-size-controls button:hover:not(:disabled){background:var(--surface-sunk);color:var(--ink)}.font-size-controls button:disabled{opacity:.35;cursor:default}.font-size-label{font-size:12px;font-weight:600;font-family:var(--mono);color:var(--ink-3);min-width:32px;text-align:center;align-self:center}@media (max-width:880px){.font-size-controls{display:none}}.page{max-width:1060px;margin:0 auto}.page-head{margin-bottom:48px}.page-title{font-family:var(--serif);font-weight:600;font-size:clamp(38px,5vw,56px);line-height:1.02;letter-spacing:-.025em;margin:0 0 16px;color:var(--ink)}.page-sub{font-size:18px;line-height:1.5;color:var(--ink-2);margin:0;max-width:60ch}.cli{font-family:var(--mono);font-size:.86em;background:var(--surface-sunk);border:1px solid var(--line);padding:2px 7px;border-radius:6px;color:var(--ink)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:22px}.cat-card{position:relative;display:flex;flex-direction:column;text-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 26px 22px;box-shadow:var(--shadow-sm);transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s,border-color .22s;overflow:hidden;text-decoration:none;color:inherit}.cat-card:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:3px;background:var(--accent);opacity:0;transition:opacity .22s}.cat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}.cat-card:hover:before{opacity:1}.cat-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.cat-glyph{font-family:var(--serif);font-size:46px;line-height:.9;color:var(--ink-3);font-weight:500}.cat-badges{display:flex;align-items:center;gap:8px}.subject-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;padding:5px 10px;border-radius:var(--r-pill);background:var(--surface-sunk);color:var(--ink-2);border:1px solid var(--line)}.subject-dot{width:7px;height:7px;border-radius:50%;background:var(--ink-3)}.subj-math .subject-dot{background:oklch(.55 .13 250)}.subj-programming .subject-dot{background:oklch(.55 .12 150)}.subj-general .subject-dot{background:oklch(.6 .11 60)}.lang-badge{font-family:var(--fa);font-size:12px;color:var(--ink-3);padding:4px 9px;border-radius:var(--r-pill);background:var(--surface-sunk)}.cat-title{font-family:var(--serif);font-weight:600;font-size:25px;line-height:1.12;letter-spacing:-.018em;margin:0 0 9px;color:var(--ink)}[dir=rtl] .cat-title{font-family:var(--fa);letter-spacing:0;line-height:1.4}.cat-desc{font-size:15px;line-height:1.55;color:var(--ink-2);margin:0 0 22px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cat-foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}.cat-sep{opacity:.6}.cat-empty{align-items:center;justify-content:center;text-align:center;gap:8px;border-style:dashed;background:transparent;box-shadow:none;min-height:230px;color:var(--ink-3);cursor:pointer}.cat-empty:before{display:none}.cat-empty:hover{transform:none;box-shadow:none;border-color:var(--accent-line);background:var(--accent-tint)}.empty-glyph{font-size:26px;color:var(--accent)}.empty-head{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--ink-2)}.empty-cli{font-size:13.5px}.sidebar{position:sticky;top:64px;height:calc(100vh - 64px);width:312px;flex-shrink:0;overflow-y:auto;padding:34px 22px 60px;border-inline-end:1px solid var(--line);background:color-mix(in oklch,var(--paper) 50%,var(--surface))}.sidebar-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink-3);padding:4px 0;transition:color .15s;margin-bottom:26px;text-decoration:none}.sidebar-back:hover{color:var(--accent)}.sidebar-module{display:flex;align-items:center;gap:10px;padding-bottom:22px;margin-bottom:14px;border-bottom:1px solid var(--line)}.sidebar-emoji{font-family:var(--serif);font-size:26px;color:var(--ink-3)}.sidebar-mtitle{font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.15;color:var(--ink);letter-spacing:-.01em}[dir=rtl] .sidebar-mtitle{font-family:var(--fa);letter-spacing:0}.chapter{margin-top:6px}.chapter-head{display:flex;align-items:center;gap:8px;width:100%;text-align:start;padding:9px 8px;border-radius:var(--r-sm);transition:background .15s}.chapter-head:hover{background:var(--surface-sunk)}.chapter-title{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:.005em}.chev{color:var(--ink-3);transition:transform .2s}.chev.open{transform:rotate(0deg)}.chev:not(.open){transform:rotate(-90deg)}[dir=rtl] .chev:not(.open){transform:rotate(90deg)}.section-list{list-style:none;margin:2px 0 8px;padding:0}.section-item{display:flex;align-items:center;gap:11px;width:100%;text-align:start;padding:9px 10px 9px 12px;border-radius:var(--r-sm);font-size:14px;color:var(--ink-2);line-height:1.3;position:relative;border-inline-start:3px solid transparent;transition:background .15s,color .15s;text-decoration:none}.section-item:hover:not(:disabled):not(.is-locked){background:var(--surface-sunk);color:var(--ink)}.section-item.is-active{background:var(--accent-tint);color:var(--accent);font-weight:600;border-inline-start-color:var(--accent)}.section-item.is-locked{color:var(--ink-3);cursor:not-allowed;opacity:.75}.section-ic{flex-shrink:0;display:flex}.ic-done{color:var(--good)}.ic-lock{color:var(--ink-3)}.ic-todo{color:var(--line-2)}.section-item.is-active .ic-todo{color:var(--accent)}.section-label{min-width:0}.sidebar-recap-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.recap-entry-btn{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px 9px 12px;border-radius:var(--r-sm);font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:none;transition:background .15s,color .15s;border-inline-start:3px solid transparent}.recap-entry-btn:hover{background:var(--surface-sunk);color:var(--ink)}.recap-entry-btn.is-active{background:var(--accent-tint);color:var(--accent);border-inline-start-color:var(--accent)}.recap-icon{font-size:16px;line-height:1}.sidebar-reset{margin-top:18px;padding:12px 16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.sidebar-reset-btn{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--ink-3);background:none;border:none;cursor:pointer;padding:4px 0;opacity:.7;transition:opacity .15s}.sidebar-reset-btn:hover{opacity:1}.sidebar-reset-confirm{color:#dc2626;border:1px solid #dc2626;border-radius:var(--r-sm);padding:4px 8px}.sidebar-reset-cancel,.sidebar-reset-confirm{font-size:.75rem;background:none;cursor:pointer}.sidebar-reset-cancel{color:var(--ink-3);border:none;text-decoration:underline}.section-page{max-width:760px;margin:0 auto}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:14.5px;color:var(--ink-3);margin-bottom:22px}.crumb-chapter{font-weight:500}.crumb-sep{color:var(--line-2)}.crumb-section{font-weight:600;color:var(--ink-2)}.phase-badge{font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.09em;padding:4px 11px;border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent);margin-inline-start:4px}.phase-complete{background:var(--good-tint);color:var(--good)}.section-title{font-family:var(--serif);font-weight:700;font-size:clamp(34px,4.4vw,50px);line-height:1.04;letter-spacing:-.025em;margin:0 0 20px;color:var(--ink)}[dir=rtl] .section-title{font-family:var(--fa);letter-spacing:0;line-height:1.25}.course-progress{height:4px;background:var(--line);border-radius:99px;margin:0 0 32px;overflow:hidden}.course-progress-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .4s ease}.phase-body{animation:fade-up .4s cubic-bezier(.2,.7,.3,1) both}@keyframes fade-up{0%{opacity:.55;transform:translateY(8px)}to{opacity:1;transform:none}}.phase-actions{margin-top:44px;padding-top:26px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}[dir=rtl] .phase-actions{justify-content:flex-start}.continue-btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:var(--on-accent);font-size:15.5px;font-weight:600;padding:13px 24px;border-radius:var(--r-pill);box-shadow:var(--shadow-sm);transition:transform .15s,background .15s,box-shadow .2s}.continue-btn:hover{background:var(--accent-press);transform:translateY(-1px);box-shadow:var(--shadow)}.continue-btn:active{transform:translateY(0)}.continue-btn.soft{background:var(--accent-tint);color:var(--accent)}.btn-ghost{display:inline-flex;align-items:center;gap:9px;background:var(--surface);color:var(--ink);border:1px solid var(--line-2);font-size:15px;font-weight:600;padding:12px 22px;border-radius:var(--r-pill);transition:background .15s,border-color .15s}.btn-ghost:hover{background:var(--surface-sunk);border-color:var(--ink-3)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.btn-ghost:disabled:hover{background:var(--surface);border-color:var(--line-2)}.phase-actions.quiz-nav{justify-content:space-between}.lesson-body,.md{color:var(--ink)}.lesson-body{font-family:var(--serif);font-size:var(--lesson-font-size,20px);line-height:1.66}[dir=rtl] .lesson-body{font-family:var(--fa);font-size:calc(var(--lesson-font-size, 20px) - 1.5px);line-height:1.95}.md-h2{font-size:28px;line-height:1.15;letter-spacing:-.018em;margin:42px 0 16px}.md-h2,.md-h3{font-family:var(--serif);font-weight:600;color:var(--ink)}.md-h3{font-size:22px;margin:30px 0 12px}[dir=rtl] .md-h2,[dir=rtl] .md-h3{font-family:var(--fa);letter-spacing:0}.lesson-body .md-h2:first-child,.md .md-h2:first-child{margin-top:0}.md-p,.md-ul{margin:0 0 18px}.md-ul{padding-inline-start:22px}.md-ul li{margin:0 0 8px}.md-code{font-family:var(--mono);font-size:.85em;background:var(--surface-sunk);padding:2px 6px;border-radius:5px}.md-mathblock{margin:22px 0;overflow-x:auto;overflow-y:hidden;padding:4px 0}.md-figure{margin:28px auto;text-align:center}.md-img{max-width:100%;border-radius:var(--r);display:inline-block;box-shadow:var(--shadow-sm)}.md-caption{font-size:.82rem;color:var(--ink-3);margin-top:8px;font-style:italic;line-height:1.4}.md strong{font-weight:700;color:var(--ink)}.math-err{color:var(--bad);font-family:var(--mono);font-size:.85em}.katex{font-size:1.04em}.katex-display{margin:0}.prose-rtl,.prose-rtl h1,.prose-rtl h2,.prose-rtl h3,.prose-rtl h4{text-align:right}.prose-rtl blockquote{border-inline-start:4px solid var(--line-2);border-inline-end:none;padding-inline-start:1rem;padding-inline-end:0}.problem{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px 26px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.problem-num{font-family:var(--mono);font-size:11.5px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:12px}.problem-prompt{font-size:17.5px;line-height:1.5}[dir=rtl] .problem-prompt{font-size:16.5px}.solution-toggle{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:14px;font-weight:600;color:var(--ink-2);transition:color .15s}.solution-toggle:hover{color:var(--accent)}.solution{margin-top:18px;padding-top:18px;border-top:1px dashed var(--line-2);animation:fade-up .3s}.solution-step{display:flex;gap:13px;margin-bottom:14px;align-items:flex-start}.step-dot{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--accent-tint);color:var(--accent);font-family:var(--mono);font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:center;margin-top:1px}.step-body{font-size:16px;line-height:1.55;color:var(--ink-2)}.quiz-progress{display:flex;align-items:center;gap:8px;margin-bottom:26px}.qdot{width:9px;height:9px;border-radius:50%;background:var(--line-2);transition:background .3s,transform .3s}.qdot.done{background:var(--good)}.qdot.current{background:var(--accent);transform:scale(1.35)}.quiz-count{margin-inline-start:8px;font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}.quiz-q{font-family:var(--serif);font-size:25px;line-height:1.32;font-weight:500;margin-bottom:26px;color:var(--ink)}[dir=rtl] .quiz-q{font-family:var(--fa);font-size:22px;line-height:1.6}.quiz-options{display:flex;flex-direction:column;gap:11px}.quiz-opt{display:flex;align-items:center;gap:14px;width:100%;text-align:start;background:var(--surface);border:1.5px solid var(--line-2);border-radius:var(--r);padding:15px 18px;font-size:16.5px;color:var(--ink);transition:border-color .16s,background .16s,transform .12s}.quiz-opt:not(:disabled):hover{border-color:var(--accent);background:var(--accent-tint)}.quiz-opt:not(:disabled):active{transform:scale(.99)}.opt-letter{flex-shrink:0;width:30px;height:30px;border-radius:8px;background:var(--surface-sunk);color:var(--ink-2);font-family:var(--mono);font-weight:500;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.opt-text{min-width:0}.opt-text .md-p{margin:0}.quiz-opt.correct{border-color:var(--good);background:var(--good-tint);color:var(--ink);animation:pop .35s cubic-bezier(.2,.8,.3,1.2)}.quiz-opt.correct .opt-letter{background:var(--good);color:#fff}.quiz-opt.wrong{border-color:var(--bad);background:var(--bad-tint)}.quiz-opt.wrong .opt-letter{background:var(--bad);color:#fff}.quiz-opt.dim{opacity:.5}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.025)}to{transform:scale(1)}}.quiz-why{margin-top:20px;border-radius:var(--r);padding:16px 18px;animation:fade-up .3s;border:1px solid}.quiz-why.good{background:var(--good-tint);border-color:color-mix(in oklch,var(--good) 30%,transparent)}.quiz-why.bad{background:var(--bad-tint);border-color:color-mix(in oklch,var(--bad) 30%,transparent)}.why-tag{display:block;font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.09em;margin-bottom:6px}.quiz-why.good .why-tag{color:var(--good)}.quiz-why.bad .why-tag{color:var(--bad)}.why-body{font-size:15.5px;line-height:1.55;color:var(--ink-2)}.why-body .md-p{margin:0}.quiz-result{text-align:center;padding:30px 0 10px;animation:fade-up .45s}.result-medal{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;animation:pop-in .5s cubic-bezier(.2,.8,.25,1.3)}.result-medal.pass{background:var(--accent-tint);color:var(--accent)}.result-medal.fail{background:var(--surface-sunk);color:var(--ink-3)}@keyframes pop-in{0%{transform:scale(.6);opacity:.4}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.result-score{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:14px}.result-pct{font-family:var(--serif);font-size:56px;font-weight:700;line-height:1;color:var(--ink);letter-spacing:-.02em}.result-frac{font-family:var(--mono);font-size:13.5px;color:var(--ink-3)}.result-msg{font-size:17px;line-height:1.55;color:var(--ink-2);max-width:42ch;margin:0 auto 28px}.result-actions{display:flex;justify-content:center;gap:12px}.complete-state{text-align:center;padding:80px 0;animation:fade-up .4s}.complete-emoji{font-size:64px;margin-bottom:20px;animation:pop-in .6s cubic-bezier(.2,.8,.25,1.4);display:flex;justify-content:center}.complete-head{font-family:var(--serif);font-size:32px;font-weight:600;color:var(--ink);margin-bottom:10px}[dir=rtl] .complete-head{font-family:var(--fa)}.complete-sub{font-size:16.5px;color:var(--ink-3)}.fc-page{max-width:720px;margin:0 auto}.fc-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink-3);margin-bottom:30px;transition:color .15s;text-decoration:none}.fc-back:hover{color:var(--accent)}.fc-header{margin-bottom:34px}.fc-title{font-family:var(--serif);font-weight:700;font-size:clamp(30px,4vw,42px);line-height:1.06;letter-spacing:-.02em;margin:0 0 12px;color:var(--ink)}[dir=rtl] .fc-title{font-family:var(--fa);letter-spacing:0;line-height:1.3}.fc-desc{font-size:16.5px;line-height:1.55;color:var(--ink-2);margin:0 0 12px}.fc-source{font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}.fc-progress-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-family:var(--mono);font-size:13px}.fc-count{color:var(--ink-2)}.fc-pct{color:var(--accent);font-weight:500}.fc-bar{height:6px;background:var(--surface-sunk);overflow:hidden;margin-bottom:34px}.fc-bar,.fc-bar-fill{border-radius:var(--r-pill)}.fc-bar-fill{height:100%;background:var(--accent);transition:width .45s cubic-bezier(.2,.7,.3,1)}.fc-stage{perspective:1800px;margin-bottom:26px}.fc-card{position:relative;width:100%;min-height:320px;transform-style:preserve-3d;cursor:pointer;transition:transform .62s cubic-bezier(.2,.85,.25,1.08),box-shadow .3s}.fc-card:not(.flipped):hover{transform:translateY(-4px)}.fc-card.flipped{transform:rotateY(180deg)}.fc-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:var(--r-lg);padding:46px 44px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.fc-card:not(.flipped):hover .fc-front{box-shadow:var(--shadow-lg)}.fc-back-face{transform:rotateY(180deg);background:linear-gradient(180deg,var(--accent-tint),var(--surface));border-color:var(--accent-line)}.fc-side-badge{position:absolute;top:18px;inset-inline-start:18px;font-family:var(--mono);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);background:var(--surface-sunk);padding:5px 11px;border-radius:var(--r-pill)}.fc-side-badge.back{color:var(--accent);background:color-mix(in oklch,var(--accent-tint) 60%,var(--surface))}.fc-content{font-family:var(--serif);font-size:24px;line-height:1.4;color:var(--ink)}[dir=rtl] .fc-content{font-family:var(--fa);font-size:21px;line-height:1.7}.fc-content .md-p{margin:0}.fc-hint{position:absolute;bottom:18px;inset-inline-end:20px;font-size:13px;color:var(--ink-3)}.fc-ratings{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .3s,transform .3s}.fc-ratings.show{opacity:1;transform:none;pointer-events:auto}.rate-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px;border-radius:var(--r);font-size:15px;font-weight:600;border:1.5px solid var(--line-2);background:var(--surface);transition:transform .14s,background .15s,border-color .15s,color .15s}.rate-btn:hover{transform:translateY(-2px)}.rate-btn:active{transform:translateY(0)}.rate-btn.easy:hover{border-color:var(--good);background:var(--good-tint);color:var(--good)}.rate-btn.hard:hover{border-color:oklch(.7 .13 75);background:oklch(.95 .05 80);color:oklch(.5 .11 70)}.rate-btn.miss:hover{border-color:var(--bad);background:var(--bad-tint);color:var(--bad)}.fc-done{text-align:center;padding:40px 0;animation:fade-up .45s}.fc-done-ic{width:84px;height:84px;border-radius:50%;background:var(--accent-tint);color:var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;animation:pop-in .5s cubic-bezier(.2,.8,.25,1.3)}.fc-done-title{font-family:var(--serif);font-size:34px;font-weight:600;margin:0 0 30px;color:var(--ink)}[dir=rtl] .fc-done-title{font-family:var(--fa)}.fc-stats{display:flex;justify-content:center;gap:14px;margin-bottom:34px}.fc-stat{display:flex;flex-direction:column;gap:4px;min-width:96px;padding:18px 14px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface)}.fc-stat-n{font-family:var(--serif);font-size:34px;font-weight:700;line-height:1}.fc-stat-l{font-size:13px;color:var(--ink-3);font-weight:500}.fc-stat.easy .fc-stat-n{color:var(--good)}.fc-stat.hard .fc-stat-n{color:oklch(.55 .12 72)}.fc-stat.miss .fc-stat-n{color:var(--bad)}.fc-done-actions{display:flex;justify-content:center;gap:12px}.qz-page{max-width:720px;margin:0 auto}.qz-done{text-align:center;padding:40px 0;animation:fade-up .45s}.qz-question-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 36px;box-shadow:var(--shadow);animation:fade-up .3s cubic-bezier(.2,.7,.3,1)}.qz-q-label{font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin-bottom:14px}.qz-written{display:flex;flex-direction:column;margin-top:4px}.qz-textarea{font-family:var(--sans);font-size:15.5px;line-height:1.6;color:var(--ink);background:var(--paper);border:1.5px solid var(--line-2);border-radius:var(--r);padding:14px 16px;resize:vertical;transition:border-color .18s;width:100%}[dir=rtl] .qz-textarea{font-family:var(--fa);text-align:right}.qz-textarea:focus{outline:none;border-color:var(--accent)}.qz-textarea:disabled{opacity:.65;cursor:not-allowed}.qz-answer-reveal{margin-top:22px;padding-top:22px;border-top:1px dashed var(--line-2);animation:fade-up .3s}.qz-answer-label{display:block;font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.09em;color:var(--good);margin-bottom:10px}.qz-answer-body{background:var(--good-tint);border:1px solid color-mix(in oklch,var(--good) 30%,transparent);border-radius:var(--r);padding:16px 18px;font-size:15.5px;line-height:1.55;color:var(--ink)}.qz-answer-body .md-p{margin:0}.qz-answer-explanation{margin-top:12px;font-size:15px;line-height:1.55;color:var(--ink-2)}.qz-answer-explanation .md-p{margin:0}.qz-self-rate{margin-top:18px}.qz-rate-label{font-size:14px;font-weight:600;color:var(--ink-2);margin-bottom:10px;display:block}.qz-rate-btns{display:flex;gap:10px}.qz-rate-btn{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;padding:11px 20px;border-radius:var(--r-pill);border:1.5px solid var(--line-2);background:var(--surface);transition:transform .14s,background .15s,border-color .15s,color .15s}.qz-rate-btn:hover{transform:translateY(-2px)}.qz-rate-btn.got:hover{border-color:var(--good);background:var(--good-tint);color:var(--good)}.qz-rate-btn.miss:hover{border-color:var(--bad);background:var(--bad-tint);color:var(--bad)}.qz-nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.qz-nav-row .continue-btn{margin-inline-start:auto}.spinner-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 64px)}.spinner{width:32px;height:32px;border-radius:50%;border:2.5px solid var(--line-2);border-top-color:var(--accent);animation:spin .7s linear infinite}.mobile-menu-btn{display:none;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-sm);background:var(--surface-sunk);border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--ink-2);margin-bottom:18px;transition:background .15s,color .15s;cursor:pointer}.mobile-menu-btn:hover{background:var(--line);color:var(--ink)}.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:49;background:rgba(0,0,0,.35);animation:fade-backdrop .22s}@keyframes fade-backdrop{0%{opacity:0}to{opacity:1}}body,html{overflow-x:clip}@media (max-width:880px){.sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:50;width:300px;height:100%;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.2,.7,.3,1);box-shadow:var(--shadow-lg)}[dir=rtl] .sidebar{inset-inline-start:auto;inset-inline-end:0;transform:translateX(100%)}.sidebar.is-mobile-open,[dir=rtl] .sidebar.is-mobile-open{transform:translateX(0)}.sidebar-backdrop{display:block}.mobile-menu-btn{display:inline-flex}.app-main{padding:20px 22px 80px}.app-shell.has-sidebar .app-main{padding-top:16px}.navbar-inner{padding:12px 20px;gap:16px}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}}@media (max-width:640px){.app-main{padding:16px 16px 80px}.app-shell.has-sidebar .app-main{padding-top:12px}.navbar-inner{padding:10px 14px;gap:10px}.brand-name{font-size:17px}.brand-mark{font-size:18px}.brand{gap:7px}.nav-pills{gap:2px;margin-inline-start:auto}.nav-pill{padding:6px 10px;font-size:13px}.cat-grid{grid-template-columns:1fr;gap:12px}.page-head{margin-bottom:28px}.page-sub{font-size:16px}.section-page{max-width:100%}.breadcrumb{font-size:13px;gap:6px;margin-bottom:16px}.section-title{margin-bottom:24px}.lesson-body{font-size:17px;line-height:1.7}.problem{padding:16px}.problem-prompt{font-size:16px}.quiz-q{font-size:20px}.quiz-opt{padding:12px 14px;font-size:15.5px;gap:11px}.qz-question-wrap{padding:22px 18px}.fc-card{min-height:240px}.fc-face{padding:28px 20px}.fc-content{font-size:20px}.fc-ratings{gap:8px}.rate-btn{padding:13px 6px;font-size:14px;gap:5px}.continue-btn{padding:12px 20px;font-size:14.5px}.btn-ghost{padding:11px 18px;font-size:14px}.phase-actions{margin-top:28px}.qz-nav-row{margin-top:16px}.complete-state{padding:48px 0}.empty-state{padding:48px 16px}.fc-stats{gap:8px}.fc-stat{min-width:0;padding:14px 10px}}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:80px 24px;gap:12px}.empty-state-icon{font-size:48px;line-height:1}.empty-state-title{font-size:1.5rem;font-weight:600;color:var(--text)}.empty-state-sub{color:var(--text-2);font-size:.975rem;max-width:520px}.empty-state-options{align-items:center;gap:0;margin-top:32px;text-align:left;max-width:560px}.empty-option,.empty-state-options{display:flex;flex-direction:column;width:100%}.empty-option{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-card);padding:24px 28px;gap:10px}.empty-option-label{font-weight:600;font-size:.975rem;color:var(--text)}.empty-option-desc{color:var(--text-2);font-size:.9rem;line-height:1.6}.empty-option-divider{font-size:.8rem;color:var(--text-3);font-style:italic;padding:10px 0;text-align:center}.empty-code{background:var(--surface-3);border-radius:var(--r-md);padding:12px 14px;font-size:.8rem;font-family:var(--font-mono);color:var(--text);overflow-x:auto;white-space:pre;line-height:1.7}.annotation-mark{cursor:pointer;border-radius:2px;transition:filter .12s;box-decoration-break:clone;-webkit-box-decoration-break:clone}.annotation-mark.is-hovered{filter:brightness(.88) saturate(1.1)}.annotation-yellow{background:oklch(.94 .15 85/.5)}.annotation-green{background:oklch(.91 .13 145/.48)}.annotation-blue{background:oklch(.89 .11 230/.46)}.annotation-mark[data-has-note]:after{content:"✦";font-size:.52em;vertical-align:super;margin-left:2px;opacity:.5}.annotation-toolbar{position:fixed;z-index:200;background:color-mix(in oklch,var(--paper) 97%,transparent);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow),0 0 0 1px var(--line);padding:7px 10px;backdrop-filter:blur(12px) saturate(1.2);pointer-events:auto;white-space:nowrap}.annotation-toolbar-row{display:flex;align-items:center;gap:7px}.annotation-toolbar-note{display:flex;align-items:flex-start;gap:7px}.annotation-toolbar-divider{width:1px;height:18px;background:var(--line);flex-shrink:0}.annotation-toolbar-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-sm);color:var(--ink-2);transition:background .14s,color .14s}.annotation-toolbar-icon:hover{background:var(--surface-sunk);color:var(--ink)}.annotation-toolbar-btn{font-size:12px;font-weight:600;font-family:var(--sans);color:var(--on-accent);background:var(--accent);padding:4px 12px;border-radius:var(--r-sm);transition:background .14s;letter-spacing:.01em}.annotation-toolbar-btn:hover{background:var(--accent-press)}.annotation-popover-swatches,.annotation-toolbar-swatches{display:flex;gap:6px;align-items:center}.annotation-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;box-shadow:0 1px 3px rgba(64,46,28,.14);transition:transform .15s cubic-bezier(.2,.8,.3,1),box-shadow .15s,border-color .15s;flex-shrink:0;outline:none}.annotation-swatch:hover{transform:scale(1.2);box-shadow:0 2px 7px rgba(64,46,28,.22)}.annotation-swatch.is-active{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in oklch,var(--ink) 14%,transparent)}.annotation-swatch-yellow{background:oklch(.86 .21 85)}.annotation-swatch-green{background:oklch(.73 .19 145)}.annotation-swatch-blue{background:oklch(.66 .17 230)}.annotation-note-input{font-size:13px;font-family:var(--sans);background:var(--surface-sunk);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:5px 10px;outline:none;width:190px;transition:border-color .15s;resize:vertical;line-height:1.5;min-height:32px}.annotation-note-input::placeholder{color:var(--ink-3)}.annotation-note-input:focus{border-color:var(--accent)}.annotation-popover{position:fixed;z-index:200;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);width:296px;display:flex;flex-direction:column;overflow:hidden}.annotation-popover-header{display:flex;align-items:center;justify-content:space-between;padding:11px 12px 10px;border-bottom:1px solid var(--line);background:var(--paper)}.annotation-popover .annotation-toolbar-icon{color:var(--ink-3);width:26px;height:26px}.annotation-popover .annotation-toolbar-icon:hover{color:var(--ink-2);background:var(--surface-sunk)}.annotation-popover-body{padding:12px;display:flex;flex-direction:column;gap:10px}.annotation-popover-quote{font-size:12.5px;color:var(--ink-2);font-style:italic;font-family:var(--serif);border-inline-start:2.5px solid var(--accent-line);padding:5px 10px;margin:0;background:var(--accent-tint);border-radius:0 var(--r-sm) var(--r-sm) 0;line-height:1.55}.annotation-note-textarea{font-size:13px;font-family:var(--sans);background:var(--surface-sunk);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;resize:vertical;outline:none;line-height:1.5;transition:border-color .15s}.annotation-note-textarea:focus{border-color:var(--accent)}.annotation-popover-actions{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--line);background:var(--paper)}.annotation-delete-btn{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--ink-3);transition:color .15s}.annotation-delete-btn:hover{color:var(--bad)}.annotation-save-btn{font-size:13px;font-weight:600;background:var(--accent);color:var(--on-accent);padding:5px 16px;border-radius:var(--r-sm);transition:background .15s;letter-spacing:.01em}.annotation-save-btn:hover{background:var(--accent-press)}.navbar-right{gap:12px;margin-inline-start:auto}.gamif-badge,.navbar-right{display:flex;align-items:center}.gamif-badge{gap:10px;font-family:var(--mono);font-size:13px;font-weight:600}.gamif-streak{display:flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--r-pill);background:oklch(.96 .06 55);color:oklch(.52 .16 50);border:1px solid oklch(.88 .1 55);transition:background .2s}.gamif-streak.at-risk{background:oklch(.97 .07 75);color:oklch(.54 .14 60);border-color:oklch(.86 .12 65);animation:pulse-risk 2s ease-in-out infinite}@keyframes pulse-risk{0%,to{opacity:1}50%{opacity:.7}}.gamif-xp{display:flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent);border:1px solid var(--accent-line)}@media (max-width:640px){.gamif-badge{display:none}}.stats-overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:40px}.stat-card{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;box-shadow:var(--shadow-sm)}.stat-card-icon{color:var(--ink-3);flex-shrink:0}.streak-icon{color:oklch(.6 .16 50)}.xp-icon{color:var(--accent)}.stat-card-val{font-family:var(--serif);font-size:38px;font-weight:700;line-height:1;color:var(--ink);letter-spacing:-.02em}.stat-card-of{font-size:22px;color:var(--ink-3)}.stat-card-label{font-size:13px;color:var(--ink-2);font-weight:500}.stats-section{margin-bottom:44px}.stats-section-title{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--ink);margin:0 0 18px;letter-spacing:-.01em}.level-bar-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.level-label{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap}.level-bar{flex:1;height:10px;background:var(--surface-sunk);border-radius:var(--r-pill);overflow:hidden;border:1px solid var(--line)}.level-bar-fill{height:100%;background:var(--accent);border-radius:var(--r-pill);transition:width .5s cubic-bezier(.2,.7,.3,1)}.level-sub{font-size:13px;color:var(--ink-3);margin:0}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);grid-auto-columns:1fr;gap:4px;width:100%;max-width:380px}.heatmap-cell{aspect-ratio:1;border-radius:3px;background:var(--surface-sunk);border:1px solid var(--line);transition:transform .12s ease}.heatmap-cell:hover{transform:scale(1.2);z-index:1}.heatmap-cell.active{background:var(--accent);border-color:var(--accent-press)}.heatmap-cell.today{outline:2px solid var(--accent);outline-offset:1px}.weak-card{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--bad-tint);border:1px solid color-mix(in oklch,var(--bad) 25%,transparent);border-radius:var(--r);padding:16px 20px}.weak-label{font-size:13px;color:var(--ink-2);font-weight:500}.weak-course{font-weight:600;color:var(--ink);font-size:15px}.weak-score{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--bad);background:var(--bad-tint);padding:3px 10px;border-radius:var(--r-pill);border:1px solid color-mix(in oklch,var(--bad) 30%,transparent)}.weak-link{margin-inline-start:auto;font-size:14px;font-weight:600;color:var(--accent);text-decoration:none;white-space:nowrap}.weak-link:hover{text-decoration:underline}.stats-table{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.stats-table-head{padding:10px 18px;font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}.stats-table-head,.stats-table-row{display:grid;grid-template-columns:1fr auto auto;border-bottom:1px solid var(--line)}.stats-table-row{align-items:center;gap:14px;padding:13px 18px;text-decoration:none;color:inherit;transition:background .15s}.stats-table-row:last-child{border-bottom:none}.stats-table-row:hover{background:var(--surface-sunk)}.strow-title{font-size:14.5px;font-weight:500;color:var(--ink);min-width:0;gap:7px}.strow-prog,.strow-title{display:flex;align-items:center}.strow-prog{gap:8px}.strow-bar-wrap{width:90px;height:6px;background:var(--surface-sunk);border-radius:var(--r-pill);overflow:hidden;border:1px solid var(--line)}.strow-bar-fill{height:100%;background:var(--accent);border-radius:var(--r-pill)}.strow-score{font-family:var(--mono);font-size:13px;color:var(--ink-2);min-width:42px;text-align:right}.strow-score.low{color:var(--bad)}.strow-fc-bar{display:flex;align-items:center;gap:8px}.fc-tri-bar{display:flex;width:90px;height:6px;border-radius:var(--r-pill);overflow:hidden;border:1px solid var(--line)}.fc-tri-easy{background:var(--good)}.fc-tri-hard{background:oklch(.7 .13 72)}.fc-tri-unknown{background:var(--surface-sunk)}.fc-tri-labels{font-family:var(--mono);font-size:11px;color:var(--ink-3);white-space:nowrap}.fc-xp-earned{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--accent);background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:var(--r-pill);padding:6px 16px;display:inline-block;margin-top:14px;animation:pop-in .4s cubic-bezier(.2,.8,.25,1.3)}.credit-balance-chip{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:500;color:var(--ink-2);background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 10px;text-decoration:none;transition:color .15s,background .15s}.credit-balance-chip:hover{color:var(--accent);background:var(--accent-tint);border-color:var(--accent-line)}.billing-balance{display:flex;align-items:center;gap:8px;font-size:16px;color:var(--ink-2);margin-bottom:28px}.billing-balance strong{color:var(--ink)}.billing-packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px}.billing-pack{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:20px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.billing-pack-credits{font-size:36px;font-weight:700;color:var(--ink);line-height:1}.billing-pack-label{font-size:12px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.billing-pack-name{font-size:15px;font-weight:600;color:var(--ink-2);margin-top:4px}.billing-pack-price{font-size:18px;font-weight:600;color:var(--accent);margin:8px 0}.billing-pack-btn{margin-top:4px;padding:8px 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--r-pill);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.billing-pack-btn:hover:not(:disabled){opacity:.85}.billing-pack-btn:disabled{opacity:.5;cursor:not-allowed}.billing-toast{display:flex;align-items:center;gap:8px;background:var(--good-tint,oklch(.95 .04 145));color:var(--good,oklch(.45 .13 145));border:1px solid var(--good-line,oklch(.85 .07 145));border-radius:var(--r-card);padding:10px 14px;margin-bottom:20px;font-size:14px}.billing-toast button{margin-left:auto;background:none;border:none;cursor:pointer;font-size:16px;color:inherit}.billing-generate-cta{font-size:14px;color:var(--ink-3)}.billing-generate-cta a{color:var(--accent);text-decoration:none}.billing-generate-cta a:hover{text-decoration:underline}.generate-form{gap:16px;max-width:480px}.form-row,.generate-form{display:flex;flex-direction:column}.form-row{gap:4px}.form-label{font-size:13px;font-weight:500;color:var(--ink-2)}.form-input,.form-select{padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-base);background:var(--surface);color:var(--ink);font-size:14px;font-family:inherit;transition:border-color .15s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--accent)}.generate-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--r-pill);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s;width:fit-content}.generate-btn:hover:not(:disabled){opacity:.85}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.generate-error{font-size:13px;color:var(--bad,oklch(.5 .15 25))}.generate-insufficient{font-size:13px;color:var(--ink-3)}.generate-insufficient a{color:var(--accent);text-decoration:none}.generate-progress{display:flex;flex-direction:column;gap:16px}.generate-status{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--ink-2)}.progress-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.progress-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2)}.progress-done{color:var(--good,oklch(.5 .13 145))}.progress-pending{color:var(--line)}.generate-result{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;border-radius:var(--r-card);border:1px solid;max-width:480px}.generate-result--success{background:var(--good-tint,oklch(.96 .03 145));border-color:var(--good-line,oklch(.85 .07 145));color:var(--good,oklch(.45 .13 145))}.generate-result--error{background:oklch(.97 .02 25);border-color:oklch(.87 .06 25);color:oklch(.45 .13 25)}.generate-result h2{font-size:18px;font-weight:600;margin:0}.generate-result p{margin:0;font-size:14px}.link{color:var(--accent);text-decoration:none}.link:hover{text-decoration:underline}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin .8s linear infinite}.studio-group{margin-bottom:36px}.studio-group-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:650;color:var(--ink);margin:0 0 14px}.studio-empty{color:var(--ink-3);font-size:14px;margin:0}.studio-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.studio-row{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;box-shadow:var(--shadow-sm)}.studio-row-main{display:flex;align-items:baseline;gap:10px;flex:1;min-width:0;text-decoration:none;color:inherit}.studio-row-title{font-weight:550}.studio-row-id{font-family:var(--mono);font-size:12px;color:var(--ink-3)}.studio-row-btn{display:inline-flex;align-items:center;padding:7px 9px}.studio-danger:hover{color:var(--bad);border-color:var(--bad);background:var(--bad-tint)}.studio-new{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:40px;box-shadow:var(--shadow-sm)}.studio-new-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px;margin-bottom:14px}.studio-field,.studio-form label,.studio-new-grid label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:550;color:var(--ink-2)}.studio-form input:not([type=radio]),.studio-form select,.studio-form textarea{min-width:0;width:100%}.studio-new-desc{grid-column:1/-1}.studio-form input,.studio-form select,.studio-form textarea,.studio-new input,.studio-new select{font:inherit;font-size:14px;color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:8px 10px;outline:none}.studio-form input:focus,.studio-form select:focus,.studio-form textarea:focus,.studio-new input:focus,.studio-new select:focus{border-color:var(--accent)}.studio-invalid,.studio-new input.studio-invalid{border-color:var(--bad)!important}.studio-error{color:var(--bad);font-size:14px;margin:0 0 12px}@media (max-width:720px){.studio-new-grid{grid-template-columns:1fr}}.studio-editor{display:grid;grid-template-columns:300px 1fr;gap:20px;max-width:1500px;margin:0 auto;padding:20px 24px;min-height:calc(100vh - 120px)}.studio-rail{display:flex;flex-direction:column;gap:12px;align-self:start;position:sticky;top:20px}.studio-rail-head{display:flex;align-items:center;gap:8px}.studio-rail-row{display:grid;grid-template-columns:minmax(0,1fr) 56px 72px;gap:8px}.studio-tree{display:flex;flex-direction:column;gap:4px;margin-top:8px}.studio-tree-chapter{margin-bottom:8px}.studio-tree-row{display:flex;align-items:center;gap:2px;padding:2px 4px;border-radius:var(--r-sm)}.studio-tree-row input{flex:1;min-width:0;border:1px solid transparent!important;background:transparent!important;padding:5px 7px!important}.studio-tree-row input:focus,.studio-tree-row input:hover{border-color:var(--line-2)!important;background:var(--paper)!important}.studio-tree-row button{display:inline-flex;padding:4px;color:var(--ink-3);border-radius:var(--r-sm);opacity:0;transition:opacity .12s}.studio-tree-row:hover button{opacity:1}.studio-tree-row button:hover:not(:disabled){background:var(--surface-sunk);color:var(--ink)}.studio-tree-row button:disabled{opacity:0!important}.studio-tree-row button.studio-danger:hover{background:var(--bad-tint);color:var(--bad)}.studio-tree-chapter-row input{font-weight:650}.studio-tree-section{cursor:pointer}.studio-tree-section.is-active{background:var(--accent-tint)}.studio-tree-section input{font-size:14px}.studio-tree-add{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-3);padding:4px 8px;border-radius:var(--r-sm)}.studio-tree-add:hover{color:var(--ink);background:var(--surface-sunk)}.studio-editor-main{display:flex;flex-direction:column;gap:12px;min-width:0}.studio-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.studio-tabs{display:flex;gap:4px;flex-wrap:wrap}.studio-tab{padding:7px 14px;border-radius:999px;font-size:13.5px;font-weight:550;color:var(--ink-2);border:1px solid transparent}.studio-tab:hover:not(:disabled){background:var(--surface-sunk)}.studio-tab.is-active{background:var(--accent-tint);color:var(--accent);border-color:var(--accent-line)}.studio-tab:disabled{opacity:.4;cursor:default}.studio-save{display:inline-flex;align-items:center;gap:6px}.studio-conflict{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bad-tint);border:1px solid var(--bad);border-radius:var(--r);padding:10px 14px;font-size:14px;color:var(--ink)}.studio-conflict span{flex:1;min-width:200px}.studio-md{display:flex;flex-direction:column;flex:1;min-height:0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.studio-md-toolbar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:6px 8px;border-bottom:1px solid var(--line);background:var(--paper)}.studio-md-toolbar>button{display:inline-flex;padding:6px 7px;border-radius:var(--r-sm);color:var(--ink-2)}.studio-md-toolbar>button:hover{background:var(--surface-sunk);color:var(--ink)}.studio-md-sep{width:1px;height:18px;background:var(--line-2);margin:0 6px}.studio-md-lang{font-size:12px;font-family:var(--mono);color:var(--ink-2);background:transparent;border:1px solid var(--line);border-radius:var(--r-sm);padding:3px 4px;max-width:110px}.studio-md-panes{display:grid;grid-template-columns:1fr 1fr;flex:1;min-height:0}.studio-md-source{font-family:var(--mono);font-size:13.5px;line-height:1.65;color:var(--ink);background:var(--surface);border:none;outline:none;resize:none;padding:18px;border-inline-end:1px solid var(--line);min-height:420px}.studio-md-preview{padding:18px 22px;overflow-y:auto;min-width:0}.studio-md-panes>*{height:100%;overflow-y:auto}.studio-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.studio-field-eye{display:inline-flex;padding:3px 5px;color:var(--ink-3);border-radius:var(--r-sm)}.studio-field-eye:hover{background:var(--surface-sunk);color:var(--ink)}.studio-field textarea{font-family:var(--mono);font-size:13px;line-height:1.6;resize:vertical}.studio-field-preview{border:1px dashed var(--line-2);border-radius:var(--r-sm);padding:8px 12px;background:var(--paper);font-size:14px}.studio-items{gap:14px}.studio-item,.studio-items{display:flex;flex-direction:column}.studio-item{gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow-sm)}.studio-item-head{display:flex;align-items:center;gap:8px}.studio-item-label{font-weight:650;font-size:14px}.studio-item-head button{display:inline-flex;padding:4px;color:var(--ink-3);border-radius:var(--r-sm)}.studio-item-head button:hover:not(:disabled){background:var(--surface-sunk);color:var(--ink)}.studio-item-head button:disabled{opacity:.3;cursor:default}.studio-item-head button.studio-danger:hover{background:var(--bad-tint);color:var(--bad)}.studio-item-add{align-self:flex-start;display:inline-flex;align-items:center;gap:6px}.studio-options{display:flex;flex-direction:column;gap:6px}.studio-options-label{font-size:13px;font-weight:550;color:var(--ink-2)}.studio-option{display:flex;align-items:flex-start;gap:8px}.studio-option input[type=radio]{margin-top:10px;accent-color:var(--accent)}.studio-option-field{flex:1;min-width:0}.studio-option>button{display:inline-flex;padding:4px;margin-top:6px;color:var(--ink-3);border-radius:var(--r-sm)}.studio-option>button:hover:not(:disabled){background:var(--bad-tint);color:var(--bad)}.studio-option>button:disabled{opacity:.3;cursor:default}.studio-recap-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.studio-recap-delete{align-self:flex-start;display:inline-flex;align-items:center;gap:6px}@media (max-width:960px){.studio-editor{grid-template-columns:1fr}.studio-rail{position:static}.studio-md-panes{grid-template-columns:1fr}.studio-md-source{border-inline-end:none;border-bottom:1px solid var(--line);min-height:260px}}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.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-blue-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}