@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500;600;700&family=JetBrains+Mono:wght@300;400;500&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:var(--sans);--font-serif:var(--serif);--font-mono:var(--mono);--color-red-400:oklch(70.4% .191 22.216);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-900:oklch(41.4% .112 45.904);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-teal-200:oklch(91% .096 180.426);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-600:oklch(60% .118 184.704);--color-teal-700:oklch(51.1% .096 186.391);--color-teal-900:oklch(38.6% .063 188.416);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-700:oklch(50% .134 242.749);--color-sky-900:oklch(39.1% .09 240.876);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-900:oklch(38% .189 293.745);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-500:oklch(55.2% .016 285.938);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-surface-1:var(--surface-1);--color-surface-2:var(--surface-2);--color-surface-3:var(--surface-3);--color-hairline:var(--hairline);--color-hairline-strong:var(--hairline-strong);--color-hairline-bright:var(--hairline-bright);--color-fg:var(--fg);--color-fg-muted:var(--fg-muted);--color-fg-dim:var(--fg-dim);--color-fg-faint:var(--fg-faint);--color-accent:var(--accent);--color-accent-soft:var(--accent-soft);--color-accent-ink:var(--accent-ink);--color-mint:var(--c-mint);--color-amber:var(--c-amber);--color-coral:var(--c-coral)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body{background-color:var(--app-bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;line-height:1.7}@media (hover:none) and (pointer:coarse){button:not([data-no-touch]),a.tb-btn,.tb-iconbtn,.upc-action,.det-action,.nr-menu-btn,.nr-close-btn,.sb-collapse-btn,.cal-nav,.gm-close,.eval-icon-btn{min-width:var(--touch-min);min-height:var(--touch-min)}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:max(16px,1em)}}code,pre,kbd,samp{font-family:var(--mono)}.canvas,.cr-pane,.sb-nav,body{-webkit-overflow-scrolling:touch}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.z-30{z-index:30}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-full{height:100%}.max-h-72{max-height:calc(var(--spacing) * 72)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[120px\]{max-width:120px}.max-w-\[180px\]{max-width:180px}.max-w-\[260px\]{max-width:260px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[80px\]{min-width:80px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-accent{border-color:var(--color-accent)}.border-amber-500{border-color:var(--color-amber-500)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/40{border-color:color-mix(in oklab, var(--color-amber-500) 40%, transparent)}}.border-amber-700\/40{border-color:#b7500066}@supports (color:color-mix(in lab, red, red)){.border-amber-700\/40{border-color:color-mix(in oklab, var(--color-amber-700) 40%, transparent)}}.border-amber\/20{border-color:var(--color-amber)}@supports (color:color-mix(in lab, red, red)){.border-amber\/20{border-color:color-mix(in oklab, var(--color-amber) 20%, transparent)}}.border-coral\/25{border-color:var(--color-coral)}@supports (color:color-mix(in lab, red, red)){.border-coral\/25{border-color:color-mix(in oklab, var(--color-coral) 25%, transparent)}}.border-emerald-600{border-color:var(--color-emerald-600)}.border-emerald-700\/40{border-color:#00795666}@supports (color:color-mix(in lab, red, red)){.border-emerald-700\/40{border-color:color-mix(in oklab, var(--color-emerald-700) 40%, transparent)}}.border-emerald-700\/50{border-color:#00795680}@supports (color:color-mix(in lab, red, red)){.border-emerald-700\/50{border-color:color-mix(in oklab, var(--color-emerald-700) 50%, transparent)}}.border-emerald-800\/40{border-color:#005f4666}@supports (color:color-mix(in lab, red, red)){.border-emerald-800\/40{border-color:color-mix(in oklab, var(--color-emerald-800) 40%, transparent)}}.border-hairline{border-color:var(--color-hairline)}.border-hairline-bright{border-color:var(--color-hairline-bright)}.border-hairline-strong{border-color:var(--color-hairline-strong)}.border-rose-500\/30{border-color:#ff23574d}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/30{border-color:color-mix(in oklab, var(--color-rose-500) 30%, transparent)}}.border-rose-500\/40{border-color:#ff235766}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/40{border-color:color-mix(in oklab, var(--color-rose-500) 40%, transparent)}}.border-sky-700\/40{border-color:#0069a466}@supports (color:color-mix(in lab, red, red)){.border-sky-700\/40{border-color:color-mix(in oklab, var(--color-sky-700) 40%, transparent)}}.border-slate-500{border-color:var(--color-slate-500)}.border-slate-600{border-color:var(--color-slate-600)}.border-slate-600\/50{border-color:#45556c80}@supports (color:color-mix(in lab, red, red)){.border-slate-600\/50{border-color:color-mix(in oklab, var(--color-slate-600) 50%, transparent)}}.border-slate-700{border-color:var(--color-slate-700)}.border-slate-700\/40{border-color:#31415866}@supports (color:color-mix(in lab, red, red)){.border-slate-700\/40{border-color:color-mix(in oklab, var(--color-slate-700) 40%, transparent)}}.border-slate-700\/50{border-color:#31415880}@supports (color:color-mix(in lab, red, red)){.border-slate-700\/50{border-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.border-slate-700\/60{border-color:#31415899}@supports (color:color-mix(in lab, red, red)){.border-slate-700\/60{border-color:color-mix(in oklab, var(--color-slate-700) 60%, transparent)}}.border-teal-700\/40{border-color:#00776e66}@supports (color:color-mix(in lab, red, red)){.border-teal-700\/40{border-color:color-mix(in oklab, var(--color-teal-700) 40%, transparent)}}.border-violet-400\/50{border-color:#a685ff80}@supports (color:color-mix(in lab, red, red)){.border-violet-400\/50{border-color:color-mix(in oklab, var(--color-violet-400) 50%, transparent)}}.border-violet-500{border-color:var(--color-violet-500)}.border-violet-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab, red, red)){.border-violet-500\/30{border-color:color-mix(in oklab, var(--color-violet-500) 30%, transparent)}}.border-violet-500\/40{border-color:#8d54ff66}@supports (color:color-mix(in lab, red, red)){.border-violet-500\/40{border-color:color-mix(in oklab, var(--color-violet-500) 40%, transparent)}}.border-violet-600{border-color:var(--color-violet-600)}.border-violet-700{border-color:var(--color-violet-700)}.border-violet-700\/40{border-color:#7008e766}@supports (color:color-mix(in lab, red, red)){.border-violet-700\/40{border-color:color-mix(in oklab, var(--color-violet-700) 40%, transparent)}}.bg-\[\#0d0d16\]{background-color:#0d0d16}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-accent\/40{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/40{background-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.bg-amber-500\/5{background-color:#f99c000d}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/5{background-color:color-mix(in oklab, var(--color-amber-500) 5%, transparent)}}.bg-amber-500\/\[0\.04\]{background-color:#f99c000a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-amber-500) 4%, transparent)}}.bg-amber-500\/\[0\.06\]{background-color:#f99c000f}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/\[0\.06\]{background-color:color-mix(in oklab, var(--color-amber-500) 6%, transparent)}}.bg-amber-900\/20{background-color:#7b330633}@supports (color:color-mix(in lab, red, red)){.bg-amber-900\/20{background-color:color-mix(in oklab, var(--color-amber-900) 20%, transparent)}}.bg-amber\/\[0\.04\]{background-color:var(--color-amber)}@supports (color:color-mix(in lab, red, red)){.bg-amber\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-amber) 4%, transparent)}}.bg-coral\/\[0\.04\]{background-color:var(--color-coral)}@supports (color:color-mix(in lab, red, red)){.bg-coral\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-coral) 4%, transparent)}}.bg-emerald-900\/15{background-color:#004e3b26}@supports (color:color-mix(in lab, red, red)){.bg-emerald-900\/15{background-color:color-mix(in oklab, var(--color-emerald-900) 15%, transparent)}}.bg-emerald-900\/30{background-color:#004e3b4d}@supports (color:color-mix(in lab, red, red)){.bg-emerald-900\/30{background-color:color-mix(in oklab, var(--color-emerald-900) 30%, transparent)}}.bg-emerald-950\/30{background-color:#002c224d}@supports (color:color-mix(in lab, red, red)){.bg-emerald-950\/30{background-color:color-mix(in oklab, var(--color-emerald-950) 30%, transparent)}}.bg-hairline-strong{background-color:var(--color-hairline-strong)}.bg-mint\/15{background-color:var(--color-mint)}@supports (color:color-mix(in lab, red, red)){.bg-mint\/15{background-color:color-mix(in oklab, var(--color-mint) 15%, transparent)}}.bg-rose-500\/5{background-color:#ff23570d}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/5{background-color:color-mix(in oklab, var(--color-rose-500) 5%, transparent)}}.bg-rose-500\/20{background-color:#ff235733}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/20{background-color:color-mix(in oklab, var(--color-rose-500) 20%, transparent)}}.bg-sky-900\/20{background-color:#024a7033}@supports (color:color-mix(in lab, red, red)){.bg-sky-900\/20{background-color:color-mix(in oklab, var(--color-sky-900) 20%, transparent)}}.bg-slate-700{background-color:var(--color-slate-700)}.bg-slate-700\/40{background-color:#31415866}@supports (color:color-mix(in lab, red, red)){.bg-slate-700\/40{background-color:color-mix(in oklab, var(--color-slate-700) 40%, transparent)}}.bg-slate-700\/60{background-color:#31415899}@supports (color:color-mix(in lab, red, red)){.bg-slate-700\/60{background-color:color-mix(in oklab, var(--color-slate-700) 60%, transparent)}}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-800\/30{background-color:#1d293d4d}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/30{background-color:color-mix(in oklab, var(--color-slate-800) 30%, transparent)}}.bg-slate-800\/40{background-color:#1d293d66}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/40{background-color:color-mix(in oklab, var(--color-slate-800) 40%, transparent)}}.bg-slate-800\/60{background-color:#1d293d99}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/60{background-color:color-mix(in oklab, var(--color-slate-800) 60%, transparent)}}.bg-slate-900\/50{background-color:#0f172b80}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/50{background-color:color-mix(in oklab, var(--color-slate-900) 50%, transparent)}}.bg-surface-1{background-color:var(--color-surface-1)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-teal-900\/20{background-color:#0b4f4a33}@supports (color:color-mix(in lab, red, red)){.bg-teal-900\/20{background-color:color-mix(in oklab, var(--color-teal-900) 20%, transparent)}}.bg-transparent{background-color:#0000}.bg-violet-400{background-color:var(--color-violet-400)}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\/10{background-color:color-mix(in oklab, var(--color-violet-500) 10%, transparent)}}.bg-violet-500\/20{background-color:#8d54ff33}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\/20{background-color:color-mix(in oklab, var(--color-violet-500) 20%, transparent)}}.bg-violet-500\/30{background-color:#8d54ff4d}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\/30{background-color:color-mix(in oklab, var(--color-violet-500) 30%, transparent)}}.bg-violet-600{background-color:var(--color-violet-600)}.bg-violet-900\/20{background-color:#4d179a33}@supports (color:color-mix(in lab, red, red)){.bg-violet-900\/20{background-color:color-mix(in oklab, var(--color-violet-900) 20%, transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-violet-500{--tw-gradient-from:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-emerald-500{--tw-gradient-to:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing) * 0)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[clamp\(1\.6rem\,3vw\,2\.1rem\)\]{font-size:clamp(1.6rem,3vw,2.1rem)}.text-\[clamp\(1\.9rem\,4vw\,2\.6rem\)\]{font-size:clamp(1.9rem,4vw,2.6rem)}.text-\[clamp\(2\.4rem\,5vw\,3\.4rem\)\]{font-size:clamp(2.4rem,5vw,3.4rem)}.text-\[clamp\(2rem\,4\.5vw\,2\.9rem\)\]{font-size:clamp(2rem,4.5vw,2.9rem)}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[\#EDEAE3\]{color:#edeae3}.text-accent{color:var(--color-accent)}.text-accent-ink{color:var(--color-accent-ink)}.text-amber{color:var(--color-amber)}.text-amber-50{color:var(--color-amber-50)}.text-amber-100{color:var(--color-amber-100)}.text-amber-200{color:var(--color-amber-200)}.text-amber-200\/70{color:#fee685b3}@supports (color:color-mix(in lab, red, red)){.text-amber-200\/70{color:color-mix(in oklab, var(--color-amber-200) 70%, transparent)}}.text-amber-200\/80{color:#fee685cc}@supports (color:color-mix(in lab, red, red)){.text-amber-200\/80{color:color-mix(in oklab, var(--color-amber-200) 80%, transparent)}}.text-amber-300{color:var(--color-amber-300)}.text-amber-300\/80{color:#ffd236cc}@supports (color:color-mix(in lab, red, red)){.text-amber-300\/80{color:color-mix(in oklab, var(--color-amber-300) 80%, transparent)}}.text-amber-400{color:var(--color-amber-400)}.text-emerald-200{color:var(--color-emerald-200)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-600{color:var(--color-emerald-600)}.text-fg{color:var(--color-fg)}.text-fg-dim{color:var(--color-fg-dim)}.text-fg-faint{color:var(--color-fg-faint)}.text-fg-muted{color:var(--color-fg-muted)}.text-inherit{color:inherit}.text-mint{color:var(--color-mint)}.text-red-400{color:var(--color-red-400)}.text-rose-100{color:var(--color-rose-100)}.text-rose-200\/80{color:#ffccd3cc}@supports (color:color-mix(in lab, red, red)){.text-rose-200\/80{color:color-mix(in oklab, var(--color-rose-200) 80%, transparent)}}.text-rose-300{color:var(--color-rose-300)}.text-rose-300\/60{color:#ffa2ae99}@supports (color:color-mix(in lab, red, red)){.text-rose-300\/60{color:color-mix(in oklab, var(--color-rose-300) 60%, transparent)}}.text-rose-400{color:var(--color-rose-400)}.text-sky-400{color:var(--color-sky-400)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-teal-200{color:var(--color-teal-200)}.text-teal-400{color:var(--color-teal-400)}.text-teal-600{color:var(--color-teal-600)}.text-violet-200{color:var(--color-violet-200)}.text-violet-300{color:var(--color-violet-300)}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-500{color:var(--color-zinc-500)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.accent-violet-400{accent-color:var(--color-violet-400)}.opacity-60{opacity:.6}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-amber-500\/50{--tw-ring-color:#f99c0080}@supports (color:color-mix(in lab, red, red)){.ring-amber-500\/50{--tw-ring-color:color-mix(in oklab, var(--color-amber-500) 50%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}.delay-3{transition-delay:3ms}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.focus-within\:border-violet-400:focus-within{border-color:var(--color-violet-400)}@media (hover:hover){.hover\:border-accent\/50:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/50:hover{border-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.hover\:border-slate-500:hover{border-color:var(--color-slate-500)}.hover\:border-violet-400\/50:hover{border-color:#a685ff80}@supports (color:color-mix(in lab, red, red)){.hover\:border-violet-400\/50:hover{border-color:color-mix(in oklab, var(--color-violet-400) 50%, transparent)}}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.hover\:bg-amber-500\/\[0\.10\]:hover{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-amber-500\/\[0\.10\]:hover{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.hover\:bg-amber-900\/20:hover{background-color:#7b330633}@supports (color:color-mix(in lab, red, red)){.hover\:bg-amber-900\/20:hover{background-color:color-mix(in oklab, var(--color-amber-900) 20%, transparent)}}.hover\:bg-emerald-900\/50:hover{background-color:#004e3b80}@supports (color:color-mix(in lab, red, red)){.hover\:bg-emerald-900\/50:hover{background-color:color-mix(in oklab, var(--color-emerald-900) 50%, transparent)}}.hover\:bg-rose-500\/30:hover{background-color:#ff23574d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-rose-500\/30:hover{background-color:color-mix(in oklab, var(--color-rose-500) 30%, transparent)}}.hover\:bg-slate-700:hover{background-color:var(--color-slate-700)}.hover\:bg-slate-700\/60:hover{background-color:#31415899}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-700\/60:hover{background-color:color-mix(in oklab, var(--color-slate-700) 60%, transparent)}}.hover\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\:bg-violet-500:hover{background-color:var(--color-violet-500)}.hover\:bg-violet-500\/20:hover{background-color:#8d54ff33}@supports (color:color-mix(in lab, red, red)){.hover\:bg-violet-500\/20:hover{background-color:color-mix(in oklab, var(--color-violet-500) 20%, transparent)}}.hover\:bg-violet-500\/30:hover{background-color:#8d54ff4d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-violet-500\/30:hover{background-color:color-mix(in oklab, var(--color-violet-500) 30%, transparent)}}.hover\:text-amber-100:hover{color:var(--color-amber-100)}.hover\:text-coral:hover{color:var(--color-coral)}.hover\:text-fg:hover{color:var(--color-fg)}.hover\:text-slate-200:hover{color:var(--color-slate-200)}.hover\:text-slate-300:hover{color:var(--color-slate-300)}.hover\:text-slate-400:hover{color:var(--color-slate-400)}.hover\:text-violet-200:hover{color:var(--color-violet-200)}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-accent:focus{border-color:var(--color-accent)}.focus\:border-violet-500:focus{border-color:var(--color-violet-500)}.focus\:border-violet-500\/50:focus{border-color:#8d54ff80}@supports (color:color-mix(in lab, red, red)){.focus\:border-violet-500\/50:focus{border-color:color-mix(in oklab, var(--color-violet-500) 50%, transparent)}}.focus\:border-violet-600:focus{border-color:var(--color-violet-600)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-surface-2:disabled{background-color:var(--color-surface-2)}.disabled\:text-fg-dim:disabled{color:var(--color-fg-dim)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-9{padding:calc(var(--spacing) * 9)}.sm\:p-10{padding:calc(var(--spacing) * 10)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-12{padding-block:calc(var(--spacing) * 12)}}@media (width>=64rem){.lg\:hidden{display:none}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}}.notorai-shell{background:var(--app-bg);color:var(--fg);font-family:var(--sans);height:100dvh;position:relative;overflow:hidden}.notorai-shell .app{grid-template-columns:var(--sidebar-w) 1fr;height:100dvh;transition:grid-template-columns .28s cubic-bezier(.4,0,.2,1);display:grid}.notorai-shell .app.collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.notorai-shell .sidebar{background:var(--app-sidebar);border-right:1px solid var(--hairline);flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.notorai-shell .sb-head{height:var(--topbar-h);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 12px 14px 16px;display:flex}.notorai-shell .sb-brand{align-items:center;gap:10px;min-width:0;display:flex}.notorai-shell .sb-logo{object-fit:contain;flex-shrink:0;width:30px;height:30px}.notorai-shell .sb-brand-name{font-family:var(--serif);color:var(--fg);letter-spacing:-.01em;white-space:nowrap;font-size:19px;transition:opacity .2s}.notorai-shell .app.collapsed .sb-brand-name{display:none}.notorai-shell .app.collapsed .sb-head{justify-content:center;padding-left:0;padding-right:0}.notorai-shell .sb-search{background:var(--surface-1);border:1px solid var(--hairline);color:var(--fg-dim);cursor:text;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;margin:4px 12px 14px;padding:7px 10px;font-size:12px;transition:border-color .15s,background .15s;display:flex;overflow:hidden}.notorai-shell .sb-search .placeholder{text-overflow:ellipsis;overflow:hidden}.notorai-shell .sb-search:hover{border-color:var(--hairline-strong)}.notorai-shell .sb-search .kbd{font-family:var(--mono);background:var(--surface-3);border:1px solid var(--hairline);color:var(--fg-muted);letter-spacing:.04em;border-radius:4px;margin-left:auto;padding:1px 5px;font-size:10px}.notorai-shell .app.collapsed .sb-search{justify-content:center;padding:7px 0}.notorai-shell .app.collapsed .sb-search input,.notorai-shell .app.collapsed .sb-search .kbd,.notorai-shell .app.collapsed .sb-search .placeholder{display:none}.notorai-shell .sb-nav{flex-direction:column;flex:1;gap:2px;padding:0 8px;display:flex;overflow-y:auto}.notorai-shell .sb-nav::-webkit-scrollbar{width:6px}.notorai-shell .sb-nav::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:3px}.notorai-shell .sb-item{color:var(--fg-muted);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:11px;padding:7px 10px;font-size:13px;transition:background .12s,color .12s;display:flex;position:relative}.notorai-shell .sb-item:hover{background:var(--surface-1);color:var(--fg)}.notorai-shell .sb-item.active{background:var(--surface-2);color:var(--fg)}.notorai-shell .sb-item.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:2px;height:18px;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.notorai-shell .sb-item .ic{opacity:.85;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.notorai-shell .sb-item .badge{font-family:var(--mono);background:var(--surface-2);color:var(--fg-muted);letter-spacing:.04em;border-radius:999px;margin-left:auto;padding:1px 6px;font-size:10px}.notorai-shell .sb-item.has-pulse .badge{background:var(--accent-soft);color:var(--accent)}.notorai-shell .app.collapsed .sb-item{justify-content:center;padding:9px 0}.notorai-shell .app.collapsed .sb-item .label,.notorai-shell .app.collapsed .sb-item .badge{display:none}.notorai-shell .app.collapsed .sb-item.active:before{left:0}.notorai-shell .sb-section-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-dim);justify-content:space-between;align-items:center;padding:18px 10px 6px;font-size:10px;display:flex}.notorai-shell .sb-section-label .plus{width:16px;height:16px;color:var(--fg-muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.notorai-shell .sb-section-label .plus:hover{background:var(--surface-2);color:var(--fg)}.notorai-shell .app.collapsed .sb-section-label{justify-content:center;padding:14px 0 6px}.notorai-shell .app.collapsed .sb-section-label>*{display:none}.notorai-shell .app.collapsed .sb-section-label:before{content:"";background:var(--hairline-strong);width:16px;height:1px;display:block}.notorai-shell .sb-course-item{color:var(--fg-muted);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:10px;padding:6px 10px;font-size:12.5px;transition:background .12s,color .12s;display:flex;position:relative}.notorai-shell .sb-course-item:hover{background:var(--surface-1);color:var(--fg)}.notorai-shell .sb-course-item.active{background:var(--surface-2);color:var(--fg)}.notorai-shell .sb-course-item .swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px}.notorai-shell .sb-course-item .label{text-overflow:ellipsis;overflow:hidden}.notorai-shell .sb-course-item .meta{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.04em;margin-left:auto;font-size:10px}.notorai-shell .app.collapsed .sb-course-item{justify-content:center;padding:7px 0}.notorai-shell .app.collapsed .sb-course-item .label,.notorai-shell .app.collapsed .sb-course-item .meta{display:none}.notorai-shell .app.collapsed .sb-course-item .swatch{border-radius:3px;width:10px;height:10px}.notorai-shell .sb-collapse-btn{color:var(--fg-dim);font-size:12.5px;font-family:var(--sans);cursor:pointer;white-space:nowrap;border-radius:7px;flex-shrink:0;align-items:center;gap:11px;margin:6px 8px;padding:7px 10px;transition:background .12s,color .12s;display:flex}.notorai-shell .sb-collapse-btn:hover{background:var(--surface-1);color:var(--fg)}.notorai-shell .sb-collapse-btn .ic{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.notorai-shell .app.collapsed .sb-collapse-btn{justify-content:center;margin:6px 0;padding:9px 0}.notorai-shell .app.collapsed .sb-collapse-btn .label{display:none}.notorai-shell .sb-foot{border-top:1px solid var(--hairline);flex-shrink:0;align-items:center;gap:10px;padding:10px 12px;display:flex}.notorai-shell .sb-avatar{width:30px;height:30px;color:var(--app-bg);font-family:var(--mono);background:linear-gradient(135deg,#b79ff5,#88bcff);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.notorai-shell .sb-user{flex-direction:column;min-width:0;display:flex}.notorai-shell .sb-user-name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.notorai-shell .sb-user-plan{font-family:var(--mono);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.notorai-shell .sb-foot .more{color:var(--fg-dim);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-left:auto;transition:background .15s,color .15s;display:flex}.notorai-shell .sb-foot .more:hover{background:var(--surface-2);color:var(--fg)}.notorai-shell .app.collapsed .sb-foot{justify-content:center;padding:10px 0}.notorai-shell .app.collapsed .sb-foot .sb-user,.notorai-shell .app.collapsed .sb-foot .more,.notorai-shell .sb-backdrop{display:none}.notorai-shell .main{background:var(--app-canvas);flex-direction:column;min-width:0;height:100dvh;display:flex;overflow:hidden}.notorai-shell .topbar-app{height:calc(var(--topbar-h) + var(--safe-top));padding-top:var(--safe-top);padding-right:calc(var(--page-gutter) + var(--safe-right));padding-left:calc(var(--page-gutter) + var(--safe-left));border-bottom:1px solid var(--hairline);-webkit-backdrop-filter:blur(10px);background:#0e0e18c7;flex-shrink:0;align-items:center;gap:10px;padding-bottom:0;display:flex}@media (width>=640px){.notorai-shell .topbar-app{gap:14px}}.notorai-shell .tb-crumbs{color:var(--fg-muted);align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.notorai-shell .tb-crumbs .cb-item{white-space:nowrap;cursor:pointer;transition:color .15s}.notorai-shell .tb-crumbs .cb-item:hover{color:var(--fg)}.notorai-shell .tb-crumbs .cb-item.current{color:var(--fg);font-weight:500}.notorai-shell .tb-crumbs .sep{color:var(--fg-faint);align-items:center;display:flex}.notorai-shell .tb-spacer{flex:1}.notorai-shell .tb-actions{align-items:center;gap:8px;display:flex}.notorai-shell .tb-btn{color:var(--fg-muted);border:1px solid var(--hairline);cursor:pointer;background:var(--surface-1);font-size:12.5px;font-family:var(--sans);border-radius:7px;align-items:center;gap:7px;padding:6px 12px;transition:all .15s;display:inline-flex}.notorai-shell .tb-btn:hover{border-color:var(--hairline-strong);color:var(--fg);background:var(--surface-2)}.notorai-shell .tb-btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.notorai-shell .tb-btn.primary:hover{color:var(--accent-ink);background:#b7adff;border-color:#b7adff}.notorai-shell .tb-btn .ic{justify-content:center;align-items:center;width:14px;height:14px;display:flex}.notorai-shell .tb-iconbtn{width:32px;height:32px;color:var(--fg-muted);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex;position:relative}.notorai-shell .tb-iconbtn:hover{background:var(--surface-2);color:var(--fg)}.notorai-shell .tb-iconbtn .ic{width:16px;height:16px}.notorai-shell .tb-iconbtn.has-dot:after{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 6px var(--accent);border-radius:50%;position:absolute;top:8px;right:8px}.notorai-shell .canvas{scroll-behavior:smooth;flex:1;overflow-y:auto}.notorai-shell .canvas::-webkit-scrollbar{width:10px}.notorai-shell .canvas::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:5px}.notorai-shell .canvas::-webkit-scrollbar-thumb:hover{background:var(--hairline-strong)}.notorai-shell .canvas-inner{max-width:1200px;padding:var(--page-gutter-top) calc(var(--page-gutter) + var(--safe-right)) calc(var(--page-gutter-bottom) + var(--safe-bottom)) calc(var(--page-gutter) + var(--safe-left));margin:0 auto}.notorai-shell .canvas{padding-bottom:var(--safe-bottom)}@media (width<=1024px){.notorai-shell .app{grid-template-columns:1fr}.notorai-shell .sidebar{z-index:50;width:min(86vw,320px);padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);transition:transform .28s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:20px 0 40px #0000008c}.notorai-shell .sidebar.open{transform:translate(0)}.notorai-shell .sb-backdrop{-webkit-backdrop-filter:blur(4px);z-index:45;opacity:0;pointer-events:none;background:#0009;transition:opacity .25s;display:block;position:fixed;inset:0}.notorai-shell .sb-backdrop.visible{opacity:1;pointer-events:auto}.notorai-shell .sb-collapse-btn{display:none}}@media (width<=640px){.notorai-shell .topbar-app{gap:8px}.notorai-shell .tb-crumbs{flex:1;min-width:0;overflow:hidden}.notorai-shell .tb-crumbs>.contents:not(:last-of-type),.notorai-shell .tb-crumbs .sep{display:none}.notorai-shell .tb-crumbs .cb-item{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;overflow:hidden}.notorai-shell .tb-iconbtn{width:var(--touch-min);height:var(--touch-min)}.notorai-shell .tb-iconbtn .ic{width:18px;height:18px}.notorai-shell .tb-actions{gap:4px}.notorai-shell .tb-actions .tb-btn:not(.primary){width:var(--touch-min);height:var(--touch-min);justify-content:center;gap:0;padding:0;font-size:0}.notorai-shell .tb-actions .tb-btn.primary{min-height:var(--touch-min);padding:8px 14px;font-size:12.5px}.notorai-shell .tb-actions .tb-btn:not(.primary)>.tb-btn-text{display:none}}@media (width<=420px){.notorai-shell .tb-actions .tb-btn.primary{width:var(--touch-min);height:var(--touch-min);justify-content:center;gap:0;padding:0;font-size:0}.notorai-shell .tb-actions .tb-btn.primary>.tb-btn-text{display:none}}@media (width<=1024px){.notorai-shell .sb-item{gap:12px;padding:11px 12px;font-size:14px}.notorai-shell .sb-item .ic{width:18px;height:18px}.notorai-shell .sb-course-item{gap:11px;padding:10px 12px;font-size:13.5px}.notorai-shell .sb-search{margin:6px 12px 16px;padding:9px 12px;font-size:13px}.notorai-shell .sb-head{padding:14px 14px 14px 16px}.notorai-shell .sb-foot{gap:12px;padding:12px 14px}.notorai-shell .sb-foot .sb-avatar{width:34px;height:34px;font-size:13px}.notorai-shell .sb-nav{padding:0 8px 8px}}.notorai-shell .app-grain{pointer-events:none;z-index:100;opacity:.025;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.9'/></svg>");position:fixed;inset:0}.page-head{flex-direction:column;gap:14px;margin-bottom:36px;display:flex}.page-eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-dim);align-items:center;gap:10px;font-size:10px;display:flex}.page-eyebrow .dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.page-title{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(36px,5vw,56px);font-weight:400;line-height:1.04}.page-title em{color:var(--accent);font-style:italic}.page-sub{color:var(--fg-muted);max-width:60ch;margin:0;font-size:15px;line-height:1.5}.page-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:14px;overflow:hidden}.card-pad{padding:20px}.card-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.card-title{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted);align-items:center;gap:8px;font-size:10px;font-weight:600;display:flex}.card-title .ic{color:var(--accent)}.card-action{color:var(--fg-muted);cursor:pointer;font-size:12px;transition:color .15s}.card-action:hover{color:var(--fg)}.h-section{justify-content:space-between;align-items:flex-end;gap:16px;margin:36px 0 16px;display:flex}.h-section h3{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:24px;font-weight:400;line-height:1.1}.h-section h3 em{color:var(--accent);font-style:italic}.h-section .h-sub{color:var(--fg-muted);margin:4px 0 0;font-size:13px}.h-section .h-action{font-family:var(--mono);color:var(--fg-muted);letter-spacing:.06em;cursor:pointer;align-items:center;gap:6px;font-size:11px;transition:color .15s;display:inline-flex}.h-section .h-action:hover{color:var(--accent)}.chip{border:1px solid var(--hairline-strong);color:var(--fg-muted);background:var(--surface-1);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.chip.accent{color:var(--accent);background:var(--accent-soft);border-color:#9b8fff4d}.chip.mint{color:var(--c-mint);background:var(--c-mint-soft);border-color:#6ee7b74d}.chip.amber{color:var(--c-amber);background:var(--c-amber-soft);border-color:#fcd34d4d}.chip.coral{color:var(--c-coral);background:var(--c-coral-soft);border-color:#f09bb74d}.chip.blue{color:var(--c-blue);background:var(--c-blue-soft);border-color:#88bcff4d}.chip .ic{width:11px;height:11px}.app-grain{pointer-events:none;z-index:100;opacity:.025;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.9'/></svg>");position:fixed;inset:0}.dash-stats{border:1px solid var(--hairline);background:var(--surface-1);border-radius:14px;grid-template-columns:repeat(4,1fr);margin-bottom:8px;display:grid;overflow:hidden}@media (width<=800px){.dash-stats{grid-template-columns:repeat(2,1fr)}}.stat-cell{border-right:1px solid var(--hairline);flex-direction:column;gap:6px;padding:18px 20px;display:flex}.stat-cell:last-child{border-right:0}@media (width<=800px){.stat-cell:nth-child(2n){border-right:0}.stat-cell:nth-child(-n+2){border-bottom:1px solid var(--hairline)}}.stat-k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);font-size:10px}.stat-v{font-family:var(--serif);letter-spacing:-.02em;color:var(--fg);white-space:nowrap;font-size:clamp(26px,6vw,34px);line-height:1}.stat-v.acc{color:var(--accent)}.stat-d{color:var(--fg-muted);font-size:12px}.continue-row{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (width<=1000px){.continue-row{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.continue-row{grid-template-columns:1fr}}.continue-card{background:var(--surface-1);border:1px solid var(--hairline);cursor:pointer;border-radius:12px;flex-direction:column;transition:transform .15s,border-color .15s,background .15s;display:flex;overflow:hidden}.continue-card:hover{border-color:var(--hairline-bright);background:var(--surface-2);transform:translateY(-2px)}.cc-stripe{height:3px}.continue-card .cc-body{flex-direction:column;gap:6px;min-height:138px;padding:14px 16px;display:flex}.continue-card .cc-head{font-size:11px;font-family:var(--mono);letter-spacing:.06em;justify-content:space-between;align-items:center;display:flex}.continue-card .cc-course{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700}.continue-card .cc-time{color:var(--fg-dim)}.continue-card .cc-title{font-family:var(--serif);letter-spacing:-.005em;margin:4px 0 2px;font-size:20px;font-weight:400;line-height:1.15}.continue-card .cc-subtitle{color:var(--fg-muted);flex:1;margin:0;font-size:12.5px;line-height:1.4}.continue-card .cc-foot{color:var(--fg-dim);align-items:center;gap:8px;font-size:11px;display:flex}.continue-card .cc-progress{background:var(--surface-3);border-radius:999px;flex:1;height:3px;overflow:hidden}.continue-card .cc-progress-fill{border-radius:999px;height:100%}.continue-card .cc-progress-label{font-family:var(--mono);color:var(--fg-muted);font-size:10px}.continue-card .cc-duration{font-family:var(--mono)}.dash-split{grid-template-columns:1.2fr 1fr;gap:14px;margin-top:14px;display:grid}@media (width<=900px){.dash-split{grid-template-columns:1fr}}.upcoming-list,.detected-list{flex-direction:column;display:flex}.upc-row{border-bottom:1px solid var(--hairline);align-items:center;gap:14px;padding:14px 18px;transition:background .12s;display:flex}.upc-row:last-child{border-bottom:0}.upc-row:hover{background:var(--surface-2)}.upc-when{flex-direction:column;flex-shrink:0;align-items:center;width:42px;display:flex}.upc-date{font-family:var(--serif);font-size:22px;line-height:1}.upc-day{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-size:10px}.upc-mid{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.upc-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.upc-course{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.upc-title{color:var(--fg);margin:0;font-size:14px;font-weight:500}.upc-meta{color:var(--fg-muted);font-size:11px;font-family:var(--mono);letter-spacing:.02em;margin:0}.upc-action{width:28px;height:28px;color:var(--fg-dim);cursor:pointer;border-radius:7px;transition:background .12s,color .12s}.upc-action:hover{background:var(--surface-3);color:var(--fg)}.det-row{border-bottom:1px solid var(--hairline);align-items:flex-start;gap:12px;padding:12px 18px;display:flex}.det-row:last-child{border-bottom:0}.det-kind{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;border-radius:4px;flex-shrink:0;margin-top:1px;padding:3px 7px;font-size:9px;font-weight:700}.det-kind.tarea{color:var(--c-amber);background:var(--c-amber-soft);border:1px solid #fcd34d40}.det-kind.examen{color:var(--c-coral);background:var(--c-coral-soft);border:1px solid #f09bb740}.det-kind.lectura{color:var(--c-blue);background:var(--c-blue-soft);border:1px solid #88bcff40}.det-kind.aviso{color:var(--accent);background:var(--accent-soft);border:1px solid #9b8fff40}.det-body{flex:1;min-width:0}.det-text{color:var(--fg);margin:0 0 3px;font-size:13px;line-height:1.45}.det-meta{color:var(--fg-dim);font-size:11px;font-family:var(--mono);margin:0}.det-action{background:var(--surface-3);width:28px;height:28px;color:var(--c-mint);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s;display:flex}.det-action:hover{background:var(--c-mint-soft)}.courses-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=900px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.courses-grid{grid-template-columns:1fr}}.course-card{background:var(--surface-1);border:1px solid var(--hairline);cursor:pointer;border-radius:14px;flex-direction:column;gap:12px;padding:18px 20px 16px;transition:all .15s;display:flex}.course-card:hover{border-color:var(--hairline-bright);background:var(--surface-2);transform:translateY(-2px)}.course-card .cc-top{align-items:center;gap:10px;display:flex}.course-card .cc-swatch{border-radius:3px;flex-shrink:0;width:10px;height:24px}.course-card .cc-meta{flex-direction:column;gap:1px;display:flex}.course-card .cc-area{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.course-card .cc-code{font-family:var(--mono);color:var(--fg-muted);letter-spacing:.06em;font-size:10px}.course-card .cc-name{font-family:var(--serif);letter-spacing:-.01em;margin:4px 0 0;font-size:22px;font-weight:400;line-height:1.1}.course-card .cc-teacher{color:var(--fg-muted);margin:0;font-size:12px}.course-card .cc-stats{border-top:1px solid var(--hairline);grid-template-columns:repeat(3,1fr);gap:10px;padding:12px 0;display:grid}.course-card .cc-stat{flex-direction:column;gap:2px;display:flex}.course-card .cc-stat-k{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.course-card .cc-stat-v{font-family:var(--serif);font-size:22px;line-height:1}.course-card .cc-stat-v.acc{color:var(--accent)}.course-card .cc-progress{background:var(--surface-3);border-radius:999px;height:3px;overflow:hidden}.course-card .cc-progress-fill{border-radius:999px;height:100%}.empty-wrap{max-width:1080px}.onboard-grid{grid-template-columns:1.4fr 1fr;gap:24px;display:grid}@media (width<=900px){.onboard-grid{grid-template-columns:1fr}}.onboard-main{flex-direction:column;gap:24px;display:flex}.onboard-side{flex-direction:column;gap:16px;display:flex}.onboard-dropzone{background:radial-gradient(circle at 30% 0%, #9b8fff0f, transparent 50%), var(--surface-1);text-align:center;border:1.5px dashed #9b8fff59;border-radius:18px;flex-direction:column;align-items:center;gap:18px;padding:48px 32px;display:flex;position:relative;overflow:hidden}.onboard-dropzone:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(45deg,#0000 0 14px,#9b8fff05 14px 15px);position:absolute;inset:0}.dz-icon{background:var(--accent-soft);width:64px;height:64px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.dz-title{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:26px;line-height:1.2}.dz-title .dz-sub{color:var(--fg-muted);font-family:var(--sans);font-size:14px;font-style:italic}.dz-formats{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.08em;margin:6px 0 0;font-size:11px}.onboard-or{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);align-items:center;gap:14px;font-size:11px;display:flex}.onboard-or .line{background:var(--hairline);flex:1;height:1px}.onboard-or .word{padding:0 4px}.onboard-mini{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=700px){.onboard-mini{grid-template-columns:1fr}}.mini-opt{border:1px solid var(--hairline);background:var(--surface-1);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;padding:16px;transition:all .15s;display:flex}.mini-opt:hover{border-color:var(--hairline-bright);background:var(--surface-2);transform:translateY(-1px)}.mini-ic{background:var(--surface-3);width:36px;height:36px;color:var(--fg);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mini-l{color:var(--fg);margin:0 0 2px;font-size:13px;font-weight:600}.mini-s{color:var(--fg-muted);font-size:11px;font-family:var(--mono);letter-spacing:.02em;margin:0}.onboard-step{border-bottom:1px solid var(--hairline);gap:14px;padding:14px 0;display:flex}.onboard-step:first-child{padding-top:4px}.onboard-step:last-of-type{border-bottom:0;padding-bottom:4px}.os-num{font-family:var(--serif);color:var(--accent);flex-shrink:0;width:40px;font-size:28px;font-style:italic;line-height:1}.os-title{color:var(--fg);margin:4px 0;font-size:14px;font-weight:600}.os-body{color:var(--fg-muted);margin:0;font-size:12.5px;line-height:1.5}.onboard-divider{background:var(--hairline);height:1px;margin:10px 0}.onboard-foot{color:var(--fg-muted);margin:0;font-size:12px;line-height:1.5}.onboard-sample{flex-direction:column;gap:10px;display:flex}.onboard-sample-text{color:var(--fg-muted);margin:0;font-size:13px;line-height:1.5}.course-header{gap:24px;margin-bottom:24px;display:flex;position:relative}.course-header-stripe{border-radius:4px;flex-shrink:0;align-self:stretch;width:4px}.course-header-body{flex-direction:column;flex:1;gap:12px;display:flex}.course-stats-row{border:1px solid var(--hairline);background:var(--surface-1);border-radius:14px;grid-template-columns:repeat(5,1fr);margin-top:18px;display:grid;overflow:hidden}@media (width<=900px){.course-stats-row{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.course-stats-row{grid-template-columns:repeat(2,1fr)}}.cstat{border-right:1px solid var(--hairline);flex-direction:column;gap:4px;padding:16px 18px;display:flex}.cstat:last-child{border-right:0}.cstat-k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);font-size:10px}.cstat-v{font-family:var(--serif);letter-spacing:-.02em;font-size:28px;line-height:1}.cstat-sub{color:var(--fg-muted);font-size:11px;font-family:var(--mono)}.course-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:28px;display:flex}.ct-tabs{background:var(--surface-1);border:1px solid var(--hairline);border-radius:9px;gap:2px;padding:3px;display:flex}.ct-tab{color:var(--fg-muted);cursor:pointer;border-radius:7px;padding:6px 14px;font-size:12.5px;transition:all .15s}.ct-tab:hover{color:var(--fg)}.ct-tab.active{background:var(--surface-3);color:var(--fg)}.ct-actions{gap:8px;display:flex}.unit-group{flex-direction:column;gap:8px;display:flex}.unit-group+.unit-group{margin-top:22px}.unit-band{border:1px solid var(--hairline);background:var(--surface-2);border-radius:14px;flex-direction:column;gap:4px;padding:14px 18px;display:flex}.unit-band-num{font-family:var(--mono);color:var(--accent);letter-spacing:.16em;font-size:11px;font-weight:700}.unit-band-title{font-family:var(--serif);letter-spacing:-.01em;color:var(--fg);margin:0;font-size:24px;font-weight:400;line-height:1.2}.unit-weeks,.weeks{flex-direction:column;gap:8px;display:flex}.week{border:1px solid var(--hairline);background:var(--surface-1);border-radius:14px;transition:border-color .15s;overflow:hidden}.week:hover{border-color:var(--hairline-strong)}.week.current{background:linear-gradient(180deg, #9b8fff0a, var(--surface-1) 50%);border-color:#9b8fff59}.week.future{opacity:.72;background:0 0}.week-head{border-bottom:1px solid #0000;align-items:center;gap:18px;padding:14px 18px;display:flex}.week:not(.future):not(.current) .week-head,.week.current .week-head{border-bottom-color:var(--hairline)}.week-marker{flex-direction:column;gap:2px;min-width:100px;display:flex}.wm-num{font-family:var(--mono);color:var(--accent);letter-spacing:.14em;font-size:11px;font-weight:700}.week.future .wm-num{color:var(--fg-dim)}.wm-dates{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.06em;font-size:10px}.week-title-block{flex-wrap:wrap;flex:1;align-items:center;gap:10px;display:flex}.week-title{font-family:var(--serif);letter-spacing:-.005em;margin:0;font-size:22px;font-weight:400;line-height:1.2}.week-progress{font-family:var(--mono);color:var(--fg-muted);letter-spacing:.06em;font-size:11px}.week-classes{padding:4px 0}.week.future .week-classes{display:none}.week-class{cursor:pointer;border-top:1px solid var(--hairline);align-items:center;gap:14px;padding:12px 18px;transition:background .12s;display:flex}.week-class:first-child{border-top:0}.week-class:hover{background:var(--surface-2)}.week-class.processing{background:var(--accent-soft)}.wc-status{justify-content:center;width:24px;display:flex}.wc-check{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.wc-dot{background:var(--hairline-bright);border-radius:50%;width:10px;height:10px}.wc-dot.empty{border:1.5px dashed var(--hairline-bright);background:0 0}.wc-dot.pulse{animation:1.6s ease-in-out infinite brandpulse;box-shadow:0 0 0 6px #9b8fff2e}.wc-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.wc-top{font-family:var(--mono);letter-spacing:.06em;align-items:baseline;gap:10px;font-size:10px;display:flex}.wc-num{color:var(--fg-muted);font-weight:700}.wc-date{color:var(--fg-dim)}.wc-title{color:var(--fg);margin:0;font-size:14px;font-weight:500}.wc-meta{color:var(--fg-muted);font-size:11px;font-family:var(--mono);letter-spacing:.02em;margin:0}.wc-actions{align-items:center;gap:12px;display:flex}.wc-pill{font-family:var(--mono);background:var(--surface-3);color:var(--fg-muted);letter-spacing:.06em;border-radius:5px;padding:3px 8px;font-size:10px}.wc-arrow{color:var(--fg-dim)}.class-wrap{max-width:1480px;margin:0 auto;padding:32px 32px 80px}@media (width<=800px){.class-wrap{padding:24px 20px 60px}}.class-header{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.class-header-meta{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ch-meta-item{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.06em;font-size:11px}.ch-meta-item:before{content:"·";color:var(--fg-faint);margin-right:14px}.ch-meta-item:first-child:before{display:none}.class-title{font-family:var(--serif);letter-spacing:-.02em;margin:4px 0 0;font-size:clamp(34px,4.5vw,48px);font-weight:400;line-height:1.05}.class-subtitle{font-family:var(--serif);color:var(--accent);margin:0;font-size:22px;font-style:italic}.class-summary{color:var(--fg-muted);max-width:70ch;margin:8px 0 0;font-size:15px;line-height:1.55}.class-sources{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.class-source{background:var(--surface-1);border:1px solid var(--hairline);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:11.5px;display:inline-flex}.cs-ic{color:var(--accent)}.cs-label{color:var(--fg);font-family:var(--mono);letter-spacing:.02em}.cs-meta{color:var(--fg-dim);font-family:var(--mono);font-size:10px}.class-source.add{color:var(--fg-muted);cursor:pointer;transition:color .15s}.class-source.add:hover{color:var(--accent)}.class-grid{grid-template-columns:260px 1fr 320px;align-items:start;gap:20px;display:grid}@media (width<=1200px){.class-grid{grid-template-columns:240px 1fr}.class-right{grid-column:1/-1}}@media (width<=900px){.class-grid{grid-template-columns:1fr}.class-left,.class-right{grid-column:auto}}.class-left{flex-direction:column;gap:14px;display:flex;position:sticky;top:16px}.class-right{background:var(--surface-1);border:1px solid var(--hairline);border-radius:14px;flex-direction:column;max-height:calc(100vh - 100px);display:flex;position:sticky;top:16px;overflow:hidden}@media (width<=1200px){.class-left,.class-right{max-height:none;position:static}}.cl-card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:12px;padding:14px}.cl-card-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cl-card-title{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;font-size:10px;font-weight:600;display:flex}.cl-card-count{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.06em;font-size:10px}.cl-card-foot{text-align:left;width:100%;color:var(--fg-muted);border-top:1px dashed var(--hairline-strong);cursor:pointer;font-size:11px;font-family:var(--mono);letter-spacing:.04em;align-items:center;gap:6px;margin-top:6px;padding:8px 4px;transition:color .15s;display:flex}.cl-card-foot:hover{color:var(--accent)}.fgroup{margin-bottom:4px}.fgroup-head{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;transition:background .12s;display:flex}.fgroup-head:hover{background:var(--surface-2)}.fgroup-name{color:var(--fg);flex:1;font-weight:500}.fgroup-count{font-family:var(--mono);color:var(--fg-dim);font-size:10px}.fgroup-caret{color:var(--fg-dim);font-size:9px}.fgroup-items{flex-direction:column;gap:6px;margin:0;padding:4px 6px 8px;list-style:none;display:flex}.fitem{background:var(--surface-3);border:1px solid var(--hairline);cursor:default;border-radius:7px;flex-direction:column;gap:3px;padding:8px 10px;transition:border-color .15s;display:flex}.fitem:hover{border-color:#9b8fff4d}.fitem-name{color:var(--fg-dim);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600}.fitem-tex{font-family:var(--mono);color:#e8e4d9;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-style:italic;overflow:hidden}.conn-list{flex-direction:column;gap:8px;display:flex}.conn-item{background:var(--surface-3);border:1px solid var(--hairline);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px;transition:border-color .15s;display:flex}.conn-item:hover{border-color:var(--hairline-bright)}.conn-arrow{color:var(--accent);font-family:var(--mono);margin-top:1px;font-size:14px}.conn-name{color:var(--fg);margin:0 0 2px;font-size:12.5px;font-weight:500}.conn-meta{color:var(--fg-dim);font-size:10.5px;font-family:var(--mono);margin:0}.class-center{flex-direction:column;gap:28px;min-width:0;display:flex}.block-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:14px;font-size:11px;font-weight:600;display:flex}.block-label.green{color:var(--c-mint)}.theory{background:var(--surface-1);border:1px solid var(--hairline);border-radius:14px;padding:22px 26px}.theory-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.theory-tag{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid #9b8fff4d;border-radius:4px;padding:3px 8px;font-size:9px;font-weight:700}.theory-topic{color:var(--fg-muted);font-size:12px}.theory-def{font-family:var(--serif);color:var(--fg);letter-spacing:-.005em;margin:0 0 16px;font-size:19px;line-height:1.45}.theory-def em{color:var(--accent);font-style:italic}.prop{border-left:2px solid #9b8fff66;margin-bottom:14px;padding:4px 0 4px 14px}.prop:last-child{margin-bottom:0}.prop-name{font-family:var(--mono);color:var(--accent);letter-spacing:.08em;margin:0 0 4px;font-size:11px;font-weight:700}.prop-text{color:var(--fg-muted);margin:0;font-size:13.5px;line-height:1.55}.prop-text em{color:var(--accent);font-style:italic}.prop-text strong{color:var(--fg);font-weight:600}.exercise{background:var(--surface-1);border:1px solid #6ee7b72e;border-radius:14px;margin-bottom:10px;overflow:hidden}.exercise.compact{border-color:var(--hairline)}.ex-stripe{background:linear-gradient(90deg, var(--c-mint), #6ee7b71a, transparent);height:1px}.exercise.compact .ex-stripe{background:linear-gradient(90deg, var(--hairline-bright), transparent)}.ex-body{padding:18px 22px}.ex-head{align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.exercise.compact .ex-head{margin-bottom:0}.ex-num{font-family:var(--mono);background:var(--surface-3);border:1px solid var(--hairline);color:var(--fg);letter-spacing:.08em;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:10px;font-weight:700}.ex-q-block{flex:1}.ex-q{font-family:var(--serif);color:var(--fg);margin:0;font-size:18px;line-height:1.4}.ex-q em{color:var(--accent);font-style:italic}.ex-method{font-family:var(--mono);color:var(--c-mint);letter-spacing:.04em;margin:4px 0 0;font-size:11px}.ex-fav,.ex-collapse{width:28px;height:28px;color:var(--fg-dim);cursor:pointer;border-radius:7px;transition:background .12s,color .12s}.ex-fav:hover,.ex-collapse:hover{background:var(--surface-3);color:var(--accent)}.ex-step{gap:14px;margin-bottom:14px;display:flex}.ex-step-n{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);font-family:var(--mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:11px;font-weight:700;display:flex}.ex-step-body{flex:1}.ex-step-title{color:var(--fg);margin:0 0 4px;font-size:12.5px;font-weight:700}.ex-step-body p{color:var(--fg-muted);margin:0;font-size:13px;line-height:1.55}.ex-step-body p em{color:var(--accent);font-style:italic}.ex-step-body p strong{color:var(--fg);font-weight:600}.ex-tex{background:var(--bg);border:1px solid var(--hairline);font-family:var(--mono);color:#c4b8ff;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:12.5px;font-style:italic}.ex-result{background:var(--c-mint-soft);border:1px solid #6ee7b740;border-radius:8px;margin-top:12px;padding:10px 14px}.ex-result-label{font-family:var(--mono);color:#6ee7b7bf;letter-spacing:.16em;text-transform:uppercase;margin:0 0 4px;font-size:9px;font-weight:700}.ex-result-text{font-family:var(--mono);color:var(--c-mint);margin:0;font-size:14px;font-style:italic}.ex-foot{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.ex-pill{background:var(--surface-3);border:1px solid var(--hairline);color:var(--fg-muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:11.5px;transition:all .15s;display:inline-flex}.ex-pill:hover{color:var(--fg);border-color:var(--hairline-bright)}.practice-banner{background:linear-gradient(135deg,#9b8fff1a,#6ee7b70f);border:1px solid #9b8fff40;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;display:flex}.pb-eyebrow{font-family:var(--mono);color:var(--accent);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;font-size:10px;font-weight:700;display:inline-flex}.pb-title{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:22px;line-height:1.2}.pb-sub{color:var(--fg-muted);max-width:50ch;margin:4px 0 0;font-size:13px}.cr-tabs{border-bottom:1px solid var(--hairline);background:var(--surface-2);flex-shrink:0;display:flex}.cr-tab{color:var(--fg-muted);cursor:pointer;font-size:11.5px;font-family:var(--mono);letter-spacing:.04em;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 6px;transition:all .15s;display:flex}.cr-tab:hover{color:var(--fg)}.cr-tab.active{color:var(--fg);border-bottom-color:var(--accent);background:var(--surface-1)}.cr-pane{flex:1;padding:18px;overflow-y:auto}.cr-pane::-webkit-scrollbar{width:6px}.cr-pane::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:3px}.checklist{flex-direction:column;gap:4px;display:flex}.cl-progress-row{font-family:var(--mono);color:var(--fg-muted);letter-spacing:.08em;justify-content:space-between;margin-bottom:6px;font-size:10px;display:flex}.cl-bar{background:var(--surface-3);border-radius:999px;height:4px;margin-bottom:14px;overflow:hidden}.cl-bar-fill{background:linear-gradient(90deg, var(--accent), var(--c-mint));border-radius:999px;height:100%;transition:width .3s}.cl-items{flex-direction:column;display:flex}.cl-item{border-bottom:1px solid var(--hairline);cursor:pointer;align-items:center;gap:10px;padding:10px 4px;display:flex}.cl-check{border:1.5px solid var(--hairline-bright);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.cl-check.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.cl-text{color:var(--fg);flex:1;font-size:13px;line-height:1.4}.cl-item.done .cl-text{color:var(--fg-dim);text-decoration:line-through}.cl-suggest{background:var(--accent-soft);border:1px solid #9b8fff40;border-radius:10px;margin-top:18px;padding:14px}.cl-suggest-label{font-family:var(--mono);color:var(--accent);letter-spacing:.12em;align-items:center;gap:6px;margin-bottom:8px;font-size:10px;font-weight:700;display:inline-flex}.cl-suggest p{color:var(--fg);margin:0 0 10px;font-size:12.5px;line-height:1.5}.cl-suggest-btn{font-family:var(--mono);color:var(--accent);cursor:pointer;letter-spacing:.04em;align-items:center;gap:6px;padding:0;font-size:11px;display:inline-flex}.flash{flex-direction:column;gap:14px;display:flex}.flash-progress{font-family:var(--mono);color:var(--fg-muted);letter-spacing:.04em;justify-content:space-between;align-items:center;font-size:11px;display:flex}.flash-deck{color:var(--fg-dim);font-size:10px}.flash-card{cursor:pointer;perspective:1000px;border-radius:12px;height:220px;position:relative}.flash-side{background:var(--surface-3);border:1px solid var(--hairline-strong);backface-visibility:hidden;border-radius:12px;flex-direction:column;gap:10px;padding:22px;transition:transform .5s;display:flex;position:absolute;inset:0}.flash-side.front{transform:rotateY(0)}.flash-side.back{background:linear-gradient(135deg, var(--accent-soft), var(--surface-3));transform:rotateY(180deg)}.flash-card.flipped .flash-side.front{transform:rotateY(180deg)}.flash-card.flipped .flash-side.back{transform:rotateY(360deg)}.flash-side-label{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.16em;font-size:10px}.flash-text{font-family:var(--serif);letter-spacing:-.005em;margin:auto 0;font-size:19px;line-height:1.3}.flash-hint{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.1em;text-align:center;margin-top:auto;font-size:10px}.flash-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.flash-btn{cursor:pointer;border:1px solid;border-radius:8px;padding:9px 10px;font-size:12px;font-weight:600;transition:all .15s}.flash-btn.coral{color:var(--c-coral);background:var(--c-coral-soft);border-color:#f09bb74d}.flash-btn.amber{color:var(--c-amber);background:var(--c-amber-soft);border-color:#fcd34d4d}.flash-btn.mint{color:var(--c-mint);background:var(--c-mint-soft);border-color:#6ee7b74d}.flash-btn:hover{transform:translateY(-1px)}.flash-foot{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.06em;justify-content:space-between;margin-top:4px;font-size:10.5px;display:flex}.flash-foot span{cursor:pointer;align-items:center;gap:6px;transition:color .15s;display:inline-flex}.flash-foot span:hover{color:var(--accent)}.chat{flex-direction:column;gap:14px;height:100%;display:flex}.chat-msgs{flex-direction:column;gap:10px;display:flex}.chat-msg{align-items:flex-end;gap:8px;display:flex}.chat-msg.me{flex-direction:row-reverse}.chat-avatar .ch-av{background:var(--accent);width:22px;height:22px;color:var(--bg);font-family:var(--serif);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.chat-bubble{background:var(--surface-3);max-width:86%;color:var(--fg);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5}.chat-msg.me .chat-bubble{background:var(--accent-soft);border:1px solid #9b8fff4d}.chat-suggest{flex-wrap:wrap;gap:6px;display:flex}.chat-suggest button{background:var(--surface-3);border:1px solid var(--hairline);color:var(--fg-muted);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:11px;transition:all .15s}.chat-suggest button:hover{color:var(--fg);border-color:var(--hairline-bright)}.chat-input{background:var(--surface-3);border:1px solid var(--hairline);border-radius:10px;align-items:center;gap:8px;margin-top:auto;padding:8px 10px;display:flex}.chat-input input{color:var(--fg);background:0 0;border:0;outline:0;flex:1;font-size:13px}.chat-input input::placeholder{color:var(--fg-dim)}.chat-send{background:var(--accent);width:30px;height:30px;color:var(--bg);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;display:flex}.upload-wrap{max-width:1000px}.upload-tabs{background:var(--surface-1);border:1px solid var(--hairline);border-radius:9px;flex-wrap:wrap;gap:2px;margin-bottom:18px;padding:3px;display:flex}.upl-tab{color:var(--fg-muted);cursor:pointer;border-radius:7px;align-items:center;gap:7px;padding:7px 14px;font-size:12.5px;transition:all .15s;display:inline-flex}.upl-tab:hover{color:var(--fg)}.upl-tab.active{background:var(--surface-3);color:var(--fg)}.upload-dz{background:radial-gradient(circle at 50% 0%, #9b8fff12, transparent 60%), var(--surface-1);text-align:center;cursor:pointer;border:1.5px dashed #9b8fff59;border-radius:18px;flex-direction:column;align-items:center;gap:14px;padding:60px 32px;transition:all .18s;display:flex;position:relative;overflow:hidden}.upload-dz:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(45deg,#0000 0 16px,#9b8fff06 16px 17px);position:absolute;inset:0}.upload-dz:hover{border-color:#9b8fff8c}.udz-icon{background:var(--accent-soft);width:80px;height:80px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.udz-title{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:32px}.udz-sub{color:var(--fg-muted);max-width:50ch;margin:0;font-size:13px}.udz-formats{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:4px;display:flex}.udz-fmt{font-family:var(--mono);background:var(--surface-3);border:1px solid var(--hairline);color:var(--fg-muted);letter-spacing:.06em;border-radius:4px;padding:2px 8px;font-size:10px}.udz-btn{margin-top:12px}.upload-context{margin-top:20px}.uc-row{border-bottom:1px solid var(--hairline);align-items:center;gap:16px;padding:12px 0;display:flex}.uc-row:last-child{border-bottom:0}.uc-k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);flex-shrink:0;width:180px;font-size:10px}.uc-select,.uc-input{background:var(--surface-3);border:1px solid var(--hairline);color:var(--fg);border-radius:7px;outline:0;padding:7px 10px;font-size:13px}.uc-select:focus,.uc-input:focus{border-color:var(--accent)}.uc-segment{flex-wrap:wrap;gap:4px;display:flex}.uc-segment button{background:var(--surface-3);border:1px solid var(--hairline);color:var(--fg-muted);cursor:pointer;border-radius:7px;padding:6px 12px;font-size:12px;transition:all .15s}.uc-segment.small button{padding:5px 10px;font-size:11.5px}.uc-segment button:hover{color:var(--fg)}.uc-segment button.active{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:600}.upload-progress-card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:14px;padding:22px}.upc-files{flex-direction:column;gap:10px;display:flex}.fp{background:var(--surface-3);border:1px solid var(--hairline);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.fp-thumb{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.fp-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.fp-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.fp-name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.fp-size{font-family:var(--mono);color:var(--fg-dim);font-size:10.5px}.fp-bar{background:var(--surface-elev);border-radius:999px;height:3px;overflow:hidden}.fp-bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .15s linear}.fp-meta{font-family:var(--mono);color:var(--fg-muted);letter-spacing:.04em;font-size:10.5px}.fp-check{color:var(--c-mint)}.upc-total{border-top:1px solid var(--hairline);margin-top:20px;padding-top:16px}.upc-total-bar{background:var(--surface-3);border-radius:999px;height:6px;overflow:hidden}.upc-total-fill{background:linear-gradient(90deg, var(--accent), var(--c-mint));border-radius:999px;height:100%;transition:width .15s linear}.upc-total-info{color:var(--fg-muted);justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.upc-total-info .mono{font-family:var(--mono);color:var(--fg-dim);font-size:11px}.upload-processing{background:var(--surface-1);border:1px solid var(--hairline);border-radius:14px;padding:32px}.proc-header{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-bottom:28px;display:flex}.proc-pulse{gap:6px;display:flex}.proc-pulse span{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite procBounce}.proc-pulse span:nth-child(2){animation-delay:.2s}.proc-pulse span:nth-child(3){animation-delay:.4s}@keyframes procBounce{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.proc-title{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:30px}.proc-sub{color:var(--fg-muted);max-width:50ch;margin:0;font-size:13px}.proc-steps{flex-direction:column;display:flex}.proc-step{border:1px solid var(--hairline);background:var(--surface-3);border-radius:10px;align-items:center;gap:14px;margin-bottom:8px;padding:14px 18px;transition:all .3s;display:flex}.proc-step.pending{opacity:.5}.proc-step.active{background:var(--accent-soft);border-color:#9b8fff73}.proc-step.done{background:#6ee7b70a;border-color:#6ee7b72e}.ps-dot{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.proc-step.done .ps-dot{color:var(--c-mint);background:var(--c-mint-soft);border-radius:50%}.ps-spinner{border:2px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ps-empty{border:1.5px dashed var(--hairline-bright);border-radius:50%;width:10px;height:10px}.ps-body{flex:1}.ps-title{color:var(--fg);margin:0;font-size:13px;font-weight:500}.ps-meta{color:var(--fg-muted);font-size:11px;font-family:var(--mono);letter-spacing:.02em;margin:2px 0 0}.ps-time{font-family:var(--mono);color:var(--fg-dim);font-size:11px}.proc-preview{border-top:1px solid var(--hairline);margin-top:24px;padding-top:24px}.pp-label{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;font-size:10px}.pp-skel{flex-direction:column;gap:8px;display:flex}.skel{background:linear-gradient(90deg, var(--surface-3) 0%, var(--surface-elev) 50%, var(--surface-3) 100%);background-size:200% 100%;border-radius:4px;animation:1.6s linear infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skel-title{width:60%;height:24px}.skel-line{height:12px}.skel-line.short{width:40%}.skel-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.skel-block{height:80px}.upload-done{background:radial-gradient(circle at 50% 0%, #9b8fff14, transparent 60%), var(--surface-1);text-align:center;border:1px solid #6ee7b72e;border-radius:14px;flex-direction:column;align-items:center;gap:14px;padding:48px 36px;display:flex}.ud-icon{background:var(--c-mint-soft);width:72px;height:72px;color:var(--c-mint);border-radius:50%;justify-content:center;align-items:center;display:flex}.ud-title{font-family:var(--serif);letter-spacing:-.015em;margin:0;font-size:36px;line-height:1.1}.ud-sub{color:var(--fg-muted);max-width:60ch;margin:0;font-size:13.5px}.ud-grid{grid-template-columns:repeat(6,1fr);gap:8px;width:100%;margin-top:14px;display:grid}@media (width<=800px){.ud-grid{grid-template-columns:repeat(3,1fr)}}.ud-stat{background:var(--surface-3);border:1px solid var(--hairline);text-align:left;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.udk{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.udv{font-family:var(--serif);font-size:18px;line-height:1}.udv.acc{color:var(--c-mint)}.ud-actions{gap:8px;margin-top:18px;display:flex}.plan-wrap{max-width:1320px}.plan-actions{flex-wrap:wrap;gap:8px;display:flex}.plan-summary{border:1px solid var(--hairline);background:var(--surface-1);border-radius:14px;grid-template-columns:repeat(5,1fr);margin-bottom:18px;display:grid;overflow:hidden}@media (width<=900px){.plan-summary{grid-template-columns:repeat(3,1fr)}}.ps-cell{border-right:1px solid var(--hairline);flex-direction:column;gap:4px;padding:16px 18px;display:flex}.ps-cell:last-child{border-right:0}.ps-k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);font-size:10px}.ps-v{font-family:var(--serif);letter-spacing:-.02em;font-size:28px;line-height:1}.ps-v.acc{color:var(--accent)}.ps-sub{color:var(--fg-muted);font-size:11px;font-family:var(--mono)}.cal-frame{background:var(--surface-1);border:1px solid var(--hairline);border-radius:14px;overflow:hidden}.cal-toolbar{border-bottom:1px solid var(--hairline);align-items:center;gap:10px;padding:12px 16px;display:flex}.cal-nav{background:var(--surface-3);width:28px;height:28px;color:var(--fg-muted);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;transition:all .15s;display:flex}.cal-nav:hover{color:var(--fg);background:var(--surface-elev)}.cal-range{font-family:var(--serif);letter-spacing:-.005em;font-size:18px}.cal-spacer{flex:1}.cal-view-tabs{background:var(--surface-3);border:1px solid var(--hairline);border-radius:8px;gap:2px;padding:3px;display:flex}.cal-view-tabs button{color:var(--fg-muted);cursor:pointer;border-radius:6px;padding:5px 12px;font-size:11.5px;transition:all .15s}.cal-view-tabs button.active{background:var(--surface-elev);color:var(--fg)}.cal-grid{grid-template-columns:60px repeat(7,1fr);display:grid;overflow-x:auto}.cal-hours-col{border-right:1px solid var(--hairline)}.cal-hours-head{border-bottom:1px solid var(--hairline);height:44px}.cal-hour{height:60px;font-family:var(--mono);color:var(--fg-dim);letter-spacing:.04em;border-bottom:1px dashed var(--hairline);justify-content:flex-end;align-items:flex-start;padding-right:8px;font-size:10px;display:flex}.cal-hour span{background:var(--surface-1);padding:0 4px;transform:translateY(-7px)}.cal-day{border-right:1px solid var(--hairline);min-width:100px;position:relative;overflow:hidden}.cal-day:last-child{border-right:0}.cal-day.spotlight{background:#f09bb706}.cal-day-head{border-bottom:1px solid var(--hairline);flex-direction:column;justify-content:center;align-items:center;gap:1px;height:44px;display:flex}.cdh-day{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.cdh-date{font-family:var(--serif);font-size:18px;line-height:1}.cdh-date.today{background:var(--accent);color:var(--bg);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:flex}.cal-cell{border-bottom:1px dashed var(--hairline);height:60px}.cal-evt{cursor:pointer;border:1px solid;border-radius:6px;padding:6px 8px;transition:transform .12s,box-shadow .12s;position:absolute;left:4px;right:4px;overflow:hidden}.cevt-stripe{width:3px;position:absolute;top:0;bottom:0;left:0}.cevt-body{flex-direction:column;gap:2px;min-width:0;padding-left:8px;display:flex}.cevt-time{font-family:var(--mono);color:var(--fg-muted);letter-spacing:.04em;font-size:9.5px}.cevt-title{color:var(--fg);font-size:11.5px;font-weight:500;line-height:1.25}.cevt-course{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:9.5px;font-weight:700}.cevt-flag{font-family:var(--mono);background:var(--c-coral-soft);color:var(--c-coral);letter-spacing:.14em;border:1px solid #f09bb74d;border-radius:3px;align-self:flex-start;margin-top:4px;padding:2px 6px;font-size:8.5px;font-weight:700}.cevt-flag.amber{background:var(--c-amber-soft);color:var(--c-amber);border-color:#fcd34d4d}.plan-bottom{grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;display:grid}@media (width<=900px){.plan-bottom{grid-template-columns:1fr}}.prediction-body{grid-template-columns:1fr 1fr;gap:18px;padding:20px;display:grid}@media (width<=600px){.prediction-body{grid-template-columns:1fr}}.pred-gauge{position:relative}.pred-num{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.pred-v{font-family:var(--serif);color:var(--accent);font-size:40px;line-height:1}.pred-k{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.14em;text-transform:uppercase;font-size:9px}.pred-facts{flex-direction:column;display:flex}.pf-row{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:9px 0;display:flex}.pf-row:last-child{border-bottom:0}.pf-k{color:var(--fg-muted);font-size:12px}.pf-v{font-family:var(--serif);font-size:22px;line-height:1}.pf-v.acc{color:var(--accent)}.pf-v.coral{color:var(--c-coral)}.pf-v.small{font-family:var(--mono);color:var(--c-amber);letter-spacing:.04em;font-size:11px}.workload-body{flex-direction:column;gap:10px;padding:20px;display:flex}.wl-row{align-items:center;gap:12px;display:flex}.wl-d{width:32px;font-family:var(--mono);color:var(--fg-muted);letter-spacing:.04em;font-size:11px}.wl-bar{background:var(--surface-3);border-radius:999px;flex:1;height:8px;position:relative;overflow:hidden}.wl-fill{background:linear-gradient(90deg, var(--accent), var(--accent-warm));border-radius:999px;height:100%}.wl-fill.over{background:linear-gradient(90deg, var(--c-coral), var(--c-amber))}.wl-h{font-family:var(--mono);color:var(--fg);text-align:right;letter-spacing:.02em;width:42px;font-size:11px}.wl-foot{color:var(--fg-muted);margin:8px 0 0;font-size:12px;line-height:1.5}.guide{max-width:920px}.guide-steps{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:4px;display:grid}@media (width<=760px){.guide-steps{grid-template-columns:1fr}}.guide-step{background:var(--surface-1);border:1px solid var(--hairline);border-radius:14px;flex-direction:column;gap:8px;padding:20px;display:flex}.guide-step-ic{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.guide-step-n{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);font-size:10px}.guide-step-title{font-family:var(--serif);letter-spacing:-.01em;font-size:21px;font-weight:400;line-height:1.15}.guide-step-desc{color:var(--fg-muted);margin:0;font-size:13px;line-height:1.5}.guide-cta-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;display:flex}.guide-cta{background:var(--accent);color:var(--accent-ink);font-family:var(--sans);border:1px solid var(--accent);cursor:pointer;border-radius:11px;align-items:center;gap:10px;padding:13px 22px;font-size:14px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.guide-cta:hover{background:#b7adff;transform:translateY(-1px)}.guide-cta-note{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.04em;font-size:11px}.cycle-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (width<=760px){.cycle-grid{grid-template-columns:1fr}}.cycle-card{background:var(--surface-1);border:1px solid var(--hairline);cursor:pointer;border-radius:14px;flex-direction:column;gap:12px;padding:18px 20px;transition:transform .15s,border-color .15s,background .15s;display:flex}.cycle-card:hover{border-color:var(--hairline-bright);background:var(--surface-2);transform:translateY(-2px)}.cycle-card.active{border-color:#9b8fff59}.cycle-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cycle-card-name{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:26px;font-weight:400;line-height:1.05}.cycle-card-dates{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.04em;font-size:11px}.cycle-card-foot{border-top:1px solid var(--hairline);color:var(--fg-muted);align-items:center;gap:8px;padding-top:12px;font-size:12px;display:flex}.cycle-card-count{font-family:var(--mono);letter-spacing:.04em;align-items:center;gap:6px;display:inline-flex}.grades-tab-toolbar{justify-content:flex-end;margin-bottom:14px;display:flex}.grades-config-btn{font-family:var(--sans);color:var(--fg-muted);background:var(--surface-1);border:1px solid var(--hairline-strong);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:8px 14px;font-size:12.5px;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.grades-config-btn:hover{color:var(--fg);border-color:var(--accent);background:var(--surface-2)}.grades-panel{flex-direction:column;gap:16px;display:flex}.grades-stats{border:1px solid var(--hairline);background:var(--surface-1);border-radius:14px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.grades-stats .cstat:last-child{border-right:0}@media (width<=600px){.grades-stats{grid-template-columns:1fr}.grades-stats .cstat{border-right:0;border-bottom:1px solid var(--hairline)}.grades-stats .cstat:last-child{border-bottom:0}}.grades-banner{border:1px solid var(--hairline-strong);background:var(--surface-1);border-radius:13px;align-items:flex-start;gap:11px;padding:14px 18px;display:flex}.grades-banner .gb-ic{color:var(--fg-muted);flex-shrink:0;margin-top:1px}.grades-banner-body{flex:1;min-width:0}.grades-banner p{color:var(--fg-muted);margin:0;font-size:13px;line-height:1.55}.grades-banner p b{color:var(--fg);font-weight:600}.grades-banner.mint{background:var(--c-mint-soft);border-color:#6ee7b747}.grades-banner.mint .gb-ic{color:var(--c-mint)}.grades-banner.amber{background:var(--c-amber-soft);border-color:#fcd34d47}.grades-banner.amber .gb-ic{color:var(--c-amber)}.grades-banner.coral{background:var(--c-coral-soft);border-color:#f09bb747}.grades-banner.coral .gb-ic{color:var(--c-coral)}.grades-banner.info{background:var(--c-blue-soft);border-color:#88bcff3d}.grades-banner.info .gb-ic{color:var(--c-blue)}.grades-progress{background:var(--hairline-bright);border-radius:3px;height:5px;margin-top:10px;overflow:hidden}.grades-progress-fill{border-radius:3px;height:100%;transition:width .5s}.grades-sub-scenarios{flex-direction:column;gap:12px;display:flex}.grades-sub-scenarios-title{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);margin:0 0 2px;font-size:11px}.grades-explain-btn{cursor:pointer;background:var(--accent-soft);width:100%;color:var(--accent);font-size:13.5px;font-weight:600;font-family:var(--sans);border:1px solid #9b8fff47;border-radius:12px;align-items:center;gap:9px;padding:12px 15px;transition:background .15s,border-color .15s;display:flex}.grades-explain-btn:hover{background:#9b8fff29;border-color:#9b8fff73}.grades-explain-btn>span{text-align:left;flex:1}.grades-explain-btn-arrow{opacity:.55}.gt-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#05050ca8;justify-content:center;align-items:center;padding:20px;animation:.15s gt-fade;display:flex;position:fixed;inset:0}@keyframes gt-fade{0%{opacity:0}to{opacity:1}}.gt-modal{background:var(--surface-1);border:1px solid var(--hairline);border-radius:18px;width:100%;max-width:440px;padding:20px 22px 18px;animation:.18s cubic-bezier(.2,.8,.2,1) gt-pop;box-shadow:0 24px 60px #00000080}@keyframes gt-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.gt-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.gt-step-count{font-family:var(--mono);letter-spacing:.08em;color:var(--fg-dim);text-transform:uppercase;font-size:11px}.gt-close{color:var(--fg-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px;display:flex}.gt-close:hover{color:var(--fg);background:var(--surface-3)}.gt-title{align-items:center;gap:9px;margin-bottom:14px;display:flex}.gt-title-icon{color:var(--c-mint);display:flex}.gt-title h3{color:var(--fg);margin:0;font-size:17px;font-weight:650}.gt-body{min-height:116px}.gt-lead{color:var(--fg);margin:0 0 12px;font-size:14px;line-height:1.5}.gt-note{color:var(--fg-muted);border-left:2px solid var(--surface-3);margin:10px 0 0;padding-left:10px;font-size:12.5px;line-height:1.5}.gt-bars{flex-direction:column;gap:11px;display:flex}.gt-bar-row{align-items:center;gap:10px;display:flex}.gt-bar-label{color:var(--fg);flex:0 0 40%;font-size:12.5px}.gt-bar-track{background:var(--surface-3);border-radius:5px;flex:1;height:8px;overflow:hidden}.gt-bar-fill{background:var(--c-mint);border-radius:5px;height:100%;display:block}.gt-bar-pct{text-align:right;font-family:var(--mono);color:var(--c-mint);flex:0 0 38px;font-size:12px}.gt-list{flex-direction:column;gap:8px;margin:8px 0 0;padding-left:18px;display:flex}.gt-list li{color:var(--fg);font-size:13px;line-height:1.45}.gt-rules{margin-top:14px}.gt-rules-toggle{color:var(--fg-muted);cursor:pointer;font-size:12.5px;font-weight:600;font-family:var(--sans);background:0 0;border:none;padding:4px 0}.gt-rules-toggle:hover{color:var(--fg)}.gt-rules-list li{color:var(--fg-muted);font-size:12px}.gt-dots{justify-content:center;gap:6px;margin:18px 0 14px;display:flex}.gt-dot{background:var(--surface-3);border-radius:50%;width:6px;height:6px;transition:width .15s,background .15s}.gt-dot.on{background:var(--c-mint);border-radius:3px;width:18px}.gt-nav{justify-content:space-between;align-items:center;gap:10px;display:flex}.gt-btn{cursor:pointer;font-size:13px;font-weight:600;font-family:var(--sans);border:1px solid #0000;border-radius:10px;align-items:center;gap:5px;padding:9px 16px;display:inline-flex}.gt-btn.ghost{color:var(--fg-muted);background:0 0}.gt-btn.ghost:hover{color:var(--fg);background:var(--surface-3)}.gt-btn.primary{background:var(--c-mint);color:#0b1a14}.gt-btn.primary:hover{filter:brightness(1.06)}.grades-group{background:var(--surface-1);border:1px solid var(--hairline);border-radius:14px;overflow:hidden}.grades-group-head{border-bottom:1px solid var(--hairline);background:var(--surface-2);align-items:center;gap:9px;padding:13px 18px;display:flex}.grades-group-head .gg-ic{color:var(--accent);flex-shrink:0}.grades-group-title{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--fg);font-size:11px;font-weight:600}.grades-group-weight{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.04em;font-size:10.5px}.grades-group-avg{flex-shrink:0;margin-left:auto}.eval-row{border-top:1px solid var(--hairline);align-items:center;gap:14px;padding:13px 18px;transition:background .12s;display:flex}.eval-row:first-child{border-top:0}.eval-row:hover{background:var(--surface-2)}.eval-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.eval-label{font-family:var(--sans);color:var(--fg);font-size:14px;font-weight:500;line-height:1.3}.eval-meta{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.03em;flex-wrap:wrap;align-items:center;gap:8px;font-size:10.5px;display:flex}.eval-meta .em-unit{color:var(--accent)}.eval-tag{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;background:var(--hairline-strong);color:var(--fg-muted);border-radius:5px;padding:2px 6px;font-size:9.5px}.eval-tag.warn{background:var(--c-amber-soft);color:var(--c-amber)}.eval-score-wrap{flex-shrink:0;align-items:center;gap:6px;display:flex}.eval-score{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.eval-score.pass{color:var(--c-mint)}.eval-score.fail{color:var(--c-coral)}.eval-icon-btn{width:27px;height:27px;color:var(--fg-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex}.eval-icon-btn:hover{color:var(--fg);background:var(--surface-3)}.eval-icon-btn.danger:hover{color:var(--c-coral)}.eval-icon-btn.ok:hover{color:var(--c-mint)}.btn-enter-grade{font-family:var(--mono);letter-spacing:.04em;color:var(--fg-muted);border:1px dashed var(--hairline-bright);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;padding:7px 14px;font-size:11px;transition:color .15s,border-color .15s,background .15s}.btn-enter-grade:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.eval-input{background:var(--surface-3);border:1px solid var(--accent);width:70px;color:var(--fg);font-family:var(--mono);text-align:center;border-radius:8px;outline:none;padding:6px 8px;font-size:13px}.eval-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.eval-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.grades-empty{text-align:center;padding:44px 28px}.grades-empty .ge-ic{color:var(--fg-dim);margin-bottom:14px}.grades-empty-title{font-family:var(--serif);color:var(--fg);margin:0 0 6px;font-size:22px;font-weight:400}.grades-empty-desc{color:var(--fg-muted);max-width:440px;margin:0 auto;font-size:13px;line-height:1.55}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(5px);background:#08080eb8;justify-content:center;align-items:center;padding:24px 20px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface-1);border:1px solid var(--hairline-strong);border-radius:16px;flex-direction:column;width:100%;max-width:560px;max-height:88dvh;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px -10px #0009}.modal-card.scroll-body{overflow:hidden}.modal-card.scroll-body>.modal-body{flex:1;overflow-y:auto}.modal-close{z-index:2;background:var(--surface-2);border:1px solid var(--hairline);width:32px;height:32px;color:var(--fg-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex;position:absolute;top:12px;right:12px}.modal-close:hover{background:var(--surface-3);color:var(--fg)}@media (width<=640px){.modal-overlay{align-items:flex-end;padding:0}.modal-card{max-width:100%;max-height:92dvh;padding-bottom:var(--safe-bottom);border-bottom:0;border-radius:18px 18px 0 0;animation:.22s cubic-bezier(.4,0,.2,1) modalSlideUp}.modal-card:before{content:"";background:var(--hairline-bright);pointer-events:none;z-index:3;border-radius:2px;width:38px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}}@keyframes modalSlideUp{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.settings-panel{padding-top:var(--safe-top)!important;padding-bottom:var(--safe-bottom)!important;padding-right:var(--safe-right)!important}@media (width<=640px){.settings-panel{width:min(340px,92vw)!important}}.gm-overlay{z-index:500;-webkit-backdrop-filter:blur(5px);background:#08080eb8;justify-content:center;align-items:center;padding:20px 16px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.gm-card{background:var(--surface-1);border:1px solid var(--hairline-strong);border-radius:16px;flex-direction:column;width:100%;max-width:580px;max-height:88dvh;display:flex;overflow-y:auto}@media (width<=640px){.gm-overlay{align-items:flex-end;padding:0}.gm-card{max-width:100%;max-height:92dvh;padding-top:14px;padding-bottom:var(--safe-bottom);border-bottom:0;border-radius:18px 18px 0 0;animation:.22s cubic-bezier(.4,0,.2,1) modalSlideUp;position:relative}.gm-card:before{content:"";background:var(--hairline-bright);pointer-events:none;z-index:4;border-radius:2px;width:38px;height:4px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.gm-head{border-radius:0;padding:12px 18px;position:static}.gm-body{padding:16px 18px 24px}}.gm-head{border-bottom:1px solid var(--hairline);z-index:1;background:var(--surface-1);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}.gm-head-title{font-family:var(--serif);color:var(--fg);letter-spacing:-.01em;font-size:23px;font-weight:400}.gm-close{background:var(--surface-2);border:1px solid var(--hairline);width:30px;height:30px;color:var(--fg-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex}.gm-close:hover{color:var(--fg);background:var(--surface-3)}.gm-body{padding:20px}.gm-section-title{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:14px;font-size:10px;font-weight:600}.gm-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:6px;font-size:10px;display:block}.gm-input{box-sizing:border-box;background:var(--surface-3);border:1px solid var(--hairline-strong);width:100%;color:var(--fg);font-family:var(--sans);border-radius:9px;outline:none;padding:9px 12px;font-size:13px;transition:border-color .15s}.gm-input:focus{border-color:var(--accent)}.gm-sep{background:var(--hairline);height:1px;margin:22px 0}.gm-row{background:var(--surface-2);border:1px solid var(--hairline);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;display:flex}.gm-row-name{font-family:var(--sans);color:var(--fg);cursor:text;flex:1;font-size:13px}.gm-row-weight{font-family:var(--mono);color:var(--fg-muted);flex-shrink:0;font-size:12px}.gm-add{background:var(--surface-2);border:1px dashed var(--hairline-bright);border-radius:10px;align-items:flex-end;gap:8px;margin-top:10px;padding:12px;display:flex}.gm-unit-add{background:var(--accent-soft);border:1px dashed #9b8fff4d;border-radius:12px;margin-top:8px;padding:14px}.gm-unit-add-title{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-size:11px;font-weight:600}.gm-unit-name{font-family:var(--sans);color:var(--fg);margin-bottom:10px;font-size:13px;font-weight:600}.gm-empty{color:var(--fg-dim);font-size:13px;font-style:italic}.gm-btn-primary{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);font-family:var(--sans);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.gm-btn-primary:hover{background:#b7adff}.gm-btn-primary:disabled{opacity:.55;cursor:not-allowed}.gm-btn-primary.saved{background:var(--c-mint-soft);color:var(--c-mint);border-color:#6ee7b766}.gm-btn-ghost{color:var(--fg-muted);border:1px solid var(--hairline-strong);font-family:var(--sans);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}.gm-btn-ghost:hover{color:var(--fg);border-color:var(--accent)}.gm-btn-danger{background:var(--c-coral-soft);color:var(--c-coral);cursor:pointer;border:1px solid #f09bb740;border-radius:8px;justify-content:center;align-items:center;padding:6px 9px;font-size:12px;transition:background .15s;display:flex}.gm-btn-danger:hover{background:#f09bb72e}.gm-toggle-row{cursor:pointer;align-items:center;gap:12px;margin-bottom:16px;display:flex}.gm-toggle{background:var(--surface-3);border:1px solid var(--hairline-strong);border-radius:12px;flex-shrink:0;width:42px;height:24px;transition:background .2s,border-color .2s;position:relative}.gm-toggle.on{background:var(--accent-soft);border-color:var(--accent)}.gm-toggle-knob{background:var(--fg-dim);border-radius:50%;width:18px;height:18px;transition:left .2s,background .2s;position:absolute;top:2px;left:2px}.gm-toggle.on .gm-toggle-knob{background:var(--accent);left:20px}.gm-toggle-label{color:var(--fg);font-size:13px;font-weight:600}.gm-toggle-hint{font-family:var(--mono);color:var(--fg-dim);margin-top:2px;font-size:10.5px}.cs-sections{flex-direction:column;gap:12px;display:flex}.cs-section{background:var(--surface-1);border:1px solid var(--hairline);border-radius:14px;transition:border-color .15s;overflow:hidden}.cs-section.open{border-color:var(--hairline-strong)}.cs-section-btn{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:14px;width:100%;padding:15px 18px;transition:background .15s,transform .16s ease-out;display:flex}.cs-section-btn:hover{background:var(--surface-2)}.cs-section-btn:active{transform:scale(.99)}.cs-section-ic{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cs-section-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cs-section-title{font-family:var(--sans);color:var(--fg);font-size:14px;font-weight:600}.cs-section-summary{color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.cs-section-chevron{color:var(--fg-dim);flex-shrink:0;transition:transform .2s cubic-bezier(.23,1,.32,1)}.cs-section.open .cs-section-chevron{transform:rotate(90deg)}.cs-section-body{border-top:1px solid var(--hairline);padding:20px;animation:.15s fadeIn}.cs-form{flex-direction:column;gap:16px;display:flex}.cs-field{flex-direction:column;gap:6px;display:flex}.cs-hint{color:var(--fg-muted);margin:0;font-size:12.5px;line-height:1.55}.cs-divider{background:var(--hairline);height:1px;margin:2px 0}.cs-textarea{resize:vertical;min-height:62px;line-height:1.5}.cs-area-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.cs-area-tile{text-align:left;background:var(--surface-2);border:1px solid var(--hairline);cursor:pointer;font-family:var(--sans);border-radius:11px;padding:12px 14px;transition:border-color .15s,background .15s,transform .16s ease-out}.cs-area-tile:hover{border-color:var(--hairline-strong)}.cs-area-tile:active{transform:scale(.99)}.cs-area-tile.selected{background:var(--accent-soft);border-color:var(--accent)}.cs-area-tile-name{color:var(--fg);font-size:13px;font-weight:600}.cs-area-tile.selected .cs-area-tile-name{color:var(--accent)}.cs-area-tile-hint{color:var(--fg-muted);margin-top:3px;font-size:11px;line-height:1.4}.cs-diff-row{gap:8px;display:flex}.cs-diff-btn{border:1.5px solid var(--hairline-strong);background:var(--surface-2);color:var(--fg-dim);cursor:pointer;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 4px;font-size:13px;font-weight:700;transition:border-color .15s,background .15s,color .15s,transform .16s ease-out;display:flex}.cs-diff-btn:active{transform:scale(.97)}.cs-diff-emoji{font-size:18px}.cs-diff-label{text-align:center;margin-top:8px;font-size:12px;font-weight:600}.cs-chip-row{flex-wrap:wrap;gap:8px;display:flex}.cs-time-chip{background:var(--surface-2);border:1px solid var(--hairline-strong);color:var(--fg);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:inline-flex}.cs-time-day{font-weight:700}.cs-time-range{color:var(--fg-muted)}.cs-time-x{cursor:pointer;color:var(--fg-dim);background:0 0;border:none;padding:0;transition:color .15s;display:flex}.cs-time-x:hover{color:var(--c-coral)}.cs-alert{background:var(--c-coral-soft);color:var(--c-coral);border:1px solid #f09bb740;border-radius:10px;align-items:center;gap:8px;padding:10px 13px;font-size:12.5px;display:flex}.cs-danger{background:var(--c-coral-soft);border:1px solid #f09bb738;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding:16px 20px;display:flex}.cs-danger-title{color:var(--c-coral);font-size:13px;font-weight:700}.cs-danger-desc{color:var(--fg-muted);margin-top:2px;font-size:12px}.cs-toc{flex-direction:column;max-height:200px;margin-top:8px;display:flex;overflow-y:auto}.cs-toc-row{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:baseline;gap:10px;padding:5px 2px;display:flex}.cs-toc-row:last-child{border-bottom:0}.cs-toc-title{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.cs-toc-page{font-family:var(--mono);color:var(--fg-dim);flex-shrink:0;font-size:10px}@media (width<=640px){.page-head{gap:10px;margin-bottom:22px}.page-sub{font-size:14px}.h-section{gap:12px;margin:26px 0 12px}.h-section h3{font-size:clamp(20px,5.8vw,24px)}.h-section .h-sub{font-size:12px}.upc-row{gap:12px;padding:12px 14px}.det-row{gap:10px;padding:12px 14px}.upc-when{width:36px}.upc-date{font-size:19px}.upc-title{font-size:13.5px}.upc-meta{font-size:10.5px}.continue-card .cc-body{gap:5px;min-height:0;padding:12px 14px}.continue-card .cc-title{font-size:18px}.course-card{gap:10px;padding:14px 16px}.course-card .cc-name{font-size:19px}.course-card .cc-stats{gap:8px;padding:10px 0}.course-card .cc-stat-v{font-size:19px}.stat-cell{gap:4px;padding:14px}.stat-d{font-size:11px}.card-head{padding:12px 14px}.card-pad{padding:14px}.course-header{gap:16px;margin-bottom:18px}.cstat{padding:12px 14px}.cstat-v{font-size:22px}.week-head{gap:12px;padding:12px 14px}.week-marker{min-width:0}.wm-num{font-size:10px}.wm-dates{font-size:9.5px}.week-title{font-size:19px}.week-class{gap:12px;padding:11px 14px}.wc-title{font-size:13.5px}.class-wrap{padding:18px 16px 60px}.class-title{font-size:clamp(28px,8vw,38px)}.class-subtitle{font-size:18px}.class-summary{font-size:14px}.class-sources{gap:6px;margin-top:12px}.class-source{padding:6px 10px;font-size:11px}.upload-dz{padding:36px 20px}.udz-title{font-size:26px}.udz-sub{font-size:12.5px}.uc-row{flex-direction:column;align-items:stretch;gap:6px;padding:10px 0}.uc-k{width:auto}}:root{--ease-out:cubic-bezier(.23, 1, .32, 1)}.home-layout{grid-template-columns:1fr 280px;align-items:start;gap:28px;display:grid}@media (width<=1024px){.home-layout{grid-template-columns:1fr}}.home-main{flex-direction:column;gap:28px;display:flex}.home-rail{flex-direction:column;gap:20px;display:flex;position:sticky;top:24px}@media (width<=1024px){.home-rail{border-top:1px solid var(--hairline);gap:16px;padding-top:24px;position:static}}.home-section{flex-direction:column;gap:12px;display:flex}.home-section__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.home-hero{margin-bottom:0}.home-hero__chips{margin-top:4px}.focal-card{transition:transform .18s var(--ease-out), border-color .15s}@media (hover:hover) and (pointer:fine){.focal-card:hover{transform:translateY(-1px);border-color:var(--hairline-bright)!important}}.focal-card:active{transform:scale(.97)}@keyframes focal-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.focal-card{animation:focal-in .22s var(--ease-out) both}.focal-card__cta{transition:opacity .15s, transform .15s var(--ease-out)}.focal-card__cta:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.focal-card{animation:none}.focal-card,.focal-card__cta{transition:opacity .15s}}.agenda-list{flex-direction:column;display:flex;overflow:hidden}.agenda-row{border-bottom:1px solid var(--hairline);align-items:center;gap:12px;padding:12px 16px;transition:background .12s;display:flex}.agenda-row:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.agenda-row:hover{background:var(--surface-2)}}.agenda-row--due-today{background:#fcd34d0a}.agenda-row__stripe{border-radius:2px;flex-shrink:0;align-self:stretch;width:3px}.agenda-row__time{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:1px;width:46px;display:flex}.agenda-row__time-val{font-family:var(--mono);color:var(--fg);letter-spacing:.02em;font-size:12px;font-weight:500}.agenda-row__time-end{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.02em;font-size:10px}.agenda-row__body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.agenda-row__top{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.agenda-row__course{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.agenda-row__title{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.agenda-row__aula{color:var(--fg-dim);font-size:11px;font-family:var(--mono);letter-spacing:.04em}.agenda-empty{color:var(--fg-muted);background:var(--surface-1);border:1px solid var(--hairline);border-radius:12px;padding:14px 16px;font-size:13px}@keyframes review-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.review-row{animation:review-row-in .18s var(--ease-out) calc(var(--review-index,0) * 40ms) both}@media (prefers-reduced-motion:reduce){.review-row{animation:none}}.rail-section{flex-direction:column;gap:8px;display:flex}.rail-section__head{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);align-items:center;gap:6px;font-size:9px;font-weight:700;display:flex}.rail-empty{color:var(--fg-dim);margin:0;font-size:12px}.rail-list{border:1px solid var(--hairline);background:var(--surface-1);border-radius:10px;flex-direction:column;gap:0;display:flex;overflow:hidden}.rail-item{border-bottom:1px solid var(--hairline);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.rail-item:last-child{border-bottom:0}.rail-item__date{font-family:var(--mono);color:var(--fg-muted);letter-spacing:.04em;white-space:nowrap;flex-shrink:0;min-width:38px;padding-top:1px;font-size:10px}.rail-item__date--exam{color:var(--c-coral)}.rail-item__body{flex:1;min-width:0}.rail-item__course{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:1px;font-size:9px}.rail-item__title{color:var(--fg);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.rail-week{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.rail-week__day{background:var(--surface-1);border:1px solid var(--hairline);border-radius:7px;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;transition:background .12s;display:flex}.rail-week__day--today{background:var(--accent-soft);border-color:#9b8fff4d}.rail-week__label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim);font-size:9px}.rail-week__day--today .rail-week__label{color:var(--accent)}.rail-week__dot{background:var(--hairline-strong);border-radius:50%;width:5px;height:5px}.rail-week__day--has-sessions .rail-week__dot,.rail-week__day--today.rail-week__day--has-sessions .rail-week__dot{background:var(--accent)}.rail-week__count{font-family:var(--mono);color:var(--fg-dim);letter-spacing:.04em;font-size:8px}.home-skeleton{flex-direction:column;gap:16px;padding-top:8px;display:flex}@media (width<=768px){.home-layout{gap:24px}.home-main{gap:22px}.home-rail{display:none}}@media (width<=640px){.cal-grid{grid-template-columns:50px 1fr;min-width:0;overflow-x:visible}.cal-day{min-width:0}.cal-hours-col{width:50px}.cal-hour{padding-right:6px}.cal-hour span{font-size:9.5px}.cevt-title{font-size:12px}.cevt-course,.cevt-time{font-size:10px}.cal-toolbar{gap:8px;padding:10px 12px}.cal-range{font-size:15px}.plan-summary{grid-template-columns:1fr 1fr}.plan-summary .ps-cell:nth-child(2n){border-right:0}.plan-summary .ps-cell:nth-child(-n+2){border-bottom:1px solid var(--hairline)}.ps-cell{padding:12px 14px}.ps-v{font-size:22px}.ps-k{font-size:9.5px}.cal-day-picker{border-bottom:1px solid var(--hairline);background:var(--surface-2);grid-template-columns:repeat(7,1fr);gap:4px;padding:10px 12px;display:grid}.cdp-btn{color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex-direction:column;align-items:center;gap:3px;min-height:44px;padding:6px 2px;transition:background .15s,color .15s,border-color .15s;display:flex;position:relative}.cdp-btn:hover{background:var(--surface-3);color:var(--fg)}.cdp-btn .cdp-day{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);font-size:9px}.cdp-btn .cdp-date{font-family:var(--serif);color:var(--fg);font-size:17px;line-height:1}.cdp-btn.today .cdp-date{color:var(--accent)}.cdp-btn.selected{background:var(--accent-soft);border-color:#9b8fff59}.cdp-btn.selected .cdp-day,.cdp-btn.selected .cdp-date{color:var(--accent)}.eval-row{gap:10px;padding:12px 14px}.eval-label{font-size:13.5px}.grades-group-head{padding:11px 14px}.grades-banner{padding:12px 14px}.cs-section-btn{gap:12px;padding:13px 14px}.cs-section-ic{width:36px;height:36px}.cs-section-body{padding:16px 14px}.onboard-dropzone{gap:14px;padding:32px 20px}.dz-icon{width:56px;height:56px}.dz-title{font-size:22px}.guide-step{padding:16px}.guide-step-title{font-size:19px}}@media (width<=380px){.page-title{font-size:clamp(28px,8vw,36px)}.stat-v{font-size:clamp(22px,7vw,28px)}.stat-k{letter-spacing:.1em;font-size:9.5px}.upc-when{width:32px}.upc-date{font-size:17px}}@media (hover:none) and (pointer:coarse){.uc-select,.uc-input,.gm-input,.eval-input{min-height:44px;padding:10px 12px}.gm-btn-primary,.gm-btn-ghost,.guide-cta,.btn-enter-grade{min-height:40px}}.mobile-bottom-nav{display:none}@media (width<=1024px){.mobile-bottom-nav{z-index:200;background:var(--surface-1);border-top:1px solid var(--hairline);padding-bottom:env(safe-area-inset-bottom,0px);height:calc(60px + env(safe-area-inset-bottom,0px));box-shadow:0 -1px 0 var(--hairline), 0 -4px 16px #0000001f;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.canvas-mobile-pb{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}}.mbn-slot{color:var(--fg-dim);min-height:44px;transition:color .15s var(--ease-out);-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px 6px;text-decoration:none;display:flex;position:relative}.mbn-slot:active{transform:scale(.93)}@media (hover:hover) and (pointer:fine){.mbn-slot:hover{color:var(--fg)}}.mbn-slot--active{color:var(--accent)}.mbn-slot--active:before{content:"";background:var(--accent);opacity:.9;border-radius:0 0 2px 2px;height:2px;position:absolute;top:0;left:25%;right:25%}.mbn-slot__icon{flex-shrink:0}.mbn-slot__label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:9.5px;line-height:1}.mbn-fab-wrapper{-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:0 4px 6px;display:flex;position:relative}.mbn-fab{background:var(--accent);color:#fff;width:48px;height:48px;transition:transform .15s var(--ease-out), box-shadow .15s var(--ease-out);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;margin-top:-18px;text-decoration:none;display:flex;box-shadow:0 4px 14px #9b8fff73}.mbn-fab:active{transform:scale(.95);box-shadow:0 2px 8px #9b8fff59}@media (hover:hover) and (pointer:fine){.mbn-fab:hover{transform:translateY(-1px);box-shadow:0 6px 18px #9b8fff8c}}.mbn-fab--active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.mbn-fab--active{background:color-mix(in srgb, var(--accent) 85%, white)}}.mbn-fab-label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);white-space:nowrap;font-size:9.5px;line-height:1}@media (prefers-reduced-motion:reduce){.mbn-slot,.mbn-fab{transition:color .15s,background .15s}.mbn-slot:active,.mbn-fab:active{transform:none}}.capture-page{flex-direction:column;gap:28px;max-width:480px;margin:0 auto;padding-top:8px;display:flex}.capture-page__header{flex-direction:column;gap:6px;display:flex}.capture-page__title{font-family:var(--serif);color:var(--fg);margin:0;font-size:26px;font-weight:600;line-height:1.2}.capture-page__subtitle{color:var(--fg-muted);margin:0;font-size:13.5px;line-height:1.5}.capture-page__section{flex-direction:column;gap:10px;display:flex}.capture-page__step-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--fg-dim);font-size:9.5px}.capture-dropdown{position:relative}.capture-dropdown__trigger{border:1px solid var(--hairline);background:var(--surface-2);width:100%;color:var(--fg);cursor:pointer;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:12px 14px;font-size:14px;transition:border-color .15s;display:flex}@media (hover:hover) and (pointer:fine){.capture-dropdown__trigger:hover{border-color:var(--hairline-bright)}}.capture-dropdown__trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.capture-dropdown__selected{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.capture-dropdown__swatch{border-radius:3px;flex-shrink:0;width:8px;height:8px}.capture-dropdown__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.capture-dropdown__check{color:var(--accent);flex-shrink:0}.capture-dropdown__placeholder{color:var(--fg-dim)}.capture-dropdown__chevron{color:var(--fg-dim);transition:transform .2s var(--ease-out);flex-shrink:0}.capture-dropdown__chevron--open{transform:rotate(180deg)}.capture-dropdown__list{z-index:40;background:var(--surface-1);border:1px solid var(--hairline);max-height:260px;animation:dropdown-in .15s var(--ease-out) both;border-radius:12px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden auto;box-shadow:0 8px 24px #0003}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.capture-dropdown__empty{color:var(--fg-dim);padding:10px 12px;font-size:13px}.capture-dropdown__item{width:100%;color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:10px 12px;font-size:14px;transition:background .12s;display:flex}@media (hover:hover) and (pointer:fine){.capture-dropdown__item:hover{background:var(--surface-2)}}.capture-dropdown__item--active{background:var(--surface-2)}@media (prefers-reduced-motion:reduce){.capture-dropdown__list{animation:none}.capture-dropdown__chevron{transition:none}}.capture-method-grid{flex-direction:column;gap:8px;display:flex}.capture-method-card{border:1px solid var(--hairline);background:var(--surface-2);color:var(--fg);cursor:pointer;text-align:left;width:100%;min-height:64px;transition:border-color .15s var(--ease-out), background .15s var(--ease-out), transform .1s var(--ease-out);animation:capture-card-in .2s var(--ease-out) both;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;display:flex}@keyframes capture-card-in{0%{opacity:0;transform:translate(-6px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}.capture-method-card:first-child{animation-delay:0s}.capture-method-card:nth-child(2){animation-delay:60ms}.capture-method-card:nth-child(3){animation-delay:.12s}@media (hover:hover) and (pointer:fine){.capture-method-card:hover{border-color:var(--hairline-bright);background:var(--surface-3)}}.capture-method-card:active{transform:scale(.97)}.capture-method-card--selected{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.capture-method-card--selected{background:color-mix(in srgb, var(--accent) 10%, var(--surface-2))}}.capture-method-card__icon{background:var(--surface-3);width:40px;height:40px;color:var(--fg-muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.capture-method-card--selected .capture-method-card__icon{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.capture-method-card--selected .capture-method-card__icon{background:color-mix(in srgb, var(--accent) 18%, var(--surface-3))}}.capture-method-card--selected .capture-method-card__icon{color:var(--accent)}.capture-method-card__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.capture-method-card__title{color:var(--fg);font-size:14px;font-weight:500}.capture-method-card__desc{color:var(--fg-dim);font-size:12px;line-height:1.4}.capture-method-card__check{color:var(--accent);flex-shrink:0}.capture-page__cta{flex-direction:column;gap:10px;display:flex}.capture-page__confirm{justify-content:center;align-items:center;width:100%;min-height:48px;font-size:14px;display:inline-flex}.capture-page__confirm:disabled,.capture-page__confirm[aria-disabled=true]{opacity:.45;cursor:not-allowed}.capture-page__no-courses{color:var(--fg-dim);text-align:center;margin:0;font-size:12.5px}@media (prefers-reduced-motion:reduce){.capture-method-card{animation:none}.capture-method-card:active{transform:none}}.tasks-page{max-width:760px;margin:0 auto;padding:0 16px 48px}.tasks-page__header{border-bottom:1px solid var(--border);margin-bottom:24px;padding:24px 0 20px}.tasks-page__title-row{color:var(--fg);align-items:center;gap:10px;display:flex}.tasks-page__title{font-family:var(--serif);margin:0;font-size:22px;font-weight:600}.tasks-page__badge-summary{color:var(--accent);font-size:12px;font-family:var(--mono);letter-spacing:.03em;margin:6px 0 0}.tasks-page__loading{color:var(--fg-muted);justify-content:center;padding:48px 0;display:flex}.tasks-loading-spinner{animation:1s linear infinite spin}.tasks-page__error{background:var(--surface-1);border:1px solid var(--border);color:var(--fg-muted);border-radius:8px;align-items:center;gap:10px;margin-top:16px;padding:14px 16px;font-size:13px;display:flex}.tasks-retry-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--fg);cursor:pointer;border-radius:6px;margin-left:auto;padding:4px 12px;font-size:12px;transition:background .12s,color .12s}@media (hover:hover) and (pointer:fine){.tasks-retry-btn:hover{background:var(--surface-3,var(--surface-2));color:var(--accent)}}.tasks-page__empty{color:var(--fg-dim);flex-direction:column;align-items:center;gap:12px;padding:64px 0;font-size:14px;display:flex}.tasks-section{margin-bottom:32px}.tasks-section__title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-dim);margin:0 0 12px;font-size:10px}.tasks-section__list{flex-direction:column;gap:6px;display:flex}.tasks-row{background:var(--surface-1);border:1px solid var(--border);cursor:default;animation:tasks-row-enter .22s var(--ease-out,ease-out) both;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;transition:background .12s;display:flex}@keyframes tasks-row-enter{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:none}}.tasks-row:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.tasks-row:hover{background:var(--surface-2)}}.tasks-row__icon{color:var(--fg-dim);flex-shrink:0;margin-top:2px}.tasks-row[data-source=ai] .tasks-row__icon{color:var(--accent)}.tasks-row__body{flex:1;min-width:0}.tasks-row__title{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:13.5px;font-weight:500;display:block;overflow:hidden}.tasks-row__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tasks-row__course{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.tasks-row__source{font-size:10.5px;font-family:var(--mono);color:var(--fg-dim);background:var(--surface-2);border-radius:4px;padding:1px 6px}.tasks-row__priority{font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;border-radius:3px;padding:1px 5px}.tasks-row__priority--high{color:#e05252;background:#e052521f}.tasks-row__priority--medium{color:#d49550;background:#d495501f}.tasks-row__priority--low{color:var(--fg-dim);background:var(--surface-2)}.tasks-row__date{font-size:11.5px;font-family:var(--mono);color:var(--fg-muted);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;display:flex}.mbn-slot__icon-wrap{justify-content:center;align-items:center;display:flex;position:relative}.mbn-slot__badge{background:var(--accent);color:#fff;min-width:16px;height:16px;font-size:9px;font-family:var(--mono);text-align:center;pointer-events:none;border-radius:999px;padding:0 4px;font-weight:700;line-height:16px;position:absolute;top:-6px;right:-8px}@media (prefers-reduced-motion:reduce){.tasks-row{animation:none}.tasks-row:active{transform:none}.tasks-loading-spinner{animation:none}}:root{--app-bg:#0a0a12;--app-sidebar:#0d0d16;--app-canvas:#0e0e18;--surface-1:#15151f;--surface-2:#1a1a26;--surface-3:#20202e;--surface-elev:#262635;--hairline:#edeae30f;--hairline-strong:#edeae31a;--hairline-bright:#edeae329;--bg:#0b0b14;--bg-2:#11111c;--bg-3:#161623;--fg:#edeae3;--fg-muted:#edeae394;--fg-dim:#edeae357;--fg-faint:#edeae324;--line:#edeae314;--line-strong:#edeae32e;--accent:#9b8fff;--accent-2:#8b95ff;--accent-warm:#b79ff5;--accent-soft:#9b8fff24;--accent-ink:#0b0b14;--c-mint:#6ee7b7;--c-mint-soft:#6ee7b71a;--c-amber:#fcd34d;--c-amber-soft:#fcd34d1a;--c-coral:#f09bb7;--c-coral-soft:#f09bb71a;--c-blue:#88bcff;--c-blue-soft:#88bcff1a;--serif:"Instrument Serif", "Times New Roman", serif;--sans:"Geist", -apple-system, BlinkMacSystemFont, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--sidebar-w:264px;--sidebar-w-collapsed:64px;--topbar-h:56px;--maxw:1360px;--gutter:clamp(20px, 5vw, 80px);--bp-xs:480px;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--page-gutter:16px;--page-gutter-top:18px;--page-gutter-bottom:60px;--section-gap:22px;--touch-min:40px;--touch-comfortable:44px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--surface:#0f0e1a;--surface2:#161426;--border:#ffffff12;--border2:#ffffff1f;--grad:linear-gradient(135deg,#7c3aed,#c026d3);--grad2:linear-gradient(135deg,#6366f1,#a855f7);--violet:#8b5cf6;--fuchsia:#d946ef;--text:#f0eeff;--muted:#7b7899;--muted2:#3d3a5c}@media (width>=640px){:root{--page-gutter:24px;--page-gutter-top:24px;--page-gutter-bottom:80px;--section-gap:28px}}@media (width>=1024px){:root{--page-gutter:40px;--page-gutter-top:32px;--section-gap:32px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes nr-drift{0%{transform:translate(0)scale(1)}to{transform:translate(40px,30px)scale(1.1)}}.nr-orb-wrap{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.nr-orb{filter:blur(80px);opacity:.18;border-radius:50%;animation:18s ease-in-out infinite alternate nr-drift;position:absolute}.nr-day-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:14px;display:grid}.nr-day-grid::-webkit-scrollbar{display:none}.nr-main{z-index:1;flex:1;width:100%;max-width:520px;margin:0 auto;padding:20px 16px 100px;position:relative}@media (width>=640px){.nr-main{max-width:900px;padding:24px 24px 120px}.nr-main.nr-main--wide{max-width:100%;padding:0}.nr-desktop-only{display:block!important}.nr-mobile-only,.nr-day-grid{display:none!important}}.nr-desktop-only{display:none}.nr-mobile-only{display:block}.nr-class-layout-wrap{padding-bottom:40px}@media (width>=640px){.nr-class-layout-wrap{padding:28px 36px 80px}}.nr-class-sidebar{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent}.nr-class-sidebar::-webkit-scrollbar{width:3px}.nr-class-sidebar::-webkit-scrollbar-track{background:0 0}.nr-class-sidebar::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.nr-class-sidebar::-webkit-scrollbar-thumb:hover{background:#fff3}.nr-layout{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex;position:relative}.nr-navbar{z-index:20;-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#07070fd9;justify-content:space-between;align-items:center;height:58px;padding:0 20px;display:flex;position:sticky;top:0}.nr-navbar-left{align-items:center;gap:12px;display:flex}.nr-logo{letter-spacing:-.03em;background:var(--grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:20px;font-weight:700;text-decoration:none}.nr-menu-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:all .15s;display:flex}.nr-menu-btn:hover{background:var(--surface2);color:var(--text)}.nr-nav-avatar{background:var(--grad);cursor:pointer;color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-family:Space Grotesk,system-ui,sans-serif;font-size:15px;font-weight:700;display:flex;box-shadow:0 0 0 2px #8b5cf64d}.usage-bar{z-index:19;-webkit-backdrop-filter:blur(12px);white-space:nowrap;background:#07070fbf;border-top:1px solid #ffffff0f;justify-content:center;align-items:center;gap:8px;padding:5px 12px;font-family:Space Grotesk,system-ui,sans-serif;font-size:11px;display:flex;position:fixed;bottom:64px;left:0;right:0;overflow-x:auto}.usage-bar__pill{color:#fff9;background:#ffffff0d;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.usage-bar__pill--monthly{min-width:130px}.usage-bar__pill--warning{color:#f59e0b;border-color:#f59e0b4d}.usage-bar__pill--danger{color:#ef4444;border-color:#ef44444d}.usage-bar__month-track{vertical-align:middle;background:#ffffff1f;border-radius:2px;width:50px;height:4px;display:inline-block;overflow:hidden}.usage-bar__month-fill{background:linear-gradient(90deg,#7c3aed,#c026d3);border-radius:2px;height:100%;transition:width .4s;display:block}.usage-bar__month-label{vertical-align:middle}.nr-bottom-nav{z-index:20;-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);padding:8px 0 max(16px, env(safe-area-inset-bottom));background:#07070fe6;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.nr-bnav-item{cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:4px 24px;font-family:Space Grotesk,system-ui,sans-serif;text-decoration:none;transition:all .15s;display:flex}.nr-bnav-icon{color:var(--muted);transition:transform .2s cubic-bezier(.34,1.56,.64,1),color .15s,filter .15s}.nr-bnav-item:hover .nr-bnav-icon{transform:translateY(-3px)scale(1.1)}.nr-bnav-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700;transition:color .15s}.nr-bnav-item--active .nr-bnav-label{color:var(--violet)}.nr-bnav-item--active .nr-bnav-icon{color:var(--violet);filter:drop-shadow(0 0 8px var(--violet))}.nr-week-header{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}@media (width>=640px){.nr-week-header{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:20px}}.nr-week-nav{align-items:center;gap:6px;display:flex}.nr-nav-arrow{background:var(--surface);border:1px solid var(--border2);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;transition:all .15s;display:flex}.nr-nav-arrow:hover{background:var(--surface2);color:var(--text);border-color:var(--violet)}.nr-month-label{color:var(--muted);margin-left:4px;font-size:13px;font-weight:600}.nr-today-chip{letter-spacing:.05em;color:var(--violet);cursor:pointer;background:#8b5cf61f;border:1px solid #8b5cf64d;border-radius:20px;padding:2px 10px;font-size:10px;font-weight:700;transition:all .15s}.nr-today-chip:hover{background:#8b5cf638}.nr-view-toggle{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px;display:flex}.nr-view-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:8px;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.nr-view-btn--active{background:var(--surface2);color:var(--text)}.nr-week-header-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nr-view-pills{background:#ffffff0d;border:1px solid #ffffff14;border-radius:24px;gap:2px;padding:3px;display:flex}.nr-view-pill{cursor:pointer;color:#ffffff80;white-space:nowrap;background:0 0;border:none;border-radius:20px;padding:6px 12px;font-family:Space Grotesk,system-ui,sans-serif;font-size:12px;font-weight:700;transition:background .2s,color .2s}.nr-view-pill--active{color:#fff}.nr-view-pill--violet.nr-view-pill--active{background:#8b5cf6d9}.nr-view-pill--green.nr-view-pill--active{background:#10b981d9}.nr-view-pill--amber.nr-view-pill--active{background:#fb923cd9}.nr-week-summary{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.nr-summary-chip{border:1px solid var(--border2);color:var(--muted);background:#ffffff0a;border-radius:20px;align-items:center;gap:5px;padding:4px 12px;font-size:11px;font-weight:600;display:flex}.nr-summary-chip span{color:var(--text)}.nr-day-btn{background:var(--surface);border:1.5px solid var(--border2);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;width:100%;padding:8px 2px 7px;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden}.nr-day-btn:hover{border-color:#8b5cf666;transform:translateY(-1px)}.nr-day-btn--weekend{background:#ffffff04}.nr-day-btn--active{background:var(--surface2);box-shadow:0 0 0 1.5px var(--violet), 0 0 16px #8b5cf640;border-color:#0000;transform:translateY(-1px)}.nr-day-btn--active:before{content:"";background:linear-gradient(135deg,#7c3aed14,#c026d314);position:absolute;inset:0}.nr-day-btn--weekend.nr-day-btn--active{box-shadow:0 0 0 1.5px #ec4899,0 0 20px #ec489933}.nr-day-btn--weekend .nr-day-name{color:#4a3a5c}.nr-day-btn--weekend.nr-day-btn--active .nr-day-name{color:#ec4899}.nr-day-btn--weekend.nr-day-btn--active .nr-day-num{color:#fff}.nr-day-btn--weekend.nr-day-btn--active .nr-day-dot{background:#ec4899}.nr-weekend-tag{background:#ec489961;border-radius:50%;width:5px;height:5px;position:absolute;top:4px;right:5px}.nr-day-name{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700;transition:color .15s}.nr-day-btn--active .nr-day-name{color:var(--violet)}.nr-day-num{color:#888;font-size:15px;font-weight:700;transition:color .15s}.nr-day-btn--active .nr-day-num{color:#fff}.nr-day-btn--today .nr-day-num{color:var(--violet)}.nr-day-dot{background:var(--muted2);border-radius:50%;width:5px;height:5px;transition:background .15s}.nr-day-dot--has{background:var(--muted)}.nr-day-btn--active .nr-day-dot{background:var(--violet)}.nr-day-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.nr-day-title:after{content:"";background:var(--border);flex:1;height:1px}.nr-course-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;display:grid}.nr-course-card{border:1px solid var(--border);background:#ffffff06;border-radius:16px;flex-direction:column;gap:14px;padding:18px 20px;transition:background .15s;display:flex}.nr-course-card:hover{background:#ffffff0b}.nr-course-card__top{justify-content:space-between;align-items:center;display:flex}.nr-course-card__next{color:var(--muted);font-family:Inter,sans-serif;font-size:11px}.nr-course-card__info{flex-direction:column;gap:3px;display:flex}.nr-course-card__name{color:var(--text);font-size:19px;font-weight:700;line-height:1.2}.nr-course-card__teacher{color:var(--muted);font-family:Inter,sans-serif;font-size:12px}.nr-course-card__progress{flex-direction:column;gap:6px;display:flex}.nr-course-card__progress-header{justify-content:space-between;align-items:center;display:flex}.nr-course-card__label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.nr-course-card__pct{color:var(--text);font-size:11px;font-weight:700}.nr-course-card__track{background:#ffffff14;border-radius:2px;height:4px;overflow:hidden}.nr-course-card__fill{border-radius:2px;height:100%;transition:width .6s}.nr-course-card__footer{justify-content:space-between;align-items:flex-end;margin-top:2px;display:flex}.nr-course-card__nota{flex-direction:column;gap:2px;display:flex}.nr-course-card__nota-value{color:var(--text);font-size:22px;font-weight:700}.nr-course-silabo-btn{border:1px solid var(--border);color:#a78bfa;cursor:pointer;background:#8b5cf60a;border-radius:10px;width:100%;margin-top:6px;padding:7px;font-family:Space Grotesk,system-ui,sans-serif;font-size:12px;font-weight:600;transition:background .15s}.nr-course-silabo-btn:hover{background:#8b5cf61a}.nr-home-wrap{box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto;padding:16px 16px 80px}@media (width>=640px){.nr-home-wrap{padding:24px 32px 80px}}.nr-home-grid{grid-template-columns:minmax(0,860px) 300px;align-items:start;gap:24px;display:grid}.nr-home-sidebar{flex-direction:column;gap:12px;display:flex;position:sticky;top:16px}@media (width<=900px){.nr-home-grid{grid-template-columns:1fr}.nr-home-sidebar{position:static}}.nr-sb-card{border:1px solid var(--border);background:#ffffff06;border-radius:16px;padding:16px 18px}.nr-sb-label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:700}.nr-empty-day{text-align:center;padding:48px 24px}.nr-empty-day-emoji{margin-bottom:10px;font-size:36px}.nr-empty-day-text{color:var(--muted);font-family:Inter,sans-serif;font-size:14px}.nr-empty-state{border:1px solid var(--border);text-align:center;background:#ffffff06;border-radius:20px;max-width:520px;margin:48px auto 0;padding:48px 32px}.nr-empty-icon{margin-bottom:24px;font-size:48px}.nr-empty-title{color:var(--text);margin-bottom:12px;font-size:26px;font-weight:700}.nr-empty-desc{color:var(--muted);margin-bottom:28px;font-family:Inter,sans-serif;font-size:14px}.nr-btn-primary{background:var(--grad);color:#fff;border-radius:14px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.nr-sidebar-backdrop{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;transition:opacity .25s;position:fixed;inset:0}.nr-sidebar-backdrop--hidden{opacity:0;pointer-events:none}.nr-sidebar{z-index:40;border-right:1px solid var(--border2);background:#0b0b18;flex-direction:column;width:280px;height:100dvh;transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0}.nr-sidebar--closed{transform:translate(-100%)}.nr-sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.nr-close-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.nr-close-btn:hover{background:var(--surface2);color:var(--text)}.nr-sidebar-profile{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 20px;display:flex}.nr-sidebar-profile-info{min-width:0}.nr-sidebar-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.nr-sidebar-career{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-family:Inter,sans-serif;font-size:12px;overflow:hidden}.nr-sidebar-nav{flex:1;padding:12px;overflow-y:auto}.nr-sidebar-item{cursor:pointer;color:var(--muted);border-radius:12px;align-items:center;gap:10px;margin-bottom:4px;padding:11px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.nr-sidebar-item:hover{background:var(--surface2);color:var(--text)}.nr-sidebar-item--active{color:var(--violet);background:#8b5cf61f}.nr-sidebar-item-icon{flex-shrink:0}.nr-sidebar-footer{border-top:1px solid var(--border);padding:12px}.nr-logout-btn{cursor:pointer;color:#f87171;background:0 0;border:none;border-radius:12px;align-items:center;gap:10px;width:100%;padding:11px 14px;font-family:Space Grotesk,system-ui,sans-serif;font-size:14px;font-weight:600;transition:all .15s;display:flex}.nr-logout-btn:hover{background:#f8717114}.nr-dg-wrap{margin-top:32px;overflow:hidden}.nr-dg-header{border-bottom:1px solid var(--border);display:flex}.nr-dg-gutter{border-right:1px solid var(--border);flex-shrink:0;width:56px}.nr-dg-day-head{text-align:center;border-right:1px solid var(--border);flex:1;padding:14px 0}.nr-dg-day-head:last-child{border-right:none}.nr-dg-dh-name{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;font-size:10px}.nr-dg-dh-num{color:#aaa;font-size:20px;font-weight:700}.nr-dg-day-head--today .nr-dg-dh-num{color:var(--violet)}.nr-dg-body{display:flex}.nr-dg-time-col{border-right:1px solid var(--border);flex-shrink:0;width:56px;position:relative}.nr-dg-time-label{color:var(--muted2);font-variant-numeric:tabular-nums;font-size:10px;font-weight:500;position:absolute;right:8px;transform:translateY(-50%)}.nr-dg-cols{flex:1;display:flex}.nr-dg-col{border-right:1px solid #ffffff0a;flex:1;position:relative}.nr-dg-col:last-child{border-right:none}.nr-dg-hour-line{border-top:1px solid #ffffff0a;width:100%;position:absolute}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}.rich-note details>:not(summary){padding:.25rem 1rem .75rem}[data-theme=bat] body{color:#d8d8d8;background-color:#080808}[data-theme=bat] .bg-\[\#0b1120\]{background-color:#080808!important}[data-theme=bat] .bg-\[\#0d1526\]{background-color:#0a0a0a!important}[data-theme=bat] .bg-\[\#111827\]{background-color:#111!important}[data-theme=bat] .bg-\[\#12192e\]{background-color:#0d0d0d!important}[data-theme=bat] .bg-\[\#1e1e3a\]{background-color:#141414!important}[data-theme=bat] .bg-\[\#0f1523\]{background-color:#0a0a0a!important}[data-theme=bat] .bg-slate-900{background-color:#0d0d0d!important}[data-theme=bat] .bg-slate-800{background-color:#181818!important}[data-theme=bat] .bg-slate-800\/20{background-color:#18181833!important}[data-theme=bat] .bg-slate-800\/30{background-color:#1818184d!important}[data-theme=bat] .bg-slate-800\/60{background-color:#18181899!important}[data-theme=bat] .bg-slate-800\/10{background-color:#1818181a!important}[data-theme=bat] .bg-slate-800\/50{background-color:#18181880!important}[data-theme=bat] .border-slate-800{border-color:#222!important}[data-theme=bat] .border-slate-700{border-color:#2a2a2a!important}[data-theme=bat] .border-slate-700\/50{border-color:#2a2a2a80!important}[data-theme=bat] .text-slate-200{color:#d0d0d0!important}[data-theme=bat] .text-slate-300{color:#b0b0b0!important}[data-theme=bat] .text-slate-400{color:#888!important}[data-theme=bat] .text-slate-500{color:#606060!important}[data-theme=bat] .hover\:bg-slate-700:hover{background-color:#222!important}[data-theme=bat] .hover\:bg-slate-800:hover{background-color:#1a1a1a!important}[data-theme=bat] .hover\:bg-slate-800\/40:hover{background-color:#1a1a1a66!important}[data-theme=bat] .hover\:bg-slate-800\/60:hover{background-color:#1a1a1a99!important}[data-theme=bat] .text-cyan-400{color:#fff!important}[data-theme=bat] .text-cyan-300{color:#e0e0e0!important}[data-theme=bat] .bg-cyan-400\/10{background-color:#ffffff0f!important}[data-theme=bat] .bg-cyan-500{background-color:#444!important}[data-theme=bat] .bg-cyan-500\/10{background-color:#50505026!important}[data-theme=bat] .bg-cyan-500\/20{background-color:#50505033!important}[data-theme=bat] .bg-cyan-600{background-color:#383838!important}[data-theme=bat] .hover\:bg-cyan-500:hover{background-color:#4a4a4a!important}[data-theme=bat] .border-cyan-400{border-color:#aaa!important}[data-theme=bat] .border-cyan-500{border-color:#888!important}[data-theme=bat] .border-l-cyan-500{border-left-color:#fff!important}[data-theme=bat] .bg-indigo-500\/10{background-color:#5050501a!important}[data-theme=bat] .bg-indigo-600{background-color:#333!important}[data-theme=bat] .text-indigo-400{color:#ccc!important}[data-theme=bat] .border-indigo-500{border-color:#555!important}[data-theme=bat] .bg-blue-500\/10{background-color:#5050501a!important}[data-theme=bat] .bg-blue-600{background-color:#333!important}[data-theme=bat] .text-blue-400{color:#ccc!important}[data-theme=bat] .border-blue-500{border-color:#555!important}[data-theme=bat] .bg-\[\#1e293b\]{background-color:#1a1a1a!important}[data-theme=bat] .text-violet-400{color:#bbb!important}[data-theme=bat] .bg-violet-500\/10{background-color:#5050501a!important}[data-theme=bat] .border-violet-500{border-color:#555!important}[data-theme=bat] .text-green-400,[data-theme=bat] .text-emerald-400{color:#aaa!important}[data-theme=bat] .bg-green-500\/10,[data-theme=bat] .bg-emerald-500\/10{background-color:#5050501a!important}[data-theme=bat] .border-green-500,[data-theme=bat] .border-emerald-500{border-color:#555!important}[data-theme=bat] .text-amber-400,[data-theme=bat] .text-yellow-400{color:#999!important}[data-theme=bat] .bg-amber-500\/10{background-color:#5050501a!important}[data-theme=bat] .border-amber-500{border-color:#555!important}[data-theme=bat] .text-red-400{color:#999!important}[data-theme=bat] .hover\:text-red-300:hover{color:#bbb!important}[data-theme=bat] .bg-red-400\/10,[data-theme=bat] .hover\:bg-red-400\/10:hover{background-color:#28282866!important}[data-theme=bat] .bg-red-900\/30{background-color:#1414144d!important}[data-theme=bat] .border-red-500{border-color:#555!important}[data-theme=bat] :focus-visible{outline-color:#ffffff4d!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
