@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease: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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-7xl:80rem;--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);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--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:#b82601;--color-primary-light:#d94828;--color-primary-dark:#8b1e00;--color-primary-soft:#fff5f2;--color-accent:#b8860b;--color-ink:#1a1a1a;--color-ink-dark:#333;--color-ink-medium:#666;--color-ink-light:#999;--color-ink-lighter:#ccc;--color-bg:#f7f2e8;--color-paper:#f7f2e8;--color-card:#faf7f0;--color-card-hover:#fff;--color-border:#d4c8b8;--color-border-light:#e5ded0;--color-divider:#e8e2d4;--color-gold:#b8860b;--color-warning:#f57c00;--color-info:#1565c0;--color-family-shi:#52c41a}}@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}}@layer components;@layer utilities{.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}.relative{position:relative}.static{position:static}.-top-2\.5{top:calc(var(--spacing) * -2.5)}.left-4{left:calc(var(--spacing) * 4)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.\!my-4{margin-block:calc(var(--spacing) * 4)!important}.\!mt-6{margin-top:calc(var(--spacing) * 6)!important}.\!mt-8{margin-top:calc(var(--spacing) * 8)!important}.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-6{margin-top:calc(var(--spacing) * 6)}.\!mr-0{margin-right:calc(var(--spacing) * 0)!important}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.\!mb-3{margin-bottom:calc(var(--spacing) * 3)!important}.\!mb-4{margin-bottom:calc(var(--spacing) * 4)!important}.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-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-6{margin-left:calc(var(--spacing) * 6)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!hidden{display:none!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.\!h-12{height:calc(var(--spacing) * 12)!important}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.max-h-\[300px\]{max-height:300px}.max-h-\[500px\]{max-height:500px}.min-h-\[calc\(100vh-64px-49px\)\]{min-height:calc(100vh - 113px)}.min-h-screen{min-height:100vh}.\!w-full{width:100%!important}.w-1{width:calc(var(--spacing) * 1)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.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-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}: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-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * 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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.\!rounded-full{border-radius:3.40282e38px!important}.\!rounded-xl{border-radius:var(--radius-xl)!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.\!border-b-0{border-bottom-style:var(--tw-border-style)!important;border-bottom-width:0!important}.\!border-border-light{border-color:var(--color-border-light)!important}.\!border-primary{border-color:var(--color-primary)!important}.\!border-primary\/10{border-color:#b826011a!important}@supports (color:color-mix(in lab, red, red)){.\!border-primary\/10{border-color:color-mix(in oklab, var(--color-primary) 10%, transparent)!important}}.border-border-light{border-color:var(--color-border-light)}.border-primary{border-color:var(--color-primary)}.\!bg-primary-soft{background-color:var(--color-primary-soft)!important}.\!bg-primary\/20{background-color:#b8260133!important}@supports (color:color-mix(in lab, red, red)){.\!bg-primary\/20{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)!important}}.\!bg-transparent{background-color:#0000!important}.bg-accent{background-color:var(--color-accent)}.bg-bg{background-color:var(--color-bg)}.bg-card{background-color:var(--color-card)}.bg-family-shi{background-color:var(--color-family-shi)}.bg-primary{background-color:var(--color-primary)}.bg-primary-soft{background-color:var(--color-primary-soft)}.bg-transparent{background-color:#0000}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.\!px-0{padding-inline:calc(var(--spacing) * 0)!important}.\!px-4{padding-inline:calc(var(--spacing) * 4)!important}.\!px-6{padding-inline:calc(var(--spacing) * 6)!important}.\!px-10{padding-inline:calc(var(--spacing) * 10)!important}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.\!py-1{padding-block:calc(var(--spacing) * 1)!important}.\!py-2{padding-block:calc(var(--spacing) * 2)!important}.\!py-4{padding-block:calc(var(--spacing) * 4)!important}.\!py-6{padding-block:calc(var(--spacing) * 6)!important}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:calc(var(--spacing) * 1)}.text-center{text-align:center}.text-right{text-align:right}.\!font-serif{font-family:var(--font-serif)!important}.font-serif{font-family:var(--font-serif)}.\!text-base{font-size:var(--text-base)!important;line-height:var(--tw-leading,var(--text-base--line-height))!important}.\!text-lg{font-size:var(--text-lg)!important;line-height:var(--tw-leading,var(--text-lg--line-height))!important}.\!text-sm{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.\!text-xl{font-size:var(--text-xl)!important;line-height:var(--tw-leading,var(--text-xl--line-height))!important}.\!text-xs{font-size:var(--text-xs)!important;line-height:var(--tw-leading,var(--text-xs--line-height))!important}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--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))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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)}.break-words{overflow-wrap:break-word}.whitespace-pre-line{white-space:pre-line}.\!text-ink-light{color:var(--color-ink-light)!important}.\!text-primary{color:var(--color-primary)!important}.\!text-primary-dark{color:var(--color-primary-dark)!important}.text-border{color:var(--color-border)}.text-ink{color:var(--color-ink)}.text-ink-light{color:var(--color-ink-light)}.text-ink-lighter{color:var(--color-ink-lighter)}.text-primary{color:var(--color-primary)}.text-red-500{color:var(--color-red-500)}.italic{font-style:italic}.opacity-60{opacity:.6}.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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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-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))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:border-primary\/20:hover{border-color:#b8260133}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/20:hover{border-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.hover\:border-primary\/30:hover{border-color:#b826014d}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.hover\:bg-card-hover:hover{background-color:var(--color-card-hover)}.hover\:bg-primary-soft:hover{background-color:var(--color-primary-soft)}.hover\:text-primary:hover{color:var(--color-primary)}.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)}.hover\:shadow-sm:hover{--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)}}@media (width>=40rem){.sm\:mt-6{margin-top:calc(var(--spacing) * 6)}.sm\:\!mb-4{margin-bottom:calc(var(--spacing) * 4)!important}.sm\:mb-3{margin-bottom:calc(var(--spacing) * 3)}.sm\:mb-4{margin-bottom:calc(var(--spacing) * 4)}.sm\:mb-5{margin-bottom:calc(var(--spacing) * 5)}.sm\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.sm\:inline{display:inline}.sm\:h-10{height:calc(var(--spacing) * 10)}.sm\:max-h-\[360px\]{max-height:360px}.sm\:w-10{width:calc(var(--spacing) * 10)}.sm\:w-16{width:calc(var(--spacing) * 16)}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-5{gap:calc(var(--spacing) * 5)}:where(.sm\: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(.sm\: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)))}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-0{padding-inline:calc(var(--spacing) * 0)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (width>=64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}*{box-sizing:border-box}html,body{color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;font-size:14px;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--color-ink);margin:0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.ant-btn-primary{background:var(--color-primary)!important;border-color:var(--color-primary)!important}.ant-btn-primary:hover{background:var(--color-primary-dark)!important;border-color:var(--color-primary-dark)!important}.ant-layout{background:var(--color-bg)!important}.ant-layout-header{border-bottom:1px solid var(--color-border-light);color:var(--color-ink)!important;padding:0 var(--spacing-lg)!important;background:#fff!important;height:64px!important;line-height:1!important}.ant-layout-content{background:0 0!important}.ant-card{border-color:var(--color-border-light)!important;border-radius:12px!important}.ant-modal-content{border-radius:12px!important}.ant-drawer-content{background:var(--color-bg)!important}.ant-select-selector,.ant-input,.ant-input-search .ant-input{border-radius:8px!important}.ant-menu{background:0 0!important;border-right:none!important}.ant-menu-horizontal{background:0 0!important;border-bottom:0!important;line-height:1!important}.ant-menu-horizontal>.ant-menu-item,.ant-menu-horizontal>.ant-menu-submenu{padding:0 16px!important}.ant-menu-horizontal>.ant-menu-item-selected{border-bottom:0!important}.theme-night .ant-radio-button-wrapper{color:#c0c0d0!important;background:#ffffff14!important;border-color:#3a3a55!important}.theme-night .ant-radio-button-wrapper-checked{border-color:var(--color-primary)!important;color:#e0e0e0!important;background:#b8260140!important}.theme-night .ant-radio-button-wrapper:hover{color:#fff!important}.theme-night .ant-empty-description{color:#808098!important}.theme-night .ant-spin-dot-item{background:var(--color-primary)!important}.theme-night .ant-pagination-item{background:#ffffff14!important;border-color:#3a3a55!important}.theme-night .ant-pagination-item a{color:#c0c0d0!important}.theme-night .ant-pagination-item-active{border-color:var(--color-primary)!important}.theme-night .ant-pagination-item-active a{color:var(--color-primary-light)!important}.theme-night .ant-pagination-prev .ant-pagination-item-link,.theme-night .ant-pagination-next .ant-pagination-item-link{color:#c0c0d0!important}.theme-huyan .ant-radio-button-wrapper{background:#ffffff4d!important;border-color:#a3d4a8!important}.theme-huyan .ant-radio-button-wrapper-checked{background:#b826011f!important}.theme-night .ant-drawer-content{background:#1a1a2e!important}.theme-night .ant-drawer-header{background:#1a1a2e!important;border-bottom-color:#2d2d44!important}.theme-night .ant-drawer-header-title{color:#e0e0e0!important}.theme-night .ant-drawer-close{color:#a0a0b0!important}.theme-huyan .ant-drawer-content,.theme-huyan .ant-drawer-header{background:#c7edcc!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{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}.aha-root[data-v-7b191015]{font-family:var(--font-serif,serif);padding:0 4px}.aha-header[data-v-7b191015]{border-bottom:1px dashed var(--color-border);justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 0 16px;display:flex}.aha-progress[data-v-7b191015]{align-items:center;gap:8px;display:inline-flex}.aha-progress .dot[data-v-7b191015]{background:var(--color-border);border-radius:2px;width:28px;height:4px;transition:all .25s}.aha-progress .dot.active[data-v-7b191015]{background:var(--color-primary);width:36px}.aha-progress .dot.done[data-v-7b191015]{background:var(--color-primary-light,var(--color-primary));opacity:.55}.aha-skip[data-v-7b191015]{color:var(--color-ink-light);cursor:pointer;background:0 0;border:0;border-radius:6px;min-width:44px;min-height:32px;padding:6px 10px;font-size:13px}.aha-skip[data-v-7b191015]:hover{color:var(--color-ink);background:var(--color-paper-darkest,#f5f5f5)}.aha-skip[data-v-7b191015]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.aha-body[data-v-7b191015]{padding:8px 4px 4px}.aha-eyebrow[data-v-7b191015]{color:var(--color-primary-dark);letter-spacing:.18em;font-size:12px;font-family:var(--font-mono,monospace);align-items:center;gap:12px;margin-bottom:12px;display:flex}.aha-eyebrow .line[data-v-7b191015]{background:linear-gradient(90deg, var(--color-border) 0%, transparent 100%);flex:1;height:1px}.aha-eyebrow .line[data-v-7b191015]:last-child{background:linear-gradient(90deg, transparent 0%, var(--color-border) 100%)}.aha-title[data-v-7b191015]{color:var(--color-ink);letter-spacing:.04em;margin:0 0 8px;font-size:26px;font-weight:700;line-height:1.3}.aha-desc[data-v-7b191015]{color:var(--color-ink-medium);margin:0 0 20px;font-size:14px;line-height:1.7}.aha-loading[data-v-7b191015]{color:var(--color-ink-light);justify-content:center;align-items:center;gap:12px;padding:40px 0;font-size:14px;display:flex}.aha-cards[data-v-7b191015]{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.aha-card[data-v-7b191015]{background:var(--color-card);border:2px solid var(--color-border-light);cursor:pointer;transition:all .2s var(--ease-out-quart,ease);border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;font-family:inherit;display:flex;position:relative}.aha-card[data-v-7b191015]:hover{border-color:var(--color-primary-light,var(--color-primary));box-shadow:0 6px 18px var(--color-primary-12,#b8260114);transform:translateY(-2px)}.aha-card.selected[data-v-7b191015]{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 4px 14px var(--color-primary-20,#b8260129)}.aha-card[data-v-7b191015]:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.card-avatar[data-v-7b191015]{color:#fff;width:56px;height:56px;font-size:24px;font-weight:700;font-family:var(--font-kai,var(--font-serif));border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #0000001f}.card-info[data-v-7b191015]{text-align:center}.card-name[data-v-7b191015]{color:var(--color-ink);margin-bottom:2px;font-size:16px;font-weight:600}.card-meta[data-v-7b191015]{color:var(--color-ink-light);font-size:12px;font-family:var(--font-sans,sans-serif)}.card-check[data-v-7b191015]{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:flex;position:absolute;top:8px;right:8px}.aha-rels[data-v-7b191015]{flex-direction:column;gap:10px;margin:0 0 20px;padding:0;list-style:none;display:flex}.rel-item[data-v-7b191015]{background:var(--color-paper);border:1px solid var(--color-border-light);border-radius:12px;padding:14px 16px;transition:all .2s}.rel-item[data-v-7b191015]:hover{border-color:var(--color-primary-light,var(--color-primary));background:var(--color-primary-soft)}.rel-pair[data-v-7b191015]{align-items:center;gap:10px;margin-bottom:4px;display:flex}.rel-name[data-v-7b191015]{color:var(--color-ink);font-size:15px;font-weight:600}.rel-type[data-v-7b191015]{background:var(--color-primary);color:#fff;font-size:12px;font-family:var(--font-sans,sans-serif);border-radius:999px;padding:2px 10px;font-weight:500}.rel-meta[data-v-7b191015]{color:var(--color-ink-light);font-size:12px;font-family:var(--font-mono,monospace);margin-left:4px}.rel-empty[data-v-7b191015]{text-align:center;color:var(--color-ink-light);padding:24px 0;font-size:13px}.aha-select[data-v-7b191015]{width:100%;margin-bottom:12px}.aha-textarea[data-v-7b191015]{margin-bottom:8px}.aha-footer[data-v-7b191015]{border-top:1px solid var(--color-border-light);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:16px;display:flex}.footer-right[data-v-7b191015]{align-items:center;gap:8px;display:flex}.aha-hint[data-v-7b191015]{color:var(--color-ink-light);font-size:12px;font-family:var(--font-mono,monospace);letter-spacing:.04em}.aha-done[data-v-7b191015]{text-align:center;padding:16px 4px 8px}.aha-check[data-v-7b191015]{background:var(--color-primary);color:#fff;width:72px;height:72px;box-shadow:0 8px 24px var(--color-primary-30,#b826014d);animation:ahaPop-7b191015 .5s var(--ease-out-expo,ease-out);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:36px;display:flex}@keyframes ahaPop-7b191015{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@media (width<=640px){.aha-cards[data-v-7b191015]{grid-template-columns:1fr}.aha-footer[data-v-7b191015]{flex-direction:column-reverse;align-items:stretch}.footer-right[data-v-7b191015]{flex-direction:column-reverse}.aha-footer[data-v-7b191015] .ant-btn{width:100%}.aha-title[data-v-7b191015]{font-size:22px}}.project-bar[data-v-e00dc070]{z-index:39;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-light);background:#f7f2e8eb;transition:background .3s;position:sticky;top:64px;box-shadow:0 2px 8px #7864500a}.project-bar-inner[data-v-e00dc070]{max-width:var(--layout-content-max);padding:8px var(--spacing-lg);flex-wrap:wrap;align-items:center;gap:8px;margin:0 auto;display:flex}.project-chip[data-v-e00dc070]{border:1px solid var(--color-border-light);height:40px;color:var(--color-ink-dark);cursor:pointer;transition:all .2s var(--ease-out-quart,ease);-webkit-user-select:none;user-select:none;background:#ffffffb3;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 6px;font-size:13px;line-height:1;text-decoration:none;display:inline-flex;position:relative}.project-chip[data-v-e00dc070]:hover{background:var(--color-primary-soft);border-color:var(--color-primary-light);color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #b8260114}.project-chip.active[data-v-e00dc070]{background:var(--gradient-primary,var(--color-primary));border-color:var(--color-primary);color:#fff;font-weight:600;box-shadow:0 4px 12px #b826012e}.project-chip.active[data-v-e00dc070]:after{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--color-primary);width:0;height:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.chip-logo[data-v-e00dc070]{background:var(--color-primary);color:#fff;width:28px;height:28px;font-size:14px;font-weight:600;font-family:var(--font-serif);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chip-mark[data-v-e00dc070]{font-size:14px;font-weight:700}.chip-text[data-v-e00dc070]{flex-direction:column;align-items:flex-start;gap:1px;line-height:1.1;display:inline-flex}.chip-name[data-v-e00dc070]{font-size:13px;font-weight:500}.chip-en[data-v-e00dc070]{letter-spacing:.06em;opacity:.7;font-size:9px;font-weight:600;font-family:var(--font-mono,monospace)}.project-chip.active .chip-en[data-v-e00dc070]{opacity:.85}@media (width<=768px){.project-bar[data-v-e00dc070]{display:none}}.app-background[data-v-4e895be5]{z-index:-1;background-color:var(--color-paper);opacity:.4;pointer-events:none;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='512'%20height='512'%20viewBox='0%200%20512%20512'%3e%3cdefs%3e%3cfilter%20id='grain'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='0.85'%20numOctaves='2'%20seed='3'%20/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200.45%200%200%200%200%200.38%200%200%200%200%200.30%200%200%200%200.6%200'%20/%3e%3c/filter%3e%3c/defs%3e%3crect%20width='100%25'%20height='100%25'%20filter='url(%23grain)'%20opacity='0.5'%20/%3e%3c/svg%3e");background-repeat:repeat;background-size:512px 512px;position:fixed;inset:0}.app-header[data-v-4e895be5]{border-bottom:1px solid var(--color-border-light);z-index:50;justify-content:flex-start;gap:16px;position:sticky;top:0;box-shadow:0 2px 8px #7864500a;background:var(--color-paper)!important;height:64px!important;color:var(--color-ink)!important;align-items:center!important;padding:0 24px!important;line-height:1!important;display:flex!important}.app-header[data-v-4e895be5]>*{line-height:1}.brand-area[data-v-4e895be5]{cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:12px;display:flex}.brand-mark[data-v-4e895be5]{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;width:40px;height:40px;font-family:var(--font-serif);box-shadow:0 2px 8px var(--color-primary-20);border-radius:12px;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.brand-copy[data-v-4e895be5]{flex-direction:column;line-height:1.2;display:flex}.brand-copy h1[data-v-4e895be5]{color:var(--color-ink);letter-spacing:.05em;font-size:16px;font-weight:600;font-family:var(--font-serif);margin:0}.brand-copy span[data-v-4e895be5]{color:var(--color-ink-light);letter-spacing:.05em;margin-top:2px;font-size:11px}.header-search[data-v-4e895be5]{flex:auto;justify-content:center;align-items:center;min-width:0;padding:0 20px;display:flex}.header-search[data-v-4e895be5] .ant-input-search{width:100%;max-width:480px;line-height:1}.header-search[data-v-4e895be5] .ant-input-affix-wrapper{border-color:var(--color-border);background:#fff;border-radius:999px;height:38px;padding:0 14px 0 16px;transition:all .2s;box-shadow:0 1px 2px #7864500a}.header-search[data-v-4e895be5] .ant-input-affix-wrapper:hover{border-color:var(--color-primary-light);box-shadow:0 2px 6px var(--color-primary-08)}.header-search[data-v-4e895be5] .ant-input-affix-wrapper:focus-within,.header-search[data-v-4e895be5] .ant-input-affix-wrapper-focused{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-12)}.header-search[data-v-4e895be5] .ant-input{font-size:14px;height:38px!important;line-height:38px!important}.header-search[data-v-4e895be5] .ant-input-search-button{background:var(--gradient-primary);border-color:var(--color-primary);border-top-left-radius:0;border-bottom-left-radius:0;width:38px;height:38px!important;line-height:1!important}.header-search[data-v-4e895be5] .ant-input-search-button:hover{background:var(--color-primary-light)!important;border-color:var(--color-primary-light)!important}.header-search[data-v-4e895be5] .ant-btn-text{height:auto;color:var(--color-primary);padding:0 8px;font-size:12px;line-height:1}.header-search[data-v-4e895be5] .ant-btn-text:hover{color:var(--color-primary-dark)!important;background:var(--color-primary-soft)!important}.search-mode-tag[data-v-4e895be5]{background:var(--color-primary-soft);height:22px;color:var(--color-primary-dark);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:3px;margin-left:4px;padding:0 10px;font-size:12px;font-weight:500;transition:all .2s;display:inline-flex}.search-mode-tag[data-v-4e895be5]:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.search-mode-tag .mode-icon[data-v-4e895be5]{font-size:11px;line-height:1}.user-actions[data-v-4e895be5]{flex-shrink:0;align-items:center;gap:10px;display:flex}.user-actions[data-v-4e895be5] .ant-btn{border-radius:8px;align-items:center;gap:6px;height:36px;padding:0 12px;line-height:1;display:inline-flex}.user-actions[data-v-4e895be5] .ant-btn .anticon{font-size:14px;line-height:1}.user-actions[data-v-4e895be5] .project-switcher-btn{color:var(--color-ink-dark);border:1px solid var(--color-border);background:0 0;font-weight:500;transition:all .2s}.user-actions[data-v-4e895be5] .project-switcher-btn:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-dark)}.project-switcher-name[data-v-4e895be5]{font-size:13px}.user-actions[data-v-4e895be5] .user-level-btn{background:var(--color-primary-soft);color:var(--color-primary-dark);border:1px solid var(--color-primary-12);gap:4px;font-weight:500}.user-actions[data-v-4e895be5] .user-level-btn:hover{border-color:var(--color-primary);background:#ffe1e6}.level-icon-small[data-v-4e895be5]{opacity:.8;font-size:13px!important}.user-name-text[data-v-4e895be5]{text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:13px;overflow:hidden}.level-badge-inline[data-v-4e895be5]{border-radius:var(--radius-full);white-space:nowrap;background:#b826011f;padding:1px 6px;font-size:11px}.dropdown-arrow[data-v-4e895be5]{opacity:.6;font-size:10px!important}.project-menu-row[data-v-4e895be5]{flex-direction:column;align-items:flex-start;gap:2px;line-height:1.25;display:inline-flex}.project-menu-name[data-v-4e895be5]{color:var(--color-ink-dark);font-weight:600}.project-menu-domain[data-v-4e895be5]{color:var(--color-ink-light);font-size:11px;font-family:var(--font-mono,monospace);letter-spacing:.02em}.project-menu-hint[data-v-4e895be5]{color:var(--color-ink-light);font-size:12px}.top-nav-bar[data-v-4e895be5]{z-index:38;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-light);background:#ffffffeb;position:sticky;top:116px;box-shadow:0 2px 8px #7864500a}.top-nav-inner[data-v-4e895be5]{max-width:var(--layout-content-max);padding:0 var(--spacing-lg);margin:0 auto}.top-nav-menu[data-v-4e895be5]{align-items:center;gap:2px;min-height:48px;line-height:48px;display:flex;background:0 0!important;border-bottom:0!important}[data-v-4e895be5] .top-nav-menu .ant-menu-item{transition:all var(--transition-normal) var(--ease-out-quart);font-size:14px;font-weight:500;border-radius:var(--radius-md)!important;height:40px!important;color:var(--color-ink-dark)!important;margin:4px 2px!important;padding:0 16px!important;line-height:40px!important}[data-v-4e895be5] .top-nav-menu .ant-menu-item:hover{background:var(--color-primary-soft)!important;color:var(--color-primary-dark)!important}[data-v-4e895be5] .top-nav-menu .ant-menu-item-selected{box-shadow:inset 0 -3px 0 var(--color-primary);font-weight:600;background:var(--gradient-primary-soft)!important;color:var(--color-primary-dark)!important}[data-v-4e895be5] .top-nav-menu .ant-menu-item-selected .anticon{color:var(--color-primary)!important}.search-box[data-v-4e895be5] .ant-input-search .ant-input-affix-wrapper{border-radius:var(--radius-full);padding:var(--spacing-xs) var(--spacing-md);border-color:var(--color-border)}.search-box[data-v-4e895be5] .ant-input-search .ant-input-affix-wrapper:focus-within,.search-box[data-v-4e895be5] .ant-input-search .ant-input-affix-wrapper-focused{border-color:var(--color-primary);box-shadow:0 0 0 2px #b826011f}.page-enter-active[data-v-4e895be5],.page-leave-active[data-v-4e895be5]{transition:all .35s cubic-bezier(.4,0,.2,1)}.page-enter-from[data-v-4e895be5]{opacity:0;transform:translateY(12px)}.page-leave-to[data-v-4e895be5]{opacity:0;transform:translateY(-8px)}.mobile-bottom-nav[data-v-4e895be5]{display:none}.app-footer[data-v-4e895be5]{color:var(--color-ink-light);border-top:1px solid var(--color-border-light);text-align:center;letter-spacing:.04em;font-size:12px;line-height:1.6;background:var(--color-paper)!important;padding:16px 24px!important}.app-footer__inner[data-v-4e895be5]{max-width:var(--layout-content-max,1200px);flex-wrap:wrap;justify-content:center;align-items:center;margin:0 auto;display:flex}.app-footer__icp[data-v-4e895be5]{color:var(--color-ink-light);align-items:center;gap:4px;text-decoration:none;transition:color .2s;display:inline-flex}.app-footer__icp[data-v-4e895be5]:hover{color:var(--color-primary)}.app-footer__icp-icon[data-v-4e895be5]{vertical-align:middle;width:13px;height:13px;color:var(--color-primary);display:inline-block}@media (width<=768px){.app-footer[data-v-4e895be5]{font-size:11px;padding:12px 12px 88px!important}.app-header[data-v-4e895be5]{flex-wrap:wrap;gap:8px;min-height:56px;height:auto!important;padding:8px 12px!important}.brand-area[data-v-4e895be5]{flex-shrink:1;min-width:0}.brand-mark[data-v-4e895be5]{border-radius:8px!important;width:36px!important;height:36px!important;font-size:16px!important}.brand-copy h1[data-v-4e895be5]{white-space:nowrap;text-overflow:ellipsis;max-width:50vw;overflow:hidden;font-size:14px!important}.brand-copy span[data-v-4e895be5]{display:none}.header-search[data-v-4e895be5]{flex:100%;order:3;max-width:100%;margin:0;padding:0;display:flex!important}.header-search[data-v-4e895be5] .ant-input-search{max-width:100%}.header-search[data-v-4e895be5] .ant-input-affix-wrapper{height:34px;padding:0 12px}.header-search[data-v-4e895be5] .ant-input{font-size:13px;height:34px!important;line-height:34px!important}.header-search[data-v-4e895be5] .ant-input-search-button{width:34px;height:34px!important}.search-mode-tag[data-v-4e895be5]{height:20px;padding:0 8px;font-size:11px}.user-actions[data-v-4e895be5]{order:2;gap:6px!important}.user-actions[data-v-4e895be5] .ant-btn{height:32px;padding-inline:8px;font-size:12px}.user-actions .project-switcher-name[data-v-4e895be5],.user-actions .level-badge-inline[data-v-4e895be5]{display:none}.user-actions .user-name-text[data-v-4e895be5]{max-width:50px;font-size:12px}.top-nav-bar[data-v-4e895be5]{display:none}.app-content[data-v-4e895be5]{min-height:calc(100vh - 56px)!important;padding:12px 10px 82px!important}.mobile-bottom-nav[data-v-4e895be5]{z-index:60;padding:7px 6px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;grid-template-columns:repeat(6,1fr);gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 14px #2c3e5014}.mobile-nav-item[data-v-4e895be5]{min-width:0;min-height:48px;color:var(--color-ink-light);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;line-height:1.1;display:flex}.mobile-nav-item[data-v-4e895be5] .anticon,.mobile-nav-item>span[data-v-4e895be5]:first-child{font-size:18px}.mobile-nav-item.active[data-v-4e895be5]{background:var(--color-primary-soft);color:var(--color-primary-dark);font-weight:600}.mobile-more-grid[data-v-4e895be5]{grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;display:grid}.mobile-more-item[data-v-4e895be5]{border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-ink-dark);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px 8px;font-size:13px;display:flex}.mobile-more-item[data-v-4e895be5] .anticon{color:var(--color-primary);font-size:24px}.mobile-more-item.active[data-v-4e895be5]{background:var(--color-primary-soft);border-color:var(--color-primary)}.mobile-more-item[data-v-4e895be5]:hover{border-color:var(--color-primary)}}:root{--color-primary:#b82601;--color-primary-light:#d94828;--color-primary-dark:#8b1e00;--color-primary-deep:#6b1700;--color-primary-soft:#fff5f2;--color-primary-softer:#fdf0eb;--color-primary-alpha:#b8260114;--color-primary-glow:#b8260126;--color-bg:#f7f2e8;--color-paper:#f7f2e8;--color-paper-dark:#ede8dc;--color-paper-darkest:#dcd5c4;--color-paper-light:#faf7f0;--color-paper-deep:#c9bfa9;--color-card:#faf7f0;--color-card-hover:#fff;--color-card-elevated:#fff;--color-ink:#1a1a1a;--color-ink-dark:#333;--color-ink-medium:#666;--color-ink-light:#999;--color-ink-faintest:#ccc;--color-border:#d4c8b8;--color-border-light:#e5ded0;--color-border-lighter:#efe9dc;--color-divider:#e8e2d4;--color-gold:#b8860b;--color-gold-light:#daa520;--color-gold-deep:#8b6914;--color-gold-soft:#fff8e7;--color-success:#2e7d32;--color-success-soft:#e8f5ea;--color-warning:#f57c00;--color-warning-soft:#fef5e0;--color-error:#c62828;--color-error-soft:#fdecec;--color-info:#1565c0;--color-info-soft:#e3f2fd;--font-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", "宋体", serif;--font-sans:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", "微软雅黑", sans-serif;--font-mono:"Fira Code", "Consolas", "Monaco", monospace;--font-calligraphy:"KaiTi", "STKaiti", "楷体", var(--font-serif);--font-size-display:48px;--font-size-h1:36px;--font-size-h2:28px;--font-size-h3:22px;--font-size-h4:18px;--font-size-body:15px;--font-size-body-lg:16px;--font-size-small:13px;--font-size-mini:12px;--font-size-tiny:11px;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-snug:1.4;--line-height-normal:1.6;--line-height-relaxed:1.8;--line-height-loose:2;--letter-spacing-tight:-.01em;--letter-spacing-normal:0;--letter-spacing-wide:.05em;--letter-spacing-wider:.1em;--letter-spacing-widest:.2em;--spacing-0:0;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--spacing-4xl:96px;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-3xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px #3c32280a;--shadow-sm:0 2px 4px #3c32280f, 0 1px 2px #3c32280a;--shadow-md:0 4px 12px #3c322814, 0 2px 4px #3c32280a;--shadow-lg:0 12px 24px #3c32281a, 0 4px 8px #3c32280d;--shadow-xl:0 20px 40px #3c32281f, 0 8px 16px #3c32280f;--shadow-2xl:0 30px 60px #3c322829, 0 12px 24px #3c322814;--shadow-paper:0 2px 8px #7864500f, 0 1px 3px #78645014;--shadow-paper-hover:0 12px 32px #7864501a, 0 4px 12px #7864500f;--shadow-card-hover:0 16px 40px #3c32281a, 0 4px 12px #3c32280d;--shadow-primary-glow:0 8px 24px #b826012e;--shadow-primary-deep:0 12px 32px #b826013d;--shadow-gold-glow:0 8px 24px #b8860b2e;--shadow-inset:inset 0 1px 2px #3c32280f;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--transition-slower:.5s ease;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out-quart:cubic-bezier(.76, 0, .24, 1);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-fixed:250;--z-modal:300;--z-drawer:350;--z-tooltip:400;--z-toast:500;--layout-header-height:72px;--layout-sider-width:220px;--layout-sider-collapsed:64px;--layout-content-max:1280px;--layout-drawer-width:480px;--gradient-primary:linear-gradient(135deg, #b82601 0%, #8b1e00 100%);--gradient-primary-soft:linear-gradient(135deg, #fff5f2 0%, #fdf0eb 100%);--gradient-paper:linear-gradient(180deg, #faf7f0 0%, #f7f2e8 100%);--gradient-gold:linear-gradient(135deg, #daa520 0%, #b8860b 100%);--gradient-ink:linear-gradient(135deg, #1a1a1a 0%, #333 100%);--gradient-hero-overlay:linear-gradient(135deg, #f7f2e866 0%, #f7f2e8bf 50%, #f7f2e8eb 100%);--gradient-card-soft:linear-gradient(180deg, #fff 0%, #faf7f0 100%);--gradient-card-warm:linear-gradient(145deg, #faf7f0 0%, #f0e8d5 100%);--gradient-progress:linear-gradient(90deg, #b82601 0%, #d94828 50%, #b8860b 100%)}*,:before,:after{box-sizing:border-box}html{font-size:14px;line-height:var(--line-height-normal);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-normal);color:var(--color-ink-dark);background-color:var(--color-bg);min-height:100vh;margin:0;padding:0;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:var(--font-weight-semibold);color:var(--color-ink);line-height:var(--line-height-tight);margin:0;padding:0}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}h5{font-size:var(--font-size-body)}h6{font-size:var(--font-size-small)}p{margin:0 0 var(--spacing-md)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-light)}a:active{color:var(--color-primary-dark)}ul,ol{margin:0;padding:0;list-style:none}img,video,svg{max-width:100%;height:auto;display:block}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0;padding:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;cursor:pointer}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical;overflow:auto}table{border-collapse:collapse;border-spacing:0;width:100%}hr{box-sizing:content-box;border:0;border-top:1px solid var(--color-divider);height:1px;margin:var(--spacing-lg) 0;overflow:visible}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-ink-light)}.theme-night::-webkit-scrollbar-thumb{background:var(--color-paper-darkest)}.theme-night::-webkit-scrollbar-thumb:hover{background:var(--color-ink-light)}::selection{background-color:var(--color-primary-soft);color:var(--color-primary-dark)}::selection{background-color:var(--color-primary-soft);color:var(--color-primary-dark)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}[disabled]{cursor:not-allowed;opacity:.6}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{z-index:9999;background:var(--color-primary,#b91c1c);color:#fff;border-radius:4px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:top .2s ease-in-out;position:absolute;top:-100px;left:8px;box-shadow:0 2px 8px #0003}.skip-link:focus,.skip-link:focus-visible{outline-offset:2px;outline:2px solid #fff;top:8px}.heading-1{font-family:var(--font-serif);font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-ink);letter-spacing:.02em}.heading-2{font-family:var(--font-serif);font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-ink);letter-spacing:.01em}.heading-3{font-family:var(--font-serif);font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-ink)}.heading-4{font-family:var(--font-serif);font-size:var(--font-size-h4);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);color:var(--color-ink-dark)}.body-text{font-family:var(--font-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-ink-dark)}.body-text-serif{font-family:var(--font-serif);font-size:var(--font-size-body);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-ink-dark)}.reading-text{font-family:var(--font-serif);font-size:16px;font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--color-ink-dark);text-align:justify;text-indent:2em;letter-spacing:.02em}.text-small{font-size:var(--font-size-small);line-height:var(--line-height-normal);color:var(--color-ink-medium)}.text-mini{font-size:var(--font-size-mini);line-height:var(--line-height-tight);color:var(--color-ink-light)}.text-caption{font-size:var(--font-size-small);color:var(--color-ink-light);line-height:var(--line-height-normal)}.text-hint{font-size:var(--font-size-small);color:var(--color-ink-light);line-height:var(--line-height-normal);font-style:italic}.text-primary{color:var(--color-primary)}.text-ink{color:var(--color-ink)}.text-ink-dark{color:var(--color-ink-dark)}.text-ink-medium{color:var(--color-ink-medium)}.text-ink-light{color:var(--color-ink-light)}.text-gold{color:var(--color-gold)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-underline{text-decoration:underline;-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-underline-offset:3px}.text-line-through{text-decoration:line-through;-webkit-text-decoration-color:var(--color-ink-light);text-decoration-color:var(--color-ink-light)}.text-no-decoration{text-decoration:none}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}.font-mono{font-family:var(--font-mono)}.quote{padding:var(--spacing-md) var(--spacing-lg);margin:var(--spacing-md) 0;background-color:var(--color-paper-dark);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;font-family:var(--font-serif);color:var(--color-ink-dark);font-style:italic;position:relative}.quote:before{content:"\"";top:0;left:var(--spacing-sm);color:var(--color-primary-alpha);font-family:Georgia,serif;font-size:32px;line-height:1;position:absolute}.poem{font-family:var(--font-serif);font-size:15px;line-height:var(--line-height-relaxed);color:var(--color-ink-dark);text-align:center;padding:var(--spacing-lg);background:linear-gradient(135deg, var(--color-paper) 0%, var(--color-paper-dark) 100%);border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}.poem-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--color-ink);margin-bottom:var(--spacing-md)}.poem-content{text-indent:0;white-space:pre-line}.poem-author{font-size:var(--font-size-small);color:var(--color-ink-medium);margin-top:var(--spacing-sm);text-align:right}.chapter-title{font-family:var(--font-serif);font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-ink);text-align:center;padding:var(--spacing-md) var(--spacing-xl);margin:var(--spacing-lg) auto;display:inline-block;position:relative}.chapter-title:before,.chapter-title:after{content:"◆";color:var(--color-gold);font-size:12px;position:absolute;top:50%;transform:translateY(-50%)}.chapter-title:before{left:0}.chapter-title:after{right:0}.annotation{font-size:var(--font-size-small);color:var(--color-ink-medium);background-color:var(--color-primary-soft);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);cursor:help;transition:background-color var(--transition-fast)}.annotation:hover{background-color:var(--color-primary-alpha)}.highlight{background:linear-gradient(120deg, var(--color-gold-soft) 0%, #daa5204d 100%);border-radius:2px;padding:0 2px}.highlight-primary{background-color:var(--color-primary-soft);color:var(--color-primary-dark)}.link{color:var(--color-primary);transition:color var(--transition-fast);cursor:pointer;text-decoration:none}.link:hover{color:var(--color-primary-light);text-decoration:underline}.link-underline{text-decoration:underline;-webkit-text-decoration-color:var(--color-primary-alpha);text-decoration-color:var(--color-primary-alpha);text-underline-offset:3px}.link-underline:hover{-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.list-item{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.list-item:last-child{border-bottom:none}.list-bullet{background-color:var(--color-primary);width:6px;height:6px;margin-right:var(--spacing-sm);border-radius:50%;display:inline-block}.number-badge{min-width:20px;height:20px;font-size:var(--font-size-mini);font-weight:var(--font-weight-semibold);color:#fff;background-color:var(--color-primary);border-radius:var(--radius-full);justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.paragraph{margin-bottom:var(--spacing-md)}.paragraph:last-child{margin-bottom:0}.paragraph-indent{text-indent:2em}.drop-cap:first-letter{float:left;font-size:48px;line-height:1;font-family:var(--font-serif);font-weight:var(--font-weight-bold);color:var(--color-primary);margin-right:var(--spacing-sm);margin-top:4px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideOutLeft{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideOutDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--color-primary-alpha)}70%{box-shadow:0 0 0 10px #b8260100}to{box-shadow:0 0 #b8260100}}@keyframes node-pulse{0%,to{filter:drop-shadow(0 0 0 var(--color-primary))}50%{filter:drop-shadow(0 0 12px var(--color-primary))}}.graph-node.selected{animation:1.5s ease-in-out infinite node-pulse}.graph-node{transition:transform .2s,r .2s}.graph-node:hover{cursor:pointer;transform:scale(1.15)}@keyframes pulseRing{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes breathe{0%,to{opacity:1}50%{opacity:.6}}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes bounce{0%,20%,53%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateY(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translateY(-20px)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translateY(-10px)}90%{transform:translateY(-4px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes inkSpread{0%{opacity:0;filter:blur(4px);transform:scale(.8)}50%{opacity:.8;filter:blur(2px)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes cardHover{0%{box-shadow:var(--shadow-paper);transform:translateY(0)}to{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}}@keyframes staggeredFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-enter-active{animation:fadeInUp var(--transition-normal) ease-out}.page-leave-active{animation:fadeOutDown var(--transition-normal) ease-in}.drawer-enter-active{animation:slideInRight var(--transition-normal) ease-out}.drawer-leave-active{animation:slideOutRight var(--transition-normal) ease-in}.drawer-left-enter-active{animation:slideInLeft var(--transition-normal) ease-out}.drawer-left-leave-active{animation:slideOutLeft var(--transition-normal) ease-in}.modal-enter-active{animation:scaleIn var(--transition-fast) ease-out}.modal-leave-active{animation:scaleOut var(--transition-fast) ease-in}.backdrop-enter-active{animation:fadeIn var(--transition-fast) ease-out}.backdrop-leave-active{animation:fadeOut var(--transition-fast) ease-in}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-fade-out{animation:fadeOut var(--transition-normal) ease-in}.animate-fade-in-up{animation:fadeInUp var(--transition-normal) ease-out}.animate-fade-in-down{animation:fadeInDown var(--transition-normal) ease-out}.animate-scale-in{animation:scaleIn var(--transition-fast) ease-out}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-breathe{animation:3s ease-in-out infinite breathe}.animate-spin{animation:1s linear infinite spin}.animate-shake{animation:.5s ease-in-out shake}.animate-bounce{animation:1s ease-in-out bounce}.animate-ink-spread{animation:inkSpread var(--transition-slow) ease-out}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.delay-900{animation-delay:.9s}.delay-1000{animation-delay:1s}.duration-fast{animation-duration:.15s}.duration-normal{animation-duration:.25s}.duration-slow{animation-duration:.35s}.duration-slower{animation-duration:.5s}.transition-all{transition:all var(--transition-normal)}.transition-colors{transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast)}.transition-opacity{transition:opacity var(--transition-fast)}.transition-transform{transition:transform var(--transition-fast)}.transition-shadow{transition:box-shadow var(--transition-fast)}.hover-lift{transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.hover-lift:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.hover-scale{transition:transform var(--transition-fast)}.hover-scale:hover{transform:scale(1.02)}.hover-bright{transition:filter var(--transition-fast)}.hover-bright:hover{filter:brightness(1.05)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root,.theme-honglou{--color-primary:#b82601;--color-primary-light:#d94828;--color-primary-dark:#8b1e00;--color-primary-deep:#6b1700;--color-primary-soft:#fff5f2;--color-primary-softer:#fdf0eb;--color-primary-alpha:#b8260114;--color-primary-glow:#b8260126;--color-bg:#f7f2e8;--color-paper:#f7f2e8;--color-paper-dark:#ede8dc;--color-paper-darkest:#dcd5c4;--color-paper-light:#faf7f0;--color-paper-deep:#c9bfa9;--color-card:#faf7f0;--color-card-hover:#fff;--color-card-elevated:#fff;--color-gold:#b8860b;--color-gold-light:#daa520;--color-gold-deep:#8b6914;--color-gold-soft:#fff8e7;--gradient-primary:linear-gradient(135deg, #b82601 0%, #8b1e00 100%);--gradient-primary-soft:linear-gradient(135deg, #fff5f2 0%, #fdf0eb 100%);--gradient-paper:linear-gradient(180deg, #faf7f0 0%, #f7f2e8 100%);--gradient-hero-overlay:linear-gradient(135deg, #f7f2e866 0%, #f7f2e8bf 50%, #f7f2e8eb 100%);--gradient-card-soft:linear-gradient(180deg, #fff 0%, #faf7f0 100%);--gradient-card-warm:linear-gradient(145deg, #faf7f0 0%, #f0e8d5 100%);--gradient-progress:linear-gradient(90deg, #b82601 0%, #d94828 50%, #b8860b 100%);--shadow-primary-glow:0 8px 24px #b826012e;--shadow-primary-deep:0 12px 32px #b826013d;--color-hero-bg-accent:#b82601}.theme-sanguo{--color-primary:#1e3a5f;--color-primary-light:#2c5282;--color-primary-dark:#14253d;--color-primary-deep:#0b1827;--color-primary-soft:#edf2f8;--color-primary-softer:#f5f8fb;--color-primary-alpha:#1e3a5f14;--color-primary-glow:#1e3a5f2e;--color-bg:#f0f2f5;--color-paper:#f0f2f5;--color-paper-dark:#e2e6eb;--color-paper-darkest:#c8cfda;--color-paper-light:#f7f9fb;--color-paper-deep:#98a2b3;--color-card:#f7f9fb;--color-card-hover:#fff;--color-card-elevated:#fff;--color-gold:#8b6914;--color-gold-light:#b8860b;--color-gold-deep:#6b4f0e;--color-gold-soft:#faf1dd;--gradient-primary:linear-gradient(135deg, #1e3a5f 0%, #0b1827 100%);--gradient-primary-soft:linear-gradient(135deg, #edf2f8 0%, #dbe4f0 100%);--gradient-paper:linear-gradient(180deg, #f7f9fb 0%, #e8ecf1 100%);--gradient-hero-overlay:linear-gradient(135deg, #f0f2f566 0%, #f0f2f5bf 50%, #f0f2f5eb 100%);--gradient-card-soft:linear-gradient(180deg, #fff 0%, #f7f9fb 100%);--gradient-card-warm:linear-gradient(145deg, #f7f9fb 0%, #e2e6eb 100%);--gradient-progress:linear-gradient(90deg, #1e3a5f 0%, #2c5282 50%, #b8860b 100%);--shadow-primary-glow:0 8px 24px #1e3a5f33;--shadow-primary-deep:0 12px 32px #1e3a5f47;--color-hero-bg-accent:#1e3a5f}.theme-xiyou{--color-primary:#b8860b;--color-primary-light:#daa520;--color-primary-dark:#8b6914;--color-primary-deep:#5c4709;--color-primary-soft:#fff8e7;--color-primary-softer:#fffbec;--color-primary-alpha:#b8860b1a;--color-primary-glow:#b8860b33;--color-bg:#fbf6e9;--color-paper:#fbf6e9;--color-paper-dark:#f0e8c9;--color-paper-darkest:#d9cfa5;--color-paper-light:#fffcf1;--color-paper-deep:#b8a879;--color-card:#fffcf1;--color-card-hover:#fff;--color-card-elevated:#fff;--color-gold:#b8860b;--color-gold-light:#daa520;--color-gold-deep:#8b6914;--color-gold-soft:#fff8e7;--gradient-primary:linear-gradient(135deg, #daa520 0%, #8b6914 100%);--gradient-primary-soft:linear-gradient(135deg, #fff8e7 0%, #fbefc5 100%);--gradient-paper:linear-gradient(180deg, #fffcf1 0%, #f4ecd0 100%);--gradient-hero-overlay:linear-gradient(135deg, #fbf6e966 0%, #fbf6e9bf 50%, #fbf6e9eb 100%);--gradient-card-soft:linear-gradient(180deg, #fff 0%, #fffcf1 100%);--gradient-card-warm:linear-gradient(145deg, #fffcf1 0%, #f0e8c9 100%);--gradient-progress:linear-gradient(90deg, #b8860b 0%, #daa520 50%, #8b6914 100%);--shadow-primary-glow:0 8px 24px #b8860b38;--shadow-primary-deep:0 12px 32px #b8860b4d;--color-hero-bg-accent:#b8860b}.theme-mingchao{--color-primary:#0f4c5c;--color-primary-light:#1a6b7e;--color-primary-dark:#073742;--color-primary-deep:#032029;--color-primary-soft:#e6f0f2;--color-primary-softer:#f0f6f8;--color-primary-alpha:#0f4c5c14;--color-primary-glow:#0f4c5c2e;--color-bg:#eef2f4;--color-paper:#eef2f4;--color-paper-dark:#dde3e8;--color-paper-darkest:#bfc8cf;--color-paper-light:#f4f7f9;--color-paper-deep:#8b9ba5;--color-card:#f4f7f9;--color-card-hover:#fff;--color-card-elevated:#fff;--color-gold:#8b6914;--color-gold-light:#b8860b;--color-gold-deep:#6b4f0e;--color-gold-soft:#faf1dd;--gradient-primary:linear-gradient(135deg, #0f4c5c 0%, #032029 100%);--gradient-primary-soft:linear-gradient(135deg, #e6f0f2 0%, #c8d9de 100%);--gradient-paper:linear-gradient(180deg, #f4f7f9 0%, #dde3e8 100%);--gradient-hero-overlay:linear-gradient(135deg, #eef2f466 0%, #eef2f4bf 50%, #eef2f4eb 100%);--gradient-card-soft:linear-gradient(180deg, #fff 0%, #f4f7f9 100%);--gradient-card-warm:linear-gradient(145deg, #f4f7f9 0%, #dde3e8 100%);--gradient-progress:linear-gradient(90deg, #0f4c5c 0%, #1a6b7e 50%, #b8860b 100%);--shadow-primary-glow:0 8px 24px #0f4c5c38;--shadow-primary-deep:0 12px 32px #0f4c5c4d;--color-hero-bg-accent:#0f4c5c}.theme-bainiangudu{--color-primary:#9c6b2c;--color-primary-light:#b98543;--color-primary-dark:#7a5120;--color-primary-deep:#553814;--color-primary-soft:#f5ecdd;--color-primary-softer:#faf3e5;--color-primary-alpha:#9c6b2c1a;--color-primary-glow:#9c6b2c33;--color-bg:#f4ecd8;--color-paper:#f4ecd8;--color-paper-dark:#e5d9b9;--color-paper-darkest:#cdbc8f;--color-paper-light:#faf3e0;--color-paper-deep:#9f8858;--color-card:#faf3e0;--color-card-hover:#fff;--color-card-elevated:#fff;--color-gold:#8b6914;--color-gold-light:#b8860b;--color-gold-deep:#6b4f0e;--color-gold-soft:#faf1dd;--gradient-primary:linear-gradient(135deg, #b98543 0%, #553814 100%);--gradient-primary-soft:linear-gradient(135deg, #f5ecdd 0%, #e5d9b9 100%);--gradient-paper:linear-gradient(180deg, #faf3e0 0%, #e5d9b9 100%);--gradient-hero-overlay:linear-gradient(135deg, #f4ecd866 0%, #f4ecd8bf 50%, #f4ecd8eb 100%);--gradient-card-soft:linear-gradient(180deg, #fff 0%, #faf3e0 100%);--gradient-card-warm:linear-gradient(145deg, #faf3e0 0%, #e5d9b9 100%);--gradient-progress:linear-gradient(90deg, #9c6b2c 0%, #b98543 50%, #8b6914 100%);--shadow-primary-glow:0 8px 24px #9c6b2c38;--shadow-primary-deep:0 12px 32px #9c6b2c4d;--color-hero-bg-accent:#9c6b2c}:root,.theme-honglou,.theme-sanguo,.theme-xiyou,.theme-mingchao,.theme-bainiangudu{transition:background-color .4s,color .4s}#app{background-color:var(--color-bg);min-height:100vh;color:var(--color-ink-dark);flex-direction:column;display:flex}.page-container{padding:var(--spacing-lg);flex:1;width:100%;max-width:1200px;margin:0 auto}.card{background-color:var(--color-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-paper);transition:box-shadow var(--transition-fast), transform var(--transition-fast)}.card:hover{box-shadow:var(--shadow-card-hover)}.card-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.card-body{padding:var(--spacing-lg)}.card-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border-light);background-color:var(--color-paper-dark);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.btn{justify-content:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-light);border-color:var(--color-primary-light)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-card);color:var(--color-ink-dark);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-paper-dark);border-color:var(--color-ink-light)}.btn-ghost{color:var(--color-ink-dark);background-color:#0000;border-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--color-paper-dark)}.btn-text{color:var(--color-primary);padding:var(--spacing-xs) var(--spacing-sm);background-color:#0000;border-color:#0000}.btn-text:hover:not(:disabled){background-color:var(--color-primary-soft)}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-body);line-height:var(--line-height-normal);color:var(--color-ink-dark);background-color:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha);outline:none}.input::placeholder{color:var(--color-ink-light)}.input:disabled{background-color:var(--color-paper-dark);cursor:not-allowed}.tag{padding:2px var(--spacing-sm);font-size:var(--font-size-mini);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);background-color:var(--color-paper-dark);color:var(--color-ink-medium);align-items:center;line-height:1.5;display:inline-flex}.tag-primary{background-color:var(--color-primary-soft);color:var(--color-primary-dark)}.tag-gold{background-color:var(--color-gold-soft);color:var(--color-gold)}.tag-success{background-color:var(--color-success-soft);color:var(--color-success)}.tag-warning{background-color:var(--color-warning-soft);color:var(--color-warning)}.tag-error{background-color:var(--color-error-soft);color:var(--color-error)}.badge{min-width:18px;height:18px;font-size:var(--font-size-mini);font-weight:var(--font-weight-semibold);color:#fff;background-color:var(--color-primary);border-radius:var(--radius-full);justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.badge-gold{background-color:var(--color-gold)}.divider{background-color:var(--color-divider);height:1px;margin:var(--spacing-md) 0}.divider-vertical{background-color:var(--color-divider);width:1px;height:100%;margin:0 var(--spacing-md)}.empty-state{padding:var(--spacing-2xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{color:var(--color-ink-light);margin-bottom:var(--spacing-md);font-size:48px}.empty-state-text{font-size:var(--font-size-body);color:var(--color-ink-medium)}.loading-spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}.loading-overlay{z-index:var(--z-modal);background-color:#fffc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tooltip{position:relative}.tooltip-content{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-small);color:#fff;background-color:var(--color-ink);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity var(--transition-fast), visibility var(--transition-fast);z-index:var(--z-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.tooltip:hover .tooltip-content{opacity:1;visibility:visible}.paper-texture{background-color:var(--color-bg);position:relative}.paper-texture:before{content:"";opacity:.04;pointer-events:none;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='512'%20height='512'%20viewBox='0%200%20512%20512'%3e%3cdefs%3e%3cfilter%20id='grain'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='0.85'%20numOctaves='2'%20seed='3'%20/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200.45%200%200%200%200%200.38%200%200%200%200%200.30%200%200%200%200.6%200'%20/%3e%3c/filter%3e%3c/defs%3e%3crect%20width='100%25'%20height='100%25'%20filter='url(%23grain)'%20opacity='0.5'%20/%3e%3c/svg%3e");background-repeat:repeat;position:absolute;inset:0}.chinese-border{border:1px solid var(--color-border);border-radius:var(--radius-lg);position:relative}.chinese-border:before,.chinese-border:after{content:"";border:2px solid var(--color-gold);width:20px;height:20px;position:absolute}.chinese-border:before{border-bottom:none;border-right:none;top:-2px;left:-2px}.chinese-border:after{border-top:none;border-left:none;bottom:-2px;right:-2px}@media (width<=768px){.page-container,.card-body{padding:var(--spacing-md)}}@media (width<=480px){.page-container,.card-body{padding:var(--spacing-sm)}}@media print{body{background-color:#fff}.card{box-shadow:none;border:1px solid #ccc}.no-print{display:none!important}}.ant-btn-default{background-color:var(--color-card)!important;border-color:var(--color-border)!important;color:var(--color-ink-dark)!important}.ant-btn-default:hover{background-color:var(--color-primary-soft)!important;border-color:var(--color-primary)!important;color:var(--color-primary-dark)!important}.ant-btn.ant-btn-primary,.ant-btn-primary.ant-btn-primary{box-shadow:0 2px #b826010f;background-color:var(--color-primary)!important;border-color:var(--color-primary)!important;color:#fff!important}.ant-btn.ant-btn-primary:hover,.ant-btn-primary.ant-btn-primary:hover{background-color:var(--color-primary-light)!important;border-color:var(--color-primary-light)!important;color:#fff!important}.ant-btn.ant-btn-primary:active,.ant-btn-primary.ant-btn-primary:active{background-color:var(--color-primary-dark)!important;border-color:var(--color-primary-dark)!important;color:#fff!important}.ant-btn.ant-btn-primary[disabled],.ant-btn-primary.ant-btn-primary[disabled],.ant-btn-primary[disabled]{opacity:.5;background-color:var(--color-primary-soft)!important;border-color:var(--color-primary-soft)!important;color:var(--color-primary)!important}.ant-input:focus,.ant-input-focused,.ant-input-search .ant-input-affix-wrapper:focus-within,.ant-input-search .ant-input-affix-wrapper-focused,.ant-select-selector:focus,.ant-select-selector-focused{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px var(--color-primary-alpha)!important}.ant-checkbox-checked .ant-checkbox-inner{background-color:var(--color-primary)!important;border-color:var(--color-primary)!important}.ant-radio-checked .ant-radio-inner{border-color:var(--color-primary)!important}.ant-radio-checked .ant-radio-inner:after,.ant-progress-bg{background-color:var(--color-primary)!important}.ant-tabs-tab-active{color:var(--color-primary)!important}.ant-tabs-ink-bar{background-color:var(--color-primary)!important}.ant-menu-item:hover{background-color:var(--color-primary-soft)!important}.ant-menu-item-selected{background-color:var(--color-primary-soft)!important;color:var(--color-primary-dark)!important}.ant-drawer-content{background-color:var(--color-paper)!important}.ant-modal-content{background-color:var(--color-paper)!important;border-radius:var(--radius-lg)!important}.ant-empty-description{color:var(--color-ink-medium)!important}.ant-pagination-item-active{background-color:var(--color-primary)!important;border-color:var(--color-primary)!important}.ant-pagination-item-active a{color:#fff!important}.ant-tag{border-radius:var(--radius-sm)!important}
