@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"IBM Plex Sans JP","Noto Sans TC","Microsoft JhengHei","PingFang TC","Arial",sans-serif;--font-mono:"JetBrains Mono","Fira Code","Consolas",monospace;--color-red-500:#fb2c36;--color-amber-500:#f99c00;--color-green-400:#05df72;--color-gray-500:#6a7282;--color-white:#fff;--spacing:.25rem;--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);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,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);--color-primary:#0184ff;--color-primary-light:#33a1ff;--color-primary-dark:#06c;--color-accent:#fad75a;--color-accent-light:#fbe485;--color-accent-dark:#f8ca2b;--color-text-primary:#000;--color-text-secondary:#666;--color-text-tertiary:#999;--color-bg-primary:#f5f5ed;--color-bg-secondary:#f0f0e8;--color-bg-tertiary:#ebebe3;--color-border:#e0e0e0}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-green-400:lab(78.503% -64.9265 39.7492);--color-gray-500:lab(47.7841% -.393182 -10.0268)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scroll-behavior:smooth}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning :before,html.theme-transitioning :after{transition:background-color .3s,color .2s,border-color .3s,box-shadow .3s!important}body{font-family:var(--font-sans);letter-spacing:.04em;color:var(--color-text-primary);background-color:var(--color-bg-secondary);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.75}h1,h2,h3,h4{font-weight:700;line-height:1.4}*{scrollbar-width:thin;scrollbar-color:var(--color-border)transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1\.5{top:calc(var(--spacing)*-1.5)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-full{top:100%}.-right-1\.5{right:calc(var(--spacing)*-1.5)}.right-0{right:calc(var(--spacing)*0)}.right-1\.5{right:calc(var(--spacing)*1.5)}.right-8{right:calc(var(--spacing)*8)}.bottom-3{bottom:calc(var(--spacing)*3)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.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}}.-mx-1\.5{margin-inline:calc(var(--spacing)*-1.5)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing)*3)}.my-6{margin-block:calc(var(--spacing)*6)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.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-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-\[180px\]{height:180px}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[200px\]{max-height:200px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[28px\]{min-height:28px}.min-h-\[36px\]{min-height:36px}.min-h-\[44px\]{min-height:44px}.w-0{width:calc(var(--spacing)*0)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-full{width:100%}.max-w-\[600px\]{max-width:600px}.max-w-\[800px\]{max-width:800px}.max-w-\[1000px\]{max-width:1000px}.max-w-\[1200px\]{max-width:1200px}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[1\.5rem\]{min-width:1.5rem}.min-w-\[1rem\]{min-width:1rem}.min-w-\[120px\]{min-width:120px}.min-w-\[140px\]{min-width:140px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.resize{resize:both}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}: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-border>:not(:last-child)){border-color:var(--color-border)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-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-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-x-\[4px\]{border-inline-style:var(--tw-border-style);border-inline-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-t-3{border-top-style:var(--tw-border-style);border-top-width:3px}.border-t-\[4px\]{border-top-style:var(--tw-border-style);border-top-width:4px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-\[4px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-border{border-color:var(--color-border)}.border-current{border-color:currentColor}.border-gray-500{border-color:var(--color-gray-500)}.border-primary{border-color:var(--color-primary)}.border-primary\/30{border-color:#0184ff4d}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab,var(--color-primary)30%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.border-x-transparent{border-inline-color:#0000}.border-t-\[var\(--color-border\)\]{border-top-color:var(--color-border)}.border-t-transparent{border-top-color:#0000}.border-b-\[var\(--color-border\)\]{border-bottom-color:var(--color-border)}.border-l-amber-500{border-left-color:var(--color-amber-500)}.border-l-red-500{border-left-color:var(--color-red-500)}.border-l-text-primary{border-left-color:var(--color-text-primary)}.bg-\[\#06C755\]{background-color:#06c755}.bg-\[\#5865F2\]{background-color:#5865f2}.bg-bg-primary{background-color:var(--color-bg-primary)}.bg-bg-secondary{background-color:var(--color-bg-secondary)}.bg-primary{background-color:var(--color-primary)}.bg-primary\/5{background-color:#0184ff0d}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--color-primary)5%,transparent)}}.bg-primary\/10{background-color:#0184ff1a}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-transparent{background-color:#0000}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-5{padding:calc(var(--spacing)*5)}.p-10{padding:calc(var(--spacing)*10)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-0\.5{padding-top:calc(var(--spacing)*.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-12{padding-top:calc(var(--spacing)*12)}.pt-14{padding-top:calc(var(--spacing)*14)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.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-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--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-\[6px\]{font-size:6px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.75\]{--tw-leading:1.75;line-height:1.75}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0em\]{--tw-tracking:0em;letter-spacing:0}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-500{color:var(--color-amber-500)}.text-green-400{color:var(--color-green-400)}.text-primary{color:var(--color-primary)}.text-red-500{color:var(--color-red-500)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-text-tertiary{color:var(--color-text-tertiary)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_16px_rgba\(1\,132\,255\,0\.2\)\]{--tw-shadow:0 4px 16px var(--tw-shadow-color,#0184ff33);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-md{--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)}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-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-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/msg\:opacity-100:is(:where(.group\/msg):hover *),.group-hover\/tip\:opacity-100:is(:where(.group\/tip):hover *){opacity:1}}.placeholder\:text-text-tertiary::placeholder{color:var(--color-text-tertiary)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bottom-\[-2px\]:after{content:var(--tw-content);bottom:-2px}.after\:left-0:after{content:var(--tw-content);left:calc(var(--spacing)*0)}.after\:h-\[2px\]:after{content:var(--tw-content);height:2px}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:origin-bottom-right:after{content:var(--tw-content);transform-origin:100% 100%}.after\:scale-x-0:after{content:var(--tw-content);--tw-scale-x:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.after\:bg-current:after{content:var(--tw-content);background-color:currentColor}.after\:transition-transform:after{content:var(--tw-content);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:duration-300:after{content:var(--tw-content);--tw-duration:.3s;transition-duration:.3s}.after\:ease-out:after{content:var(--tw-content);--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.group-hover\:after\:origin-bottom-left:is(:where(.group):hover *):after{content:var(--tw-content);transform-origin:0 100%}.group-hover\:after\:scale-x-100:is(:where(.group):hover *):after{content:var(--tw-content);--tw-scale-x:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:border-primary\/40:hover{border-color:#0184ff66}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab,var(--color-primary)40%,transparent)}}.hover\:bg-\[\#05B04A\]:hover{background-color:#05b04a}.hover\:bg-\[\#4752C4\]:hover{background-color:#4752c4}.hover\:bg-bg-secondary:hover{background-color:var(--color-bg-secondary)}.hover\:bg-border:hover{background-color:var(--color-border)}.hover\:bg-primary:hover{background-color:var(--color-primary)}.hover\:bg-primary-light:hover{background-color:var(--color-primary-light)}.hover\:bg-primary\/20:hover{background-color:#0184ff33}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--color-primary)20%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:text-text-secondary:hover{color:var(--color-text-secondary)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.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\:border-primary:focus{border-color:var(--color-primary)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-text-tertiary:disabled{background-color:var(--color-text-tertiary)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:scale-100:disabled:hover{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}}@media not all and (min-width:48rem){.max-md\:flex-col{flex-direction:column}}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:shadow-\[0_1px_3px_rgba\(255\,255\,255\,0\.04\)\]:where([data-theme=dark],[data-theme=dark] *):not([data-theme=light] *):not([data-theme=light]){--tw-shadow:0 1px 3px var(--tw-shadow-color,#ffffff0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\[\&_blockquote\]\:my-4 blockquote{margin-block:calc(var(--spacing)*4)}.\[\&_blockquote\]\:border-l-2 blockquote{border-left-style:var(--tw-border-style);border-left-width:2px}.\[\&_blockquote\]\:border-\[var\(--color-border\)\] blockquote{border-color:var(--color-border)}.\[\&_blockquote\]\:pl-4 blockquote{padding-left:calc(var(--spacing)*4)}.\[\&_blockquote\]\:text-\[var\(--color-text-tertiary\)\] blockquote{color:var(--color-text-tertiary)}.\[\&_code\]\:rounded code{border-radius:.25rem}.\[\&_code\]\:bg-\[var\(--color-bg-tertiary\)\] code{background-color:var(--color-bg-tertiary)}.\[\&_code\]\:px-1\.5 code{padding-inline:calc(var(--spacing)*1.5)}.\[\&_code\]\:py-0\.5 code{padding-block:calc(var(--spacing)*.5)}.\[\&_code\]\:text-\[0\.9em\] code{font-size:.9em}.\[\&_h1\]\:mt-8 h1{margin-top:calc(var(--spacing)*8)}.\[\&_h1\]\:mb-3 h1{margin-bottom:calc(var(--spacing)*3)}.\[\&_h1\]\:text-\[1\.6rem\] h1{font-size:1.6rem}.\[\&_h1\]\:leading-\[1\.4\] h1{--tw-leading:1.4;line-height:1.4}.\[\&_h1\]\:font-bold h1{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.\[\&_h2\]\:mt-6 h2{margin-top:calc(var(--spacing)*6)}.\[\&_h2\]\:mb-2\.5 h2{margin-bottom:calc(var(--spacing)*2.5)}.\[\&_h2\]\:text-\[1\.35rem\] h2{font-size:1.35rem}.\[\&_h2\]\:leading-\[1\.4\] h2{--tw-leading:1.4;line-height:1.4}.\[\&_h2\]\:font-bold h2{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.\[\&_h3\]\:mt-5 h3{margin-top:calc(var(--spacing)*5)}.\[\&_h3\]\:mb-2 h3{margin-bottom:calc(var(--spacing)*2)}.\[\&_h3\]\:text-\[1\.15rem\] h3{font-size:1.15rem}.\[\&_h3\]\:leading-\[1\.4\] h3{--tw-leading:1.4;line-height:1.4}.\[\&_h3\]\:font-semibold h3{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_h4\]\:mt-4 h4{margin-top:calc(var(--spacing)*4)}.\[\&_h4\]\:mb-1\.5 h4{margin-bottom:calc(var(--spacing)*1.5)}.\[\&_h4\]\:text-\[1\.05rem\] h4{font-size:1.05rem}.\[\&_h4\]\:leading-\[1\.4\] h4{--tw-leading:1.4;line-height:1.4}.\[\&_h4\]\:font-semibold h4{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_hr\]\:my-4 hr{margin-block:calc(var(--spacing)*4)}.\[\&_hr\]\:border-\[var\(--color-border\)\] hr{border-color:var(--color-border)}.\[\&_li\]\:my-1 li{margin-block:calc(var(--spacing)*1)}.\[\&_ol\]\:my-2 ol{margin-block:calc(var(--spacing)*2)}.\[\&_ol\]\:list-decimal ol{list-style-type:decimal}.\[\&_ol\]\:pl-\[1\.5em\] ol{padding-left:1.5em}.\[\&_ol\>li\:\:marker\]\:text-\[var\(--color-text-tertiary\)\] ol>li::marker{color:var(--color-text-tertiary)}.\[\&_p\]\:mt-1 p{margin-top:calc(var(--spacing)*1)}.\[\&_p\]\:mb-3 p{margin-bottom:calc(var(--spacing)*3)}.\[\&_p\]\:whitespace-pre-wrap p{white-space:pre-wrap}.\[\&_p\]\:text-inherit p{color:inherit}.\[\&_pre\]\:my-3 pre{margin-block:calc(var(--spacing)*3)}.\[\&_pre\]\:overflow-x-auto pre{overflow-x:auto}.\[\&_pre\]\:rounded-lg pre{border-radius:var(--radius-lg)}.\[\&_pre\]\:border pre{border-style:var(--tw-border-style);border-width:1px}.\[\&_pre\]\:border-\[var\(--color-border\)\] pre{border-color:var(--color-border)}.\[\&_pre\]\:bg-\[var\(--color-bg-tertiary\)\] pre{background-color:var(--color-bg-tertiary)}.\[\&_pre\]\:p-3 pre{padding:calc(var(--spacing)*3)}.\[\&_pre_code\]\:bg-transparent pre code{background-color:#0000}.\[\&_pre_code\]\:p-0 pre code{padding:calc(var(--spacing)*0)}.\[\&_strong\]\:font-bold strong{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.\[\&_tbody_tr\:nth-child\(even\)\]\:bg-bg-secondary\/50 tbody tr:nth-child(2n){background-color:#f0f0e880}@supports (color:color-mix(in lab, red, red)){.\[\&_tbody_tr\:nth-child\(even\)\]\:bg-bg-secondary\/50 tbody tr:nth-child(2n){background-color:color-mix(in oklab,var(--color-bg-secondary)50%,transparent)}}.\[\&_td\]\:px-3 td{padding-inline:calc(var(--spacing)*3)}.\[\&_td\]\:py-2 td{padding-block:calc(var(--spacing)*2)}.\[\&_td\]\:text-sm td{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.\[\&_th\]\:bg-\[var\(--color-bg-tertiary\)\] th{background-color:var(--color-bg-tertiary)}.\[\&_th\]\:px-3 th{padding-inline:calc(var(--spacing)*3)}.\[\&_th\]\:py-2 th{padding-block:calc(var(--spacing)*2)}.\[\&_th\]\:text-left th{text-align:left}.\[\&_th\]\:text-sm th{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.\[\&_th\]\:font-semibold th{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\]\:border-\[var\(--color-border\)\] tr{border-color:var(--color-border)}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&_ul\]\:my-2 ul{margin-block:calc(var(--spacing)*2)}.\[\&_ul\]\:list-disc ul{list-style-type:disc}.\[\&_ul\]\:pl-\[1\.5em\] ul{padding-left:1.5em}.\[\&_ul_ul\]\:list-\[circle\] ul ul{list-style-type:circle}.\[\&_ul_ul_ul\]\:list-\[square\] ul ul ul{list-style-type:square}.\[\&_ul\>li\:\:marker\]\:text-\[var\(--color-text-tertiary\)\] ul>li::marker{color:var(--color-text-tertiary)}.\[\&\>\:first-child\]\:mt-0>:first-child{margin-top:calc(var(--spacing)*0)}.\[\&\>div\]\:px-3>div{padding-inline:calc(var(--spacing)*3)}.\[\&\>div\]\:px-7>div{padding-inline:calc(var(--spacing)*7)}.\[\&\>div\]\:py-2>div{padding-block:calc(var(--spacing)*2)}.\[\&\>div\]\:py-5>div{padding-block:calc(var(--spacing)*5)}table[data-variant=compact] .\[table\[data-variant\=\"compact\"\]_\&\]\:px-3{padding-inline:calc(var(--spacing)*3)}table[data-variant=compact] .\[table\[data-variant\=\"compact\"\]_\&\]\:py-2{padding-block:calc(var(--spacing)*2)}table[data-variant=comparison] .\[table\[data-variant\=\"comparison\"\]_\&\]\:text-center{text-align:center}}html[data-theme=dark]{--color-text-primary:#e0e0e0;--color-text-secondary:#a0a0a0;--color-text-tertiary:#606060;--color-bg-primary:#1a1a1a;--color-bg-secondary:#121212;--color-bg-tertiary:#242424;--color-border:#2e2e2e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--color-text-primary:#000;--color-text-secondary:#666;--color-text-tertiary:#999;--color-bg-primary:#f5f5ed;--color-bg-secondary:#f0f0e8;--color-bg-tertiary:#ebebe3;--color-border:#e0e0e0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark] .badge,html[data-theme=dark] .course-card-badge{color:#000}html[data-theme=dark] .prompt-box-copy:hover{background:#ffffff0f}html[data-theme=dark] .card,html[data-theme=dark] .comparison-item,html[data-theme=dark] .skill-card:hover,html[data-theme=dark] .course-card:hover,html[data-theme=dark] .dp-case-card:hover{box-shadow:0 2px 8px #0006}html[data-theme=dark] .floating-selection-bar{box-shadow:0 4px 16px #00000080}html[data-theme=dark] .card:hover{box-shadow:0 4px 12px #00000080}html[data-theme=dark] *{scrollbar-color:#444 transparent}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:#444}html[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#666}.app-shell{height:100vh;display:flex;overflow:hidden}.app-main{flex:1;min-width:0;overflow:hidden auto}@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-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}
.course-outer{flex-direction:column;height:100%;display:flex;overflow:hidden}.course-fixed-header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);z-index:100;flex-shrink:0;align-items:center;height:48px;min-height:48px;padding:0 1rem;display:flex}.cfh-left{align-items:center;gap:.25rem;display:flex}.cfh-btn{color:var(--color-text-secondary);font-size:.85rem;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-weight:400;text-decoration:none;transition:all .2s;display:inline-flex}.cfh-btn:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary)}.cfh-btn:disabled{opacity:.4;cursor:not-allowed}.course-wrapper{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.toc{background:var(--color-bg-primary);border-right:1px solid var(--color-border);flex-shrink:0;order:0;width:300px;height:100%;padding:1rem;transition:width .3s,opacity .3s,padding .3s;overflow-y:auto}.course-wrapper[data-toc=collapsed] .toc{opacity:0;width:0;padding:0;overflow:hidden}.toc a{color:var(--color-text-secondary);border-radius:6px;align-items:center;padding:.35rem .75rem;font-size:.85rem;text-decoration:none;transition:all .2s;display:flex}.toc a:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.toc a.chapter-link{color:var(--color-text-primary);margin-top:.75rem;font-size:.9rem;font-weight:700}.toc a.active{color:var(--color-primary);background:#0184ff14;font-weight:600}.toc a.chapter-link.active{color:var(--color-primary);background:#0184ff1a}.main-content{flex:1;order:5;min-width:0;padding:2rem 3rem 6rem;overflow-y:auto}.info-panel{background:var(--color-bg-primary);border-left:1px solid var(--color-border);flex-direction:column;flex-shrink:0;order:99;width:400px;height:100%;transition:width .3s,opacity .3s;display:flex;overflow-y:auto}.info-panel.collapsed{opacity:0;width:0;overflow:hidden}.info-panel-close{cursor:pointer;color:var(--color-text-tertiary);background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:.85rem;transition:all .2s}.info-panel-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.info-panel-body{flex:1;padding:1.25rem;overflow-y:auto}.info-panel-empty{height:100%;color:var(--color-text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.info-panel-empty i{opacity:.4;margin-bottom:1rem;font-size:2rem}.info-panel-empty p{margin:0;font-size:.85rem;line-height:1.6}.info-panel-section{margin-bottom:1.25rem}.info-panel-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-bottom:.5rem;font-size:.75rem;font-weight:700}.info-panel-content{color:var(--color-text-secondary);white-space:pre-wrap;font-size:.82rem;line-height:1.7;font-family:var(--font-mono);padding:0}.info-panel-note{border-top:1px solid var(--color-border);color:var(--color-text-tertiary);padding:.75rem 0;font-size:.82rem;line-height:1.7}.hover-divider{cursor:default;flex-shrink:0;justify-content:center;align-items:stretch;width:12px;height:100%;display:flex;position:relative}.hover-divider-line{background:var(--color-border);pointer-events:none;border-radius:999px;width:1px;transition:width .3s,background-color .3s}.hover-divider[data-hovering=true] .hover-divider-line{background:var(--color-primary);width:4px}.hover-divider-left{order:1}.hover-divider-right{order:8}.expand-handle{cursor:default;background:var(--color-border);flex-shrink:0;width:20px;height:100%;transition:background-color .3s}.expand-handle[data-hovering=true]{animation:.4s forwards expand-fill}.expand-handle[data-hovering=false],.expand-handle:not([data-hovering]){background:var(--color-border);animation:none}@keyframes expand-fill{0%{background:var(--color-border)}to{background:var(--color-primary-light)}}.expand-handle-left{border-right:1px solid var(--color-border);order:-2}.expand-handle-right{border-left:1px solid var(--color-border);order:98}.toc-header{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.toc-course-title-btn{border:1px solid var(--color-border);background:var(--color-bg-primary);width:100%;color:var(--color-primary);font-size:.95rem;font-weight:700;font-family:var(--font-sans);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem .75rem;transition:all .2s;display:flex}.toc-course-title-btn:hover:not(:disabled){border-color:var(--color-primary);background:#0184ff0f}.toc-course-title-btn:disabled{opacity:.5;cursor:not-allowed}.toc-ai-icon{opacity:0;font-size:.8rem;transition:opacity .2s}.toc-course-title-btn:hover .toc-ai-icon{opacity:1}.toc-dot{background:0 0;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:.35rem;transition:background .3s;display:inline-block}.toc-dot-completed{background:#10b981}.toc-dot-incomplete{background:#ef4444}.toc-note-icon{color:var(--color-text-muted,#888);opacity:.7;flex-shrink:0;margin-left:auto;font-size:.55rem}.toc-category-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin-top:.75rem;padding:.35rem .75rem .1rem;font-size:.72rem;font-weight:700;display:block}@media (max-width:900px){.main-content{padding:1.5rem}.card-grid-2,.card-grid-3,.comparison{grid-template-columns:1fr}.chat-panel-slot{width:320px}}
.chapter-section{margin-bottom:4rem;padding-top:1rem}.chapter-title{color:var(--color-primary);border-bottom:3px solid var(--color-primary);margin-bottom:2rem;padding-bottom:.75rem;font-size:2rem}.slide{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;align-items:center;margin-bottom:2.5rem;padding:2rem;display:flex;position:relative}.slide>.slide-header{flex-shrink:0;align-self:flex-start;width:100%}.slide>:not(.slide-header){width:90%;max-width:900px}.slide-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.slide-number{background:var(--color-primary);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:2.5rem;height:1.5rem;padding:0 .5rem;font-size:.65rem;font-weight:700;display:inline-flex}.slide-label{color:var(--color-text-primary);font-size:.85rem;font-weight:600}.slide p{color:var(--color-text-secondary);margin-bottom:.75rem;line-height:1.75}.slide p:last-child{margin-bottom:0}.slide a{color:var(--color-primary);font-weight:500;text-decoration:none;transition:color .2s}.slide a:hover{color:var(--color-primary-dark);text-decoration:underline}.prompt-box{border:1px solid var(--color-border);border-radius:8px;margin:.75rem 0;position:relative;overflow:hidden}.prompt-box-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);font-family:var(--font-sans);color:var(--color-text-primary);letter-spacing:.03em;justify-content:space-between;align-items:center;padding:.4rem 1rem;font-size:.8rem;font-weight:600;display:flex}.prompt-box-copy{color:var(--color-text-tertiary);font-size:.75rem;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.35rem;padding:.15rem .5rem;transition:color .15s,background .15s;display:flex}.prompt-box-copy:hover{color:var(--color-text-primary);background:#0000000a}.prompt-box-copy i{font-size:.7rem}.prompt-box-content{background:var(--color-bg-primary);color:var(--color-text-secondary);font-family:var(--font-sans);white-space:pre-wrap;padding:1rem 1.25rem;font-size:.85rem;line-height:1.7}.card-grid{gap:1rem;margin:.75rem 0;display:grid}.card-grid-2{grid-template-columns:repeat(2,1fr)}.card-grid-3{grid-template-columns:repeat(3,1fr)}.card{border:1px solid var(--color-border);background:var(--color-bg-primary);border-radius:12px;padding:1rem;transition:box-shadow .3s;box-shadow:0 1px 3px #00000014}.card:hover{box-shadow:0 4px 12px #0000001f}.card h4{color:var(--color-text-primary);margin-bottom:.3rem;font-size:.9rem;font-weight:600}.card p{color:var(--color-text-secondary);margin:0;font-size:.85rem;line-height:1.6}.bullet-list{margin:.5rem 0;padding-left:1.5rem}.bullet-list li{color:var(--color-text-secondary);margin-bottom:.5rem;line-height:1.8}.badge{background:var(--color-accent);color:#000;border-radius:999px;padding:.25rem .75rem;font-size:.8rem;font-weight:700;display:inline-block}.badge-large{padding:.4rem 1.2rem;font-size:1rem}.checkpoint{background:#0184ff0f;border:none;border-radius:8px;align-items:center;gap:.75rem;margin:.75rem 0;padding:1rem 1.25rem;display:flex}.checkpoint i{color:var(--color-primary);flex-shrink:0;font-size:1.2rem}.checkpoint p{color:var(--color-text-primary);margin:0;font-weight:600}.highlight-text{color:var(--color-text-primary);text-align:center;margin:1rem 0;font-size:2.2rem;font-weight:700;line-height:1.3}.comparison{grid-template-columns:1fr 1fr;gap:1rem;margin:.75rem 0;display:grid}.comparison-item{border:1px solid var(--color-border);background:var(--color-bg-primary);border-radius:12px;padding:1rem;box-shadow:0 1px 3px #00000014}.comparison-item h4{margin-bottom:.3rem;font-size:.9rem;font-weight:600}.comparison-item p{color:var(--color-text-secondary);margin:0;font-size:.85rem;line-height:1.6}.steps{counter-reset:step;margin:.75rem 0;padding-left:0;list-style:none}.steps li{counter-increment:step;color:var(--color-text-secondary);padding:.5rem 0 .5rem 2.5rem;line-height:1.8;position:relative}.steps li:before{content:counter(step);background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:.55rem;left:0}.slide.break-notice{background:var(--color-bg-tertiary);justify-content:center}.break-notice p{color:var(--color-text-secondary);text-align:center;margin:0;font-weight:600}.mono-url{font-family:var(--font-mono);word-break:break-all;color:var(--color-text-secondary);font-size:.8rem;line-height:1.6}.mono-url .hl{color:var(--color-primary);font-weight:600}.back-link{color:var(--color-text-secondary);border-radius:6px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.4rem .75rem;font-size:.85rem;text-decoration:none;transition:all .2s;display:inline-flex}.back-link:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.slide-action-btn{background:var(--color-primary);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;font-family:var(--font-sans);border:none;border-radius:8px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem 1rem;transition:all .2s;display:inline-flex}a.slide-action-btn{color:#fff;text-decoration:none}.slide-action-btn:hover{background:var(--color-primary-dark)}.slide-action-btn.active{background:var(--color-primary-dark);box-shadow:0 0 0 2px #0184ff4d}
.home-page{background:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex}.home-hero{text-align:center;max-width:600px;margin-bottom:3rem}.home-hero-badge{color:#0184ff;letter-spacing:.02em;background:#0184ff14;border:1px solid #0184ff26;border-radius:999px;margin-bottom:1.5rem;padding:.375rem 1rem;font-size:.75rem;font-weight:600;display:inline-block}.home-hero-title{color:#000;margin:0 0 1rem;font-size:2.5rem;font-weight:800;line-height:1.3}.home-accent{color:#0184ff}.home-hero-subtitle{color:#333;margin:0 0 .75rem;font-size:1.125rem;font-weight:600}.home-hero-desc{color:#666;margin:0 0 2rem;font-size:.9375rem;line-height:1.7}.home-hero-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.home-btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.home-btn.primary{color:#fff;background:#0184ff}.home-btn.primary:hover{background:#06c;box-shadow:0 4px 16px #0184ff4d}.home-btn.secondary{color:#666;background:0 0;border:1px solid #e0e0e0}.home-btn.secondary:hover{color:#0184ff;border-color:#0184ff}@media (max-width:640px){.home-hero-title{font-size:1.75rem}}.home-footer{color:#999;gap:1rem;font-size:.75rem;display:flex}.home-footer a{color:#999;text-decoration:none;transition:color .15s}.home-footer a:hover{color:#0184ff}.landing-section{margin-bottom:2.5rem}.landing-section-header{border-bottom:1px solid var(--color-border,#2a2a3a);gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;flex-direction:row!important;align-items:center!important;display:flex!important}.landing-section-header>i{color:var(--color-primary,#6366f1);text-align:center;flex-shrink:0;width:1.5rem;font-size:1.1rem}.landing-section-header h3{color:var(--color-text-primary,#e8e8f0);margin:0;font-size:1.1rem;font-weight:700}.landing-section-header p{color:var(--color-text-secondary,#8888a0);margin:.1rem 0 0;font-size:.8rem}.course-grid{flex-direction:column;gap:1rem;display:flex}.course-card{background:var(--color-bg-primary,#141420);border:1px solid var(--color-border,#2a2a3a);color:inherit;border-radius:12px;align-items:center;gap:1.25rem;padding:1.5rem;text-decoration:none;transition:all .2s;display:flex}.course-card:hover{border-color:var(--color-primary,#6366f1);box-shadow:0 2px 12px #0184ff1a}.course-card-icon{background:var(--color-primary,#6366f1);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;font-size:1.4rem;display:flex}.course-card-body{flex:1;min-width:0}.course-card-title-row{align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.course-card-title-row h2{margin:0;font-size:1.2rem}.course-card-badge{background:var(--color-accent,#fad75a);color:#000;border-radius:999px;flex-shrink:0;padding:.15rem .6rem;font-size:.7rem;font-weight:700}.course-card-desc{color:var(--color-text-secondary,#8888a0);margin:0 0 .5rem;font-size:.85rem;line-height:1.6}.course-card-meta{color:var(--color-text-tertiary,#555570);gap:1rem;font-size:.8rem;display:flex}.course-card-meta i{margin-right:.3rem}.course-card-arrow{color:var(--color-text-tertiary,#555570);flex-shrink:0;font-size:1rem;transition:color .2s}.course-card:hover .course-card-arrow{color:var(--color-primary,#6366f1)}
.ann-portal{flex-shrink:0;margin-left:auto}.ann-bar{align-items:center;gap:.3rem;display:flex}.ann-select-checkbox{cursor:pointer;color:var(--color-border);align-items:center;margin-right:.15rem;font-size:1.1rem;transition:color .15s;display:flex}.ann-select-checkbox input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.ann-select-checkbox:hover{color:var(--color-text-secondary)}.ann-select-checkbox input:checked+i{color:var(--color-primary)}.ann-uid-tag{font-size:.6rem;font-family:var(--font-mono);color:var(--color-text-tertiary);background:var(--color-bg-tertiary);letter-spacing:.02em;-webkit-user-select:all;user-select:all;border-radius:4px;margin-right:.15rem;padding:.1rem .4rem}.ann-toggle-btn{border:1.5px solid var(--color-border);cursor:pointer;width:1.6rem;height:1.6rem;color:var(--color-border);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.65rem;transition:background .25s,border-color .25s,color .25s,transform .15s;display:flex}.ann-toggle-btn:hover{transform:scale(1.15)}.ann-toggle-green:hover{color:#10b981;border-color:#10b981}.ann-toggle-red:hover{color:#ef4444;border-color:#ef4444}.ann-toggle-green.active{color:#fff;background:#10b981;border-color:#10b981}.ann-toggle-red.active{color:#fff;background:#ef4444;border-color:#ef4444}.ann-note-btn{cursor:pointer;width:1.6rem;height:1.6rem;color:var(--color-text-tertiary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:.78rem;transition:color .25s,background .25s;display:flex;position:relative}.ann-note-btn:hover,.ann-note-btn.active{color:var(--color-primary);background:#0184ff14}.ann-note-btn.has-notes{color:var(--color-primary)}.ann-editor{animation:.2s ease-out fadeIn}.ann-editor-header{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;font-size:.85rem;font-weight:700;display:flex}.ann-editor-header i{color:var(--color-primary)}.ann-textarea{border:1px solid var(--color-border);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);font-size:.82rem;font-family:var(--font-sans);resize:vertical;border-radius:6px;outline:none;padding:.5rem .65rem;line-height:1.6;transition:border-color .15s}.ann-textarea:focus{border-color:var(--color-primary)}.ann-textarea-full{min-height:200px}.floating-selection-bar{background:var(--color-bg-secondary);border:1px solid var(--color-border);z-index:900;border-radius:.75rem;align-items:center;gap:.75rem;padding:.6rem 1.25rem;animation:.2s ease-out floatingBarIn;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000001f}@keyframes floatingBarIn{0%{opacity:0;transform:translate(-50%)translateY(1rem)}to{opacity:1;transform:translate(-50%)translateY(0)}}.selection-count{color:var(--color-text-secondary);white-space:nowrap;font-size:.85rem}.selection-count i{margin-right:.35rem}.selection-actions{gap:.4rem;display:flex}.selection-action-btn{border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;border-radius:.5rem;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8rem;transition:background .15s,border-color .15s;display:inline-flex}.selection-action-btn:hover{background:var(--color-bg-tertiary);border-color:var(--color-text-tertiary)}.selection-close-btn{width:1.5rem;height:1.5rem;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;transition:background .15s,color .15s;display:flex}.selection-close-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}@media (max-width:600px){.floating-selection-bar{gap:.5rem;padding:.5rem .75rem}.selection-action-btn span{display:none}}
.skill-section{margin-bottom:3rem}.skill-section-header{text-align:center;margin-bottom:1.5rem}.skill-section-header i{color:var(--color-primary);margin-bottom:.5rem;font-size:1.5rem;display:block}.skill-section-header h2{color:var(--color-text-primary);margin:0 0 .25rem;font-size:1.5rem}.skill-section-header p{color:var(--color-text-tertiary);margin:0;font-size:.85rem}.skill-group-title{color:var(--color-text-secondary);align-items:center;gap:.5rem;margin:1.25rem 0 .75rem;font-size:1rem;font-weight:600;display:flex}.skill-group-title i{color:var(--color-text-tertiary);font-size:.85rem}.skill-card{background:var(--color-bg-primary);border:1px solid var(--color-border);cursor:pointer;text-align:left;font-family:var(--font-sans);border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:1rem;transition:all .2s;display:flex}.skill-card:hover{border-color:var(--color-primary);box-shadow:0 2px 12px #0184ff1a}.skill-card-active{border-color:var(--color-primary);box-shadow:0 0 0 2px #0184ff4d}.skill-card-icon{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1rem;display:flex}.skill-card-body{flex:1;min-width:0}.skill-card-tag{font-size:.7rem;font-weight:600;font-family:var(--font-mono,monospace);letter-spacing:.02em;color:var(--color-text-tertiary);margin-bottom:.15rem;display:block}.skill-card-body h4{color:var(--color-text-primary);margin:0 0 .15rem;font-size:.9rem;font-weight:600}.skill-card-body p{color:var(--color-text-tertiary);margin:0;font-size:.78rem;line-height:1.4}.skill-card-arrow{color:var(--color-text-tertiary);flex-shrink:0;font-size:.75rem;transition:color .2s}.skill-card:hover .skill-card-arrow{color:var(--color-primary)}.skills-toc-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);margin:.25rem 0 .4rem .25rem;font-size:.68rem;font-weight:700}.skills-toc-item{cursor:pointer;text-align:left;width:100%;font-family:var(--font-sans);color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;align-items:center;gap:.6rem;margin-bottom:.1rem;padding:.45rem .6rem;font-size:.85rem;transition:background .15s,color .15s;display:flex}.skills-toc-item:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.skills-toc-item.active{color:var(--color-primary);background:#0184ff14;font-weight:600}.skills-toc-icon{color:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.7rem;display:flex}.skills-toc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.skills-detail{max-width:720px;padding:2.5rem 3rem}.skills-detail-header{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:1.25rem;margin-bottom:2.5rem;padding-bottom:1.5rem;display:flex}.skills-detail-icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;font-size:1.4rem;display:flex}.skills-detail-title{color:var(--color-text-primary);margin:0 0 .3rem;font-size:1.6rem;font-weight:700}.skills-detail-desc{color:var(--color-text-secondary);margin:0 0 .4rem;font-size:.88rem;line-height:1.5}.skills-detail-tag{font-size:.72rem;font-weight:600;font-family:var(--font-mono,monospace);color:var(--color-text-tertiary);background:var(--color-bg-secondary);border-radius:4px;padding:.15rem .5rem}.skills-detail-section{margin-bottom:1.75rem}.skills-note{color:var(--color-text-secondary);background:#0184ff14;border:1px solid #0184ff2e;border-radius:8px;align-items:flex-start;gap:.6rem;margin-bottom:1.25rem;padding:.85rem 1rem;font-size:.88rem;line-height:1.6;display:flex}.skills-note i{color:var(--color-primary);flex-shrink:0;margin-top:.2rem;font-size:.9rem}.skills-section-label-row{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.skills-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);font-size:.72rem;font-weight:700}.skills-copy-btn{font-size:.75rem;font-weight:600;font-family:var(--font-sans);color:var(--color-text-tertiary);background:var(--color-bg-secondary);border:1px solid var(--color-border);cursor:pointer;border-radius:5px;align-items:center;gap:.35rem;padding:.3rem .7rem;transition:all .15s;display:flex}.skills-copy-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background:#0184ff0f}.skills-copy-btn.copied{color:#10b981;background:#10b9810f;border-color:#10b981}.skills-prompt{color:var(--color-text-secondary);white-space:pre-wrap;font-size:.85rem;line-height:1.8;font-family:var(--font-mono,monospace);padding:1.25rem 1.5rem}
.chat-panel-slot{background:var(--color-bg-primary);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:380px;height:100%;display:flex;overflow:hidden}.chat-clearing{opacity:0;transition:opacity .25s ease-out,transform .25s ease-out;transform:translateY(10px)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.shimmer-text{background:linear-gradient(90deg,#777 0% 30%,#fff 50%,#777 70% 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:2.5s ease-in-out infinite shimmer}@keyframes shimmer-breathe{0%,to{opacity:.4}50%{opacity:1}}.shimmer-dot{animation:3s ease-in-out infinite shimmer-breathe}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}@keyframes overlay-appear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.action-overlay-enter{animation:.25s ease-out overlay-appear}@keyframes toolCrossfade{0%{opacity:0}to{opacity:1}}.tool-crossfade{animation:.3s ease-in-out toolCrossfade}.streaming-status-text{background:linear-gradient(90deg,currentColor 0% 15%,#ccc 50%,currentColor 85% 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:.3s ease-in-out toolCrossfade,1.8s ease-in-out infinite shimmer}@keyframes sd-fadeIn{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur()}}[data-animate]{animation:.6s both sd-fadeIn}@keyframes chat-wave{0%,to{opacity:.35;transform:translateY(0);box-shadow:0 0 #0000}50%{opacity:1;transform:translateY(-3px);box-shadow:0 0 6px #b4b4b473}}.chat-wave-dot{background-color:var(--dot-color,var(--color-text-tertiary));border-radius:50%;width:5px;height:5px;animation:2s ease-in-out infinite chat-wave}.chat-panel-header{border-bottom:1px solid var(--color-border);background:var(--color-bg-primary);padding:.65rem .75rem}.chat-panel-header h2{color:var(--color-text-primary)}.chat-panel-header .header-btn{width:30px;height:30px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.chat-panel-header .header-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.chat-panel-header .header-btn-close:hover{color:#ef4444;background:#ef44441a}.chat-panel-body{--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--text-tertiary:var(--color-text-tertiary);--background-primary:var(--color-bg-secondary);--border-color:var(--color-border);flex:1;min-height:0}
.data-processing-landing{max-width:900px;margin:0 auto;padding:3rem 2rem 6rem}.dp-header{margin-bottom:3rem}.dp-header h1{color:var(--color-primary);margin-bottom:.5rem;font-size:2rem}.dp-header p{color:var(--color-text-secondary);font-size:1rem}.dp-categories{flex-direction:column;gap:2.5rem;display:flex}.dp-category h2{margin-bottom:.25rem;font-size:1.3rem}.dp-category-desc{color:var(--color-text-secondary);margin-bottom:1rem;font-size:.85rem}.dp-case-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.dp-case-card{background:var(--color-bg-primary);border:1px solid var(--color-border);color:inherit;border-radius:10px;padding:1.25rem;text-decoration:none;transition:all .2s;display:block}.dp-case-card:hover{border-color:var(--color-primary);box-shadow:0 2px 12px #0184ff1a}.dp-case-card h3{margin-bottom:.35rem;font-size:1rem}.dp-case-card p{color:var(--color-text-secondary);margin:0;font-size:.82rem;line-height:1.6}.data-processing-case{max-width:1100px;margin:0 auto;padding:3rem 2rem 6rem}.dp-case-header{margin-bottom:2.5rem}.dp-case-breadcrumb{color:var(--color-text-tertiary);margin-bottom:.25rem;font-size:.82rem}.dp-case-header h1{color:var(--color-text-primary);margin-bottom:.5rem;font-size:1.75rem}.dp-case-header>p:last-child{color:var(--color-text-secondary);font-size:.95rem}.dp-case-body h2{color:var(--color-text-primary);font-size:1.3rem}@media (max-width:640px){.dp-case-grid{grid-template-columns:1fr}}
.login-page{background:var(--bg-base,#0a0a0f);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{background:var(--bg-card,#141420);border:1px solid var(--border,#2a2a3a);text-align:center;border-radius:16px;width:100%;max-width:400px;padding:2.5rem 2rem}.login-logo{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;font-size:1.75rem;display:flex}.login-card h1{color:var(--text-primary,#e8e8f0);margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--text-secondary,#8888a0);margin:0 0 2rem;font-size:.875rem}.login-form{text-align:left}.login-form label{color:var(--text-secondary,#8888a0);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.login-form input{background:var(--bg-input,#1a1a2e);border:1px solid var(--border,#2a2a3a);width:100%;color:var(--text-primary,#e8e8f0);box-sizing:border-box;border-radius:8px;outline:none;padding:.75rem 1rem;font-size:.9375rem;transition:border-color .2s}.login-form input:focus{border-color:#6366f1}.login-form input::placeholder{color:var(--text-muted,#555570)}.login-form button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1rem;padding:.75rem;font-size:.9375rem;font-weight:600;transition:opacity .2s;display:flex}.login-form button:hover:not(:disabled){opacity:.9}.login-form button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#ef4444;align-items:center;gap:.375rem;margin-top:.5rem;font-size:.8125rem;display:flex}.login-success{padding:.5rem 0}.login-success>i{color:#22c55e;margin-bottom:1rem;font-size:2.5rem}.login-success>p{color:var(--text-secondary,#8888a0);margin:.25rem 0;font-size:.875rem}.login-success>strong{color:var(--text-primary,#e8e8f0);font-size:1rem}.login-hint{margin-top:.75rem!important;font-size:.8125rem!important}.login-dev-link{background:var(--bg-input,#1a1a2e);border:1px dashed var(--border,#2a2a3a);border-radius:8px;margin-top:1.25rem;padding:.75rem}.login-dev-label{color:var(--text-muted,#555570);margin:0 0 .375rem;font-size:.75rem}.login-dev-link a{color:#6366f1;word-break:break-all;font-size:.875rem}.login-retry{border:1px solid var(--border,#2a2a3a);color:var(--text-secondary,#8888a0);cursor:pointer;background:0 0;border-radius:8px;margin-top:1.25rem;padding:.5rem 1rem;font-size:.8125rem;transition:border-color .2s}.login-retry:hover{border-color:var(--text-secondary,#8888a0)}.login-dev-admin{border:1px dashed var(--border,#2a2a3a);width:100%;color:var(--text-muted,#555570);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.625rem;font-size:.8125rem;transition:all .2s;display:flex}.login-dev-admin:hover{color:#f59e0b;border-color:#f59e0b}
.admin-shell{background:var(--bg-base,#0a0a0f);min-height:100vh;display:flex}.admin-main{flex:1;max-width:1200px;padding:2rem;overflow-y:auto}.admin-nav{background:var(--bg-card,#141420);border-right:1px solid var(--border,#2a2a3a);flex-direction:column;width:220px;min-height:100vh;padding:1.25rem .75rem;display:flex;position:sticky;top:0}.admin-nav-brand{border-bottom:1px solid var(--border,#2a2a3a);color:var(--text-primary,#e8e8f0);align-items:center;gap:.5rem;margin-bottom:.75rem;padding:0 .5rem 1.25rem;font-size:1rem;font-weight:700;display:flex}.admin-nav-brand>i{color:#6366f1;font-size:1.125rem}.admin-nav-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#6366f1;border-radius:4px;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.admin-nav-items{flex-direction:column;flex:1;gap:.125rem;display:flex}.admin-nav-item{color:var(--text-secondary,#8888a0);border-radius:8px;align-items:center;gap:.625rem;padding:.625rem .75rem;font-size:.875rem;text-decoration:none;transition:all .15s;display:flex}.admin-nav-item:hover{background:var(--bg-hover,#1a1a2e);color:var(--text-primary,#e8e8f0)}.admin-nav-item.active{color:#818cf8;background:#6366f11a}.admin-nav-item>i{text-align:center;width:18px;font-size:.875rem}.admin-nav-divider{border-top:1px solid var(--border,#2a2a3a);color:var(--text-muted,#555570);text-transform:uppercase;letter-spacing:.08em;margin-top:.375rem;padding:.75rem .75rem .375rem;font-size:.625rem;font-weight:600}.admin-nav-logout{color:var(--text-muted,#555570);cursor:pointer;border:none;border-top:1px solid var(--border,#2a2a3a);background:0 0;border-radius:8px;align-items:center;gap:.625rem;margin-top:.5rem;padding:1rem .75rem .625rem;font-size:.8125rem;transition:all .15s;display:flex}.admin-nav-logout:hover{color:#ef4444}.admin-page-header{margin-bottom:2rem}.admin-page-header h1{color:var(--text-primary,#e8e8f0);margin:0 0 .375rem;font-size:1.5rem;font-weight:700}.admin-page-header p{color:var(--text-secondary,#8888a0);margin:0;font-size:.875rem}.admin-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.admin-stat-card{background:var(--bg-card,#141420);border:1px solid var(--border,#2a2a3a);border-radius:12px;align-items:center;gap:1rem;padding:1.25rem;text-decoration:none;transition:border-color .2s;display:flex}.admin-stat-card:hover{border-color:#6366f1}.admin-stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;display:flex}.admin-stat-icon.purple{color:#818cf8;background:#6366f126}.admin-stat-icon.green{color:#22c55e;background:#22c55e26}.admin-stat-icon.amber{color:#f59e0b;background:#f59e0b26}.admin-stat-icon.blue{color:#3b82f6;background:#3b82f626}.admin-stat-content h3{color:var(--text-secondary,#8888a0);margin:0 0 .25rem;font-size:.8125rem;font-weight:500}.admin-stat-content .admin-stat-value{color:var(--text-primary,#e8e8f0);font-size:1.5rem;font-weight:700}.docs-page{max-width:860px}.docs-section{background:var(--bg-card,#141420);border:1px solid var(--border,#2a2a3a);border-radius:12px;margin-bottom:1.25rem;padding:1.5rem}.docs-section h2{color:var(--text-primary,#e8e8f0);align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:1.125rem;font-weight:700;display:flex}.docs-section h2>i{color:#6366f1;font-size:1rem}.docs-section h3{color:var(--text-primary,#e8e8f0);margin:1rem 0 .5rem;font-size:.9375rem;font-weight:600}.docs-section p,.docs-section li{color:var(--text-secondary,#8888a0);font-size:.875rem;line-height:1.6}.docs-section ul{margin:.5rem 0;padding-left:1.25rem}.docs-section li{margin-bottom:.25rem}.docs-section code{background:var(--bg-input,#1a1a2e);color:#818cf8;border-radius:4px;padding:.125rem .375rem;font-size:.8125rem}.docs-flow{background:var(--bg-input,#1a1a2e);color:var(--text-secondary,#8888a0);white-space:pre;border-radius:8px;padding:1rem 1.25rem;font-family:IBM Plex Mono,monospace;font-size:.8125rem;line-height:1.7;overflow-x:auto}.docs-table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.8125rem}.docs-table th,.docs-table td{text-align:left;border-bottom:1px solid var(--border,#2a2a3a);padding:.5rem .75rem}.docs-table th{color:var(--text-secondary,#8888a0);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.docs-table td{color:var(--text-primary,#e8e8f0)}.docs-table td code{background:var(--bg-input,#1a1a2e);color:#818cf8;border-radius:4px;padding:.125rem .375rem;font-size:.8125rem}.docs-badge{text-transform:uppercase;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.docs-badge.live{color:#22c55e;background:#22c55e26}.docs-badge.ended{color:#818cf8;background:#6366f126}.docs-badge.admin{color:#f59e0b;background:#f59e0b26}.docs-badge.student{color:#3b82f6;background:#3b82f626}
