@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700&display=swap";
@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--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-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--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);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-xs:.125rem;--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)}}@layer base{*,:before,:after{border-color:var(--border)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}[data-variant][data-size],[data-slot=dialog-close]{border:0 solid var(--border);background-color:#0000}[data-slot=card],[data-slot=input],[data-slot=dialog-content]{border:0 solid var(--border)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.-top-12{top:calc(var(--spacing) * -12)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.-right-12{right:calc(var(--spacing) * -12)}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.-bottom-12{bottom:calc(var(--spacing) * -12)}.bottom-0{bottom:0}.-left-12{left:calc(var(--spacing) * -12)}.left-1\/2,.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-auto{margin-top:auto}.mb-0{margin-bottom:0}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.-ml-4{margin-left:calc(var(--spacing) * -4)}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.min-h-4{min-height:calc(var(--spacing) * 4)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.animate-pulse{animation:var(--animate-pulse)}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-items-start{justify-items:start}.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)}.gap-6{gap:calc(var(--spacing) * 6)}: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-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-muted{background-color:var(--muted)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.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))}.leading-none{--tw-leading:1;line-height:1}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);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-background{--tw-ring-color:var(--background)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;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-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-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}.group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *){width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection,.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection,.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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)}}.focus\:ring-2:focus{--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)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing) * 4) 1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--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)}:is(.\*\:data-\[slot\=avatar\]\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}@media (min-width:40rem){.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}.group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,.group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab, var(--secondary) 90%, transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:#fff;--foreground:#0a0a0a;--card:#fff;--card-foreground:#0a0a0a;--popover:#fff;--popover-foreground:#0a0a0a;--primary:#171717;--primary-foreground:#fafafa;--secondary:#f5f5f5;--secondary-foreground:#171717;--muted:#f5f5f5;--muted-foreground:#737373;--accent:#f5f5f5;--accent-foreground:#171717;--destructive:#e40014;--border:#e5e5e5;--input:#e5e5e5;--ring:#a1a1a1}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(2.75381% 0 0);--card:lab(100% 0 0);--card-foreground:lab(2.75381% 0 0);--popover:lab(100% 0 0);--popover-foreground:lab(2.75381% 0 0);--primary:lab(7.78201% -.0000149012 0);--primary-foreground:lab(98.26% 0 0);--secondary:lab(96.52% -.0000298023 .0000119209);--secondary-foreground:lab(7.78201% -.0000149012 0);--muted:lab(96.52% -.0000298023 .0000119209);--muted-foreground:lab(48.496% 0 0);--accent:lab(96.52% -.0000298023 .0000119209);--accent-foreground:lab(7.78201% -.0000149012 0);--destructive:lab(48.4493% 77.4328 61.5452);--border:lab(90.952% 0 -.0000119209);--input:lab(90.952% 0 -.0000119209);--ring:lab(66.128% -.0000298023 .0000119209)}}.dark{--background:#0a0a0a;--foreground:#fafafa;--card:#171717;--card-foreground:#fafafa;--popover:#171717;--popover-foreground:#fafafa;--primary:#e5e5e5;--primary-foreground:#171717;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#262626;--accent-foreground:#fafafa;--destructive:#ff6568;--border:#ffffff1a;--input:#ffffff26;--ring:#737373}@supports (color:lab(0% 0 0)){.dark{--background:lab(2.75381% 0 0);--foreground:lab(98.26% 0 0);--card:lab(7.78201% -.0000149012 0);--card-foreground:lab(98.26% 0 0);--popover:lab(7.78201% -.0000149012 0);--popover-foreground:lab(98.26% 0 0);--primary:lab(90.952% 0 -.0000119209);--primary-foreground:lab(7.78201% -.0000149012 0);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--accent:lab(15.204% 0 -.00000596046);--accent-foreground:lab(98.26% 0 0);--destructive:lab(63.7053% 60.745 31.3109);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(48.496% 0 0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}@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-space-x-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-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-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
:root{--ink:var(--foreground);--site-muted:var(--muted-foreground);--site-accent:#176c5b;--cream:var(--background);--line:var(--border);--white:#fff;--mint:var(--muted);--orange:#bc6438;scroll-behavior:smooth;scroll-padding-top:100px}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font-family:Noto Sans TC,system-ui,sans-serif;line-height:1.8}button,a,input{touch-action:manipulation}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.3}h2:not([data-slot]){font-size:1.7rem;line-height:1.5}h3{font-size:1.15rem}img{max-width:100%;height:auto}figure{margin:0}figcaption{color:var(--site-muted);margin-top:12px;font-size:.85rem}figcaption a,.rich-content a{color:var(--site-accent);text-underline-offset:4px;text-decoration:underline}main{max-width:1280px;margin:auto;padding:0 64px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1408px;height:100px;margin:auto;padding:24px 64px;display:flex}.brand{align-items:center;gap:14px;font-size:1.1rem;font-weight:700;display:flex}.brand-symbol{border:1px solid var(--ink);border-radius:50%;place-items:center;width:48px;height:48px;font-size:1.6rem;display:grid}.brand-sub{letter-spacing:.13em;font-size:.72rem;font-weight:400;display:block}.site-header nav{gap:32px;font-size:.9rem;display:flex}.eyebrow{letter-spacing:.17em;color:var(--site-accent);margin-bottom:18px;font-size:.72rem;font-weight:600}.home-hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:64px;min-height:540px;padding:72px 0;display:grid}.home-hero h1{max-width:620px}.home-hero .rich-content{max-width:510px;color:var(--site-muted)}.hero-art{aspect-ratio:1;place-items:center;width:100%;max-width:420px;display:grid;position:relative}.orbit{border:1px solid #96b9a9;border-radius:50%;position:absolute;inset:12%}.orbit-1{transform:rotate(-30deg)scaleX(.5)}.orbit-2{transform:rotate(30deg)scaleX(.5)}.orbit-3{transform:rotate(90deg)scaleX(.5)}.hero-mark{letter-spacing:-.07em;text-align:center;font-family:Georgia,serif;font-size:6rem;line-height:1}.hero-mark span{letter-spacing:.13em;margin-top:24px;font:.7rem Noto Sans TC,sans-serif;display:block}.orbit-dot{background:var(--site-accent);border-radius:50%;width:13px;height:13px;position:absolute}.dot-1{top:16%;left:38%}.dot-2{background:var(--orange);bottom:25%;right:17%}.dot-3{width:8px;height:8px;bottom:18%;left:29%}.field-section{border-top:1px solid var(--line);padding:48px 0 80px}.section-label{margin-bottom:36px}.section-label p:last-child{color:var(--site-muted)}.field-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.field-number{letter-spacing:.12em;color:var(--muted-foreground);font-size:.7rem}.site-footer{border-top:1px solid var(--line);align-items:center;gap:32px;max-width:1280px;margin:0 auto;padding:36px 64px;font-size:.8rem;display:flex}.site-footer div{flex:1}.site-footer p{color:var(--site-muted);margin-bottom:0}.field-hero{border-bottom:1px solid var(--line);padding:56px 0 48px}.field-hero h1{font-size:clamp(2.8rem,5vw,4.2rem)}.field-summary{max-width:800px;color:var(--site-muted);font-size:1.05rem}.field-layout{grid-template-columns:220px minmax(0,1fr);gap:48px;padding:48px 0 80px;display:grid}.toc{height:max-content;position:sticky;top:24px}.toc a{border-left:1px solid var(--line);padding:8px 0;font-size:.85rem;display:block}.toc a:hover{color:var(--site-accent);border-color:var(--site-accent)}.field-body{min-width:0}.content-block{margin-bottom:48px;scroll-margin-top:24px}.content-block>h2{margin-bottom:24px}.accordion-body .content-block{margin-bottom:28px}.accordion-body h2{font-size:1.2rem}.rich-content{overflow-wrap:anywhere}.rich-content p:last-child{margin-bottom:0}.rich-content blockquote{border-left:3px solid var(--site-accent);margin-left:0;padding-left:20px}.text-image.side{grid-template-columns:1fr 1fr;gap:24px;display:grid}.text-image.stack{gap:24px;display:grid}.text-image figure img{border-radius:8px}.timeline{border-left:1px solid var(--border);padding:0 0 0 26px;list-style:none}.timeline li{margin:0 0 32px;position:relative}.timeline li:before{content:"";background:var(--site-accent);border-radius:50%;width:9px;height:9px;position:absolute;top:12px;left:-31px}.carousel figure img{object-fit:contain;width:100%;max-height:600px}.carousel-controls{justify-content:center;align-items:center;gap:24px;margin-top:20px;display:flex}.embed iframe,.embed video{aspect-ratio:16/9;border:1px solid var(--line);border-radius:8px;width:100%}.embed .document-frame{aspect-ratio:4/5}.question{margin-bottom:32px}.question h3{line-height:1.7}.answer-source{color:var(--site-muted);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.78rem;display:flex}.professor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.link-row{flex-wrap:wrap;gap:20px;display:flex}.teacher-dialog dt{color:var(--site-muted);font-size:.8rem}.teacher-dialog dd{margin:0 0 12px}.muted{color:var(--site-muted)}.search-page{max-width:960px;min-height:70vh;padding-top:64px;padding-bottom:80px}.search-page h1{font-size:2.7rem}.search-input{gap:12px;margin-bottom:32px;display:flex}.skip-link{background:var(--ink);color:#fff;z-index:10;padding:12px;position:absolute;top:-100px;left:20px}.skip-link:focus{top:12px}.preview-banner{text-align:center;background:#faeadb;padding:12px;font-size:.85rem}@media (max-width:960px){main{padding:0 32px}.site-header,.site-footer{padding:24px 32px}.home-hero{gap:24px;min-height:450px}.field-grid{grid-template-columns:repeat(2,1fr)}.field-layout{grid-template-columns:170px minmax(0,1fr);gap:28px}.professor-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){main{padding:0 20px}.site-header{height:84px;padding:18px 20px}.brand{gap:10px;font-size:.95rem}.brand-symbol{width:40px;height:40px;font-size:1.3rem}.site-header nav{gap:16px;font-size:.8rem}.home-hero{grid-template-columns:1fr;min-height:auto;padding:48px 0}.hero-art{display:none}.home-hero h1{font-size:2.8rem}.field-grid{grid-template-columns:1fr;gap:14px}.field-section{padding-top:32px}.site-footer{flex-wrap:wrap;gap:20px;padding:28px 20px}.site-footer div{flex-basis:100%}.field-hero{padding:36px 0}.field-layout{padding-top:24px;display:block}.toc{border-bottom:1px solid var(--line);margin-bottom:32px;padding-bottom:20px;position:static}.toc a{background:var(--mint);border:0;border-radius:4px;margin:4px;font-size:.8rem;display:inline-block;padding:6px 12px!important}.text-image.side{grid-template-columns:1fr}.accordion-body{padding:0 14px 10px}.professor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.topic-buttons{grid-template-columns:1fr}.topic-detail{padding:16px}.search-page{padding-top:40px}.search-page h1{font-size:2rem}.search-input{flex-direction:column}.content-block>h2{font-size:1.4rem}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.home-hero-image{aspect-ratio:1;object-fit:cover;border-radius:16px;width:100%}.field-card-image{object-fit:cover;border-radius:6px;width:100%;height:140px;margin-bottom:16px}.field-card{height:100%;min-height:255px}.field-card-link{height:100%;display:block}.field-card-footer{justify-content:space-between;margin-top:auto}.home-note{margin-bottom:80px}.primary-link{margin-top:24px}.back-link{margin-bottom:32px}.content-accordion{border-bottom:1px solid var(--border);margin-bottom:24px;scroll-margin-top:24px}.accordion-body{padding:0 0 16px 16px}.answer{margin:16px 0}.answer-source{margin-bottom:0}.search-input input{flex:1}.search-results{gap:16px;display:grid}.search-results>a{display:block}.link-row{gap:12px}.site-header nav{gap:8px}.field-card-image{margin-bottom:0}.field-card h3,.search-result h2{margin:0;font-size:1rem;line-height:1.4}.timeline li h3{margin:0;font-size:1rem}.timeline li:before{background:var(--primary)}.rich-content blockquote{border-color:var(--border)}.preview-banner{background:var(--muted)}a:not([data-variant]):focus-visible{outline:2px solid var(--ring);outline-offset:4px}@media (max-width:640px){.site-header nav{gap:0}.home-note{margin-bottom:48px}.accordion-body{padding-left:12px}.professor-grid{grid-template-columns:minmax(0,1fr)}}
.topic-explorer{--topic-bg:#152130;--topic-card:#192737;--topic-line:#2e3f51;--topic-ink:#ecf4fc;--topic-muted:#9bb4cf;background:var(--topic-bg);color:var(--topic-ink);border-radius:16px;padding:24px;container-type:inline-size}.topic-hint{color:var(--topic-muted);margin:0 0 20px;font-size:.85rem}.topic-research{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.topic-map-scroll{min-width:0;overflow:auto}.topic-map{width:100%;position:relative}.topic-spokes{width:100%;height:100%;position:absolute;inset:0}.topic-spokes line{stroke:var(--topic-line);stroke-width:2px}.topic-spokes line.active{stroke-width:3px}.topic-node{aspect-ratio:1;border:2px solid var(--topic-color);background:var(--topic-card);color:var(--topic-ink);white-space:normal;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:clamp(.75rem,1.9cqw,1.05rem);font-weight:400;line-height:1.35;transition:background .18s,color .18s;display:flex;position:absolute;transform:translate(-50%,-50%)}.topic-node-title{overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:4em;font-weight:700;display:-webkit-box;overflow:hidden}.topic-node-title>span{display:block}.topic-node-count{color:var(--topic-muted);white-space:nowrap;font-size:.72em}.topic-node[aria-pressed=true],.topic-node:hover{background:var(--topic-color);color:#112333}.topic-node[aria-pressed=true] .topic-node-count,.topic-node:hover .topic-node-count{color:#173349}.topic-node:focus-visible,.topic-list button:focus-visible{outline-offset:4px;outline:3px solid #f5f8fc}.topic-panel{overflow-wrap:anywhere;min-width:0}.topic-panel h3{align-items:center;gap:10px;margin:0 0 18px;font-size:clamp(1.1rem,2.5cqw,1.6rem);display:flex}.topic-dot{background:var(--topic-color);border-radius:50%;flex:0 0 13px;height:13px}.topic-panel .rich-content{font-size:.9rem}.topic-panel .rich-content a{color:#91d9bf}.topic-panel .muted{color:var(--topic-muted)}.professor-chips{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.professor-chip{height:auto;padding:4px 8px}.professor-chip .professor-avatar{border-radius:50%;flex:0 0 32px;width:32px;height:32px;margin:0}.professor-chip [data-slot=avatar-image]{object-fit:cover;width:100%;height:100%;margin:0}.professor-chip .professor-name{font-size:inherit}.topic-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:32px;display:grid}.topic-list button{text-align:left;white-space:normal;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;height:auto;padding:14px;line-height:1.5;display:flex}.topic-list button strong{overflow-wrap:anywhere;font-size:.9rem}.topic-list button span{color:var(--topic-muted);font-size:.8rem}.topic-list button[aria-pressed=true]{border-color:var(--topic-color);box-shadow:inset 0 0 0 1px var(--topic-color)}.topic-related{flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;font-size:.8rem;display:flex}.topic-related>span{color:var(--topic-muted)}@container (max-width:600px){.topic-research{grid-template-columns:minmax(0,1fr);gap:24px}.topic-map{max-width:540px;margin-inline:auto}.topic-node{gap:3px;padding:4px;font-size:clamp(.75rem,3.5cqw,1.05rem)}.topic-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.topic-explorer{padding:16px}.topic-panel{padding:20px}.topic-list{gap:10px}}
.study-map{--study-bg:#152130;--study-card:#192737;--study-line:#2e3f51;--study-ink:#ecf4fc;--study-muted:#9aabbc;background:var(--study-bg);color:var(--study-ink);border-radius:16px;padding:24px}.study-legend{color:var(--study-muted);flex-wrap:wrap;gap:8px 18px;font-size:.8rem;display:flex}.study-legend span{align-items:center;gap:6px;display:inline-flex}.study-legend i{border-radius:3px;width:12px;height:12px}.study-hint{color:var(--study-muted);margin:12px 0 18px;font-size:.78rem}.study-scroll{border:1px solid var(--study-line);border-radius:16px;overflow:auto}.study-board{background:var(--study-card);width:100%;position:relative}.study-column{border-right:1px dashed var(--study-line);height:100%;position:absolute;top:0}.study-column:last-of-type{border-right:0}.study-column h3{border-bottom:1px solid var(--study-line);background:var(--study-bg);place-items:center;height:54px;margin:0;font-size:.95rem;display:grid}.study-empty{color:var(--study-muted);padding:16px;font-size:.8rem}.study-wires{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.study-wires path{fill:none;stroke:#566b80;stroke-width:1.5px;opacity:.35;vector-effect:non-scaling-stroke}.study-wires .ancestor{stroke:#43ccc7;stroke-width:2px;opacity:1}.study-wires .descendant{stroke:#f4b849;stroke-width:2px;opacity:1}.study-course{text-align:left;border:1px solid var(--study-line);border-left:5px solid var(--course-color);height:60px;color:var(--study-ink);background:#0e1926;border-radius:8px;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;padding:8px 10px;font-weight:400;line-height:1.45;transition:opacity .18s;display:flex;position:absolute}.study-course strong{text-overflow:ellipsis;white-space:nowrap;width:100%;padding-right:10px;font-size:.9rem;display:block;overflow:hidden}.study-course>span:not(.study-required){color:var(--study-muted);font-size:.72rem}.study-required{color:#43ccc7;border:0;border-radius:0;padding:0;font-size:.65rem;position:absolute;top:6px;right:8px}.study-board.focused .study-course{opacity:.28}.study-board.focused .study-course.selected,.study-board.focused .study-course.ancestor,.study-board.focused .study-course.descendant,.study-board.focused .study-course:hover,.study-board.focused .study-course:focus-visible{opacity:1}.study-course.selected{box-shadow:inset 0 0 0 1px var(--course-color);border-color:var(--course-color)}.study-course:focus-visible,.study-scroll:focus-visible,.study-clear:focus-visible{outline-offset:3px;outline:3px solid #f5f8fc}.study-detail{margin-top:16px}.study-detail h3{margin:0 0 8px;font-size:.95rem}.study-detail h3 span{color:var(--study-muted);font-weight:400}.study-detail>p{margin:10px 0 0}.study-detail>p:first-child{margin:0}.study-detail .study-up,.study-detail .study-down{margin-right:20px;display:inline-block}.study-up{color:#43ccc7}.study-down{color:#f4b849}.study-relations{margin-top:12px}.study-relations p{margin:8px 0 0;display:block}.study-detail a{color:#91d9bf;text-decoration:underline}.study-clear{align-self:flex-start}@media (max-width:640px){.study-map{padding:16px}}.study-relations-trigger[data-state=open] svg{transform:rotate(180deg)}
.content-accordion-trigger{text-align:left;white-space:normal;justify-content:space-between;width:100%;height:auto;padding:16px 0}.content-accordion-trigger:hover{background:0 0;text-decoration:underline}.content-accordion-trigger svg{color:var(--muted-foreground);flex-shrink:0;transition:transform .2s}.content-accordion[data-state=open]>.content-accordion-trigger svg{transform:rotate(180deg)}.accordion-body[hidden]{display:none}.carousel-controls .carousel-control{position:static;transform:translate(0,0)}.carousel-placeholder{aspect-ratio:4/3;min-height:160px}.teacher-dialog{max-height:85vh;overflow-y:auto}.professor-avatar{flex-shrink:0}.demo-page{padding-top:48px;padding-bottom:80px}
