@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-vietnamese-wght-normal.a3924ff4.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-latin-ext-wght-normal.55a1343a.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-latin-wght-normal.5a0c43ff.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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}}}@layer theme{:host,:root{--font-sans:"Space Grotesk Variable",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-xl:36rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--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-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.625rem;--radius-lg:.875rem;--radius-xl:1rem;--radius-2xl:1.25rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) 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)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-1{top:var(--spacing)}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:0}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.bottom-0{bottom:0}.left-0{left:0}.z-40{z-index:40}.m-auto{margin:auto}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-1{margin-inline:var(--spacing)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.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-8{margin-top:calc(var(--spacing) * 8)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.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:var(--spacing)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-24{height:calc(var(--spacing) * 24)}.h-\[60vh\]{height:60vh}.h-\[min\(100dvh\,52rem\)\]{height:min(100dvh,52rem)}.h-full{height:100%}.max-h-\[30vh\]{max-height:30vh}.max-h-\[100dvh\]{max-height:100dvh}.min-h-0{min-height:0}.min-h-\[4rem\]{min-height:4rem}.min-h-\[9rem\]{min-height:9rem}.min-h-\[36px\]{min-height:36px}.min-h-\[40vh\]{min-height:40vh}.min-h-\[44px\]{min-height:44px}.min-h-\[180px\]{min-height:180px}.min-h-screen{min-height:100vh}.w-1{width:var(--spacing)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-24{width:calc(var(--spacing) * 24)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-80{width:calc(var(--spacing) * 80)}.w-\[min\(100vw\,56rem\)\]{width:min(100vw,56rem)}.w-\[min\(100vw\,72rem\)\]{width:min(100vw,72rem)}.w-full{width:100%}.w-px{width:1px}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-\[36px\]{min-width:36px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)}.-translate-y-1\/2,.-translate-y-full{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%}.translate-y-0\.5{--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.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}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.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(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * 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)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[var\(--line\)\]>:not(:last-child)){border-color:var(--line)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e+38px}.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-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--ink\)\]{border-color:var(--ink)}.border-\[var\(--line\)\]{border-color:var(--line)}.border-\[var\(--line-strong\)\]{border-color:var(--line-strong)}.border-\[var\(--subject-border\)\]{border-color:var(--subject-border)}.border-current{border-color:currentColor}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bubble-mine\)\]{background-color:var(--bubble-mine)}.bg-\[var\(--card-bg\)\]{background-color:var(--card-bg)}.bg-\[var\(--line\)\]{background-color:var(--line)}.bg-\[var\(--line-strong\)\]{background-color:var(--line-strong)}.bg-\[var\(--page-bg\)\]{background-color:var(--page-bg)}.bg-\[var\(--pop\)\]{background-color:var(--pop)}.bg-\[var\(--today-bg\)\]{background-color:var(--today-bg)}.bg-transparent{background-color:#0000}.object-cover{object-fit:cover}.p-0{padding:0}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.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)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.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-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--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-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.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-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--bubble-mine\)\]{color:var(--bubble-mine)}.text-\[var\(--muted-fg\)\]{color:var(--muted-fg)}.text-\[var\(--page-bg\)\]{color:var(--page-bg)}.text-\[var\(--page-fg\)\]{color:var(--page-fg)}.text-\[var\(--pop-fg\)\]{color:var(--pop-fg)}.text-inherit{color:inherit}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.accent-\[var\(--accent\)\]{accent-color:var(--accent)}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-\[3px_3px_0_var\(--shadow\)\]{--tw-shadow:3px 3px 0 var(--tw-shadow-color,var(--shadow))}.shadow-\[3px_3px_0_var\(--shadow\)\],.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.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-\[var\(--card-bg\)\]{--tw-ring-color:var(--card-bg)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.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-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))}.outline-none{--tw-outline-style:none;outline-style:none}.file\:mr-3::file-selector-button{margin-right:calc(var(--spacing) * 3)}.file\:rounded-md::file-selector-button{border-radius:var(--radius-md)}.file\:border::file-selector-button{border-style:var(--tw-border-style);border-width:1px}.file\:border-\[var\(--line-strong\)\]::file-selector-button{border-color:var(--line-strong)}.file\:bg-\[var\(--page-bg\)\]::file-selector-button{background-color:var(--page-bg)}.file\:px-3::file-selector-button{padding-inline:calc(var(--spacing) * 3)}.file\:py-1\.5::file-selector-button{padding-block:calc(var(--spacing) * 1.5)}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.backdrop\:bg-black\/50::backdrop{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.backdrop\:bg-black\/50::backdrop{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}@media (hover:hover){.hover\:border-\[var\(--accent\)\]:hover{border-color:var(--accent)}.hover\:border-\[var\(--ink\)\]:hover{border-color:var(--ink)}.hover\:border-\[var\(--line-strong\)\]:hover{border-color:var(--line-strong)}.hover\:bg-\[color-mix\(in_srgb\,var\(--bubble-mine\)_12\%\,transparent\)\]:hover{background-color:var(--bubble-mine)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color-mix\(in_srgb\,var\(--bubble-mine\)_12\%\,transparent\)\]:hover{background-color:color-mix(in srgb,var(--bubble-mine) 12%,transparent)}}.hover\:bg-\[var\(--card-bg\)\]:hover{background-color:var(--card-bg)}.hover\:bg-\[var\(--page-bg\)\]:hover{background-color:var(--page-bg)}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--page-fg\)\]:hover{color:var(--page-fg)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-\[var\(--accent\)\]:focus{border-color:var(--accent)}.disabled\:cursor-default:disabled{cursor:default}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:border-\[var\(--line-strong\)\]:disabled:hover{border-color:var(--line-strong)}}@media (min-width:40rem){.sm\:inline{display:inline}.sm\:max-h-\[90vh\]{max-height:90vh}.sm\:w-auto{width:auto}.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:shrink-0{flex-shrink:0}.sm\:basis-auto{flex-basis:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:py-12{padding-block:calc(var(--spacing) * 12)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:inline{display:inline}.md\:flex-none{flex:none}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:py-1\.5{padding-block:calc(var(--spacing) * 1.5)}}}:root{color-scheme:light dark;--page-bg:#fffdf5;--page-fg:#111;--muted-fg:#4f4a44;--card-bg:#fff;--line:#e6e2d6;--line-strong:#111;--ink:#111;--shadow:#111;--accent:#4b1fe0;--pop:#ffd84d;--pop-fg:#111;--today-bg:#fff5c2}@media (prefers-color-scheme:dark){:root{--page-bg:#14121b;--page-fg:#f4f1ff;--muted-fg:#b6b0c8;--card-bg:#1d1a27;--line:#322d42;--line-strong:#f4f1ff;--ink:#f4f1ff;--shadow:#7c5cff;--accent:#b7a6ff;--pop:#ffd84d;--pop-fg:#111;--today-bg:#2a2440}}body,html{background:var(--page-bg);color:var(--page-fg)}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.subject-0{--subject-fill:#2f4fd8;--subject-bg:#e4e9ff;--subject-border:#3b5bdb;--subject-fg:#1c2f80}.subject-1{--subject-fill:#17784a;--subject-bg:#dcf5e7;--subject-border:#1f8a53;--subject-fg:#12482d}.subject-2{--subject-fill:#b34d12;--subject-bg:#ffe8d9;--subject-border:#c65a18;--subject-fg:#7a3409}.subject-3{--subject-fill:#b5306b;--subject-bg:#fde2ef;--subject-border:#bd3a75;--subject-fg:#761f47}.subject-4{--subject-fill:#6a3ac0;--subject-bg:#ece1fb;--subject-border:#7141c4;--subject-fg:#42227a}.subject-5{--subject-fill:#0f6a82;--subject-bg:#d9f1f7;--subject-border:#12758f;--subject-fg:#0a4453}.subject-6{--subject-fill:#8a6810;--subject-bg:#fbeecd;--subject-border:#9a7412;--subject-fg:#5b4308}.subject-7{--subject-fill:#b7322a;--subject-bg:#ffe1e1;--subject-border:#c0392b;--subject-fg:#7a2119}@media (prefers-color-scheme:dark){.subject-0{--subject-bg:#1c2447;--subject-border:#7d94f0;--subject-fg:#d7dfff}.subject-1{--subject-bg:#14301f;--subject-border:#5cc78d;--subject-fg:#d3f4e1}.subject-2{--subject-bg:#3a2113;--subject-border:#e08a4f;--subject-fg:#ffe2cd}.subject-3{--subject-bg:#391a29;--subject-border:#e07aa8;--subject-fg:#ffd9e9}.subject-4{--subject-bg:#271a3d;--subject-border:#a684ee;--subject-fg:#e6dbff}.subject-5{--subject-bg:#10303a;--subject-border:#55b6d0;--subject-fg:#d3eff7}.subject-6{--subject-bg:#332a12;--subject-border:#ceaa4d;--subject-fg:#f7ecd0}.subject-7{--subject-bg:#3a1c19;--subject-border:#e07b6e;--subject-fg:#ffdcd7}}.course-block{background:var(--subject-fill);color:#fff;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--shadow);transition:transform .12s,box-shadow .12s}.course-block:hover{box-shadow:4px 4px 0 var(--shadow);transform:translate(-1px,-1px)}.subject-dot{background:var(--subject-border)}:not(dialog)[class~="bg-[var(--card-bg)]"][class~=border]{border-width:2px;border-color:var(--ink);box-shadow:4px 4px 0 var(--shadow)}a[class~="bg-[var(--card-bg)]"][class~=border]{transition:transform .12s,box-shadow .12s}a[class~="bg-[var(--card-bg)]"][class~=border]:hover{box-shadow:6px 6px 0 var(--shadow);transform:translate(-2px,-2px)}@media (min-width:640px){dialog[class~="bg-[var(--card-bg)]"]{border-width:2px;border-color:var(--ink);box-shadow:8px 8px 0 var(--shadow)}}:is(button,a,summary,label)[class~="border-[var(--line-strong)]"]{border-width:2px;border-color:var(--ink);color:var(--page-fg);box-shadow:3px 3px 0 var(--shadow);font-weight:600;transition:transform .12s,box-shadow .12s,background-color .15s}:is(button,a,summary,label)[class~="border-[var(--line-strong)]"]:hover{box-shadow:4px 4px 0 var(--shadow);background-color:var(--card-bg);transform:translate(-1px,-1px)}:is(button,a,summary,label)[class~="border-[var(--line-strong)]"]:active{box-shadow:1px 1px 0 var(--shadow);transform:translate(2px,2px)}:is(button,a)[class~="border-[var(--accent)]"],:is(button,a)[class~="border-[var(--subject-border)]"]{box-shadow:3px 3px 0 var(--shadow);border-width:2px;font-weight:600}:not(button,a)[class~="border-[var(--subject-border)]"]{border-width:2px}:not(button,a,summary,label,input,textarea,select)[class~="border-[var(--line-strong)]"]{border-color:var(--ink)}[class~=border][class~="border-[var(--line-strong)]"]{border-width:2px}:is(button,a)[class~="bg-[var(--accent)]"]{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--shadow);font-weight:600;transition:transform .12s,box-shadow .12s,opacity .15s}:is(button,a)[class~="bg-[var(--accent)]"]:hover{opacity:1;box-shadow:4px 4px 0 var(--shadow);transform:translate(-1px,-1px)}:is(button,a)[class~="bg-[var(--accent)]"]:active{box-shadow:1px 1px 0 var(--shadow);transform:translate(2px,2px)}:is(button,a)[class~="bg-[var(--accent)]"]:disabled{box-shadow:3px 3px 0 var(--shadow);transform:none}:is(input,textarea,select)[class~="border-[var(--line-strong)]"]{border-width:2px;border-color:var(--ink);background-color:var(--card-bg);transition:box-shadow .12s}:is(input,textarea,select)[class~="border-[var(--line-strong)]"]:focus{border-color:var(--accent);box-shadow:3px 3px 0 var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1[class~=text-xl]{font-size:1.6rem;line-height:1.15}h1[class~=text-2xl],h1[class~=text-xl]{letter-spacing:-.02em;font-weight:700}.pop-mark{background:var(--pop);color:var(--pop-fg);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.35em;padding:0 .3em}@media (max-width:767px){body{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom,0px))}}body{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.tab-bar{padding-bottom:env(safe-area-inset-bottom,0)}.rich-code{font-family:var(--font-mono);background:var(--page-bg);border:1px solid var(--line);border-radius:.25rem;padding:.05em .35em;font-size:.9em}.rich-text .katex{font-size:1.05em}.rich-text .katex-display{margin:.5rem 0;overflow:auto hidden}:root{--hl-yellow:#fff1a8;--hl-green:#cdf3d6;--hl-pink:#ffd6e7;--hl-blue:#d3e4ff}@media (prefers-color-scheme:dark){:root{--hl-yellow:#6b5a00;--hl-green:#14532d;--hl-pink:#7a1f4a;--hl-blue:#1e3a6e}}.note-content{word-break:break-word;white-space:pre-wrap;tab-size:4;font-size:.95rem;line-height:1.6}.note-content>*+*{margin-top:.6em}.note-content h1{margin-top:1em;font-size:1.5em;font-weight:700;line-height:1.25}.note-content h2{margin-top:.9em;font-size:1.25em;font-weight:650;line-height:1.3}.note-content h3{margin-top:.8em;font-size:1.1em;font-weight:600}.note-content h1:first-child,.note-content h2:first-child,.note-content h3:first-child{margin-top:0}.note-content ul{padding-left:1.5em;list-style:outside}.note-content ol{padding-left:1.5em;list-style:decimal}.note-content li+li{margin-top:.2em}.note-content li>p{margin:0}.note-content blockquote{border-left:3px solid var(--line-strong);color:var(--muted-fg);padding-left:.9em}.note-content code{border:1px solid var(--line);border-radius:.25rem;padding:.05em .35em}.note-content code,.note-content pre{font-family:var(--font-mono);background:var(--page-bg);font-size:.9em}.note-content pre{border:1px solid var(--line-strong);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;border-radius:.375rem;padding:.5em .75em;line-height:1.45}.note-content pre code{font-size:inherit;background:0 0;border:0;padding:0}.note-content hr{border:0;border-top:1px solid var(--line);margin:1em 0}.note-content mark{color:inherit;border-radius:.15em;padding:0 .1em}.hl-yellow,.note-content mark.hl-yellow{background:var(--hl-yellow)}.hl-green,.note-content mark.hl-green{background:var(--hl-green)}.hl-pink,.note-content mark.hl-pink{background:var(--hl-pink)}.hl-blue,.note-content mark.hl-blue{background:var(--hl-blue)}.note-editor{caret-color:var(--accent);white-space:pre-wrap}.note-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--muted-fg);float:left;pointer-events:none;height:0}.note-dialog::backdrop{background:#00000080}@media (max-width:639px){.note-dialog{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100dvh}}.note-content img{border:1px solid var(--line);border-radius:.375rem;max-width:100%;height:auto;margin:.75em 0;display:block}.note-editor img{cursor:default}.note-editor img.ProseMirror-selectednode{outline:2px solid var(--accent);outline-offset:2px}body:has(.print-page)>footer,body:has(.print-page)>header{display:none}body:has(.print-page){padding-bottom:0}@media print{.no-print,.tab-bar,nav{display:none!important}@page{margin:16mm 15mm 18mm}:root{color-scheme:light;--page-bg:#fff;--page-fg:#000;--muted-fg:#444;--card-bg:#fff;--line:#ccc;--line-strong:#999;--accent:#000;--hl-yellow:#fff3b0;--hl-green:#d6f5dd;--hl-pink:#ffdcea;--hl-blue:#dae8ff}body,html{color:#000;background:#fff!important;padding:0!important}*,:after,:before{box-shadow:none!important;text-shadow:none!important}body:has(.print-page)>main{max-width:none;margin:0;padding:0}.print-page{max-width:none;margin:0}.print-sheet-header{break-after:avoid;margin-top:0}a{color:inherit;text-decoration:none}a[href]:after{content:none!important}.note-content mark,.subject-dot{-webkit-print-color-adjust:exact;print-color-adjust:exact}.note-content{orphans:3;widows:3;font-size:11pt;line-height:1.5}.note-content h1,.note-content h2,.note-content h3{break-after:avoid;break-inside:avoid}.note-content blockquote,.note-content li,.note-content pre{break-inside:avoid}.note-content pre{white-space:pre-wrap;overflow:visible}.note-content img{object-fit:contain;break-inside:avoid;border-color:#ccc;max-width:100%;max-height:230mm}}:root{--bubble-mine:#4b1fe0;--bubble-theirs:#fff;--bubble-theirs-fg:#111}@media (prefers-color-scheme:dark){:root{--bubble-mine:#5b34f0;--bubble-theirs:#1d1a27;--bubble-theirs-fg:#f4f1ff}}.chat-frame{border:2px solid var(--ink);background:var(--card-bg);box-shadow:6px 6px 0 var(--shadow);border-radius:1rem;overflow:hidden}.chat-list{overscroll-behavior:contain;background:var(--page-bg)}@supports selector(:has(a)){body:has(.chat-page){flex-direction:column;height:100dvh;display:flex;overflow:hidden}body:has(.chat-page)>header{flex:none}body:has(.chat-page)>main{flex-direction:column;flex:1;width:100%;min-height:0;padding-top:.75rem;padding-bottom:.75rem;display:flex;overflow-y:auto}body:has(.chat-page)>footer{display:none}.chat-page{flex-direction:column;display:flex}.chat-page,.chat-page>.chat-frame{flex:1;min-height:0}.chat-page .chat-list{flex:1;min-height:8rem}}@supports not selector(:has(a)){.chat-list{height:clamp(16rem,100dvh - 22rem,40rem)}}.chat-day{border:2px solid var(--ink);background:var(--pop);letter-spacing:.06em;text-transform:uppercase;width:fit-content;color:var(--pop-fg);border-radius:999px;margin:.75rem auto .5rem;padding:.15rem .6rem;font-size:.68rem;font-weight:700}.chat-row{flex-direction:column}.chat-line,.chat-row{display:flex}.chat-line.mine{justify-content:flex-end}.chat-line.theirs{justify-content:flex-start}.chat-author{color:var(--muted-fg);margin:0 0 .15rem .75rem;font-size:.7rem}.chat-bubble{border:2px solid var(--ink);max-width:78%;box-shadow:3px 3px 0 var(--shadow);overflow-wrap:anywhere;border-radius:1rem;padding:.45rem .8rem;font-size:.95rem;line-height:1.35;position:relative}.chat-bubble.mine{background:var(--bubble-mine);color:#fff}.chat-bubble.theirs{background:var(--bubble-theirs);color:var(--bubble-theirs-fg)}.chat-bubble.tail.mine{border-bottom-right-radius:.25rem}.chat-bubble.tail.theirs{border-bottom-left-radius:.25rem}.chat-bubble.has-gif{padding:3px}.chat-gif{background:#00000014;border-radius:.75rem;width:min(240px,68vw);max-width:100%;height:auto;display:block}.chat-sticker{filter:drop-shadow(0 6px 10px #00000038);padding:.15rem .35rem;font-size:3.6rem;line-height:1}.chat-meta{color:var(--muted-fg);gap:.6rem;margin:.15rem .5rem 0;font-size:.66rem;display:flex}.chat-meta.mine{justify-content:flex-end}.chat-stack{flex-direction:column;max-width:78%;display:flex}.chat-stack.mine{align-items:flex-end}.chat-stack.theirs{align-items:flex-start}.chat-quote,.chat-stack>.chat-bubble{max-width:100%}.chat-quote{border-left:3px solid var(--accent);background:var(--accent);border-radius:.5rem;flex-direction:column;align-items:flex-start;margin:0 .35rem .3rem;padding:.25rem .6rem .3rem;display:flex}@supports (color:color-mix(in lab,red,red)){.chat-quote{background:color-mix(in srgb,var(--accent) 10%,var(--card-bg))}}.chat-quote{color:var(--page-fg);text-align:left;cursor:pointer;font-size:.78rem;line-height:1.3}.chat-quote:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.chat-quote:hover{background:color-mix(in srgb,var(--accent) 18%,var(--card-bg))}}.chat-quote-author{color:var(--accent);font-weight:700}.chat-quote-body{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-flash .chat-bubble,.chat-flash .chat-sticker{animation:chat-flash 1.6s ease-out}@keyframes chat-flash{0%,40%{box-shadow:0 0 0 4px var(--pop)}to{box-shadow:3px 3px 0 var(--shadow)}}.chat-reactions{flex-wrap:wrap;gap:.25rem;margin:.25rem .5rem 0;display:flex}.chat-reactions.mine{justify-content:flex-end}.chat-reaction{border:2px solid var(--ink);background:var(--card-bg);border-radius:999px;align-items:center;gap:.25rem;padding:.1rem .5rem;font-size:.8rem;line-height:1.4;transition:transform .12s,background-color .15s;display:inline-flex}.chat-reaction:hover{transform:translateY(-1px)}.chat-reaction.is-mine{background:var(--pop);color:var(--pop-fg)}.chat-reaction-count{font-size:.72rem;font-weight:700}.chat-tools{gap:.35rem;margin:.2rem .5rem 0;display:flex}.chat-tools.mine{justify-content:flex-end}.chat-tool{border:1.5px solid var(--ink);background:var(--card-bg);color:var(--page-fg);border-radius:999px;padding:.05rem .5rem;font-size:.68rem;font-weight:600;line-height:1.5}.chat-tool.is-on,.chat-tool:hover{background:var(--pop);color:var(--pop-fg)}@media (hover:hover){.chat-tools{opacity:0;transition:opacity .15s}.chat-row.is-open .chat-tools,.chat-row:hover .chat-tools,.chat-tools:focus-within{opacity:1}}@media (hover:none){.chat-tools{display:none}.chat-row.is-open .chat-tools{display:flex}}.chat-palette{border:2px solid var(--ink);background:var(--card-bg);width:fit-content;box-shadow:3px 3px 0 var(--shadow);border-radius:999px;gap:.2rem;margin:.25rem .5rem 0;padding:.25rem;display:flex}.chat-palette.mine{margin-left:auto}.chat-palette-choice{border-radius:50%;width:2rem;height:2rem;font-size:1.15rem;line-height:1;transition:transform .12s}.chat-palette-choice:hover{background:var(--pop);transform:scale(1.2)}.chat-reply-bar{border-left:3px solid var(--accent);background:var(--accent);border-radius:.5rem;align-items:center;gap:.5rem;margin:0 .25rem .4rem;padding:.3rem .6rem;display:flex}@supports (color:color-mix(in lab,red,red)){.chat-reply-bar{background:color-mix(in srgb,var(--accent) 10%,var(--card-bg))}}.chat-reply-bar{font-size:.8rem}.chat-reply-cancel{border:1.5px solid var(--ink);background:var(--card-bg);border-radius:50%;flex:none;width:1.5rem;height:1.5rem;font-size:1rem;line-height:1}.chat-reply-cancel:hover{background:var(--pop)}.chat-typing{align-items:center;gap:4px;min-height:2.1rem;display:flex}.chat-typing span{background:var(--muted-fg);opacity:.55;border-radius:50%;width:7px;height:7px;animation:chat-dot 1.2s ease-in-out infinite}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-dot{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-in{animation:chat-pop .28s cubic-bezier(.2,.9,.3,1.15)}@keyframes chat-pop{0%{opacity:0;transform:translateY(8px)scale(.94)}to{opacity:1;transform:none}}.chat-composer,.chat-header,.chat-picker{background:var(--card-bg)}.chat-composer,.chat-picker{border-top:2px solid var(--ink)}.chat-picker{max-height:17rem;padding:.6rem .75rem;overflow-y:auto}.chat-header{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--shadow);border-radius:1rem}.chat-input{border:2px solid var(--ink);background:var(--page-bg);border-radius:1.25rem;max-height:8rem;transition:box-shadow .12s}.chat-input:focus{border-color:var(--accent);box-shadow:3px 3px 0 var(--accent)}.chat-input::placeholder{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-icon-button,.chat-send{border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:transform .12s,background-color .15s,opacity .15s;display:inline-flex}.chat-icon-button{color:var(--page-fg);background:var(--card-bg);border:2px solid var(--ink)}.chat-icon-button:hover{background:var(--page-bg)}.chat-icon-button.is-on,.chat-send{color:var(--pop-fg);background:var(--pop)}.chat-send{border:2px solid var(--ink)}.chat-send:disabled{opacity:.35}.chat-icon-button:active,.chat-send:not(:disabled):active,.chat-sticker-button:active{transform:scale(.9)}.chat-sticker-button{aspect-ratio:1;border-radius:.75rem;width:100%;font-size:1.7rem;line-height:1;transition:transform .12s,background-color .15s}.chat-sticker-button:hover{background:var(--bubble-mine)}@supports (color:color-mix(in lab,red,red)){.chat-sticker-button:hover{background:color-mix(in srgb,var(--bubble-mine) 12%,transparent)}}.chat-sticker-button:hover{transform:scale(1.12)}.chat-gif-grid{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}@media (min-width:640px){.chat-gif-grid{grid-template-columns:repeat(5,1fr)}}.chat-gif-choice{aspect-ratio:1;background:#00000014;border-radius:.6rem;width:100%;transition:transform .12s;display:block;overflow:hidden}.chat-gif-choice img{object-fit:cover;width:100%;height:100%}.chat-gif-choice:hover{transform:scale(1.04)}.chat-avatar{color:#fff;letter-spacing:.02em;background:linear-gradient(150deg,var(--avatar-a),var(--avatar-b));border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;font-size:.85rem;font-weight:600;display:inline-flex}.chat-unread-dot{border:2px solid var(--ink);background:var(--pop);border-radius:50%;flex:none;width:.7rem;height:.7rem}.chat-avatar-xs{width:1.5rem;height:1.5rem;font-size:.6rem}.chat-avatar-lg{width:5rem;height:5rem;font-size:1.6rem}.chat-avatar{border:2px solid var(--ink);overflow:hidden}.chat-avatar-picture{object-fit:cover;width:100%;height:100%;display:block}.chat-online-dot{border:2px solid var(--ink);background:#2fd06a;border-radius:50%;width:.75rem;height:.75rem;display:inline-block}.chat-presence{color:var(--muted-fg);border-bottom:2px solid var(--ink);align-items:center;gap:.4rem;padding:.35rem .9rem;font-size:.72rem;display:flex}.chat-presence .chat-online-dot{width:.6rem;height:.6rem}.chat-presence .chat-offline-dot{border:1.5px solid var(--muted-fg);opacity:.6;border-radius:50%;width:.5rem;height:.5rem;display:inline-block}.chat-receipt{text-align:right;color:var(--muted-fg);margin:.1rem .5rem 0;font-size:.66rem}.chat-receipt.is-read{color:var(--bubble-mine)}@media (prefers-reduced-motion:reduce){.chat-flash .chat-bubble,.chat-flash .chat-sticker,.chat-in,.chat-typing span{animation:none}.chat-gif-choice,.chat-icon-button,.chat-send,.chat-sticker-button{transition:none}}.note-content img[data-schema]{border:1px solid var(--line);background:#fff}.schema-board .excalidraw{height:100%}@media (max-width:639px){.schema-dialog{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100dvh}}.ask-log{overscroll-behavior:contain;border:1px solid var(--line);background:var(--page-bg);border-radius:.625rem;max-height:60vh;padding:.75rem;overflow-y:auto}.ask-stack{flex-direction:column;gap:.35rem;max-width:100%;display:flex}.ask-stack.mine{align-items:flex-end;max-width:85%}.ask-stack.theirs{align-items:flex-start}.ask-bubble{max-width:100%}.ask-bubble.theirs{font-size:.9rem;line-height:1.55}.ask-answer p+p,.ask-answer p+ul,.ask-answer ul+p,.ask-answer ul+ul{margin-top:.5rem}.ask-answer ul{padding-left:1.25rem;list-style:outside}.ask-answer li+li{margin-top:.2rem}.ask-answer .katex{font-size:1.02em}@keyframes ask-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes ask-typing{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@keyframes ask-caret{0%,45%{opacity:1}50%,to{opacity:0}}.ask-enter{animation:ask-enter .22s ease-out both}.ask-thinking{align-items:center;gap:.6rem;display:inline-flex}.ask-typing{align-items:flex-end;gap:.25rem;height:1rem;display:inline-flex}.ask-typing i{background:var(--accent);border-radius:999px;width:.45rem;height:.45rem;animation:ask-typing 1.1s ease-in-out infinite;display:block}.ask-typing i:nth-child(2){animation-delay:.15s}.ask-typing i:nth-child(3){animation-delay:.3s}.ask-writing .ask-answer>p:last-child:after,.ask-writing .ask-answer>ul:last-child>li:last-child:after{content:"";vertical-align:-.15em;background:var(--accent);width:2px;height:1em;margin-left:.15rem;animation:ask-caret 1s step-end infinite;display:inline-block}@media (prefers-reduced-motion:reduce){.ask-enter,.ask-typing i{animation:none}.ask-typing i{opacity:.7}.ask-writing .ask-answer>p:last-child:after,.ask-writing .ask-answer>ul:last-child>li:last-child:after{animation:none}}.ask-cite{vertical-align:.2em;border:1.5px solid var(--ink);background:var(--pop);min-width:1.1rem;height:1.1rem;color:var(--pop-fg);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;margin:0 .2rem 0 .1rem;padding:0 .25rem;font-size:.6rem;font-weight:700;line-height:1;display:inline-flex;position:relative}.ask-cite:before{content:"";position:absolute;inset:-.75rem -.5rem}.ask-cite[aria-pressed=true]{background:var(--accent);color:var(--page-bg);border-color:var(--accent)}.ask-cite-panel{border:1px dashed var(--line-strong);background:var(--card-bg);border-radius:.625rem;width:100%;padding:.5rem .75rem}.ask-cite-panel blockquote{border-left:3px solid var(--pop);max-height:12rem;padding-left:.6rem;overflow-y:auto}.course-layout{flex-direction:column;gap:1rem;display:flex}@media (min-width:1024px){.course-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.course-side{position:sticky;top:1rem}}.course-main{flex-direction:column;gap:.9rem;min-width:0;display:flex}.course-jump-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-fg);margin-bottom:.4rem;font-size:.7rem}.course-jump ul{gap:.4rem;margin:0;padding-bottom:.2rem;padding-left:0;list-style:none;display:flex;overflow-x:auto}.course-jump a{border:1.5px solid var(--line-strong);min-height:2.25rem;color:var(--page-fg);white-space:nowrap;background:var(--page-bg);border-radius:999px;align-items:center;gap:.4rem;padding:0 .7rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.course-jump a:hover{border-color:var(--accent);color:var(--accent)}@media (min-width:1024px){.course-jump ul{flex-direction:column;gap:.2rem;overflow:visible}.course-jump a{background:0 0;border:none;border-radius:.5rem;justify-content:space-between;min-height:2.5rem;padding:0 .5rem;font-size:.9rem}.course-jump a:hover{background:var(--today-bg)}}.course-badge{border:1.5px solid var(--ink);color:var(--page-fg);background:var(--card-bg);border-radius:.35rem;padding:.05rem .45rem;font-size:.7rem;font-weight:700;line-height:1.3;display:inline-block}.course-badge.pop{background:var(--pop);color:var(--pop-fg)}a.course-row-now{background:var(--today-bg);border-color:var(--ink);box-shadow:4px 4px 0 var(--accent)}.course-quick{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.course-quick .course-jump-title{width:100%;margin-bottom:0}.course-quick-main{background:var(--accent);min-height:44px;color:var(--page-bg);border-radius:.5rem;align-items:center;padding:0 1rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.course-quick-main:hover{opacity:.9}@media (min-width:1024px){.course-quick{flex-direction:column;align-items:stretch}.course-quick a{text-align:center;justify-content:center}}.course-section{scroll-margin-top:1rem}.course-section-summary{cursor:pointer;border-radius:calc(var(--radius-lg) - 2px);align-items:center;gap:.75rem;margin:-1rem;padding:1rem;list-style:none;display:flex}.course-section-summary::-webkit-details-marker{display:none}.course-section-summary:hover{background:var(--today-bg)}.course-section-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.course-section-title{flex-shrink:0;align-items:center;gap:.5rem;display:inline-flex}.course-section-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted-fg);flex-grow:1;font-size:.8rem;overflow:hidden}.course-chevron{color:var(--muted-fg);flex-shrink:0;transition:transform .15s}.course-section[open]>.course-section-summary{border-bottom:1px solid var(--line);border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:1rem}.course-section[open] .course-chevron{transform:rotate(180deg)}.course-section[open] .course-section-detail{visibility:hidden}.course-section-body{flex-direction:column;display:flex}.course-section-body>p.text-xs:first-child{margin-bottom:.25rem}@media (prefers-reduced-motion:reduce){.course-chevron{transition:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}