@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{--un-bg-opacity:100%;--un-border-opacity:100%;--un-ease:initial;--un-leading:initial;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-text-opacity:100%;--un-translate-x:initial;--un-translate-y:initial;--un-translate-z:initial;}}@property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%;}@property --un-leading{syntax:"*";inherits:false;}@property --un-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%;}@property --un-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%;}@property --un-inset-ring-color{syntax:"*";inherits:false;}@property --un-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}@property --un-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}@property --un-inset-shadow-color{syntax:"*";inherits:false;}@property --un-ring-color{syntax:"*";inherits:false;}@property --un-ring-inset{syntax:"*";inherits:false;}@property --un-ring-offset-color{syntax:"*";inherits:false;}@property --un-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}@property --un-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0px;}@property --un-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}@property --un-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}@property --un-shadow-color{syntax:"*";inherits:false;}@property --un-translate-x{syntax:"*";inherits:false;initial-value:0;}@property --un-translate-y{syntax:"*";inherits:false;initial-value:0;}@property --un-translate-z{syntax:"*";inherits:false;initial-value:0;}@property --un-scale-x{syntax:"*";inherits:false;initial-value:1;}@property --un-scale-y{syntax:"*";inherits:false;initial-value:1;}@property --un-scale-z{syntax:"*";inherits:false;initial-value:1;}@property --un-ease{syntax:"*";inherits:false;}@property --un-blur{syntax:"*";inherits:false;}@property --un-brightness{syntax:"*";inherits:false;}@property --un-contrast{syntax:"*";inherits:false;}@property --un-drop-shadow{syntax:"*";inherits:false;}@property --un-grayscale{syntax:"*";inherits:false;}@property --un-hue-rotate{syntax:"*";inherits:false;}@property --un-invert{syntax:"*";inherits:false;}@property --un-saturate{syntax:"*";inherits:false;}@property --un-sepia{syntax:"*";inherits:false;}@property --un-backdrop-blur{syntax:"*";inherits:false;}@property --un-backdrop-brightness{syntax:"*";inherits:false;}@property --un-backdrop-contrast{syntax:"*";inherits:false;}@property --un-backdrop-grayscale{syntax:"*";inherits:false;}@property --un-backdrop-hue-rotate{syntax:"*";inherits:false;}@property --un-backdrop-invert{syntax:"*";inherits:false;}@property --un-backdrop-opacity{syntax:"*";inherits:false;}@property --un-backdrop-saturate{syntax:"*";inherits:false;}@property --un-backdrop-sepia{syntax:"*";inherits:false;}:root, :host {--spacing: 0.25rem;--fontWeight-bold: 700;--leading-tight: 1.25;--tracking-wider: 0.05em;--default-transition-timingFunction: cubic-bezier(0.4, 0, 0.2, 1);--default-transition-duration: 150ms;--ease-DEFAULT: cubic-bezier(0.4, 0, 0.2, 1);--ease-out: cubic-bezier(0, 0, 0.2, 1);--ease-in: cubic-bezier(0.4, 0, 1, 1);--leading-none: 1;--container-3xl: 48rem;--leading-loose: 2;--fontWeight-semibold: 600;--text-6xl-fontSize: 3.75rem;--text-6xl-lineHeight: 1;--text-5xl-fontSize: 3rem;--text-5xl-lineHeight: 1;--text-2xl-fontSize: 1.5rem;--text-2xl-lineHeight: 2rem;--text-base-fontSize: 1rem;--text-base-lineHeight: 1.5rem;--text-sm-fontSize: 0.875rem;--text-sm-lineHeight: 1.25rem;--text-xs-fontSize: 0.75rem;--text-xs-lineHeight: 1rem;--fontWeight-normal: 400;--colors-black: #000;--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);--text-xl-fontSize: 1.25rem;--text-xl-lineHeight: 1.75rem;--text-lg-fontSize: 1.125rem;--text-lg-lineHeight: 1.75rem;--colors-blue-DEFAULT: oklch(70.7% 0.165 254.624);--font-sans: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family: var(--font-sans);--default-monoFont-family: var(--font-mono);}/*  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)  2. Remove default margins and padding  3. Reset all borders.*/*,::after,::before,::backdrop,::file-selector-button {  box-sizing: border-box; /* 1 */  margin: 0; /* 2 */  padding: 0; /* 2 */  border: 0 solid; /* 3 */}/*  1. Use a consistent sensible line-height in all browsers.  2. Prevent adjustments of font size after orientation changes in iOS.  3. Use a more readable tab size.  4. Use the user's configured `sans` font-family by default.  5. Use the user's configured `sans` font-feature-settings by default.  6. Use the user's configured `sans` font-variation-settings by default.  7. Disable tap highlights on iOS.*/html,:host {  line-height: 1.5; /* 1 */  -webkit-text-size-adjust: 100%; /* 2 */  tab-size: 4; /* 3 */  font-family: var(    --default-font-family,    -apple-system,    BlinkMacSystemFont,    'Segoe UI',    Roboto,    'Helvetica Neue',    'Noto Sans',    Arial,    sans-serif,    'Apple Color Emoji',    'Segoe UI Emoji',    'Segoe UI Symbol',    'Noto Color Emoji'  ); /* 4 */  font-feature-settings: var(--default-font-featureSettings, normal); /* 5 */  font-variation-settings: var(--default-font-variationSettings, normal); /* 6 */  -webkit-tap-highlight-color: transparent; /* 7 */}/*  1. Add the correct height in Firefox.  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)  3. Reset the default border style to a 1px solid border.*/hr {  height: 0; /* 1 */  color: inherit; /* 2 */  border-top-width: 1px; /* 3 */}/*  Add the correct text decoration in Chrome, Edge, and Safari.*/abbr:where([title]) {  -webkit-text-decoration: underline dotted;  text-decoration: underline dotted;}/*  Remove the default font size and weight for headings.*/h1,h2,h3,h4,h5,h6 {  font-size: inherit;  font-weight: inherit;}/*  Reset links to optimize for opt-in styling instead of opt-out.*/a {  color: inherit;  -webkit-text-decoration: inherit;  text-decoration: inherit;}/*  Add the correct font weight in Edge and Safari.*/b,strong {  font-weight: bolder;}/*  1. Use the user's configured `mono` font-family by default.  2. Use the user's configured `mono` font-feature-settings by default.  3. Use the user's configured `mono` font-variation-settings by default.  4. Correct the odd `em` font sizing in all browsers.*/code,kbd,samp,pre {  font-family: var(    --default-monoFont-family,    ui-monospace,    SFMono-Regular,    Menlo,    Monaco,    Consolas,    'Liberation Mono',    'Courier New',    monospace  ); /* 1 */  font-feature-settings: var(--default-monoFont-featureSettings, normal); /* 2 */  font-variation-settings: var(--default-monoFont-variationSettings, normal); /* 3 */  font-size: 1em; /* 4 */}/*  Add the correct font size in all browsers.*/small {  font-size: 80%;}/*  Prevent `sub` and `sup` elements from affecting the line height in all browsers.*/sub,sup {  font-size: 75%;  line-height: 0;  position: relative;  vertical-align: baseline;}sub {  bottom: -0.25em;}sup {  top: -0.5em;}/*  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)  3. Remove gaps between table borders by default.*/table {  text-indent: 0; /* 1 */  border-color: inherit; /* 2 */  border-collapse: collapse; /* 3 */}/*  Use the modern Firefox focus style for all focusable elements.*/:-moz-focusring:where(:not(iframe)) {  outline: auto;}/*  Add the correct vertical alignment in Chrome and Firefox.*/progress {  vertical-align: baseline;}/*  Add the correct display in Chrome and Safari.*/summary {  display: list-item;}/*  Make lists unstyled by default.*/ol,ul,menu {  list-style: none;}/*  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)      This can trigger a poorly considered lint error in some tools but is included by design.*/img,svg,video,canvas,audio,iframe,embed,object {  display: block; /* 1 */  vertical-align: middle; /* 2 */}/*  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)*/img,video {  max-width: 100%;  height: auto;}/*  1. Inherit font styles in all browsers.  2. Remove border radius in all browsers.  3. Remove background color in all browsers.  4. Ensure consistent opacity for disabled states in all browsers.*/button,input,select,optgroup,textarea,::file-selector-button {  font: inherit; /* 1 */  font-feature-settings: inherit; /* 1 */  font-variation-settings: inherit; /* 1 */  letter-spacing: inherit; /* 1 */  color: inherit; /* 1 */  border-radius: 0; /* 2 */  background-color: transparent; /* 3 */  opacity: 1; /* 4 */}/*  Restore default font weight.*/:where(select:is([multiple], [size])) optgroup {  font-weight: bolder;}/*  Restore indentation.*/:where(select:is([multiple], [size])) optgroup option {  padding-inline-start: 20px;}/*  Restore space after button.*/::file-selector-button {  margin-inline-end: 4px;}/*  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)*/::placeholder {  opacity: 1;}/*  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)*/@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or  (contain-intrinsic-size: 1px) /* Safari 17+ */ {  ::placeholder {    color: color-mix(in oklab, currentcolor 50%, transparent);  }}/*  Prevent resizing textareas horizontally by default.*/textarea {  resize: vertical;}/*  Remove the inner padding in Chrome and Safari on macOS.*/::-webkit-search-decoration {  -webkit-appearance: none;}/*  1. Ensure date/time inputs have the same height when empty in iOS Safari.  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.*/::-webkit-date-and-time-value {  min-height: 1lh; /* 1 */  text-align: inherit; /* 2 */}/*  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.*/::-webkit-datetime-edit {  display: inline-flex;}/*  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.*/::-webkit-datetime-edit-fields-wrapper {  padding: 0;}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field {  padding-block: 0;}/*  Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)*/::-webkit-calendar-picker-indicator {  line-height: 1;}/*  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)*/:-moz-ui-invalid {  box-shadow: none;}/*  Correct the inability to style the border radius in iOS Safari.*/button,input:where([type='button'], [type='reset'], [type='submit']),::file-selector-button {  appearance: button;}/*  Correct the cursor style of increment and decrement buttons in Safari.*/::-webkit-inner-spin-button,::-webkit-outer-spin-button {  height: auto;}/*  Make elements with the HTML hidden attribute stay hidden by default.*/[hidden]:where(:not([hidden~='until-found'])) {  display: none !important;}.i-ri-account-circle-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2m.16 14a6.98 6.98 0 0 0-5.147 2.256A7.97 7.97 0 0 0 12 20a7.97 7.97 0 0 0 5.167-1.892A6.98 6.98 0 0 0 12.16 16M12 4a8 8 0 0 0-6.384 12.821A8.98 8.98 0 0 1 12.16 14a8.97 8.97 0 0 1 6.362 2.634A8 8 0 0 0 12 4m0 1a4 4 0 1 1 0 8a4 4 0 0 1 0-8m0 2a2 2 0 1 0 0 4a2 2 0 0 0 0-4'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-alert-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m12.866 3l9.526 16.5a1 1 0 0 1-.866 1.5H2.474a1 1 0 0 1-.866-1.5L11.134 3a1 1 0 0 1 1.732 0M11 16v2h2v-2zm0-7v5h2V9z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-archive-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M3 10H2V4.003C2 3.449 2.455 3 2.992 3h18.016A.99.99 0 0 1 22 4.003V10h-1v10.002a.996.996 0 0 1-.993.998H3.993A.996.996 0 0 1 3 20.002zm16 0H5v9h14zM4 5v3h16V5zm5 7h6v2H9z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-arrow-down-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m13 16.172l5.364-5.364l1.414 1.414L12 20l-7.778-7.778l1.414-1.414L11 16.172V4h2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-arrow-drop-down-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m12 14l-4-4h8z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-arrow-left-s-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m10.828 12l4.95 4.95l-1.414 1.415L8 12l6.364-6.364l1.414 1.414z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-arrow-right-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m16.172 11l-5.364-5.364l1.414-1.414L20 12l-7.778 7.778l-1.414-1.414L16.172 13H4v-2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-arrow-right-s-line,[i-ri-arrow-right-s-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m13.172 12l-4.95-4.95l1.414-1.413L16 12l-6.364 6.364l-1.414-1.415z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-arrow-up-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M13 7.828V20h-2V7.828l-5.364 5.364l-1.414-1.414L12 4l7.778 7.778l-1.414 1.414z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-article-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1m-1-2V4H5v16zM7 6h4v4H7zm0 6h10v2H7zm0 4h10v2H7zm6-9h4v2h-4z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-at-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M20 12a8 8 0 1 0-3.562 6.657l1.11 1.664A9.95 9.95 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10v1.5a3.5 3.5 0 0 1-6.396 1.966A5 5 0 1 1 15 8h2v5.5a1.5 1.5 0 0 0 3 0zm-8-3a3 3 0 1 0 0 6a3 3 0 0 0 0-6'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-book-shelf-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M4 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-4.703L16 20a1 1 0 0 0 1.186.77l3.912-.832a1 1 0 0 0 .77-1.186l-2.91-13.694a1 1 0 0 0-1.186-.77l-2.78.59A1 1 0 0 0 14 4h-4a1 1 0 0 0-1-1zm6 3h3v8h-3zm0 13v-3h3v3zM8 5v10H5V5zm0 12v2H5v-2zm9.332-.35l1.956-.416l.416 1.956l-1.956.416zm-.416-1.957l-1.663-7.825l1.956-.416l1.664 7.826z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-calendar-check-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M9 1v2h6V1h2v2h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1zm11 9H4v9h16zm-4.964 1.136l1.414 1.414l-4.95 4.95l-3.536-3.536L9.38 12.55l2.121 2.122zM7 5H4v3h16V5h-3v1h-2V5H9v1H7z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-calendar-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M9 1v2h6V1h2v2h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1zm11 10H4v8h16zM7 5H4v4h16V5h-3v2h-2V5H9v2H7z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-chat-1-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M10 3h4a8 8 0 1 1 0 16v3.5c-5-2-12-5-12-11.5a8 8 0 0 1 8-8m2 14h2a6 6 0 0 0 0-12h-4a6 6 0 0 0-6 6c0 3.61 2.462 5.966 8 8.48z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-chat-quote-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M21 3a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455L2 22.5V4a1 1 0 0 1 1-1zm-1 2H4v13.385L5.763 17H20zm-9.485 2.412l.447.688c-1.668.903-1.639 2.352-1.639 2.665c.155-.022.318-.025.48-.01a1.76 1.76 0 0 1 1.613 1.745a1.75 1.75 0 0 1-1.75 1.75c-.537 0-1.05-.245-1.374-.59c-.515-.546-.792-1.16-.792-2.155c0-1.75 1.228-3.318 3.015-4.093m5 0l.447.688c-1.668.903-1.639 2.352-1.639 2.665c.155-.022.318-.025.48-.01a1.76 1.76 0 0 1 1.613 1.745a1.75 1.75 0 0 1-1.75 1.75c-.537 0-1.05-.245-1.374-.59c-.515-.546-.792-1.16-.792-2.155c0-1.75 1.228-3.318 3.015-4.093'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-checkbox-circle-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2S2 6.477 2 12s4.477 10 10 10m5.457-12.543L11 15.914l-4.207-4.207l1.414-1.414L11 13.086l5.043-5.043z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-close-circle-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-11.414L9.172 7.757L7.757 9.172L10.586 12l-2.829 2.828l1.415 1.415L12 13.414l2.828 2.829l1.415-1.415L13.414 12l2.829-2.828l-1.415-1.415z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-close-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m12 10.587l4.95-4.95l1.414 1.414l-4.95 4.95l4.95 4.95l-1.415 1.414l-4.95-4.95l-4.949 4.95l-1.414-1.415l4.95-4.95l-4.95-4.95L7.05 5.638z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-copyright-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16.288 9.428A4.999 4.999 0 0 0 7 12a4.999 4.999 0 0 0 9.288 2.572l-1.715-1.028A3 3 0 1 1 12 9c1.093 0 2.05.584 2.573 1.457zM22 12c0-5.52-4.48-10-10-10S2 6.48 2 12s4.48 10 10 10s10-4.48 10-10M4 12c0-4.42 3.58-8 8-8s8 3.58 8 8s-3.58 8-8 8s-8-3.58-8-8'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-creative-commons-by-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M14 7a2 2 0 1 1-4 0a2 2 0 0 1 4 0m1 4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v4h1.5v4h3v-4H15zm-3-9C6.477 2 2 6.477 2 12s4.477 10 10 10s10-4.477 10-10S17.523 2 12 2M4 12a8 8 0 1 1 16 0a8 8 0 0 1-16 0'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-creative-commons-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M9 8c1.104 0 2.105.448 2.829 1.173l-1.414 1.413a2 2 0 1 0 0 2.828l1.413 1.414A4.001 4.001 0 0 1 5 12c0-2.208 1.792-4 4-4m9.829 1.173A4.001 4.001 0 0 0 12 12a4.001 4.001 0 0 0 6.828 2.828l-1.414-1.414a2 2 0 1 1 0-2.828zM2 12C2 6.477 6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12m10-8a8 8 0 1 0 0 16a8 8 0 0 0 0-16'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-creative-commons-nc-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10s10-4.477 10-10S17.523 2 12 2M7.094 5.68A8 8 0 0 1 18.32 16.905l-2.154-2.154A2.5 2.5 0 0 0 14 11h-4a.5.5 0 0 1 0-1.001h5.5V8H13V6h-2v2h-1q-.273.001-.53.056zM5.68 7.094L7.835 9.25A2.5 2.5 0 0 0 10 13h4a.5.5 0 0 1 0 1.001H8.5v2H11v2h2v-2h1q.273-.001.53-.056l2.376 2.376A8 8 0 0 1 5.68 7.095'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-creative-commons-nd-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M8 9h8v2H8zm0 6v-2h8v2zm-6-3C2 6.477 6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12m10-8a8 8 0 1 0 0 16a8 8 0 0 0 0-16'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-creative-commons-sa-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M17 12c0-3.314-2.238-6-5-6c-2.177 0-4.03 1.67-4.716 4H6l2.5 3l2.5-3H9.401C9.92 8.805 10.89 8 12 8c1.657 0 3 1.79 3 4s-1.343 4-3 4c-1.11 0-2.08-.804-2.598-1.999H7.285C7.97 16.33 9.823 18 12 18c2.762 0 5-2.686 5-6M12 2a9.97 9.97 0 0 0-7.07 2.93A9.97 9.97 0 0 0 2 12a9.97 9.97 0 0 0 2.93 7.07A9.97 9.97 0 0 0 12 22a9.97 9.97 0 0 0 7.07-2.93A9.97 9.97 0 0 0 22 12a9.97 9.97 0 0 0-2.93-7.07A9.97 9.97 0 0 0 12 2M6.344 6.344A7.97 7.97 0 0 1 12 4c2.208 0 4.206.895 5.656 2.344A7.97 7.97 0 0 1 20 12a7.97 7.97 0 0 1-2.344 5.656A7.97 7.97 0 0 1 12 20a7.97 7.97 0 0 1-5.656-2.344A7.97 7.97 0 0 1 4 12c0-2.208.895-4.206 2.344-5.656'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-cup-fill,[i-ri-cup-fill=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M5 3h15a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-2v3a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4V4a1 1 0 0 1 1-1m13 2v3h2V5zM2 19h18v2H2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-dice-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M10.998 1.58a2 2 0 0 1 2.004 0l7.5 4.342a2 2 0 0 1 .998 1.731v8.694a2 2 0 0 1-.998 1.73l-7.5 4.343a2 2 0 0 1-2.004 0l-7.5-4.342a2 2 0 0 1-.998-1.731V7.653a2 2 0 0 1 .998-1.73zM4.5 7.653v.005l6.502 3.764A2 2 0 0 1 12 13.153v7.536l7.5-4.342V7.653L12 3.311zM6.132 12.3c0-.552-.388-1.224-.866-1.5s-.866-.052-.866.5s.388 1.224.866 1.5s.866.052.866-.5m2.597 6.498c.478.276.866.053.866-.5c0-.552-.388-1.224-.866-1.5s-.866-.052-.866.5s.388 1.224.866 1.5M5.266 16.8c.478.276.866.052.866-.5s-.388-1.224-.866-1.5s-.866-.052-.866.5s.388 1.224.866 1.5m3.463-2c.478.277.866.053.865-.5c0-.552-.387-1.223-.866-1.5c-.478-.276-.866-.052-.866.5c0 .553.388 1.224.867 1.5M14.898 8c.478-.276.478-.724 0-1s-1.254-.276-1.732 0c-.479.276-.479.724 0 1c.478.276 1.254.276 1.732 0m-4.8-1c.478.276.478.724 0 1s-1.254.276-1.732 0s-.478-.724 0-1s1.254-.276 1.732 0m5.897 8.35c.598-.346 1.083-1.185 1.083-1.875s-.485-.97-1.082-.625s-1.083 1.184-1.083 1.875c0 .69.485.97 1.082.625'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-edit-2-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M5 18.89h1.414l9.314-9.314l-1.414-1.414L5 17.476zm16 2H3v-4.243L16.435 3.212a1 1 0 0 1 1.414 0l2.829 2.829a1 1 0 0 1 0 1.414L9.243 18.89H21zM15.728 6.748l1.414 1.414l1.414-1.414l-1.414-1.414z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-error-warning-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16m-1-5h2v2h-2zm0-8h2v6h-2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-external-link-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M10 6v2H5v11h11v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm11-3v8h-2V6.413l-7.793 7.794l-1.414-1.414L17.585 5H13V3z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-file-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M9 2.003V2h10.998C20.55 2 21 2.455 21 2.992v18.016a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V8zM5.83 8H9V4.83zM11 4v5a1 1 0 0 1-1 1H5v10h14V4z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-file-list-3-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 22H5a3 3 0 0 1-3-3V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12h4v4a3 3 0 0 1-3 3m-1-5v2a1 1 0 1 0 2 0v-2zM6 7v2h8V7zm0 4v2h8v-2zm0 4v2h5v-2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-flag-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12.382 3a1 1 0 0 1 .894.553L14 5h6a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1h-6.382a1 1 0 0 1-.894-.553L12 16H5v6H3V3zm-.618 2H5v9h8.236l1 2H19V7h-6.236z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-folder-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M4 5v14h16V7h-8.414l-2-2zm8.414 0H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-forbid-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16M8.523 7.109l8.368 8.368a6 6 0 0 1-1.414 1.414L7.109 8.523A6 6 0 0 1 8.523 7.11'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-git-branch-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.105 15.21A3.001 3.001 0 1 1 5 15.17V8.83a3.001 3.001 0 1 1 2 0V12c.836-.628 1.874-1 3-1h4a3 3 0 0 0 2.895-2.21a3.001 3.001 0 1 1 2.032.064A5 5 0 0 1 14 13h-4a3 3 0 0 0-2.895 2.21M6 17a1 1 0 1 0 0 2a1 1 0 0 0 0-2M6 5a1 1 0 1 0 0 2a1 1 0 0 0 0-2m12 0a1 1 0 1 0 0 2a1 1 0 0 0 0-2'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-github-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12.001 2c-5.525 0-10 4.475-10 10a9.99 9.99 0 0 0 6.837 9.488c.5.087.688-.213.688-.476c0-.237-.013-1.024-.013-1.862c-2.512.463-3.162-.612-3.362-1.175c-.113-.288-.6-1.175-1.025-1.413c-.35-.187-.85-.65-.013-.662c.788-.013 1.35.725 1.538 1.025c.9 1.512 2.337 1.087 2.912.825c.088-.65.35-1.087.638-1.337c-2.225-.25-4.55-1.113-4.55-4.938c0-1.088.387-1.987 1.025-2.687c-.1-.25-.45-1.275.1-2.65c0 0 .837-.263 2.75 1.024a9.3 9.3 0 0 1 2.5-.337c.85 0 1.7.112 2.5.337c1.913-1.3 2.75-1.024 2.75-1.024c.55 1.375.2 2.4.1 2.65c.637.7 1.025 1.587 1.025 2.687c0 3.838-2.337 4.688-4.562 4.938c.362.312.675.912.675 1.85c0 1.337-.013 2.412-.013 2.75c0 .262.188.574.688.474A10.02 10.02 0 0 0 22 12c0-5.525-4.475-10-10-10'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-heart-pulse-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16.5 3C19.538 3 22 5.5 22 9c0 7-7.5 11-10 12.5c-1.977-1.186-7.083-3.937-9.131-8.499L1 13v-2h1.21A9.6 9.6 0 0 1 2 9c0-3.5 2.5-6 5.5-6C9.36 3 11 4 12 5c1-1 2.64-2 4.5-2m0 2c-1.076 0-2.24.57-3.086 1.414L12 7.828l-1.414-1.414C9.74 5.57 8.576 5 7.5 5C5.56 5 4 6.657 4 9q0 1.028.267 2h2.167L8.5 7.556l3 5L12.434 11H17v2h-3.434L11.5 16.444l-3-5L7.566 13H5.108c.79 1.374 1.985 2.668 3.537 3.903c.745.593 1.54 1.146 2.421 1.7c.299.189.595.37.934.572c.339-.202.635-.383.934-.571a27 27 0 0 0 2.42-1.701C18.335 14.533 20 11.943 20 9c0-2.36-1.537-4-3.5-4'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-home-2-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 21H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9a1 1 0 0 1-1 1M6 19h12V9.157l-6-5.454l-6 5.454z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-home-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M21 20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.49a1 1 0 0 1 .386-.79l8-6.223a1 1 0 0 1 1.228 0l8 6.223a1 1 0 0 1 .386.79z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-home-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M21 20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.49a1 1 0 0 1 .386-.79l8-6.223a1 1 0 0 1 1.228 0l8 6.223a1 1 0 0 1 .386.79zm-2-1V9.978l-7-5.444l-7 5.444V19z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-information-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m-1-11v6h2v-6zm0-4v2h2V7z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-layout-right-2-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm-1 2H4v14h16zm-2 2v10h-2V7z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-lightbulb-flash-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1zm-3-9.995V6l-4.5 6.005H11v4l4.5-6z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-line-chart-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M5 3v16h16v2H3V3zm14.94 2.94l2.12 2.12L16 14.122l-3-3l-3.94 3.94l-2.12-2.122L13 6.88l3 3z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-link{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M18.364 15.536L16.95 14.12l1.414-1.414a5 5 0 0 0-7.071-7.071L9.878 7.05L8.464 5.636l1.414-1.414a7 7 0 0 1 9.9 9.9zm-2.829 2.828l-1.414 1.414a7 7 0 0 1-9.9-9.9l1.415-1.414L7.05 9.88l-1.414 1.414a5 5 0 0 0 7.07 7.071l1.415-1.414zm-.707-10.607l1.415 1.415l-7.072 7.07l-1.414-1.414z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-list-ordered{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M8 4h13v2H8zM5 3v3h1v1H3V6h1V4H3V3zM3 14v-2.5h2V11H3v-1h3v2.5H4v.5h2v1zm2 5.5H3v-1h2V18H3v-1h3v4H3v-1h2zM8 11h13v2H8zm0 7h13v2H8z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-lock-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 10h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1V9a7 7 0 0 1 14 0zM5 12v8h14v-8zm6 2h2v4h-2zm6-4V9A5 5 0 0 0 7 9v1z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-lock-unlock-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7 10h13a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1V9a7 7 0 0 1 13.262-3.131l-1.789.894A5 5 0 0 0 7 9zm-2 2v8h14v-8zm5 3h4v2h-4z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-mail-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1m9.06 8.683L5.648 6.238L4.353 7.762l7.72 6.555l7.581-6.56l-1.308-1.513z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-megaphone-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M9 17s7 1 10 4h1a1 1 0 0 0 1-1v-6.063a2 2 0 0 0 0-3.874V4a1 1 0 0 0-1-1h-1C16 6 9 7 9 7H5a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h1l1 5h2zm2-8.339c.683-.146 1.527-.35 2.44-.617c1.678-.494 3.81-1.271 5.56-2.47v12.851c-1.75-1.198-3.883-1.975-5.56-2.469A34 34 0 0 0 11 15.34zM5 9h4v6H5z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-moon-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2h.1A6.98 6.98 0 0 0 10 7m-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938A8 8 0 0 0 4 12'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-music-2-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M20 3v14a4 4 0 1 1-2-3.465V5H9v12a4 4 0 1 1-2-3.465V3zM5 19a2 2 0 1 0 0-4a2 2 0 0 0 0 4m11 0a2 2 0 1 0 0-4a2 2 0 0 0 0 4'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-pencil-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m15.728 9.576l-1.414-1.414L5 17.476v1.414h1.414zm1.414-1.414l1.414-1.414l-1.414-1.414l-1.414 1.414zm-9.9 12.728H3v-4.243L16.435 3.212a1 1 0 0 1 1.414 0l2.829 2.829a1 1 0 0 1 0 1.414z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-play-circle-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16M10.622 8.415l4.879 3.252a.4.4 0 0 1 0 .666l-4.88 3.252a.4.4 0 0 1-.621-.332V8.747a.4.4 0 0 1 .622-.332'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-price-tag-3-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m10.904 2.1l9.9 1.414l1.414 9.9l-9.192 9.192a1 1 0 0 1-1.415 0l-9.9-9.9a1 1 0 0 1 0-1.413zm.707 2.122L3.833 12l8.485 8.485l7.779-7.778l-1.061-7.425zm2.122 6.363a2 2 0 1 1 2.828-2.828a2 2 0 0 1-2.828 2.829'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-quill-pen-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M6.94 14.033a30 30 0 0 0-.606 1.783c.96-.697 2.101-1.14 3.418-1.304c2.513-.314 4.746-1.973 5.876-4.058l-1.456-1.455l1.413-1.415l1-1.002c.43-.429.915-1.224 1.428-2.367c-5.593.867-9.018 4.291-11.074 9.818M17 8.997l1 1c-1 3-4 6-8 6.5q-4.003.5-5.002 5.5H3c1-6 3-20 18-20q-1.5 4.496-2.997 5.997z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-rss-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M3 3c9.941 0 18 8.059 18 18h-3c0-8.284-6.716-15-15-15zm0 7c6.075 0 11 4.925 11 11h-3a8 8 0 0 0-8-8zm0 7a4 4 0 0 1 4 4H3z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-search-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m18.031 16.617l4.283 4.282l-1.415 1.415l-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9s9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617m-2.006-.742A6.98 6.98 0 0 0 18 11c0-3.867-3.133-7-7-7s-7 3.133-7 7s3.133 7 7 7a6.98 6.98 0 0 0 4.875-1.975z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-shuffle-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M18 17.883V16l5 3l-5 3v-2.09a9 9 0 0 1-6.997-5.365L11 14.54l-.003.006A9 9 0 0 1 2.725 20H2v-2h.725a7 7 0 0 0 6.434-4.243L9.912 12l-.753-1.757A7 7 0 0 0 2.725 6H2V4h.725a9 9 0 0 1 8.272 5.455L11 9.46l.003-.006A9 9 0 0 1 18 4.09V2l5 3l-5 3V6.117a7 7 0 0 0-5.159 4.126L12.088 12l.753 1.757A7 7 0 0 0 18 17.883'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-star-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m12 18.26l-7.053 3.948l1.575-7.928L.588 8.792l8.027-.952L12 .5l3.385 7.34l8.027.952l-5.934 5.488l1.575 7.928zm0-2.292l4.247 2.377l-.948-4.773l3.573-3.305l-4.833-.573l-2.038-4.419l-2.039 4.42l-4.833.572l3.573 3.305l-.948 4.773z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-sun-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 18a6 6 0 1 1 0-12a6 6 0 0 1 0 12m0-2a4 4 0 1 0 0-8a4 4 0 0 0 0 8M11 1h2v3h-2zm0 19h2v3h-2zM3.515 4.929l1.414-1.414L7.05 5.636L5.636 7.05zM16.95 18.364l1.414-1.414l2.121 2.121l-1.414 1.414zm2.121-14.85l1.414 1.415l-2.121 2.121l-1.414-1.414zM5.636 16.95l1.414 1.414l-2.121 2.121l-1.414-1.414zM23 11v2h-3v-2zM4 11v2H1v-2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-time-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16m1-8h4v2h-6V7h2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-twitter-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M22.213 5.656a8.4 8.4 0 0 1-2.402.658A4.2 4.2 0 0 0 21.649 4c-.82.488-1.719.83-2.655 1.015a4.182 4.182 0 0 0-7.126 3.814a11.87 11.87 0 0 1-8.621-4.37a4.17 4.17 0 0 0-.566 2.103c0 1.45.739 2.731 1.86 3.481a4.2 4.2 0 0 1-1.894-.523v.051a4.185 4.185 0 0 0 3.355 4.102a4.2 4.2 0 0 1-1.89.072A4.185 4.185 0 0 0 8.02 16.65a8.4 8.4 0 0 1-6.192 1.732a11.83 11.83 0 0 0 6.41 1.88c7.694 0 11.9-6.373 11.9-11.9q0-.271-.012-.541a8.5 8.5 0 0 0 2.086-2.164'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.i-ri-user-3-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M20 22h-2v-2a3 3 0 0 0-3-3H9a3 3 0 0 0-3 3v2H4v-2a5 5 0 0 1 5-5h6a5 5 0 0 1 5 5zm-8-9a6 6 0 1 1 0-12a6 6 0 0 1 0 12m0-2a4 4 0 1 0 0-8a4 4 0 0 0 0 8'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}.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;}}.text-\[0\.8125rem\]{font-size:0.8125rem;}.text-1rem{font-size:1rem;}.text-2xl{font-size:var(--text-2xl-fontSize);line-height:var(--un-leading, var(--text-2xl-lineHeight));}.text-5{font-size:1.25rem;}.text-5xl{font-size:var(--text-5xl-fontSize);line-height:var(--un-leading, var(--text-5xl-lineHeight));}.text-6xl{font-size:var(--text-6xl-fontSize);line-height:var(--un-leading, var(--text-6xl-lineHeight));}.text-base{font-size:var(--text-base-fontSize);line-height:var(--un-leading, var(--text-base-lineHeight));}.text-lg{font-size:var(--text-lg-fontSize);line-height:var(--un-leading, var(--text-lg-lineHeight));}.text-sm{font-size:var(--text-sm-fontSize);line-height:var(--un-leading, var(--text-sm-lineHeight));}.text-xl{font-size:var(--text-xl-fontSize);line-height:var(--un-leading, var(--text-xl-lineHeight));}.text-xs,[text-xs=""]{font-size:var(--text-xs-fontSize);line-height:var(--un-leading, var(--text-xs-lineHeight));}[text~="\32 "]{font-size:0.5rem;}.text-color{color:color-mix(in srgb, var(--text-color) var(--un-text-opacity), transparent) /* var(--text-color) */;}.color-grey-5,.text-grey-5,[text-grey-5=""]{color:color-mix(in srgb, var(--grey-5) var(--un-text-opacity), transparent) /* var(--grey-5) */;}.text-grey-7{color:color-mix(in srgb, var(--grey-7) var(--un-text-opacity), transparent) /* var(--grey-7) */;}.color-grey-0{color:color-mix(in srgb, var(--grey-0) var(--un-text-opacity), transparent) /* var(--grey-0) */;}.color-grey-6{color:color-mix(in srgb, var(--grey-6) var(--un-text-opacity), transparent) /* var(--grey-6) */;}[c~="\$\$render"]{color:color-mix(in oklab, var(--\$render) var(--un-text-opacity), transparent) /* var(--\$render) */;}.text-inherit{color:inherit;}.leading-\[1\.4\]{--un-leading:1.4;line-height:1.4;}.leading-\[1\.8\]{--un-leading:1.8;line-height:1.8;}.leading-1\.2{--un-leading:calc(var(--spacing) * 1.2);line-height:calc(var(--spacing) * 1.2);}.leading-loose,[leading-loose=""]{--un-leading:var(--leading-loose);line-height:var(--leading-loose);}.leading-tight{--un-leading:var(--leading-tight);line-height:var(--leading-tight);}.line-height-0{--un-leading:0;line-height:0;}.line-height-none{--un-leading:var(--leading-none);line-height:var(--leading-none);}.tracking-0\.2{--un-tracking:0.05rem;letter-spacing:0.05rem;}.tracking-0\.25{--un-tracking:0.0625rem;letter-spacing:0.0625rem;}.tracking-wider{--un-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);}.font-600{--un-font-weight:600;font-weight:600;}.font-700{--un-font-weight:700;font-weight:700;}.font-bold{--un-font-weight:var(--fontWeight-bold);font-weight:var(--fontWeight-bold);}.font-inherit{font-family:inherit;}.font-normal{--un-font-weight:var(--fontWeight-normal);font-weight:var(--fontWeight-normal);}.font-semibold{--un-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold);}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4;}.m-0{margin:calc(var(--spacing) * 0);}.m-1,.m1,[m-1=""],[m1=""]{margin:calc(var(--spacing) * 1);}.m\$，下列各命题是等价的\\n{margin:var(--，下列各命题是等价的\\n);}.m\$，则{margin:var(--，则);}.m\$，则称这两个代数同类型\\n\\n\#\#{margin:var(--，则称这两个代数同类型\\n\\n\#\#);}.m\$。\\n2\.{margin:var(--。\\n2\.);}.m\$（科学计数法），其中m是浮点数的尾数\(纯小数、有效数字位数，精度\)，{margin:var(--（科学计数法），其中m是浮点数的尾数\(纯小数、有效数字位数，精度\)，);}.m\$）\\n​\\n\*\*限界函数\*\*：对于当前解\$\(x_0\,{margin:var(--）\\n​\\n\*\*限界函数\*\*：对于当前解\$\(x_0);}.m\$是\$\\{margin:var(--是\$\\);}.m2,[m2=""]{margin:calc(var(--spacing) * 2);}.ma,[ma=""]{margin:auto;}.mx,[mx=""]{margin-inline:calc(var(--spacing) * 4);}.mx-0\.5{margin-inline:calc(var(--spacing) * 0.5);}.mx-2{margin-inline:calc(var(--spacing) * 2);}.mx-2\.5{margin-inline:calc(var(--spacing) * 2.5);}.mx-auto{margin-inline:auto;}.my{margin-block:calc(var(--spacing) * 4);}.my-2,[my-2=""]{margin-block:calc(var(--spacing) * 2);}.mb-\[-0\.6875rem\]{margin-bottom:-0.6875rem;}.mb-0{margin-bottom:calc(var(--spacing) * 0);}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5);}.mb-4{margin-bottom:calc(var(--spacing) * 4);}.me{margin-inline-end:calc(var(--spacing) * 4);}.ml-\[5px\]{margin-left:5px;}.ml-0\.5{margin-left:calc(var(--spacing) * 0.5);}.ml-1{margin-left:calc(var(--spacing) * 1);}.ml-auto{margin-left:auto;}.mr-0,[mr-0=""]{margin-right:calc(var(--spacing) * 0);}.mr-1{margin-right:calc(var(--spacing) * 1);}.mr-2\.5{margin-right:calc(var(--spacing) * 2.5);}.mr-auto{margin-right:auto;}.mt-\[5px\]{margin-top:5px;}.mt-0{margin-top:calc(var(--spacing) * 0);}.mt-0\.75{margin-top:calc(var(--spacing) * 0.75);}.mt-1{margin-top:calc(var(--spacing) * 1);}.mt-2{margin-top:calc(var(--spacing) * 2);}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5);}.mt-4{margin-top:calc(var(--spacing) * 4);}.p-0{padding:calc(var(--spacing) * 0);}.p-0\.5{padding:calc(var(--spacing) * 0.5);}.p-5{padding:calc(var(--spacing) * 5);}.p\[e\.to\]{padding:e.to;}.p\[i\]{padding:i;}.p\[i\+1\]{padding:i+1;}.p\[j\]{padding:j;}.p\[k\]{padding:k;}.p\[MAXN\]{padding:MAXN;}.p\$，\$n{padding:var(--，\$n);}.p\$\\n{padding:var(--\\n);}.p1,[p1=""]{padding:calc(var(--spacing) * 1);}.p2,[p2=""]{padding:calc(var(--spacing) * 2);}.px,.px-4,[px-4=""],[px=""]{padding-inline:calc(var(--spacing) * 4);}.px-\[15px\]{padding-inline:15px;}.px-0{padding-inline:calc(var(--spacing) * 0);}.px-20{padding-inline:calc(var(--spacing) * 20);}.py-2{padding-block:calc(var(--spacing) * 2);}.py-4{padding-block:calc(var(--spacing) * 4);}.pb-\[5px\]{padding-bottom:5px;}.pb-2{padding-bottom:calc(var(--spacing) * 2);}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5);}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5);}.pl-5{padding-left:calc(var(--spacing) * 5);}.pl-8{padding-left:calc(var(--spacing) * 8);}.pr-\[2px\]{padding-right:2px;}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5);}.ps{padding-inline-start:calc(var(--spacing) * 4);}.pt-\[30px\]{padding-top:30px;}.pt-12{padding-top:calc(var(--spacing) * 12);}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5);}.p-is-0{padding-inline-start:calc(var(--spacing) * 0);}.text-align-center,.text-center{text-align:center;}.text-left{text-align:left;}.align-middle,[align-middle=""]{vertical-align:middle;}.align-text-bottom,.vertical-text-bottom,[align-text-bottom=""]{vertical-align:text-bottom;}.list-none{list-style-type:none;}.b,.border,[b=""]{border-width:1px;}.border-b,[border-b=""]{border-bottom-width:1px;}.border-body-bg-shadow{border-color:color-mix(in srgb, var(--body-bg-shadow) var(--un-border-opacity), transparent) /* var(--body-bg-shadow) */;}.border-color{border-color:color-mix(in srgb, var(--text-color) var(--un-border-opacity), transparent) /* var(--text-color) */;}.border-grey-4{border-color:color-mix(in srgb, var(--grey-4) var(--un-border-opacity), transparent) /* var(--grey-4) */;}.rounded-full{border-radius:calc(infinity * 1px);}.before\:rounded-0\.5::before{border-radius:0.125rem;}.rounded-br-2\.5{border-bottom-right-radius:0.625rem;}.rounded-tl-2\.5{border-top-left-radius:0.625rem;}.first\:rounded-tl-2\.5:first-child{border-top-left-radius:0.625rem;}.last\:rounded-br-2\.5:last-child{border-bottom-right-radius:0.625rem;}.border-dashed,[border-dashed=""]{--un-border-style:dashed;border-style:dashed;}.border-none{--un-border-style:none;border-style:none;}.bg-black\/50{background-color:color-mix(in srgb, var(--colors-black) 50%, transparent) /* #000 */;}.bg-body-bg-shadow,[bg-body-bg-shadow=""]{background-color:color-mix(in srgb, var(--body-bg-shadow) var(--un-bg-opacity), transparent) /* var(--body-bg-shadow) */;}.bg-grey-0{background-color:color-mix(in srgb, var(--grey-0) var(--un-bg-opacity), transparent) /* var(--grey-0) */;}.bg-grey-2{background-color:color-mix(in srgb, var(--grey-2) var(--un-bg-opacity), transparent) /* var(--grey-2) */;}.bg-transparent{background-color:transparent;}.before\:bg-current::before{background-color:currentColor;}.opacity-80{opacity:80%;}.hover\:opacity-80:hover{opacity:80%;}[hover\:opacity-80=""]:hover{opacity:80%;}.overline,[overline=""]{text-decoration-line:overline;}.underline{text-decoration-line:underline;}.no-underline{text-decoration:none;}.flex,[flex=""]{display:flex;}.inline-flex{display:inline-flex;}.flex-shrink{flex-shrink:1;}.flex-grow{flex-grow:1;}.flex-col{flex-direction:column;}.flex-wrap{flex-wrap:wrap;}.flex-nowrap{flex-wrap:nowrap;}.gap-1,[gap-1=""]{gap:calc(var(--spacing) * 1);}.gap-2\.5{gap:calc(var(--spacing) * 2.5);}.gap-3{gap:calc(var(--spacing) * 3);}.gap-4,[gap-4=""]{gap:calc(var(--spacing) * 4);}.grid{display:grid;}.h-12\.5{height:calc(var(--spacing) * 12.5);}.h-auto{height:auto;}.h-full,[h-full=""]{height:100%;}.h1,[h-1=""]{height:calc(var(--spacing) * 1);}.h3,[h3=""]{height:calc(var(--spacing) * 3);}.h347,[h347=""]{height:calc(var(--spacing) * 347);}.max-h-\[9\.375rem\]{max-height:9.375rem;}.max-h-6{max-height:calc(var(--spacing) * 6);}.max-h-8{max-height:calc(var(--spacing) * 8);}.max-w-3xl{max-width:var(--container-3xl);}.max-w-40{max-width:calc(var(--spacing) * 40);}.max-w-8,[max-w-8=""]{max-width:calc(var(--spacing) * 8);}.min-h-\[3\.125rem\]{min-height:3.125rem;}.min-h-\[30px\]{min-height:30px;}.min-h-40{min-height:calc(var(--spacing) * 40);}.w-\[calc\(100\%-0\.625rem\)\]{width:calc(100% - 0.625rem);}.w-1\/2{width:50%;}.w-5\.5{width:calc(var(--spacing) * 5.5);}.w-85\%{width:85%;}.w-full,[w-full=""]{width:100%;}.w-max{width:max-content;}.w\[i\]{width:i;}.w\[n\]{width:n;}.w\$是文法\$G\$的一个规范推导，其中\$\\\\alpha\,\\\\beta\\\\in{width:var(--是文法\$G\$的一个规范推导，其中\$\\\\alpha, \\beta\\in);}[h2=""]{height:calc(var(--spacing) * 2);}[h359=""]{height:calc(var(--spacing) * 359);}.hover\:before\:w-60\%:hover::before{width:60%;}.before\:h-0\.75::before{height:calc(var(--spacing) * 0.75);}.before\:w-0::before{width:calc(var(--spacing) * 0);}.inline,[inline=""]{display:inline;}.block,[block=""]{display:block;}.inline-block,[inline-block=""]{display:inline-block;}.contents,[contents=""]{display:contents;}.hidden,[hidden=""]{display:none;}.visible{visibility:visible;}.cursor-pointer{cursor:pointer;}.resize{resize:both;}.select-none{-webkit-user-select:none;user-select:none;}.whitespace-nowrap{white-space:nowrap;}.before\:content-empty::before{content:"";}.break-keep{word-break:keep-all;}.text-ellipsis{text-overflow:ellipsis;}.uppercase{text-transform:uppercase;}.italic,[italic=""]{font-style:italic;}.shadow{--un-shadow:0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / 0.1)),0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}.shadow-\[0_0_1rem_0\.625rem_var\(--body-bg-shadow\)\]{--un-shadow:0 0 1rem 0.625rem var(--un-shadow-color, var(--body-bg-shadow));box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}.hover\:translate-x-1\.5:hover{--un-translate-x:calc(var(--spacing) * 1.5);translate:var(--un-translate-x) var(--un-translate-y);}.before\:transform-translate-x--50\%::before{--un-translate-x:-50%;translate:var(--un-translate-x) var(--un-translate-y);}.scale-80,[scale-80=""]{--un-scale-x:80%;--un-scale-y:80%;scale:var(--un-scale-x) var(--un-scale-y);}.transform{transform:var(--un-rotate-x) var(--un-rotate-y) var(--un-rotate-z) var(--un-skew-x) var(--un-skew-y);}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease, var(--default-transition-timingFunction));transition-duration:var(--un-duration, var(--default-transition-duration));}.transition-300{--un-duration:300ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease, var(--default-transition-timingFunction));transition-duration:var(--un-duration, var(--default-transition-duration));}.transition-all{transition-property:all;transition-timing-function:var(--un-ease, var(--default-transition-timingFunction));transition-duration:var(--un-duration, var(--default-transition-duration));}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to;transition-timing-function:var(--un-ease, var(--default-transition-timingFunction));transition-duration:var(--un-duration, var(--default-transition-duration));}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--un-ease, var(--default-transition-timingFunction));transition-duration:var(--un-duration, var(--default-transition-duration));}.before\:transition-all::before{transition-property:all;transition-timing-function:var(--un-ease, var(--default-transition-timingFunction));transition-duration:var(--un-duration, var(--default-transition-duration));}.duration-200{--un-duration:200ms;transition-duration:200ms;}.duration-300{--un-duration:300ms;transition-duration:300ms;}.before\:transition-duration-400::before{--un-duration:400ms;transition-duration:400ms;}.ease{--un-ease:var(--ease-DEFAULT);transition-timing-function:var(--ease-DEFAULT);}.ease-in{--un-ease:var(--ease-in);transition-timing-function:var(--ease-in);}.ease-out{--un-ease:var(--ease-out);transition-timing-function:var(--ease-out);}.transition-ease-in-out{--un-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out);}.before\:transition-ease-in-out::before{--un-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out);}[content~="\$\$render"]{align-content:var(--\$render);}.\[1\:k\]{1:k;}.\[animation\:fadeIn_0\.3s_ease\]{animation:fadeIn 0.3s ease;}.\[border-bottom\:none\]{border-bottom:none;}.items-center{align-items:center;}.box-unset{box-sizing:unset;}.inset-0{inset:calc(var(--spacing) * 0);}.top-0{top:calc(var(--spacing) * 0);}.before\:bottom-0::before{bottom:calc(var(--spacing) * 0);}.before\:left-50\%::before{left:50%;}.justify-center{justify-content:center;}.justify-around,[justify-around=""]{justify-content:space-around;}.absolute,[absolute=""]{position:absolute;}.fixed{position:fixed;}.relative,[relative=""]{position:relative;}.sticky{position:sticky;}.before\:absolute::before{position:absolute;}.static,[static=""]{position:static;}.z-1,[z-1=""],[z~="\31 "]{z-index:1;}.z-10{z-index:10;}.z-7{z-index:7;}.z-9{z-index:9;}[z~="\$\(T\(s\)\)\^2"]{z-index:var(--\(T\(s\)\)\^2);}[z~="\$\(x\,"]{z-index:var(--\(x);}[z~="\$\\\\Delta"]{z-index:var(--\\\\Delta);}[z~="\$\\\\rho\(s\)"]{z-index:var(--\\\\rho\(s\));}[z~="\$B\$，称此矢量为此法线单位矢量或\*\*副法线\*\*单位矢量：\\n\\n\$\$\\nB\(s\)"]{z-index:var(--B\$，称此矢量为此法线单位矢量或\*\*副法线\*\*单位矢量：\\n\\n\$\$\\nB\(s\));}[z~="\$C_1\(1\)"]{z-index:var(--C_1\(1\));}[z~="\$C_1\(u\)\,"]{z-index:var(--C_1\(u\));}[z~="\$C"]{z-index:var(--C);}[z~="\$C\(u\)\$"]{z-index:var(--C\(u\)\$);}[z~="\$C\^0\$，\$G\^0\$"]{z-index:var(--C\^0\$，\$G\^0\$);}[z~="\$C\^0\$、\$C\^1\$"]{z-index:var(--C\^0\$、\$C\^1\$);}[z~="\$C\^1\$"]{z-index:var(--C\^1\$);}[z~="\$C\=C\(s\)\$，曲线的切矢为单位矢量，记为"]{z-index:var(--C\=C\(s\)\$，曲线的切矢为单位矢量，记为);}[z~="\$G\^1\$"]{z-index:var(--G\^1\$);}[z~="\$k\(s\)\$"]{z-index:var(--k\(s\)\$);}[z~="\$M_0\(x_0\,"]{z-index:var(--M_0\(x_0);}[z~="\$M_0\$"]{z-index:var(--M_0\$);}[z~="\$M\(u\)\$"]{z-index:var(--M\(u\)\$);}[z~="\$M\$"]{z-index:var(--M\$);}[z~="\$MM_1\$；当"]{z-index:var(--MM_1\$；当);}[z~="\$N\(s\)\$"]{z-index:var(--N\(s\)\$);}[z~="\$N\$"]{z-index:var(--N\$);}[z~="\$P\$"]{z-index:var(--P\$);}[z~="\$s\$"]{z-index:var(--s\$);}[z~="\$T\(s\)\$"]{z-index:var(--T\(s\)\$);}[z~="\$T\$：\\n\\n\$\$\\nT\(s\)"]{z-index:var(--T\$：\\n\\n\$\$\\nT\(s\));}[z~="\$T\$"]{z-index:var(--T\$);}[z~="\$u\$"]{z-index:var(--u\$);}[z~="\$v\$"]{z-index:var(--v\$);}[z~="\$x\$"]{z-index:var(--x\$);}[z~="\30 "]{z-index:0;}.overflow-hidden{overflow:hidden;}.object-cover{object-fit:cover;}.backdrop-blur-8{--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);}.blur{--un-blur:blur(8px);filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,);}.backdrop-saturate-180{--un-backdrop-saturate:saturate(180%);-webkit-backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);}.filter{filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,);}.table{display:table;}.table-cell{display:table-cell;}@supports (color: color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--colors-black) 50%, transparent) /* #000 */;}}@media (min-width: 48rem){.md\:h-10vh{height:10vh;}}@media (min-width: 64rem){.lg\:hidden{display:none;}}#brand[data-astro-cid-6bctqxxv] {
  z-index: auto;
  transition: all .3s;
  position: fixed;
  height: 50vh;
  color: var(--grey-0);
}

#brand[data-astro-cid-6bctqxxv].affix {
  z-index: var(--z-base);
}

.pjax[data-astro-cid-6bctqxxv] {
  animation: .6s ease-out slideDownIn;
  min-height: 1px;
}

@keyframes slideDownIn {
  from {
    opacity: 0;
    transform: translateY(-2rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (width <= 768px) {
  #brand[data-astro-cid-6bctqxxv] {
    padding-left: .5rem;
    padding-right: .5rem;
    padding-top: 3rem;
  }

  #brand[data-astro-cid-6bctqxxv] h1[data-astro-cid-6bctqxxv] {
    font-size: 1.875rem;
  }
}

@media (width <= 480px) {
  #brand[data-astro-cid-6bctqxxv] .artboard[data-astro-cid-6bctqxxv] {
    font-size: 2rem;
  }
}
.cover-item[data-astro-cid-3toxu74n] {
  opacity: 0;
  height: 70vh;
  width: 100%;
  left: 0;
  top: 0;
  position: absolute;
  z-index: var(--z-base);
  overflow: hidden;
  animation: 36s linear infinite imageAnimation;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

.cover-item[data-astro-cid-3toxu74n].stop-animation {
  animation-play-state: paused;
}

.cover-image[data-astro-cid-3toxu74n] {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.single-image[data-astro-cid-3toxu74n] {
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  position: absolute;
  object-fit: cover;
}

.cover-item[data-astro-cid-3toxu74n] img {
  transform-origin: center;
}

@keyframes imageAnimation {
  0% {
    opacity: 0;
    animation-timing-function: ease-in;
  }

  2% {
    opacity: 1;
  }

  8% {
    opacity: 1;
    transform: scale(1.05);
    animation-timing-function: ease-out;
  }

  17% {
    opacity: 1;
    transform: scale(1.1);
  }

  25% {
    opacity: 0;
    transform: scale(1.1);
  }

  100% {
    opacity: 0;
  }
}
:root {
  --header-cover-brightness: .95;
}

:root[data-theme="dark"] {
  --header-cover-brightness: 1.05;
}

.spacer[data-astro-cid-5h3odnpn] {
  height: 48vh;
}

@media (width <= 1024px) {
  .spacer[data-astro-cid-5h3odnpn] {
    height: 42vh;
  }
}

.imgs-container[data-astro-cid-5h3odnpn] {
  background-color: var(--header-cover-bg);
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: var(--z-behind);
  height: 70vh;
  min-height: 25rem;
  content-visibility: auto;
  contain-intrinsic-size: 100vw 70vh;
  filter: blur(4px) brightness(var(--header-cover-brightness));
  transition: filter .35s;
}

.imgs-container[data-astro-cid-5h3odnpn].is-hovered {
  filter: blur(0) brightness(var(--header-cover-brightness));
}

.image-list[data-astro-cid-5h3odnpn] {
  height: 100%;
  width: 100%;
  position: relative;
}

.imgs-overlay[data-astro-cid-5h3odnpn] {
  background-color: var(--grey-9-a2);
  height: 100%;
  width: 100%;
  transition: opacity .3s;
  left: 0;
  top: 0;
  position: absolute;
  z-index: var(--z-content);
}
.waves[data-astro-cid-bswlkd2e] {
  height: 15vh;
  content-visibility: auto;
  contain-intrinsic-size: 100vw 15vh;
}

@media (width <= 768px) {
  .waves[data-astro-cid-bswlkd2e] {
    contain-intrinsic-size: 100vw 10vh;
  }
}

.parallax[data-astro-cid-bswlkd2e] > use {
  animation: 25s cubic-bezier(.55, .5, .45, .5) infinite wave;
}

.parallax[data-astro-cid-bswlkd2e].paused > use {
  animation-play-state: paused;
}

.parallax[data-astro-cid-bswlkd2e] > use:first-child {
  animation-delay: -2s;
  animation-duration: 7s;
  fill: var(--grey-1-a7);
}

.parallax[data-astro-cid-bswlkd2e] > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
  fill: var(--grey-1-a5);
}

.parallax[data-astro-cid-bswlkd2e] > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
  fill: var(--grey-1-a3);
}

.parallax[data-astro-cid-bswlkd2e] > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
  fill: var(--grey-1);
}

@keyframes wave {
  0% {
    transform: translate3d(-90px, 0, 0);
  }

  100% {
    transform: translate3d(85px, 0, 0);
  }
}
/* 页面导航过渡 */
@media (prefers-reduced-motion: no-preference) {
  @view-transition {
    navigation: auto;
  }
}

/* ============================================
   主题切换淡入淡出动画
   ============================================ */

/* 淡入淡出过渡动画 */
::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 0.5s;
  animation-timing-function: ease-in-out;
}

::view-transition-old(root) {
  animation-name: theme-fade-out;
}

::view-transition-new(root) {
  animation-name: theme-fade-in;
}

@keyframes theme-fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes theme-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* ============================================
   减少动画偏好支持
   ============================================ */
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none !important;
  }
}
:root {
  --grey-0: oklch(1 0 0);
  --grey-1: oklch(0.995 0 0);
  --grey-2: oklch(0.975 0 0);
  --grey-3: oklch(0.952 0.004 240);
  --grey-4: oklch(0.845 0 0);
  --grey-5: oklch(0.597 0 0);
  --grey-6: oklch(0.522 0 0);
  --grey-7: oklch(0.321 0 0);
  --grey-8: oklch(0.252 0 0);
  --grey-9: oklch(0 0 0);

  --grey-1-a0: oklch(0.995 0 0 / 0);
  --grey-1-a7: oklch(0.995 0 0 / 0.7);
  --grey-1-a5: oklch(0.995 0 0 / 0.5);
  --grey-1-a3: oklch(0.995 0 0 / 0.3);
  --grey-9-a1: oklch(0 0 0 / 0.1);
  --grey-9-a15: oklch(0 0 0 / 0.15);
  --grey-9-a2: oklch(0 0 0 / 0.2);
  --grey-9-a5: oklch(0 0 0 / 0.5);
  --grey-9-a6: oklch(0 0 0 / 0.6);
  --grey-2-a0: oklch(0.975 0 0 / 0);

  --color-pink-light: oklch(0.946 0.06 338.1 / 0.72);
  --color-cyan-light: oklch(0.972 0.038 169.1 / 0.72);

  --color-red: oklch(0.579 0.24 22.2);
  --color-pink: oklch(0.709 0.168 351.2);
  --color-orange: oklch(0.721 0.176 42.4);
  --color-yellow: oklch(0.791 0.182 91.8);
  --color-green: oklch(0.517 0.178 143.2);
  --color-aqua: oklch(0.638 0.1 197.2);
  --color-blue: oklch(0.679 0.142 240.7);
  --color-purple: oklch(0.569 0.121 336.2);
  --color-grey: oklch(0.654 0.02 224.3);

  --color-red-a1: oklch(0.646 0.2 22 / 0.1);
  --color-red-a3: oklch(0.646 0.2 22 / 0.3);
  --color-pink-a3: oklch(0.709 0.168 351.2 / 0.3);
  --color-pink-light-a3: oklch(0.946 0.06 338.1 / 0.3);
  --color-pink-light-a5: oklch(0.946 0.06 338.1 / 0.5);
  --color-pink-light-a7: oklch(0.946 0.06 338.1 / 0.7);

  --body-bg-shadow: var(--grey-2);
  --box-bg-shadow: var(--grey-9-a1);
  --text-color: var(--grey-7);
  --text-color-muted: var(--grey-5);
  --text-color-subtle: var(--grey-4);
  --header-text-color: var(--grey-0);
  --border-color-muted: var(--grey-4);
  --primary-color: var(--color-red);
  --surface-code: var(--grey-3);
  --surface-code-header: var(--grey-2);
  --surface-inline-code: oklch(0.965 0.008 15);
  --surface-inline-code-border: oklch(0.892 0.01 15);
  --surface-inline-code-text: oklch(0.421 0.089 15.6);

  /* Layer tokens */
  --z-behind: -1;
  --z-base: 0;
  --z-content: 1;
  --z-elevated: 2;
  --z-dropdown: 10;
  --z-floating: 40;
  --z-sidebar-overlay: 99;
  --z-sidebar: 100;
  --z-search-overlay: 999;
  --z-fullscreen: 9999;

  /* Breakpoint baseline (for migration reference) */
  --bp-sm: 480px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1440px;
  --bp-touch-max: 1023px;

  --codeblock-shadow: 0.5rem 0.5rem 1rem var(--grey-3);
  --codeblock-dot-red: oklch(0.62 0.2 16.9);
  --codeblock-dot-yellow: oklch(0.74 0.14 73);
  --codeblock-dot-green: oklch(0.66 0.11 138);
  --codeblock-action-color: var(--text-color-muted);
  --codeblock-action-hover-color: var(--text-color);
  --codeblock-collapse-gradient-end: var(--surface-code);
  --codeblock-button-shadow: 0 2px 8px oklch(0 0 0 / 0.15);
  --codeblock-button-shadow-hover: 0 4px 12px oklch(0 0 0 / 0.2);
  --codeblock-overlay-bg: oklch(0 0 0 / 0.85);

  /* 语言圆点颜色环 */
  --lang-ring-0: oklch(0.65 0.2 25);
  --lang-ring-1: oklch(0.7 0.15 60);
  --lang-ring-2: oklch(0.7 0.18 145);
  --lang-ring-3: oklch(0.65 0.2 250);
  --lang-ring-4: oklch(0.6 0.22 295);
  --lang-ring-5: oklch(0.7 0.18 200);
  --lang-ring-6: oklch(0.65 0.2 350);
  --lang-ring-7: oklch(0.7 0.15 160);

  --cover-overlay-start: oklch(0.384 0.012 28.9);
  --cover-overlay-end: var(--grey-9);
  --cover-overlay-gradient: linear-gradient(
    135deg,
    var(--cover-overlay-start),
    var(--cover-overlay-end)
  );
  --header-cover-bg: oklch(0.334 0.01 28.9);

  --loading-cat-line: oklch(0.36 0.012 257);
  --loading-cat-fur-base: oklch(78.524% 0.12388 69.513);
  --loading-cat-fur-light: oklch(89.291% 0.04099 78.046);
  --loading-cat-fur-dark: oklch(0.69 0.1 66);

  --shadow-card-base: 0 2px 8px var(--grey-9-a1);
  --shadow-card-hover: 0 8px 16px var(--grey-9-a15);

  --shadow-card-soft: 0 2px 8px oklch(0 0 0 / 0.08);
  --shadow-card-soft-hover: 0 4px 16px oklch(0 0 0 / 0.12);
  --shadow-float-soft: 0 0.5rem 1rem var(--grey-9-a5);
  --shadow-sidebar-mobile: 0 0.375rem 0.9375rem 0.3125rem var(--grey-9-a2);
  --shadow-dark-elevated: 0 1rem 2rem -1.5rem oklch(0 0 0 / 0.65);

  --search-overlay-bg: oklch(0.183 0.008 243.1 / 0.34);
  --search-panel-shadow: 0 1.5rem 3rem oklch(0.183 0.008 243.1 / 0.16);
  --search-panel-shadow-active: 0 2rem 4rem oklch(0.183 0.008 243.1 / 0.2);
  --search-panel-inset: inset 0 1px 0 oklch(1 0 0 / 0.22);
  --search-panel-inset-active: inset 0 1px 0 oklch(1 0 0 / 0.26);
  --search-input-shadow: 0 0.75rem 1.5rem oklch(0.183 0.008 243.1 / 0.06);
  --search-input-inset: inset 0 1px 0 oklch(1 0 0 / 0.3);
  --search-result-shadow: 0 0.75rem 1.5rem oklch(0.183 0.008 243.1 / 0.05);
  --search-result-shadow-hover: 0 1rem 2rem oklch(0.183 0.008 243.1 / 0.09);
  --search-accent-shadow: 0 0.75rem 1.5rem oklch(0.593 0.209 13.9 / 0.12);
  --search-accent-shadow-soft: 0 1rem 2rem oklch(0.593 0.209 13.9 / 0.08);

  --line-hover-bg: oklch(0 0 0 / 0.06);
  --cb-line-highlight-bg: oklch(0.93 0.131 60 / 0.14);
  --cb-line-highlight-border: oklch(0.845 0.148 46.9 / 0.9);
  --cb-diff-add-bg: oklch(0.676 0.077 120.2 / 0.14);
  --cb-diff-add-border: oklch(0.676 0.077 120.2 / 0.75);
  --cb-diff-remove-bg: oklch(0.643 0.213 18.1 / 0.14);
  --cb-diff-remove-border: oklch(0.643 0.213 18.1 / 0.75);
  --cb-focus-dim-opacity: 0.55;
  --cb-focus-bg: oklch(0.661 0.162 216 / 0.08);
  --cb-focus-border: oklch(0.661 0.162 216 / 0.65);
  --cb-error-bg: oklch(0.643 0.213 18.1 / 0.14);
  --cb-warning-bg: oklch(0.77 0.17 35 / 0.14);
  --cb-error-border: oklch(0.643 0.213 18.1 / 0.85);
  --cb-warning-border: oklch(0.77 0.17 35 / 0.85);
  --cb-highlighted-word-bg: oklch(0.93 0.131 60 / 0.25);

  --nav-bg: linear-gradient(-225deg, var(--color-cyan-light) 0%, var(--color-pink-light) 100%);
}

.primary {
  --note-border: oklch(0.759 0.09 332.2);
  --note-bg: oklch(0.984 0.018 320.3);
  --note-text: oklch(0.568 0.182 317.8);
  --note-hover: oklch(0.597 0.176 316.4);
}

.info {
  --note-border: oklch(0.725 0.108 274.3);
  --note-bg: oklch(0.976 0.018 242.6);
  --note-text: oklch(0.411 0.102 252.2);
  --note-hover: oklch(0.5 0.158 256.1);
}

.success {
  --note-border: oklch(0.793 0.092 130.4);
  --note-bg: oklch(0.993 0.026 115.7);
  --note-text: oklch(0.467 0.128 139.5);
  --note-hover: oklch(0.554 0.158 141.7);
}

.warning {
  --note-border: oklch(0.794 0.048 85.5);
  --note-bg: oklch(0.987 0.035 97.8);
  --note-text: oklch(0.611 0.152 88.6);
  --note-hover: oklch(0.777 0.136 93.6);
}

.danger {
  --note-border: oklch(0.817 0.114 0.7);
  --note-bg: oklch(0.97 0.026 359.8);
  --note-text: oklch(0.57 0.248 20.1);
  --note-hover: oklch(0.653 0.238 18.8);
}

:root[data-theme="dark"] {
  --grey-0: oklch(0.252 0 0);
  --grey-1: oklch(0.283 0.011 264);
  --grey-2: oklch(0.361 0 0);
  --grey-3: oklch(0.426 0 0);
  --grey-4: oklch(0.522 0 0);
  --grey-5: oklch(0.757 0 0);
  --grey-6: oklch(0.845 0 0);
  --grey-7: oklch(0.901 0 0);
  --grey-8: oklch(0.949 0 0);
  --grey-9: oklch(0.975 0 0);

  --grey-1-a7: oklch(0.283 0.011 264 / 0.7);
  --grey-1-a5: oklch(0.283 0.011 264 / 0.5);
  --grey-1-a3: oklch(0.283 0.011 264 / 0.3);
  --grey-1-a0: oklch(0.283 0.011 264 / 0);
  --grey-9-a1: oklch(0.321 0 0 / 0.1);
  --grey-9-a15: oklch(0.321 0 0 / 0.15);
  --grey-9-a2: oklch(0.321 0 0 / 0.2);
  --grey-9-a6: oklch(0.321 0 0 / 0.6);
  --grey-2-a0: oklch(0.361 0 0 / 0);

  --color-pink-light: oklch(0.313 0.011 347.9);
  --color-cyan-light: oklch(0.321 0.006 174.8);

  --color-red: oklch(0.616 0.175 21.6);
  --color-pink: oklch(0.709 0.118 351.2 / 0.8);
  --color-orange: oklch(0.721 0.122 42.4 / 0.8);
  --color-yellow: oklch(0.934 0.04 102);
  --color-green: oklch(0.765 0.088 143.7);
  --color-aqua: oklch(0.848 0.047 197.5);
  --color-blue: oklch(0.864 0.052 240.1);
  --color-purple: oklch(0.786 0.066 330.3);
  --color-grey: oklch(0.885 0 0);

  --body-bg-shadow: oklch(0 0 0);
  --box-bg-shadow: oklch(0 0 0);
  --text-color: var(--grey-5);
  --text-color-muted: var(--grey-6);
  --text-color-subtle: var(--grey-5);
  --header-text-color: var(--grey-9);
  --border-color-muted: var(--grey-4);
  --surface-code: var(--grey-3);
  --surface-code-header: var(--grey-2);
  --surface-inline-code-border: oklch(0.43 0.018 274);

  --codeblock-shadow: none;
  --codeblock-action-color: var(--text-color-muted);
  --codeblock-action-hover-color: var(--text-color);
  --codeblock-collapse-gradient-end: var(--surface-code);
  --codeblock-button-shadow: 0 2px 8px oklch(0 0 0 / 0.2);
  --codeblock-button-shadow-hover: 0 4px 12px oklch(0 0 0 / 0.3);
  --codeblock-overlay-bg: oklch(0 0 0 / 0.85);

  /* 语言圆点颜色环（暗色模式增强亮度） */
  --lang-ring-0: oklch(0.7 0.19 25);
  --lang-ring-1: oklch(0.75 0.16 60);
  --lang-ring-2: oklch(0.75 0.17 145);
  --lang-ring-3: oklch(0.7 0.2 250);
  --lang-ring-4: oklch(0.68 0.22 295);
  --lang-ring-5: oklch(0.75 0.17 200);
  --lang-ring-6: oklch(0.7 0.2 350);
  --lang-ring-7: oklch(0.75 0.16 160);

  --cover-overlay-start: oklch(0.334 0.01 28.9);
  --cover-overlay-end: var(--grey-9);
  --cover-overlay-gradient: linear-gradient(
    135deg,
    var(--cover-overlay-start),
    var(--cover-overlay-end)
  );
  --header-cover-bg: oklch(0.334 0.01 28.9);

  --loading-cat-line: oklch(0.36 0.012 257);
  --loading-cat-fur-base: oklch(78.524% 0.12388 69.513);
  --loading-cat-fur-light: oklch(89.291% 0.04099 78.046);
  --loading-cat-fur-dark: oklch(0.69 0.1 66);

  --shadow-card-base: 0 2px 8px var(--grey-9-a1);
  --shadow-card-hover: 0 8px 16px var(--grey-9-a15);

  --shadow-card-soft: 0 2px 8px oklch(0 0 0 / 0.08);
  --shadow-card-soft-hover: 0 4px 16px oklch(0 0 0 / 0.12);
  --shadow-float-soft: 0 0.5rem 1rem var(--grey-9-a5);
  --shadow-sidebar-mobile: 0 0.375rem 0.9375rem 0.3125rem var(--grey-9-a2);
  --shadow-dark-elevated: 0 1rem 2rem -1.5rem oklch(0 0 0 / 0.65);

  --search-overlay-bg: oklch(0.183 0.008 243.1 / 0.34);
  --search-panel-shadow: 0 1.5rem 3rem oklch(0.183 0.008 243.1 / 0.16);
  --search-panel-shadow-active: 0 2rem 4rem oklch(0.183 0.008 243.1 / 0.2);
  --search-panel-inset: inset 0 1px 0 oklch(1 0 0 / 0.22);
  --search-panel-inset-active: inset 0 1px 0 oklch(1 0 0 / 0.26);
  --search-input-shadow: 0 0.75rem 1.5rem oklch(0.183 0.008 243.1 / 0.06);
  --search-input-inset: inset 0 1px 0 oklch(1 0 0 / 0.3);
  --search-result-shadow: 0 0.75rem 1.5rem oklch(0.183 0.008 243.1 / 0.05);
  --search-result-shadow-hover: 0 1rem 2rem oklch(0.183 0.008 243.1 / 0.09);
  --search-accent-shadow: 0 0.75rem 1.5rem oklch(0.593 0.209 13.9 / 0.12);
  --search-accent-shadow-soft: 0 1rem 2rem oklch(0.593 0.209 13.9 / 0.08);

  --line-hover-bg: oklch(1 0 0 / 0.1);
  --cb-line-highlight-bg: oklch(1 0 0 / 0.06);
  --cb-line-highlight-border: oklch(0.845 0.148 46.9 / 0.35);
  --cb-diff-add-bg: oklch(0.676 0.077 120.2 / 0.16);
  --cb-diff-add-border: oklch(0.676 0.077 120.2 / 0.55);
  --cb-diff-remove-bg: oklch(0.643 0.213 18.1 / 0.16);
  --cb-diff-remove-border: oklch(0.643 0.213 18.1 / 0.55);
  --cb-focus-dim-opacity: 0.5;
  --cb-focus-bg: oklch(0.661 0.162 216 / 0.12);
  --cb-focus-border: oklch(0.661 0.162 216 / 0.55);
  --cb-error-bg: oklch(0.643 0.213 18.1 / 0.18);
  --cb-warning-bg: oklch(0.77 0.17 35 / 0.18);
  --cb-error-border: oklch(0.643 0.213 18.1 / 0.7);
  --cb-warning-border: oklch(0.77 0.17 35 / 0.7);
  --cb-highlighted-word-bg: oklch(0.93 0.131 60 / 0.18);

  --nav-bg: linear-gradient(-225deg, var(--color-cyan-light) 0, var(--color-pink-light) 100%);
}

:root[data-theme="dark"] .primary {
  --note-border: oklch(0.72 0.078 332.2);
  --note-bg: oklch(0.94 0.015 320.3);
  --note-text: oklch(0.54 0.164 317.8);
  --note-hover: oklch(0.57 0.158 316.4);
}

:root[data-theme="dark"] .info {
  --note-border: oklch(0.69 0.094 274.3);
  --note-bg: oklch(0.935 0.015 242.6);
  --note-text: oklch(0.39 0.092 252.2);
  --note-hover: oklch(0.47 0.142 256.1);
}

:root[data-theme="dark"] .success {
  --note-border: oklch(0.755 0.081 130.4);
  --note-bg: oklch(0.95 0.021 115.7);
  --note-text: oklch(0.442 0.115 139.5);
  --note-hover: oklch(0.525 0.142 141.7);
}

:root[data-theme="dark"] .warning {
  --note-border: oklch(0.756 0.042 85.5);
  --note-bg: oklch(0.944 0.029 97.8);
  --note-text: oklch(0.58 0.136 88.6);
  --note-hover: oklch(0.742 0.122 93.6);
}

:root[data-theme="dark"] .danger {
  --note-border: oklch(0.776 0.099 0.7);
  --note-bg: oklch(0.93 0.022 359.8);
  --note-text: oklch(0.54 0.223 20.1);
  --note-hover: oklch(0.62 0.214 18.8);
}

.red {
  color: var(--color-red);
}
.pink {
  color: var(--color-pink);
}
.orange {
  color: var(--color-orange);
}
.yellow {
  color: var(--color-yellow);
}
.green {
  color: var(--color-green);
}
.aqua {
  color: var(--color-aqua);
}
.blue {
  color: var(--color-blue);
}
.purple {
  color: var(--color-purple);
}
.grey {
  color: var(--color-grey);
}
a:before,
a:after {
  transition: all 0.4s ease-in-out;
}

body {
  background: linear-gradient(to top, var(--body-bg-shadow) 0, var(--grey-1) 20%) no-repeat bottom;
  color: var(--text-color);
  -webkit-font-smoothing: antialiased;
  font-size: 1em;
  line-height: 2;
  overflow: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  line-height: 1.5;
  margin: 1.25rem 0 0.9375rem;
}

a,
li,
div {
  -webkit-tap-highlight-color: transparent;
}

li {
  list-style: none;
}

iframe,
img,
video {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}

hr {
  background-image: repeating-linear-gradient(
    -45deg,
    var(--grey-3),
    var(--grey-4) 0.25rem,
    transparent 0.25rem,
    transparent 0.5rem
  );
  border: none;
  height: 0.125rem;
  margin: 1.5rem 0;
}
blockquote {
  border-left: 0.25rem solid var(--grey-4);
  color: var(--grey-6);
  margin: 1.25rem 0;
  padding: 0.625rem 1.25rem;
}

blockquote cite::before {
  content: "-";
  padding: 0 0.3125rem;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0;
  padding: 0;
}

input,
textarea {
  color: var(--text-color);
}

::selection {
  background: var(--color-orange);
  color: var(--grey-2);
}

/* Layout Structure */
#container {
  min-height: 100%;
  min-width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
}

.inner {
  margin: 0 auto;
  width: 100%;
}

main {
  background: linear-gradient(to top, var(--body-bg-shadow) 0, var(--grey-1) 20%) no-repeat bottom;
  position: relative;
  z-index: var(--z-content);
}

#main {
  background: linear-gradient(to top, var(--grey-0) 0, var(--grey-1) 20%) no-repeat top;
  box-shadow: 0 1.25rem 1rem 0.3125rem var(--body-bg-shadow);
  min-width: 0;
  width: 100%;
  min-height: 37.5rem;
}

#main .wrap {
  position: relative;
  padding: 1.25rem;
}

#main .wrap:nth-child(1) {
  margin-bottom: 1.25rem;
}

@media (max-width: 1023px) {
  #main {
    width: 100%;
  }

  #main .wrap {
    padding: 0.625rem;
  }
}

@media (max-width: 480px) {
  #main .wrap {
    padding: 0.5rem;
  }
}

.dimmer {
  display: none;
}

.body.md {
  text-autospace: normal;
}
/* ============================================================
   navbar 组件族全局样式（自 svelte scoped <style> 迁移）
   ============================================================ */

/* NavBar */
#nav {
  transition: transform 0.4s ease;
}

.nav-bg {
  background-image: var(--nav-bg);
  box-shadow: 0.1rem 0.1rem 0.2rem var(--grey-9-a1);
  text-shadow: 0 0 0.0625rem var(--grey-9-a1);
  color: var(--text-color);
}

.nav-top {
  color: var(--header-text-color);
  background-image: linear-gradient(
    180deg,
    color-mix(in oklch, var(--grey-9) 45%, transparent) 0%,
    var(--grey-9-a2) 45%,
    var(--grey-1-a0) 100%
  );
  text-shadow: 0 0.125rem 0.25rem var(--grey-9-a5);
}

.nav-action {
  padding: 0.625rem 0.5rem 0.625rem;
  cursor: pointer;
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* MenuBar */
.menu-title {
  display: block;
}

.desktop-only {
  display: none;
}

@media (min-width: 1024px) {
  .menu-title {
    display: inline-block;
  }

  .desktop-only {
    display: inline-block;
  }
}

/* LeftNavBtn 汉堡动画 */
.line-1 {
  top: 0.3125rem;
  transform: rotate(-45deg);
}

.line-2 {
  opacity: 0;
}

.line-3 {
  top: -0.3125rem;
  transform: rotate(45deg);
  margin-top: 0.1875rem;
}

.line-menu {
  background-color: var(--header-text-color);
  vertical-align: top;
  border-radius: 0.0625rem;
  width: 100%;
  height: 0.125rem;
  transition: all 0.4s;
  display: inline-block;
  position: relative;
  left: 0;
  box-shadow: var(--shadow-float-soft);
}

@media (min-width: 1024px) {
  .left-nav-btn {
    /* !important：`.flex` 等 uno 工具类会在多个样式 chunk 重复出现，后加载者会覆盖
       媒体查询里的 display:none（特异性同为单类）→ 宽屏汉堡不隐藏。显式提权。 */
    display: none !important;
  }
}

/* DropBox */
.dropbox-root-btn {
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}

/* 原 svelte fly transition 的等效 CSS 动画 */
.nav-dropbox {
  animation: nav-dropbox-in 0.3s ease;
}

@keyframes nav-dropbox-in {
  from {
    opacity: 0;
    transform: translateY(-12px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

/* DropBoxItem */
.box-shadow {
  box-shadow: 0 0.3125rem 1.25rem -0.25rem var(--grey-9-a1);
}

.dropbox-menu {
  color: var(--text-color);
  background-color: var(--grey-1);
}

.dropbox-menu a {
  color: inherit;
}

.color-btn:hover {
  z-index: var(--z-base);
  color: var(--grey-0);
  background-image: linear-gradient(to right, var(--color-pink) 0, var(--color-orange) 100%);
  box-shadow: 0 0 0.75rem var(--color-pink-a3);
}
/* ============================================================
   sidebar 组件族全局样式（自 svelte scoped <style> 迁移）
   ============================================================ */

/* ===== Sidebar 主体 ===== */
#sidebar {
  position: static;
  overflow: visible;
  width: 100%;
  top: 0;
  bottom: 0;
  scrollbar-width: none;
}

#sidebar::-webkit-scrollbar,
.panels > .inner::-webkit-scrollbar {
  display: none;
}

/* Tablet/Mobile */
@media (max-width: 1023px) {
  #sidebar {
    display: none;
    position: fixed;
    right: 0;
    background: var(--grey-1);
    box-shadow: var(--shadow-sidebar-mobile);
    z-index: var(--z-sidebar);
    width: 280px;
    height: 100%;
  }
}

/* 注意：.on 必须放在 media 外——astro 构建管线（疑似 @playform/inline 后处理）会
   丢弃 media 块内与同选择器其它规则合并时重复出现的 display 声明（实测 #sidebar.on
   的 display:block 在产物中消失 → 移动端只出遮罩不出菜单）。
   放顶层后：移动端由 base #sidebar{display:none} + .on{display:block} 控制，
   宽屏 #sidebar 本就是 static 显示，不受影响。 */
#sidebar.on {
  display: block;
}

/* 移动端抽屉遮罩（SidebarOverlay）：宽屏必隐藏——uno 的 lg:hidden 可能被
   后加载的工具类（.fixed 等）覆盖，显式提权（与 navbar 汉堡同策略） */
@media (min-width: 1024px) {
  button[aria-label="Close sidebar"] {
    display: none !important;
  }
}

[data-theme="dark"] #sidebar {
  background-color: var(--grey-1);
}

#sidebar > .inner {
  margin-top: 3.5rem;
  position: relative;
  width: 15rem;
  color: var(--grey-6);
  text-align: center;
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  flex-wrap: wrap;
  z-index: var(--z-content);
}

#sidebar.affix > .inner {
  position: fixed;
  width: 15rem;
  top: 0;
}

#sidebar.affix .panels {
  height: 100vh;
}

.panels {
  padding: 4.6875rem 0 2rem;
  width: 100%;
  overflow: hidden;
  min-height: 100vh;
}

.panels > .inner {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: auto;
  height: 100%;
}

@media (max-width: 1023px) {
  #sidebar > .inner {
    width: 100%;
  }

  .panels > .inner {
    margin-top: 0;
  }
}

.dimmer {
  display: none;
}

@media (max-width: 1023px) {
  .dimmer {
    background: black;
    height: 100%;
    left: 100%;
    opacity: 0;
    top: 0;
    width: 100%;
    z-index: var(--z-sidebar-overlay);
    transition: opacity 1s;
  }

  .dimmer.active {
    position: fixed;
    display: block;
    opacity: 0.3;
    transform: translateX(-100%);
  }
}

/* iPad landscape mode */
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape),
  screen and (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2),
  screen and (min-width: 768px) and (max-width: 1440px) and (-webkit-min-device-pixel-ratio: 1) {
  #sidebar {
    overflow: visible;
  }
}

/* ===== SidebarAuthor ===== */
.author .image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 50%;
}

.author:hover .image {
  animation: sidebar-shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@keyframes sidebar-shake {
  0% {
    transform: scale(1);
  }

  10%,
  20% {
    transform: scale(0.9) rotate(3deg);
  }

  30%,
  50%,
  70%,
  90% {
    transform: scale(1.1) rotate(-3deg);
  }

  40%,
  60%,
  80% {
    transform: scale(1.1) rotate(3deg);
  }

  100% {
    transform: scale(1);
  }
}

/* ===== SidebarOverlay 背景淡入 ===== */
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* ===== SidebarPanel ===== */
.panels .panel {
  display: none;
  padding: 0.875rem 0.9375rem 2rem;
  animation: sidebar-slide-in 0.3s ease-in-out;
  content-visibility: auto;
}

.panels .panel.active {
  display: block;
}

@keyframes sidebar-slide-in {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ===== SidebarState ===== */
.state .item:not(:first-child) {
  border-left: 0.0625rem solid var(--grey-4);
}

/* ===== SidebarMenu ===== */
.menu .item {
  border-radius: 0.9375rem;
  margin-bottom: 0.625rem;
  display: block;
  color: var(--grey-5);
  transition: all 0.2s ease-in-out;
  list-style: none;
}

.menu .item a {
  color: inherit;
  display: block;
  line-height: 3;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

.menu .item .submenu {
  display: none;
  padding: 0;
  list-style: none;
  animation: sidebar-slide-down 0.3s ease-in-out;
}

@keyframes sidebar-slide-down {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.menu .item:hover {
  background-color: var(--grey-9-a1);
  color: inherit;
}

.menu .item:hover .submenu {
  display: block;
}

.menu .item.active {
  background: linear-gradient(to right, var(--color-pink), var(--color-orange));
  color: var(--grey-0);
  box-shadow: 0 0.25rem 0.625rem var(--color-pink-a3);
}

.menu .item.active:hover {
  box-shadow: 0 0 0.75rem var(--color-pink);
  color: var(--grey-0);
}

/* ===== SidebarTabs ===== */
.tab li {
  display: inline-flex;
}

.tab .item {
  cursor: pointer;
  display: inline-flex;
  font-size: 0.8125rem;
  padding: 0.3125rem 0.9375rem;
  color: var(--grey-5);
  border-radius: 0.625rem;
  text-align: center;
  text-decoration: none;
  background-color: color-mix(in oklch, var(--grey-9) 8%, transparent);
  transition: all 0.2s ease-out;
  border: none;
  flex-wrap: wrap;
  align-items: center;
}

.tab .item:hover,
.tab .item.active {
  background: linear-gradient(to right, var(--color-pink), var(--color-orange));
  color: var(--grey-0);
  box-shadow: 0 0.25rem 0.625rem var(--color-pink-a3);
}

.tab .item.active:hover {
  box-shadow: 0 0 0.75rem var(--color-pink);
}

/* ===== SidebarQuick ===== */
#quick {
  display: none;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  margin: 0;
  padding: 0;
  position: sticky;
  bottom: 0.125rem;
  list-style: none;
  background: transparent;
}

#quick.visible {
  display: flex;
}

#quick li {
  width: 25%;
  min-height: 1.875rem;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

#quick li i {
  cursor: pointer;
  font-size: 1.25rem;
}

#quick li a,
#quick li button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem 0;
}

#quick li:hover {
  color: var(--primary-color);
}

#quick li.percent {
  display: block;
  background: var(--primary-color);
  width: 0;
  min-height: 0.125rem;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: width 0.1s ease;
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape),
  screen and (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2),
  screen and (min-width: 768px) and (max-width: 1440px) and (-webkit-min-device-pixel-ratio: 1) {
  #quick {
    bottom: 0;
    left: 0;
    right: 0;
  }
}

/* ===== SidebarRelated ===== */
.related ul li a:hover {
  color: var(--primary-color);
}

.related ul li.active a {
  color: var(--primary-color);
}

.related ul li::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  background: var(--primary-color);
  box-sizing: unset;
  left: -1.25rem;
  top: 0.3125rem;
  border-radius: 100%;
  position: absolute;
  border: 0.1875rem solid var(--grey-1);
  z-index: var(--z-content);
  transition: all 0.2s ease;
}

.related ul li:hover::before {
  background: var(--color-blue);
}

.related ul li:not(:last-child)::after {
  content: "";
  height: 100%;
  width: 0.125rem;
  background: var(--color-red-a3);
  position: absolute;
  left: -0.875rem;
  top: 0.5rem;
}

/* ===== SidebarSocial ===== */
.social {
  margin-top: 0.9375rem;
  text-align: center;
}

.social .item {
  display: inline-flex;
  width: 1.875rem;
  height: 1.875rem;
  line-height: 1.875rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  border-radius: 38%;
  text-decoration: none;
  flex-wrap: wrap;
  align-items: center;
}

.social .item div {
  font-size: 1.4em;
  vertical-align: middle;
  transform: scale(0.8);
  transition: all 0.35s cubic-bezier(0.31, -0.105, 0.43, 1.59);
  color: var(--social-color, var(--grey-5));
}

.social .item::before {
  top: 90%;
  left: -110%;
  content: "";
  width: 120%;
  height: 120%;
  position: absolute;
  transform: rotate(45deg);
  background-color: var(--social-color, var(--color-pink));
  transition: all 0.35s cubic-bezier(0.31, -0.105, 0.43, 1.59);
}

.social .item:focus::before,
.social .item:hover::before {
  top: -10%;
  left: -10%;
}

.social .item:focus div,
.social .item:hover div {
  color: var(--grey-0);
  transform: scale(1);
}

/* ===== SidebarContents ===== */
.contents ol {
  padding: 0 0.125rem 0.3125rem 0.625rem;
  text-align: left;
  list-style: none;
  margin: 0;
}

.contents .toc-item {
  font-size: 0.875rem;
  line-height: 1.8;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contents .toc-child {
  display: none;
}

.contents .active > .toc-child,
.contents .current > .toc-child {
  display: block;
}

.contents .current > .toc-child > .toc-item {
  display: block;
}

.contents .active > a,
.contents .current > a,
.contents .current > a:hover,
.contents .toc-link:hover {
  color: var(--primary-color);
}

.contents .toc-link {
  color: inherit;
  text-decoration: none;
  display: block;
  transition: color 0.2s ease;
}

.no-toc {
  color: var(--grey-5);
  text-align: center;
  font-size: 0.875rem;
}
/* ============================================================
   footer Widgets / WalineComments 全局样式（自 svelte scoped 迁移）
   ============================================================ */

.widgets {
  --un-bg-opacity: 1;
  --widget-heading-color: color-mix(in oklch, var(--text-color) 80%, var(--grey-0));
  --widget-body-color: color-mix(in oklch, var(--text-color) 72%, var(--grey-0));
  --widget-meta-color: color-mix(in oklch, var(--text-color) 60%, var(--grey-0));
}

.widgets > div {
  min-width: 0;
}

.widgets h2 {
  margin-top: 0;
  color: var(--widget-heading-color);
  font-weight: 500;
}

.post-list {
  counter-reset: post-counter;
}

.post-list .item {
  margin: 0;
  color: var(--widget-body-color);
}

.post-list .item::before {
  counter-increment: post-counter;
  content: counter(post-counter);
  position: absolute;
  left: 0;
  font-size: 1.5em;
  color: var(--widget-meta-color);
  line-height: 1.2;
  text-align: right;
  width: 1em;
  font-weight: bold;
}

.post-list .item a {
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.post-list .item span {
  display: block;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.widget-title {
  max-height: 1.5rem;
  color: var(--widget-heading-color);
  font-weight: 500;
}

.post-list .item span:not(.widget-title) {
  max-height: 2rem;
  color: var(--widget-body-color);
}

.post-list .item.text-grey-5 {
  color: var(--widget-meta-color);
}

@media (max-width: 768px) {
  .widgets {
    flex-direction: column-reverse;
    gap: 0;
  }

  .widgets > div {
    width: 100%;
    padding: 0.5rem;
    border-bottom: 1px dashed var(--grey-3);
  }

  .widgets > div:last-child {
    border-bottom: none;
  }
}

/* WalineComments */
.waline-disabled {
  border: 1px dashed var(--grey-4);
  color: var(--grey-5);
  border-radius: 0.5rem;
  padding: 1rem;
  text-align: center;
  font-size: 0.875rem;
}
/* ============================================================
   categoryCard 全局样式（自 svelte scoped 迁移）
   私有类统一加 .cards 前缀限定，避免与全局 .item 等通用类碰撞
   ============================================================ */

.cards {
  display: flex;
  margin: 0 auto;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
}

.cards .item.show {
  display: block !important;
  animation: category-slide-up-big-in 0.5s;
  opacity: 1;
  will-change: auto;
}

.cards .item {
  position: relative;
  color: inherit;
  width: calc(50% - 2rem);
  min-width: calc(50% - 2rem);
  height: 14rem;
  margin: 1rem;
  opacity: 0;
  perspective: 62.5rem;
  /* 防止动画导致CLS - 预留空间 */
  will-change: opacity, transform;
  contain-intrinsic-height: 14rem;
}

@keyframes category-slide-up-big-in {
  0% {
    opacity: 0;
    transform: translateY(80px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.cards .cover,
.cards .info {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  height: 100%;
  width: 100%;
  backface-visibility: hidden;
  transform-style: preserve-3d;
  transition: ease-in-out 600ms;
  top: 0;
}

.cards .cover {
  background-position: center;
  background-size: cover;
  background-image: linear-gradient(to bottom right, var(--color-pink), var(--color-orange));
  padding: 0.5rem 1rem;
  font-size: 1.125rem;
  color: var(--header-text-color, var(--grey-0));
  overflow: hidden;
  transform: rotateY(0deg);
  position: relative;
}

.cards .cover::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: var(--cover-overlay-gradient);
  opacity: 0.25;
  z-index: var(--z-base);
}

.cards .cover .title {
  margin: 0;
  white-space: normal;
  text-align: center;
  position: relative;
  z-index: var(--z-content);
}

.cards .cover span {
  font-size: 0.75rem;
  position: absolute;
  right: 0.9375rem;
  top: 0.625rem;
  padding: 0 0.3125rem;
  border-radius: 0.3125rem;
  box-shadow: 0 0 0.3125rem 0.0625rem var(--grey-9-a6);
  background: var(--grey-9-a5);
  z-index: var(--z-content);
}

.cards .info {
  background-color: var(--grey-0);
  transform: rotateY(-180deg);
  padding: 1rem 1.5rem 4rem;
  justify-content: space-between;
}

.cards .item:nth-child(even) .info {
  transform: rotateY(180deg);
}

.cards .item.active .cover {
  transform: rotateY(180deg);
}

.cards .item.active .info {
  transform: rotateY(0deg);
  box-shadow: 0 0 2rem var(--box-bg-shadow);
}

.cards .item:nth-child(even).active .cover {
  transform: rotateY(-180deg);
}

.cards .ribbon {
  display: inline-block;
  align-self: flex-start;
  position: relative;
  left: -2.5rem;
  margin-bottom: 0.8rem;
  max-width: calc(100% + 2rem);
  padding: 0 1rem 0 2rem;
  border-radius: 0 0.3rem 0.3rem 0;
  background-image: linear-gradient(to right, var(--color-orange) 0, var(--color-pink) 100%);
  color: var(--grey-0);
}

.cards .ribbon::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 0;
  height: 0;
  background-color: transparent;
  border-style: solid;
  border-width: 0 1rem 1rem 0;
  border-color: transparent;
  border-right-color: var(--color-orange);
  filter: brightness(0.9);
}

.cards .ribbon a {
  display: block;
  margin: 0;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: inherit;
  text-decoration: none;
}

.cards .ribbon a:hover {
  color: currentColor;
  animation: category-shake 1s;
}

@keyframes category-shake {
  from,
  to {
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    transform: translate3d(10px, 0, 0);
  }
}

.cards .inner {
  flex: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.cards ul.posts {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: baseline;
  min-height: 5rem;
  overflow: hidden;
  list-style: none;
  padding: 0;
  margin: 0;
}

.cards ul.posts li {
  width: 45%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--primary-color);
  margin-bottom: 0.5rem;
}

.cards ul.posts a {
  color: inherit;
  text-decoration: none;
}

.cards ul.posts a:hover {
  text-decoration: underline;
}

.cards .meta.footer {
  font-size: 0.875rem;
  color: var(--grey-5);
  display: flex;
  gap: 0.5rem;
  position: absolute;
  bottom: 0.5rem;
  max-width: calc(100% - 7rem);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cards .meta.footer i {
  margin-right: 0.0625rem;
}

.cards .meta.footer a {
  color: inherit;
  text-decoration: none;
}

.cards .meta.footer a:hover {
  color: var(--primary-color);
}

.cards .btn {
  position: absolute;
  bottom: 0;
  right: 0;
  transform-style: preserve-3d;
  transform: translateZ(2rem);
  backface-visibility: hidden;
  padding: 0.3rem 1rem;
  border-radius: 1rem 0;
  color: var(--grey-0);
  background-image: linear-gradient(to right, var(--color-pink) 0, var(--color-orange) 100%);
  text-decoration: none;
  transition: transform 0.3s ease;
}

.cards .btn::before {
  position: absolute;
  display: block;
  content: "";
  height: calc(100% - 1rem);
  width: calc(100% - 1rem);
  transform-style: preserve-3d;
  transform: translateZ(-2rem);
  backface-visibility: hidden;
  border-radius: 5rem;
  left: 0.5rem;
  top: 0.8rem;
  box-shadow: 0 0 0.6rem 0.6rem var(--color-pink-a3);
  background-color: var(--color-pink-a3);
  transition: transform 0.3s ease;
}

.cards .btn:hover {
  transform: translateZ(2.5rem);
}

.cards .btn:hover::before {
  transform: translateZ(-2.5rem);
}

@media (max-width: 768px) {
  .cards .item {
    width: calc(100% - 1rem) !important;
    min-width: calc(100% - 1rem) !important;
    margin: 1rem 0.5rem !important;
  }

  .cards .ribbon {
    left: -2rem;
  }

  .cards .info {
    padding: 1rem 1rem 4rem;
  }
}
/* ============================================================
   FloatingToolbar 全局样式（自 svelte scoped 迁移）
   ============================================================ */

.floating-toolbar {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: var(--z-floating);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.5rem 0.4rem;
  margin: 0;
  list-style: none;
  border-radius: 0.75rem;
  background: var(--grey-1-a7);
  color: var(--text-color);
  border: 1px solid var(--grey-3);
  box-shadow: 0 0.5rem 1.25rem var(--box-bg-shadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition:
    transform 0.2s ease,
    opacity 0.2s ease;
}

.floating-toolbar.is-hidden {
  transform: translateY(0.5rem);
  opacity: 0;
  pointer-events: none;
}

.floating-toolbar .tool {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.25rem;
}

.floating-toolbar .tool button {
  width: 2.125rem;
  height: 2.125rem;
  border-radius: 0.625rem;
  border: none;
  background: var(--grey-2-a0);
  color: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.floating-toolbar .tool button i {
  font-size: 1.1rem;
}

.floating-toolbar .tool button:hover,
.floating-toolbar .tool button:focus-visible {
  color: var(--primary-color);
  background: var(--color-pink-light);
  box-shadow: 0 0.5rem 1rem var(--color-pink-light-a3);
}

.floating-toolbar .tool button.active {
  color: var(--primary-color);
  background: var(--color-pink-light);
}

.floating-toolbar .percent {
  font-size: 0.6875rem;
  line-height: 1;
  color: var(--grey-5);
}

.floating-toolbar .mobile-only {
  display: none;
}

@media (max-width: 1023px) {
  .floating-toolbar .mobile-only {
    display: flex;
  }
}
/* ============================================================
   AboutDialog 全局样式（自 svelte scoped 迁移，私有类统一前缀化）
   ============================================================ */
.about-dialog {
  --dialog-accent: var(--primary-color);

  margin: 2rem 0;
  border: 1px solid var(--grey-3);
  border-radius: 0.9rem;
  overflow: hidden;
  background: linear-gradient(180deg, var(--grey-1), var(--grey-0));
  box-shadow: 0 0.75rem 1.5rem var(--box-bg-shadow);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.about-dialog:hover {
  transform: translateY(-2px);
  border-color: var(--border-color-muted);
  box-shadow: 0 1rem 2rem var(--grey-9-a15);
}

.about-dialog .dialog-header {
  position: relative;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid var(--grey-3);
  background: linear-gradient(120deg, var(--grey-1), var(--color-pink-light-a3), var(--grey-1));
  background-size: 220% 220%;
  animation: dialog-header-flow 10s ease infinite;
}

.about-dialog .dialog-header h3 {
  margin: 0;
  font-size: 1rem;
  color: var(--grey-7);
}

.about-dialog .dialog-header p {
  margin: 0.35rem 0 0;
  color: var(--grey-6);
  font-size: 0.875rem;
  line-height: 1.6;
}

.about-dialog .dialog-body {
  padding: 0.9rem;
  max-height: 22rem;
  overflow-y: auto;
  background: linear-gradient(180deg, var(--grey-0), var(--grey-1));
  scroll-behavior: smooth;
}

.about-dialog .dialog-empty,
.about-dialog .dialog-end {
  margin: 0;
  color: var(--grey-5);
  font-size: 0.875rem;
  line-height: 1.6;
  animation: dialog-fade-in 0.28s ease;
}

.about-dialog .message-row {
  display: flex;
  align-items: flex-end;
  margin-bottom: 0.65rem;
  animation: message-in-left 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.about-dialog .message-row:last-child {
  margin-bottom: 0;
}

.about-dialog .message-row.is-user {
  justify-content: flex-end;
  animation-name: message-in-right;
}

.about-dialog .message-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: min(34rem, 80%);
}

.about-dialog .message-content.is-user {
  align-items: flex-end;
}

.about-dialog .author-avatar {
  width: 2.2rem;
  height: 2.2rem;
  margin-top: 0.05rem;
  margin-right: 0.55rem;
  align-self: flex-start;
  border-radius: 9999px;
  border: 1px solid var(--grey-3);
  background: var(--grey-1);
  overflow: hidden;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  box-shadow: 0 0.25rem 0.6rem var(--grey-9-a1);
}

.about-dialog .author-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.about-dialog .author-avatar span {
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--grey-6);
}

.about-dialog .author-name {
  margin: 0 0 0.25rem;
  color: var(--grey-5);
  font-size: 0.75rem;
  line-height: 1.1;
}

.about-dialog .message-bubble {
  box-sizing: border-box;
  max-width: 100%;
  padding: 0.55rem 0.75rem;
  border-radius: 0.8rem;
  line-height: 1.65;
  color: var(--grey-7);
  background: var(--grey-1);
  border: 1px solid var(--grey-3);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 0.92rem;
  box-shadow: 0 0.35rem 0.9rem var(--grey-9-a1);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.about-dialog .message-row:hover .message-bubble {
  transform: translateY(-1px);
  box-shadow: 0 0.55rem 1.1rem var(--grey-9-a15);
}

.about-dialog .message-bubble.is-user {
  background: var(--color-blue);
  border-color: var(--color-blue);
  color: var(--grey-0);
}

.about-dialog .typing-bubble {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  width: fit-content;
  min-width: 2.9rem;
  padding-inline: 0.7rem;
}

.about-dialog .typing-dot {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 9999px;
  background: var(--grey-5);
  animation: typing-dot-bounce 1s ease-in-out infinite;
}

.about-dialog .typing-dot:nth-child(2) {
  animation-delay: 0.12s;
}

.about-dialog .typing-dot:nth-child(3) {
  animation-delay: 0.24s;
}

.about-dialog .fake-input {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  padding: 0.55rem 0.72rem;
  border: 1px solid var(--grey-3);
  border-radius: 0.75rem;
  background: var(--grey-0);
  color: var(--grey-5);
  box-shadow: inset 0 1px 0 var(--grey-1);
  animation: dialog-fade-in 0.24s ease;
}

.about-dialog .fake-input.is-typing {
  border-color: var(--dialog-accent);
  box-shadow:
    inset 0 1px 0 var(--grey-1),
    0 0 0 1px var(--color-red-a1);
}

.about-dialog .fake-input-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.86rem;
  line-height: 1.4;
}

.about-dialog .fake-input-action {
  flex-shrink: 0;
  font-size: 0.76rem;
  color: var(--dialog-accent);
  border: 1px solid var(--grey-3);
  border-radius: 9999px;
  background: var(--grey-1);
  padding: 0.2rem 0.5rem;
}

.about-dialog .dialog-footer {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 1.25rem 1rem 1rem;
  border-top: 1px solid var(--grey-3);
  background: var(--grey-1);
}

.about-dialog .options-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  animation: dialog-fade-in 0.24s ease;
}

.about-dialog .option-button,
.about-dialog .restart-button {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--grey-3);
  border-radius: 9999px;
  background: var(--grey-0);
  color: var(--grey-7);
  font-size: 0.85rem;
  line-height: 1.2;
  padding: 0.45rem 0.8rem;
  cursor: pointer;
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease;
}

.about-dialog .option-button::after,
.about-dialog .restart-button::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, var(--grey-1-a0), var(--color-red-a1), var(--grey-1-a0));
  opacity: 0;
  transform: translateX(-120%);
  transition:
    transform 0.35s ease,
    opacity 0.2s ease;
}

.about-dialog .option-button:not(:disabled):hover,
.about-dialog .restart-button:not(:disabled):hover {
  border-color: var(--dialog-accent);
  color: var(--dialog-accent);
  transform: translateY(-1px);
  box-shadow: 0 0.4rem 0.9rem var(--grey-9-a1);
}

.about-dialog .option-button:not(:disabled):hover::after,
.about-dialog .restart-button:not(:disabled):hover::after {
  opacity: 1;
  transform: translateX(120%);
}

.about-dialog .option-button:not(:disabled):active,
.about-dialog .restart-button:not(:disabled):active {
  transform: translateY(0) scale(0.98);
}

.about-dialog .option-button:disabled,
.about-dialog .restart-button:disabled {
  cursor: not-allowed;
  opacity: 0.62;
  color: var(--grey-5);
  border-color: var(--grey-3);
  transform: none;
  box-shadow: none;
}

.about-dialog .option-button:disabled::after,
.about-dialog .restart-button:disabled::after {
  opacity: 0;
}

.about-dialog .option-button:focus-visible,
.about-dialog .restart-button:focus-visible {
  outline: 2px solid var(--dialog-accent);
  outline-offset: 2px;
}

.about-dialog .restart-button {
  align-self: flex-end;
  border-color: var(--dialog-accent);
  animation: dialog-fade-in 0.3s ease;
}

@keyframes dialog-header-flow {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

@keyframes dialog-fade-in {
  from {
    opacity: 0;
    transform: translateY(0.25rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes message-in-left {
  from {
    opacity: 0;
    transform: translateX(-0.8rem);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes message-in-right {
  from {
    opacity: 0;
    transform: translateX(0.8rem);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes typing-dot-bounce {
  0%,
  80%,
  100% {
    transform: translateY(0);
    opacity: 0.45;
  }

  40% {
    transform: translateY(-0.22rem);
    opacity: 1;
  }
}

@media (max-width: 768px) {
  .message-content {
    max-width: 80%;
  }

  .dialog-body {
    max-height: 18rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-dialog,
  .message-row,
  .dialog-header,
  .dialog-empty,
  .dialog-end,
  .fake-input,
  .options-grid,
  .option-button,
  .restart-button,
  .typing-dot {
    animation: none;
    transition: none;
  }
}
/* ============================================================
   SearchPage 全局样式（自 svelte scoped 迁移，:global 展开）
   ============================================================ */
.search-shell {
  position: fixed;
  inset: 0;
  z-index: var(--z-search-overlay);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 4.5rem 1rem 1rem;
  pointer-events: none;
}

.search-shell[hidden] {
  display: none !important;
}

.search-shell-visible {
  pointer-events: auto;
}

.search-overlay {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  cursor: pointer;
  background:
    radial-gradient(circle at top, var(--grey-1-a3), transparent 55%), var(--search-overlay-bg);
  backdrop-filter: blur(14px) saturate(140%);
  /* 透明度直接作用于 overlay 自身，使 backdrop-filter 能随 opacity 平滑插值，
     避免父级 group opacity 导致模糊效果在动画末尾才突现的滞后感 */
  opacity: 0;
  transition: opacity 0.3s ease;
}

.search-shell-visible .search-overlay {
  opacity: 1;
}

.pagefind-panel {
  position: relative;
  z-index: var(--z-content);
  display: flex;
  min-height: min(32rem, calc(100vh - 6rem));
  max-height: calc(100vh - 6rem);
  width: min(100%, 72rem);
  flex-direction: column;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--grey-4) 20%, transparent);
  border-radius: 1.25rem;
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--grey-1) 94%, var(--color-cyan-light) 6%),
    color-mix(in srgb, var(--grey-2) 92%, var(--color-pink-light) 8%)
  );
  box-shadow: var(--search-panel-shadow), var(--search-panel-inset);
  backdrop-filter: blur(20px) saturate(180%);
  opacity: 0;
  transform: translateY(-1.5rem) scale(0.98);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    opacity 0.3s ease;
}

.search-shell-visible .pagefind-panel {
  opacity: 1;
  transform: translateY(0) scale(1);
  box-shadow: var(--search-panel-shadow-active), var(--search-panel-inset-active);
}

.search-panel__ornament {
  position: absolute;
  left: 1.5rem;
  top: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-red);
  pointer-events: none;
}

.search-panel__icon {
  display: inline-flex;
  font-size: 1.1rem;
  opacity: 0.95;
}

.search-panel__glow {
  height: 0.625rem;
  width: 4.5rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--color-red), transparent);
  opacity: 0.5;
}

.search-panel__close {
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: var(--z-elevated);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.75rem;
  width: 2.75rem;
  border: 1px solid color-mix(in srgb, var(--grey-4) 24%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--grey-1) 82%, transparent);
  color: var(--text-color);
  cursor: pointer;
  transition:
    transform 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease;
}

.search-panel__close:hover,
.search-panel__close:focus-visible {
  transform: translateY(-1px) scale(1.03);
  border-color: color-mix(in srgb, var(--color-red) 30%, var(--grey-4));
  background: color-mix(in srgb, var(--color-red-a1) 55%, var(--grey-1));
  color: var(--color-red);
  box-shadow: var(--search-accent-shadow);
  outline: none;
}

.search-panel__body {
  display: flex;
  flex: 1;
  min-height: 0;
  padding: 1rem;
  padding-top: 3.75rem;
}

.dev-tip {
  display: grid;
  flex: 1;
  place-items: center;
  border: 1px dashed color-mix(in srgb, var(--grey-4) 35%, transparent);
  border-radius: 1rem;
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--grey-0) 84%, transparent),
    color-mix(in srgb, var(--grey-2) 90%, transparent)
  );
  color: var(--text-color);
  line-height: 1.9;
  padding: 2rem;
  text-align: center;
}

.pagefind-component-shell {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  width: 100%;
  --pagefind-ui-scale: 1;
  --pagefind-ui-primary: var(--color-red);
  --pagefind-ui-text: var(--text-color);
  --pagefind-ui-secondary: var(--grey-6);
  --pagefind-ui-accent: color-mix(in srgb, var(--color-red) 24%, transparent);
  --pagefind-ui-background: color-mix(in srgb, var(--grey-0) 92%, transparent);
  --pagefind-ui-background-alt: color-mix(in srgb, var(--grey-1) 92%, transparent);
  --pagefind-ui-border: color-mix(in srgb, var(--grey-4) 25%, transparent);
  --pagefind-ui-border-focus: color-mix(in srgb, var(--color-red) 34%, var(--grey-4));
  --pagefind-ui-tag: color-mix(in srgb, var(--grey-2) 90%, transparent);
  --pagefind-ui-link: var(--text-color);
  --pagefind-ui-link-hover: var(--color-red);
  --pagefind-ui-border-width: 1px;
  --pagefind-ui-border-radius: 0.9rem;
  --pagefind-ui-font: inherit;
  --pagefind-ui-muted: var(--grey-5);
  --pagefind-ui-overlay: transparent;
  --pagefind-ui-backdrop: transparent;
  overflow: hidden;
}

:root[data-theme="dark"] .pagefind-component-shell {
  --pagefind-ui-primary: color-mix(in srgb, var(--color-red) 88%, #ffffff 12%);
  --pagefind-ui-text: var(--grey-8);
  --pagefind-ui-secondary: var(--grey-6);
  --pagefind-ui-accent: color-mix(in srgb, var(--color-red) 35%, transparent);
  --pagefind-ui-background: color-mix(in srgb, var(--grey-2) 86%, #000000 14%);
  --pagefind-ui-background-alt: color-mix(in srgb, var(--grey-3) 82%, #000000 18%);
  --pagefind-ui-border: color-mix(in srgb, var(--grey-5) 56%, transparent);
  --pagefind-ui-border-focus: color-mix(in srgb, var(--color-red) 52%, var(--grey-5));
  --pagefind-ui-tag: color-mix(in srgb, var(--grey-3) 75%, transparent);
  --pagefind-ui-link: var(--grey-8);
  --pagefind-ui-link-hover: color-mix(in srgb, var(--color-red) 84%, #fff 16%);
  --pagefind-ui-muted: var(--grey-6);
}

.pagefind-component-header {
  flex: 0 0 auto;
}

.pagefind-component-results {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  margin-top: 1rem;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--grey-4) 80%, transparent) transparent;
}

.pagefind-component-footer {
  flex: 0 0 auto;
  margin-top: 0.8rem;
  opacity: 0.8;
}

.pagefind-component-shell pagefind-input,
.pagefind-component-shell pagefind-summary,
.pagefind-component-shell pagefind-results,
.pagefind-component-shell pagefind-keyboard-hints {
  width: 100%;
}

.pagefind-component-shell pagefind-results a {
  color: var(--pagefind-ui-link);
  transition: color 0.2s ease;
}

.pagefind-component-shell pagefind-results a:hover,
.pagefind-component-shell pagefind-results a:focus-visible {
  color: var(--pagefind-ui-link-hover);
}

.pagefind-component-shell mark {
  border-radius: 0.35rem;
  background: color-mix(in srgb, var(--color-yellow) 30%, transparent);
  color: inherit;
  padding: 0.05rem 0.25rem;
}

@media (max-width: 1023px) {
  .search-shell {
    padding-top: 4rem;
  }

  .pagefind-panel {
    min-height: min(30rem, calc(100vh - 5rem));
    max-height: calc(100vh - 5rem);
    border-radius: 1rem;
  }

  .search-panel__body {
    padding: 0.875rem;
    padding-top: 3.5rem;
  }
}

@media (max-width: 768px) {
  .search-shell {
    padding: 3.5rem 0.75rem 0.75rem;
  }

  .search-overlay {
    backdrop-filter: blur(10px) saturate(125%);
  }

  .pagefind-panel {
    min-height: calc(100vh - 4.25rem);
    max-height: calc(100vh - 4.25rem);
    width: 100%;
    border-radius: 0.9rem;
  }

  .search-panel__ornament {
    left: 1rem;
    top: 1rem;
  }

  .search-panel__glow {
    width: 3rem;
  }

  .search-panel__close {
    right: 0.75rem;
    top: 0.75rem;
    height: 2.5rem;
    width: 2.5rem;
  }

  .search-panel__body {
    padding-top: 3.25rem;
  }

  .pagefind-component-footer {
    margin-top: 0.65rem;
  }
}
/* ============================================================
   ArticleStatisticsCharts 全局样式（自 svelte scoped 迁移）
   ============================================================ */

.chart-section {
  display: grid;
  gap: 1rem;
}

.chart-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}

.chart-card {
  border: 1px solid color-mix(in srgb, var(--grey-4) 24%, transparent);
  border-radius: 0.875rem;
  background: color-mix(in srgb, var(--grey-1) 94%, transparent);
  box-shadow: var(--shadow-card-soft);
  padding: 0.25rem;
}

.chart-canvas {
  width: 100%;
  min-height: 21rem;
}

@media (min-width: 64rem) {
  .chart-grid {
    grid-template-columns: 1fr 1fr;
  }

  .chart-canvas {
    min-height: 22rem;
  }
}
/* ============================================================
   ImageZoom 宿主与触发图片的全局样式（shadow DOM 外，文档级）
   自 svelte scoped 迁移（原 :global 部分）
   ============================================================ */

image-zoom {
  display: block;
  margin: 1.2rem auto;
  width: fit-content;
  max-width: 100%;
}

image-zoom .image-zoom-trigger {
  cursor: zoom-in;
  transform-origin: center;
  transition:
    filter 0.2s ease,
    transform 0.2s ease;
}

image-zoom .image-zoom-trigger:hover {
  filter: brightness(0.96);
  transform: translateY(-1px) scale(1.01);
}

@media (prefers-reduced-motion: reduce) {
  image-zoom .image-zoom-trigger {
    transition: none;
  }
}
/* HeaderCover 相关样式 */

/* 针对无法用 UnoCSS 表达的复杂样式 */
#imgs {
  content-visibility: auto;
  contain-intrinsic-size: 100vw 70vh;
}

/* 遮罩层过渡效果 */
.imgs-overlay {
  transition: opacity 0.3s ease-in-out;
}

/* 响应式调整 */
@media (max-width: 768px) {
  #imgs {
    height: 50vh;
    min-height: 25rem;
  }
}
/* ============================================================
   code-block 的 light DOM 内容样式（shadow 内样式无法命中 slot 分发内容）
   Markdown 渲染的 <code-block> 内 <pre class="astro-code"> 属于 light DOM，
   shadow 内 <style> 的 :host pre 等选择器对其不生效（P3 迁移丢失作用域）。
   故移到此全局样式表，选择器直接以 code-block 宿主为上下文。
   shadow 树结构样式（header/按钮/全屏动画）仍在 code-block-element.ts 内。
   ============================================================ */

code-block pre * {
  font-family: "Maple Mono", "Courier New", Courier, monospace;
  font-size: 0.925rem;
  line-height: 1.25rem;
  line-break: anywhere;
  white-space: break-spaces;
}

code-block pre {
  padding: 0.925rem;
  margin: 0;
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  background-color: var(--surface-code) !important;
  overflow-x: auto;
}

html[data-theme="dark"] code-block pre {
  background-color: var(--surface-code) !important;
}

code-block code .line {
  color: inherit;
  text-indent: -2.5rem;
  padding-left: 2.5rem;
  display: block;
  min-height: 1.25rem;
  contain-intrinsic-height: 24px;
  transition:
    background-color 0.15s ease,
    opacity 0.15s ease,
    box-shadow 0.15s ease;
}

code-block code {
  counter-reset: step;
  counter-increment: step 0;
  display: flex;
  flex-direction: column;
}

code-block code .line::before {
  content: counter(step);
  counter-increment: step;
  width: 1rem;
  margin-right: 1.5rem;
  display: inline-block;
  text-align: right;
  color: var(--text-color-muted);
}

code-block .line.highlighted {
  background-color: var(--cb-line-highlight-bg);
  box-shadow: inset 0.25rem 0 0 var(--cb-line-highlight-border);
}

code-block .line.diff.add {
  background-color: var(--cb-diff-add-bg);
  box-shadow: inset 0.25rem 0 0 var(--cb-diff-add-border);
}

code-block .line.diff.remove {
  background-color: var(--cb-diff-remove-bg);
  box-shadow: inset 0.25rem 0 0 var(--cb-diff-remove-border);
}

code-block code .line.diff.add::before {
  content: counter(step) " +";
  color: var(--cb-diff-add-border);
}

code-block code .line.diff.remove::before {
  content: counter(step) " -";
  color: var(--cb-diff-remove-border);
}

code-block pre.has-focused .line {
  opacity: var(--cb-focus-dim-opacity);
}

code-block pre.has-focused .line.focused {
  opacity: 1;
  background-color: var(--cb-focus-bg);
  box-shadow: inset 0.25rem 0 0 var(--cb-focus-border);
}

code-block .line.highlighted.error {
  background-color: var(--cb-error-bg);
  box-shadow: inset 0.25rem 0 0 var(--cb-error-border);
}

code-block .line.highlighted.warning {
  background-color: var(--cb-warning-bg);
  box-shadow: inset 0.25rem 0 0 var(--cb-warning-border);
}

code-block .highlighted-word {
  background-color: var(--cb-highlighted-word-bg);
  border-radius: 0.2rem;
  padding: 0.05rem 0.15rem;
}

code-block code .line:hover {
  background-color: var(--line-hover-bg);
}

html[data-theme="dark"] code-block code span {
  color: var(--shiki-dark) !important;
}
.md .note {
  border-radius: 0.1875rem;
  margin: 1rem 0;
  padding: 1rem;
  position: relative;
  background: var(--note-bg, var(--grey-2));
  color: var(--note-text, var(--text-color));
  border-left: 0.25rem solid var(--note-border, var(--grey-4));
  font-size: 0.875rem;
  padding-left: 2.5rem;
}

.md .note.note-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.25rem 1rem 1rem;
  color: var(--note-text, var(--text-color));
}

.md .note.note-card::before {
  content: none;
}

.md .note.note-card .note-icon {
  flex: 0 0 auto;
  font-size: 2rem;
  line-height: 1;
  color: var(--note-text, var(--text-color));
}

.md .note.note-card .note-body {
  flex: 1;
  min-width: 0;
}

.md .note.note-card .note-title {
  font-weight: 700;
  color: var(--note-text, var(--text-color));
  margin-bottom: 0.25rem;
}

.md .note.note-card .note-content > :last-child {
  margin-bottom: 0;
}

.md .note h2,
.md .note h3,
.md .note h4,
.md .note h5,
.md .note h6 {
  margin-top: 0.1875rem;
  border-bottom: initial;
  margin-bottom: 0;
  padding-top: 0;
}

.md .note p {
  line-height: 1.8;
}

.md .note a:not(.btn) {
  color: var(--note-hover);
  border-bottom: 0.0625rem dashed var(--note-text);
}

.md .note a:not(.btn):hover {
  color: var(--note-text);
  border-bottom-color: var(--note-text);
}

.md .note ul li::before {
  background: var(--note-text);
}

.md .note ol li::before {
  background: var(--note-text, var(--primary-color)) !important;
  width: 0.8rem;
  height: 0.8rem;
  font-size: 0.45rem;
  line-height: 0.8rem;
  top: 0.4rem;
  left: -1.2rem;
}

.md .mdx-collapse__summary::-webkit-details-marker {
  display: none;
}

.md .mdx-collapse > summary:first-of-type {
  list-style-type: none;
}

.md .mdx-collapse__summary {
  outline: none;
  cursor: pointer;
  padding: 0.625rem;
  background: var(--note-bg, none);
  border-radius: 0.25rem;
  transition: all 0.4s ease;
}

.md .mdx-collapse__summary::marker {
  display: none;
}

.md .mdx-collapse__summary::before {
  content: "▸";
  color: var(--text-color-muted);
  margin-right: 0.5rem;
}

.md .mdx-collapse__content {
  padding: 0.625rem;
}

.md .mdx-collapse.primary,
.md .mdx-collapse.info,
.md .mdx-collapse.success,
.md .mdx-collapse.warning,
.md .mdx-collapse.danger {
  margin: 0 0 0.8rem;
}

.md .mdx-collapse.primary .mdx-collapse__summary,
.md .mdx-collapse.info .mdx-collapse__summary,
.md .mdx-collapse.success .mdx-collapse__summary,
.md .mdx-collapse.warning .mdx-collapse__summary,
.md .mdx-collapse.danger .mdx-collapse__summary {
  color: var(--note-text);
}

.md .mdx-collapse.primary .mdx-collapse__summary::before,
.md .mdx-collapse.info .mdx-collapse__summary::before,
.md .mdx-collapse.success .mdx-collapse__summary::before,
.md .mdx-collapse.warning .mdx-collapse__summary::before,
.md .mdx-collapse.danger .mdx-collapse__summary::before {
  color: var(--note-text);
}

.md .mdx-collapse[open] {
  background: var(--note-bg, none);
  border-radius: 0.25rem;
  color: var(--text-color);
}

.md .mdx-collapse[open] .mdx-collapse__summary {
  background: var(--note-hover, var(--grey-2));
  border-radius: 0.25rem;
}

.md .mdx-collapse[open] .mdx-collapse__summary::before {
  content: "▾";
  color: var(--primary-color);
}

.md .mdx-collapse[open] .mdx-collapse__content {
  margin: 0 0 0.8rem;
}

.md .mdx-collapse[open].primary,
.md .mdx-collapse[open].info,
.md .mdx-collapse[open].success,
.md .mdx-collapse[open].warning,
.md .mdx-collapse[open].danger {
  color: var(--note-text);
}

.md .mdx-collapse[open].primary > .mdx-collapse__summary,
.md .mdx-collapse[open].info > .mdx-collapse__summary,
.md .mdx-collapse[open].success > .mdx-collapse__summary,
.md .mdx-collapse[open].warning > .mdx-collapse__summary,
.md .mdx-collapse[open].danger > .mdx-collapse__summary {
  color: var(--grey-0);
  border-radius: 0.25rem 0.25rem 0 0;
}

.md .mdx-collapse[open].primary > .mdx-collapse__summary::before,
.md .mdx-collapse[open].info > .mdx-collapse__summary::before,
.md .mdx-collapse[open].success > .mdx-collapse__summary::before,
.md .mdx-collapse[open].warning > .mdx-collapse__summary::before,
.md .mdx-collapse[open].danger > .mdx-collapse__summary::before {
  color: var(--grey-0);
}

.md .kbd,
.md kbd {
  background-color: var(--grey-1);
  background-image: linear-gradient(var(--grey-2), var(--grey-0), var(--grey-2));
  border: 0.0625rem solid var(--grey-4);
  border-radius: 0.2rem;
  box-shadow: 0.1rem 0.1rem 0.2rem var(--grey-9-a1);
  font-family: inherit;
  padding: 0.1rem 0.3rem;
  white-space: nowrap;
}

.md mark.highlight {
  background-color: var(--note-bg, color-mix(in oklch, var(--color-yellow) 25%, transparent));
  color: inherit;
  border-radius: 0.2rem;
  padding: 0 0.2rem;
}

.md mark.highlight.default {
  --note-bg: color-mix(in oklch, var(--color-yellow) 25%, transparent);
}

span.label {
  display: inline;
  border-radius: 0.3rem;
  border: 0.0625rem solid;
  padding: 0.2rem 0.3rem;
  background: var(--note-bg, var(--grey-2));
  border-color: var(--note-border, var(--grey-4));
  color: var(--note-text, var(--text-color));
}

.md .quiz-group {
  counter-reset: quiz-counter;
}

.md .quiz-group .quiz-item {
  margin: 0.625rem 0;
  position: relative;
  padding-left: 0.8rem;
}

.md .quiz-group .quiz-item::before {
  counter-increment: quiz-counter;
  content: counter(quiz-counter) ".";
  position: absolute;
  color: var(--primary-color);
  text-align: right;
  width: 2rem;
  left: -2.2rem;
  height: auto;
  background: none !important;
  border: none !important;
  font-size: 0.875rem;
  transition: all 0.3s ease;
}

.md .quiz-group .quiz-item::after {
  transition: all 0.3s ease;
}

.md .quiz-group .quiz-item > .quiz-question {
  margin: 0;
}

.md .quiz-group .quiz-item.fill > .quiz-question {
  cursor: pointer;
}

.md .quiz-group .quiz-item > .quiz-question > p:first-child {
  margin: 0;
  cursor: pointer;
}

.md .quiz-group .quiz-item > .quiz-question > p:first-child::before {
  content: "[" attr(data-type) "]";
  font-size: 0.75rem;
  color: var(--text-color-muted);
  margin: auto 0.3125rem;
}

.md .quiz-group .quiz-options {
  padding-inline-start: 0.625rem;
  margin-top: 0.5rem;
  counter-reset: quiz-option-counter;
}

.md .quiz-group .quiz-options > .quiz-option {
  list-style: none;
  position: relative;
  margin: 0.25rem 0;
  cursor: pointer;
}

.md .quiz-group .quiz-options > .quiz-option::before {
  counter-increment: quiz-option-counter;
  content: counter(quiz-option-counter, upper-alpha);
  color: var(--color-grey);
  margin-right: 0.625rem;
  transition: all 0.3s ease;
}

.md .quiz-group .quiz-options > .quiz-option::after {
  content: none;
}

.md .quiz-group .quiz-options > .quiz-option .quiz-result-icon {
  position: absolute;
  left: -1.4rem;
  top: 0.5rem;
  font-size: 0.9rem;
  display: none;
  scale: 1.5;
}

.md .quiz-group .quiz-options > .quiz-option.selected {
  color: var(--primary-color);
}

.md .quiz-group .quiz-options > .quiz-option.right::before {
  color: var(--color-green);
}

.md .quiz-group .quiz-options > .quiz-option.right::after {
  content: none;
}

.md .quiz-group .quiz-options > .quiz-option.right .quiz-result-icon {
  color: var(--color-green);
  display: inline-block;
  animation: fadeIn 0.5s;
}

.md .quiz-group .quiz-options > .quiz-option.wrong::before {
  color: var(--color-red);
}

.md .quiz-group .quiz-options > .quiz-option.wrong::after {
  content: none;
}

.md .quiz-group .quiz-options > .quiz-option.wrong .quiz-result-icon {
  color: var(--color-red);
  display: inline-block;
  animation: fadeIn 0.5s;
}

.md .quiz-group .quiz-item.show.true::before,
.md .quiz-group .quiz-item.show.false::before {
  visibility: hidden;
}

.md .quiz-group .quiz-item .quiz-state-icon {
  position: absolute;
  left: -1.2rem;
  top: 0.6rem;
  font-size: 1rem;
  display: none;
  scale: 1.5;
}

.md .quiz-group .quiz-item.show.true .quiz-state-icon,
.md .quiz-group .quiz-item.show.false .quiz-state-icon {
  display: inline-block;
  animation: fadeIn 0.5s;
}

.md .quiz-group .quiz-item.show.true .quiz-state-icon {
  color: var(--color-green);
}

.md .quiz-group .quiz-item.show.false .quiz-state-icon {
  color: var(--color-red);
}

.md .quiz-group .quiz-gap {
  display: inline-block;
  min-width: 2.5rem;
  text-align: center;
  padding: 0 0.625rem;
  text-indent: -624.9375rem;
  white-space: nowrap;
}

.md .quiz-group .quiz-gap::after {
  display: block;
  content: "";
  background: var(--text-color);
  width: calc(100% + 1.25rem);
  height: 0.0625rem;
  margin-bottom: -0.0625rem;
  margin-left: -0.625rem;
}

.md .quiz-group .quiz-item.show.fill .quiz-gap {
  text-indent: 0;
}

.md .quiz-group .quiz-answer {
  display: none;
  margin-top: 0.5rem;
}

.md .quiz-group .quiz-item.show .quiz-answer {
  display: block;
  animation: slideDown 0.3s ease;
}

.md .quiz-group .quiz-mistake {
  display: block;
  border: 0.1875rem dashed var(--text-color-muted);
  padding: 0.625rem 1.25rem;
  background: var(--grey-3);
  margin: 0.3125rem 0;
}

.md .quiz-group .quiz-mistake::before {
  display: block;
  content: "[" attr(data-type) "]";
  font-size: 0.8125rem;
  color: var(--text-color-muted);
}

.md .quiz-group .quiz-check-btn {
  margin-top: 0.5rem;
  border: none;
  border-radius: 0.375rem;
  background: var(--primary-color);
  color: var(--grey-0);
  padding: 0.35rem 0.75rem;
  font-size: 0.8125rem;
  cursor: pointer;
  transition: all 0.3s ease;
}

.md .quiz-group .quiz-check-btn:hover {
  filter: brightness(1.08);
}

.md .quiz-group .quiz-check-btn[hidden] {
  display: none;
}

.md ruby.ruby-annotation {
  padding: 0 0.2rem;
  ruby-align: center;
  ruby-position: over;
}

.md ruby.ruby-annotation rt {
  color: var(--grey-5);
  font-size: 0.75em;
  line-height: 1;
  letter-spacing: 0.02em;
  user-select: none;
}

.md ruby.ruby-annotation rp {
  color: var(--grey-5);
}

.md .spoiler:not(.bulr) {
  background-color: var(--text-color);
  color: var(--text-color);
  text-shadow: none;
  transition: color 0.3s;
  padding: 0 0.1875rem;
}

.md .spoiler:not(.bulr):hover {
  color: var(--grey-0);
}

.md .bulr {
  text-shadow: color-mix(in oklch, var(--grey-9) 70%, transparent) 0 0 0.625rem;
  color: transparent;
}

.md s.strike {
  color: var(--note-text, var(--grey-5));
  text-decoration-color: var(--note-text, var(--grey-5));
}

.md s.strike.default {
  --note-text: var(--grey-5);
}

/* === macOS 风格代码组选项卡 === */
.md .tabs {
  display: block;
  position: relative;
  margin: 0 0 2rem;
  border-radius: 0.5rem;
  border: 0.0625rem solid var(--grey-1-a7);
  background: var(--grey-1);
  box-shadow: 0 0.375rem 1.125rem color-mix(in srgb, var(--grey-9) 10%, transparent);
  overflow: hidden;
}

/* 标题栏 — 仿 macOS 窗口顶栏 */
.md .tabs > .nav {
  background-color: var(--surface-code-header);
  border-bottom: 0.0625rem solid var(--grey-1-a7);
  min-height: 2.6875rem;
  position: relative;
}

.md .tabs > .nav[hidden] {
  display: none;
}

/* 选项卡列表 — 横向滚动 + 边缘淡出遮罩 */
.md .tabs > .nav > ul {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
  white-space: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  mask-image: linear-gradient(
    to right,
    transparent 0,
    black 0.75rem,
    black calc(100% - 0.75rem),
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    black 0.75rem,
    black calc(100% - 0.75rem),
    transparent 100%
  );
}

.md .tabs > .nav > ul::-webkit-scrollbar {
  display: none;
}

/* 滚动阴影指示器 */
.md .tabs > .nav::before,
.md .tabs > .nav::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 0.5rem;
  pointer-events: none;
  transition: opacity 0.2s;
}

.md .tabs > .nav::before {
  left: 0;
  box-shadow: inset 0.5rem 0 0.375rem -0.25rem color-mix(in srgb, var(--grey-9) 30%, transparent);
  opacity: 0;
}

.md .tabs > .nav::after {
  right: 0;
  box-shadow: inset -0.5rem 0 0.375rem -0.25rem color-mix(in srgb, var(--grey-9) 30%, transparent);
  opacity: 0;
}

/* 显示左右滚动阴影 */
.md .tabs > .nav[data-at-start="false"]::before {
  opacity: 1;
}

.md .tabs > .nav[data-at-end="false"]::after {
  opacity: 1;
}

/* 单个标签项 */
.md .tabs > .nav li {
  position: relative;
  cursor: pointer;
  border: none;
  display: inline-block;
  padding: 0;
  margin: 0;
  color: var(--text-color);
}

/* 标签按钮 */
.md .tabs > .nav button {
  all: unset;
  position: relative;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  line-height: 2;
  color: inherit;
  font-size: 0.95rem;
  padding: 0.3125rem 1.25rem 0.5rem;
}

/* 语言圆点徽章 */
.md .tabs > .nav .lang-badge {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--lang-color, var(--grey-5));
  flex-shrink: 0;
}

/* 顶部活动指示条 */
.md .tabs > .nav button::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 0.125rem;
  background: var(--primary-color);
  transform: scaleX(0);
  transform-origin: center;
  opacity: 0;
  transition:
    transform 0.25s ease,
    opacity 0.2s ease;
}

/* 悬停时指示条半展开 */
.md .tabs > .nav li:hover:not(.active) > button::before,
.md .tabs > .nav li:focus-within:not(.active) > button::before {
  transform: scaleX(0.6);
  opacity: 0.5;
}

/* 激活状态指示条全展开 */
.md .tabs > .nav li.active {
  color: var(--primary-color);
}

.md .tabs > .nav li.active > button::before {
  transform: scaleX(1);
  opacity: 1;
}

.md .tabs > .nav li.active > button {
  font-weight: 600;
}

/* 面板容器 */
.md .tabs .tabs-panels {
  padding: 1.25rem;
}

/* 代码组的面板无内边距（代码块填满容器） */
.md .tabs.code-group .tabs-panels {
  padding: 0;
}

/* 普通选项卡面板保留内边距 */
.md .tabs:not(.code-group) .tabs-panels {
  padding: 1.25rem;
}

/* 单个面板项 */
.md .tabs .tab-item {
  display: none;
  animation: tabs-fade-in 0.2s ease;
}

.md .tabs .tab-item.active {
  display: block;
}

.md .tabs .tab-item > :first-child {
  margin-top: 0;
}

.md .tabs .tab-item > :last-child {
  margin-bottom: 0;
}

.md .text {
  display: inline;
}

.md .text.rainbow {
  background-image: linear-gradient(
    to left,
    orangered,
    orange,
    gold,
    lightgreen,
    cyan,
    dodgerblue,
    mediumpurple,
    hotpink,
    orangered
  );
  background-size: 110vw;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: rainbow 60s linear infinite;
}

.md ins.underline {
  --line-color: var(--note-text, var(--primary-color));
  text-decoration: none;
  border-bottom: 0.125rem solid var(--line-color);
}

.md ins.underline.wavy {
  text-decoration-style: wavy;
  text-decoration-line: underline;
  text-decoration-color: var(--line-color);
  border-bottom: none;
}

.md ins.underline.dot {
  border-bottom: 0.2rem dotted var(--line-color);
}

.md ins.underline.default {
  --note-text: var(--primary-color);
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(0.125rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-0.5rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes tabs-fade-in {
  from {
    opacity: 0;
    transform: translateY(0.125rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes rainbow {
  to {
    background-position: -2000vw;
  }
}
#loading[data-astro-cid-haxtmvdq] {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: var(--z-search-overlay);
  background-color: var(--grey-1);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  transition: opacity .4s ease-out;
}

.cat[data-astro-cid-haxtmvdq] {
  position: relative;
  display: block;
  width: 15em;
  height: 15em;
  font-size: 10px;
  margin: auto;
  animation: 2.74s linear infinite loading-cat;
}

.cat[data-astro-cid-haxtmvdq] [data-astro-cid-haxtmvdq] {
  box-sizing: content-box;
}

.cat[data-astro-cid-haxtmvdq] .head[data-astro-cid-haxtmvdq], .cat[data-astro-cid-haxtmvdq] .foot[data-astro-cid-haxtmvdq], .cat[data-astro-cid-haxtmvdq] .body[data-astro-cid-haxtmvdq], .cat[data-astro-cid-haxtmvdq] .paw[data-astro-cid-haxtmvdq] {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-radius: 50%;
  width: 15em;
  height: 15em;
}

.cat[data-astro-cid-haxtmvdq] .body[data-astro-cid-haxtmvdq] {
  background-image: radial-gradient(transparent 0%,
      transparent 35%,
      var(--loading-cat-line) 35%,
      var(--loading-cat-line) 39%,
      var(--loading-cat-fur-base) 39%,
      var(--loading-cat-fur-base) 46%,
      var(--loading-cat-fur-light) 46%,
      var(--loading-cat-fur-light) 60%,
      var(--loading-cat-fur-base) 60%,
      var(--loading-cat-fur-base) 67%,
      var(--loading-cat-line) 67%,
      var(--loading-cat-line) 100%);
  animation: 2.74s linear infinite body;
}

.cat[data-astro-cid-haxtmvdq] .head[data-astro-cid-haxtmvdq]:before, .cat[data-astro-cid-haxtmvdq] .foot[data-astro-cid-haxtmvdq]:before {
  background-image: radial-gradient(transparent 0%,
      transparent 35%,
      var(--loading-cat-line) 35%,
      var(--loading-cat-line) 39%,
      var(--loading-cat-fur-base) 39%,
      var(--loading-cat-fur-base) 67%,
      var(--loading-cat-line) 67%,
      var(--loading-cat-line) 100%);
}

.cat[data-astro-cid-haxtmvdq] .head[data-astro-cid-haxtmvdq]:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  border-radius: 50%;
  clip-path: polygon(100% 20%, 50% 50%, 70% -10%);
  -webkit-clip-path: polygon(100% 20%, 50% 50%, 70% -10%);
}

.cat[data-astro-cid-haxtmvdq] .head[data-astro-cid-haxtmvdq]:after {
  content: "";
  width: 4.125em;
  height: 2.5em;
  position: absolute;
  top: .8125em;
  right: 3.9375em;
  background-image: linear-gradient(var(--grey-1) 65%, transparent 65%),
      radial-gradient(var(--grey-1) 51%,
        var(--loading-cat-line) 55%,
        var(--loading-cat-line) 68%,
        transparent 70%);
  transform: rotate(-66deg);
}

.cat[data-astro-cid-haxtmvdq] .head[data-astro-cid-haxtmvdq] .face[data-astro-cid-haxtmvdq] {
  width: 5em;
  height: 3.75em;
  left: 9.0625em;
  top: 1.8125em;
  position: absolute;
  transform: rotate(-47deg);
  background: radial-gradient(circle,
          var(--loading-cat-fur-light) 0%,
          var(--loading-cat-fur-light) 23%,
          transparent 23%) -.1875em
        1.0625em no-repeat,
      radial-gradient(circle,
          var(--loading-cat-line) 0%,
          var(--loading-cat-line) 6%,
          transparent 6%)
        .75em -.75em no-repeat,
      radial-gradient(circle,
          var(--loading-cat-line) 0%,
          var(--loading-cat-line) 6%,
          transparent 6%) -.75em -.75em
        no-repeat,
      radial-gradient(var(--loading-cat-fur-base) 0%,
          var(--loading-cat-fur-base) 15%,
          transparent 15%)
        0 -.6875em no-repeat,
      radial-gradient(circle,
          transparent 5%,
          var(--loading-cat-line) 5%,
          var(--loading-cat-line) 10%,
          transparent 10%) -.1875em -.3125em
        no-repeat,
      radial-gradient(circle,
          transparent 5%,
          var(--loading-cat-line) 5%,
          var(--loading-cat-line) 10%,
          transparent 10%)
        .1875em -.3125em no-repeat,
      radial-gradient(circle, var(--loading-cat-fur-base) 45%, transparent 45%)
        0 -.1875em,
      linear-gradient(transparent 35%,
        var(--loading-cat-line) 35%,
        var(--loading-cat-line) 41%,
        transparent 41%,
        transparent 44%,
        var(--loading-cat-line) 44%,
        var(--loading-cat-line) 50%,
        transparent 50%,
        transparent 53%,
        var(--loading-cat-line) 53%,
        var(--loading-cat-line) 59%,
        transparent 59%);
}

.cat[data-astro-cid-haxtmvdq] .foot[data-astro-cid-haxtmvdq]:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  border-radius: 50%;
  clip-path: polygon(50% 50%, 0% 50%, 0% 25%);
  -webkit-clip-path: polygon(50% 50%, 0% 50%, 0% 25%);
}

.cat[data-astro-cid-haxtmvdq] .foot[data-astro-cid-haxtmvdq]:after {
  content: "";
  width: .9em;
  height: 2.5em;
  position: absolute;
  top: 2.625em;
  left: 2.5em;
  z-index: var(--z-behind);
  transform: rotate(25deg);
  background-color: var(--loading-cat-fur-dark);
  border: .375em solid var(--loading-cat-line);
  border-bottom: 0;
  border-radius: .75em .75em 0 0;
}

.cat[data-astro-cid-haxtmvdq] .tummy-end[data-astro-cid-haxtmvdq] {
  width: 1.5em;
  height: 1.5em;
  position: absolute;
  border-radius: 50%;
  background-color: var(--loading-cat-fur-light);
  left: 1.1875em;
  top: 6.5625em;
}

.cat[data-astro-cid-haxtmvdq] .bottom[data-astro-cid-haxtmvdq] {
  width: 2.1875em;
  height: .9375em;
  position: absolute;
  top: 4.875em;
  left: .75em;
  border: .375em solid var(--loading-cat-line);
  border-bottom: 0;
  border-radius: 50%;
  transform: rotate(21deg);
  background: var(--loading-cat-fur-base);
}

.cat[data-astro-cid-haxtmvdq] .hands[data-astro-cid-haxtmvdq], .cat[data-astro-cid-haxtmvdq] .legs[data-astro-cid-haxtmvdq] {
  width: .625em;
  height: 1.5625em;
  position: absolute;
  border: .375em solid var(--loading-cat-line);
  background-color: var(--loading-cat-fur-base);
}

.cat[data-astro-cid-haxtmvdq] .hands[data-astro-cid-haxtmvdq] {
  border-top: 0;
  border-radius: 0 0 .75em .75em;
}

.cat[data-astro-cid-haxtmvdq] .hands[data-astro-cid-haxtmvdq].left {
  top: 4.3em;
  left: 13.1875em;
  transform: rotate(-20deg);
}

.cat[data-astro-cid-haxtmvdq] .hands[data-astro-cid-haxtmvdq].right {
  top: 5.125em;
  left: 10.975em;
  transform: rotate(-25deg);
}

.cat[data-astro-cid-haxtmvdq] .legs[data-astro-cid-haxtmvdq] {
  border-bottom: 0;
  border-radius: .75em .75em 0 0;
}

.cat[data-astro-cid-haxtmvdq] .legs[data-astro-cid-haxtmvdq].left {
  top: 4.0625em;
  left: 3.125em;
  transform: rotate(25deg);
}

.cat[data-astro-cid-haxtmvdq] .legs[data-astro-cid-haxtmvdq].right {
  top: 3.3125em;
  left: .75em;
  transform: rotate(22deg);
}

.cat[data-astro-cid-haxtmvdq] .body[data-astro-cid-haxtmvdq] {
  animation: 2.74s linear infinite body;
}

.cat[data-astro-cid-haxtmvdq] .foot[data-astro-cid-haxtmvdq] {
  animation: 2.74s linear infinite foot;
}

.cat[data-astro-cid-haxtmvdq]:hover {
  animation-play-state: paused;
}

.cat[data-astro-cid-haxtmvdq]:hover .body[data-astro-cid-haxtmvdq], .cat[data-astro-cid-haxtmvdq]:hover .foot[data-astro-cid-haxtmvdq] {
  animation-play-state: paused;
}

.cat[data-astro-cid-haxtmvdq]:active {
  animation-play-state: running;
}

.cat[data-astro-cid-haxtmvdq]:active .body[data-astro-cid-haxtmvdq], .cat[data-astro-cid-haxtmvdq]:active .foot[data-astro-cid-haxtmvdq] {
  animation-play-state: running;
}

@keyframes body {
  0% {
    clip-path: polygon(50% 50%, 0% 50%, 0% 100%, 100% 100%, 100% 20%);
  }

  10% {
    clip-path: polygon(50% 50%, 30% 120%, 50% 100%, 100% 100%, 100% 20%);
  }

  20% {
    clip-path: polygon(50% 50%, 100% 90%, 120% 90%, 100% 100%, 100% 20%);
  }

  40% {
    clip-path: polygon(50% 50%, 100% 45%, 120% 45%, 120% 50%, 100% 20%);
  }

  50% {
    clip-path: polygon(50% 50%, 100% 45%, 120% 45%, 120% 50%, 100% 20%);
  }

  65% {
    clip-path: polygon(50% 50%, 100% 65%, 120% 65%, 120% 50%, 100% 20%);
  }

  80% {
    clip-path: polygon(50% 50%, 75% 130%, 120% 65%, 120% 50%, 100% 20%);
  }

  90% {
    clip-path: polygon(50% 50%, -20% 110%, 50% 120%, 100% 100%, 100% 20%);
  }

  100% {
    clip-path: polygon(50% 50%, 0% 50%, 0% 100%, 100% 100%, 100% 20%);
  }
}

@keyframes loading-cat {
  0% {
    transform: rotate(0);
  }

  10% {
    transform: rotate(-80deg);
  }

  20% {
    transform: rotate(-180deg);
  }

  40% {
    transform: rotate(-245deg);
  }

  50% {
    transform: rotate(-250deg);
  }

  68% {
    transform: rotate(-300deg);
  }

  90% {
    transform: rotate(-560deg);
  }

  100% {
    transform: rotate(-720deg);
  }
}

@keyframes foot {
  0% {
    transform: rotate(-10deg);
  }

  10% {
    transform: rotate(-100deg);
  }

  20% {
    transform: rotate(-145deg);
  }

  35% {
    transform: rotate(-190deg);
  }

  50% {
    transform: rotate(-195deg);
  }

  70% {
    transform: rotate(-165deg);
  }

  100% {
    transform: rotate(-10deg);
  }
}

#loading[data-astro-cid-haxtmvdq].hidden {
  opacity: 0;
  pointer-events: none;
}
.layout-frame {
  width: calc(100% - 0.625rem);
  align-items: flex-start;
  display: grid;
  margin: 0 auto;
}

@media (min-width: 1024px) {
  .layout-frame {
    width: min(72.5rem, calc(100% - 0.625rem));
  }
}

@media (min-width: 1440px) {
  .layout-frame {
    width: 73%;
  }
}

.layout-sidebar-column,
.layout-extra-column,
.layout-main-widgets {
  min-width: 0;
}

.layout-sidebar-column {
  align-self: start;
  margin-top: 3rem;
  width: 15rem;
}

.layout-sidebar-column > aside#sidebar {
  width: 15rem;
}

.layout-extra-column {
  align-self: start;
  width: 15rem;
}

@media (max-width: 1023px) {
  .layout-sidebar-column {
    margin: 0;
    overflow: visible;
    width: 0;
  }
}
.layout-two-column {
  gap: 0.875rem;
  grid-template-columns: minmax(0, 1fr);
}

.layout-two-column > #main {
  grid-column: 1;
}

.layout-two-column > .layout-main-widgets {
  grid-column: 1;
}

@media (min-width: 1024px) {
  .layout-two-column {
    grid-template-columns: 15rem minmax(0, 1fr);
  }

  .layout-two-column > .layout-sidebar-column {
    grid-column: 1;
    grid-row: 1;
  }

  .layout-two-column > #main {
    grid-column: 2;
    grid-row: 1;
  }

  .layout-two-column > .layout-main-widgets {
    grid-column: 2;
    grid-row: 2;
  }
}
.layout-three-column {
  gap: 0.875rem;
  grid-template-columns: minmax(0, 1fr);
}

.layout-three-column > #main {
  grid-column: 1;
}

.layout-three-column > .layout-main-widgets {
  grid-column: 1;
}

.layout-three-column > astro-island {
  display: none;
}

@media (min-width: 1024px) {
  .layout-three-column {
    grid-template-columns: 15rem minmax(0, 1fr);
  }

  .layout-three-column > .layout-sidebar-column {
    grid-column: 1;
    grid-row: 1;
  }

  .layout-three-column > #main {
    grid-column: 2;
    grid-row: 1;
  }

  .layout-three-column > .layout-main-widgets {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (min-width: 1440px) {
  .layout-three-column {
    width: min(calc(100% - 1.5rem), 92rem);
    gap: 1.125rem;
    grid-template-columns: 15rem minmax(0, 1fr) 15rem;
  }

  .layout-three-column > astro-island {
    display: block;
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: stretch;
    min-width: 0;
  }

  .layout-three-column > astro-island > .layout-extra-column {
    height: 100%;
    width: 100%;
  }

  .layout-three-column > astro-island > .layout-extra-column > .layout-extra-column__inner {
    margin-top: 3.5rem;
    padding-top: 3.5rem;
    -ms-overflow-style: none;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
    position: sticky;
    scrollbar-width: none;
    top: 1rem;
    transition: top 0.3s ease;
  }

  .layout-three-column
    > astro-island
    > .layout-extra-column
    > .layout-extra-column__inner::-webkit-scrollbar {
    display: none;
  }
}
.calendar-card {
  position: relative;
  background: var(--grey-0);
  border: 0.0625rem solid var(--grey-3);
  border-radius: 0.875rem;
  box-shadow: var(--shadow-card-base);
  overflow: hidden;
  padding: 0.95rem 0.95rem 1rem;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.calendar-card:hover {
  border-color: color-mix(in srgb, var(--color-pink) 24%, var(--grey-3));
  box-shadow: 0 0 2rem var(--box-bg-shadow);
  transform: translateY(-0.1875rem);
}

.card-head {
  position: relative;
  z-index: var(--z-content);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

h3 {
  color: var(--primary-color, var(--color-pink));
  font-size: 1.125rem;
  margin: 0;
}

.badge {
  background: color-mix(in srgb, var(--color-pink) 10%, var(--grey-1));
  border: 0.0625rem solid color-mix(in srgb, var(--color-pink) 18%, var(--grey-3));
  border-radius: 999px;
  color: var(--grey-7);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  padding: 0.45rem 0.7rem;
  white-space: nowrap;
}

.calendar-grid {
  position: relative;
  z-index: var(--z-content);
  display: grid;
  gap: 0.25rem;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-bottom: 0.75rem;
}

.weekday,
.date {
  align-items: center;
  display: inline-flex;
  justify-content: center;
}

.weekday {
  color: var(--grey-5);
  font-size: 0.75rem;
  font-weight: 600;
  min-height: 1.45rem;
}

.date {
  background: color-mix(in srgb, var(--grey-1) 92%, transparent);
  border: 0.0625rem solid var(--grey-3);
  border-radius: 0.65rem;
  color: var(--grey-6);
  font-size: 0.8125rem;
  min-height: 1.9rem;
  transition:
    border-color 0.3s ease,
    background-color 0.3s ease,
    color 0.3s ease,
    transform 0.3s ease;
}

.date:not(.empty):hover {
  border-color: color-mix(in srgb, var(--color-pink) 26%, var(--grey-3));
  color: var(--grey-8);
  transform: translateY(-0.0625rem);
}

.date.today {
  background: linear-gradient(to right, var(--color-pink) 0, var(--color-orange) 100%);
  border-color: transparent;
  color: var(--grey-0);
  font-weight: 700;
}

.date.empty {
  border-style: dashed;
  opacity: 0.35;
}

:root[data-theme="dark"] .calendar-card {
  box-shadow: var(--shadow-card-base);
}

:root[data-theme="dark"] .date.today,
:root[data-theme="dark"] .badge {
  color: var(--grey-7);
}

:root[data-theme="dark"] .date.today {
  color: var(--grey-0);
}
.layout-extra-column {
  position: relative;
}

.layout-extra-column__inner {
  display: grid;
  gap: 1rem;
}

.extra-card,
.extra-empty-card {
  position: relative;
  background: var(--grey-0);
  border: 0.0625rem solid var(--grey-3);
  border-radius: 0.875rem;
  box-shadow: var(--shadow-card-base);
  overflow: hidden;
  padding: 1rem 1rem 1.05rem;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.extra-card:hover,
.extra-empty-card:hover {
  transform: translateY(-0.1875rem);
  border-color: color-mix(in srgb, var(--color-pink) 24%, var(--grey-3));
  box-shadow: 0 0 2rem var(--box-bg-shadow);
}

.extra-card__head,
.extra-empty-card__head {
  position: relative;
  z-index: var(--z-content);
  align-items: flex-start;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-bottom: 0.95rem;
}

.extra-card__eyebrow,
.extra-empty-card__eyebrow {
  color: var(--grey-5);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  margin: 0 0 0.25rem;
  text-transform: uppercase;
}

.extra-card h3,
.extra-empty-card h3 {
  color: var(--primary-color, var(--color-pink));
  font-size: 1.125rem;
  margin: 0;
}

.extra-card__icon,
.extra-empty-card__icon {
  align-items: center;
  background: color-mix(in srgb, var(--color-pink) 10%, var(--grey-1));
  border: 0.0625rem solid color-mix(in srgb, var(--color-pink) 18%, var(--grey-3));
  border-radius: 999px;
  color: var(--color-pink);
  display: inline-flex;
  font-size: 1rem;
  justify-content: center;
  min-height: 2rem;
  min-width: 2rem;
}

.extra-list {
  position: relative;
  z-index: var(--z-content);
  display: grid;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.extra-list__item + .extra-list__item {
  border-top: 0.0625rem dashed var(--grey-3);
}

.extra-list__link {
  color: inherit;
  display: grid;
  gap: 0.2rem;
  padding: 0.65rem 0;
  text-decoration: none;
  transition:
    transform 0.25s ease,
    color 0.25s ease;
}

.extra-list__link:hover {
  color: var(--color-pink);
  transform: translateX(0.2rem);
}

.extra-list__meta {
  color: var(--color-orange);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
}

.extra-list__title {
  color: var(--grey-7);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.6;
}

.extra-list__desc {
  color: var(--grey-5);
  font-size: 0.75rem;
  line-height: 1.65;
}

.extra-search-trigger {
  position: relative;
  z-index: var(--z-content);
  align-items: center;
  background: var(--grey-0);
  border: 0.0625rem solid color-mix(in srgb, var(--color-pink) 14%, var(--grey-3));
  border-radius: 0.75rem;
  color: var(--grey-7);
  cursor: pointer;
  display: flex;
  font: inherit;
  justify-content: space-between;
  padding: 0.85rem 0.95rem;
  transition:
    border-color 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease;
  width: 100%;
}

.extra-search-trigger:hover {
  border-color: color-mix(in srgb, var(--color-pink) 28%, var(--grey-3));
  color: var(--color-pink);
  transform: translateY(-0.0625rem);
}

.extra-search-trigger__text {
  font-size: 0.875rem;
  font-weight: 600;
}

.extra-search-trigger__icon {
  font-size: 1rem;
}

.extra-search-hint {
  color: var(--grey-5);
  font-size: 0.75rem;
  line-height: 1.7;
  margin: 0.75rem 0 0;
}

.extra-tag-cloud {
  position: relative;
  z-index: var(--z-content);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.extra-tag-cloud__item {
  align-items: center;
  background: color-mix(in srgb, var(--grey-1) 90%, transparent);
  border: 0.0625rem solid var(--grey-3);
  border-radius: 999px;
  display: inline-flex;
  line-height: 1.2;
  max-width: 100%;
  padding: 0.35rem 0.65rem;
  text-decoration: none;
  transition:
    border-color 0.25s ease,
    transform 0.25s ease;
}

.extra-tag-cloud__item:hover {
  border-color: currentColor;
  transform: translateY(-0.0625rem);
}

.extra-card__footer-link {
  position: relative;
  z-index: var(--z-content);
  color: var(--color-blue);
  display: inline-flex;
  font-size: 0.8rem;
  font-weight: 600;
  margin-top: 1rem;
  text-decoration: none;
  transition: color 0.25s ease;
}

.extra-card__footer-link:hover {
  color: var(--color-pink);
}

.extra-markdown {
  position: relative;
  z-index: var(--z-content);
  color: var(--grey-6);
  font-size: 0.825rem;
  line-height: 1.75;
}

.extra-markdown p {
  margin: 0 0 0.75rem;
}

.extra-markdown p:last-child {
  margin-bottom: 0;
}

.extra-markdown ul {
  margin: 0;
  padding-left: 1.15rem;
}

.extra-markdown li {
  margin: 0.45rem 0;
}

.extra-markdown li::marker {
  color: var(--color-blue);
}

.extra-markdown strong {
  color: var(--grey-7);
}
.extra-empty-card__text {
  position: relative;
  z-index: var(--z-content);
  color: var(--grey-5);
  font-size: 0.875rem;
  line-height: 1.9;
  margin: 0;
  padding-top: 0.875rem;
}

.extra-empty-card__text::before {
  background: linear-gradient(90deg, var(--grey-3) 0%, var(--grey-1-a0) 100%);
  content: "";
  height: 0.0625rem;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

:root[data-theme="dark"] .extra-empty-card {
  box-shadow: var(--shadow-card-base);
}

:root[data-theme="dark"] .extra-card {
  box-shadow: var(--shadow-card-base);
}

:root[data-theme="dark"] .extra-card__icon,
:root[data-theme="dark"] .extra-empty-card__icon {
  color: var(--color-pink);
}

:root[data-theme="dark"] .extra-list__title {
  color: var(--grey-7);
}

@media (min-width: 1440px) {
  .layout-extra-column {
    isolation: isolate;
  }

  .layout-extra-column__inner {
    -webkit-mask-image: linear-gradient(
      180deg,
      transparent 0,
      #000 1.75rem,
      #000 calc(100% - 1.75rem),
      transparent 100%
    );
    mask-image: linear-gradient(
      180deg,
      transparent 0,
      #000 1.75rem,
      #000 calc(100% - 1.75rem),
      transparent 100%
    );
    mask-mode: alpha;
  }
}
.ai-similar-posts[data-astro-cid-75zux3hb] {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: .875rem 1rem;
  border-radius: .625rem;
  background: var(--grey-2, #7f7f7f14);
  border: 1px solid var(--grey-3, #7f7f7f2e);
}

.ai-similar-posts__title[data-astro-cid-75zux3hb] {
  display: flex;
  align-items: center;
  gap: .375rem;
  color: var(--primary-color, var(--color-blue, #3b82f6));
  font-weight: 600;
  margin-bottom: .625rem;
}

.ai-similar-posts__title-icon[data-astro-cid-75zux3hb] {
  font-size: 1em;
  line-height: 1;
}

.ai-similar-posts__list[data-astro-cid-75zux3hb] {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ai-similar-posts__item[data-astro-cid-75zux3hb] + .ai-similar-posts__item[data-astro-cid-75zux3hb] {
  margin-top: .375rem;
}

.ai-similar-posts__item[data-astro-cid-75zux3hb] a[data-astro-cid-75zux3hb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  text-decoration: none;
  color: var(--text-color, #333);
  border-radius: .375rem;
  padding: .375rem .5rem;
  transition: background-color .25s;
}

.ai-similar-posts__item[data-astro-cid-75zux3hb] a[data-astro-cid-75zux3hb]:hover {
  background-color: var(--color-red-a1, #ef444414);
}

.ai-similar-posts__name[data-astro-cid-75zux3hb] {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ai-similar-posts__score[data-astro-cid-75zux3hb] {
  font-size: .75rem;
  color: var(--grey-5, #999);
  white-space: nowrap;
  flex-shrink: 0;
}
.ai-summary-card[data-astro-cid-bhqdwog4] {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: .875rem 1rem;
  border-radius: .625rem;
  background: var(--grey-2, #7f7f7f14);
  border: 1px solid var(--grey-3, #7f7f7f2e);
}

.ai-summary-card__title[data-astro-cid-bhqdwog4] {
  display: flex;
  align-items: center;
  gap: .375rem;
  color: var(--primary-color, var(--color-blue, #3b82f6));
  font-weight: 600;
  margin-bottom: .625rem;
}

.ai-summary-card__title-icon[data-astro-cid-bhqdwog4] {
  font-size: 1em;
  line-height: 1;
}

.ai-summary-card__content[data-astro-cid-bhqdwog4] {
  margin: 0;
  line-height: 1.75;
  color: var(--text-color, #333);
  white-space: pre-wrap;
  word-break: break-word;
}

.ai-summary-card__meta[data-astro-cid-bhqdwog4] {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  margin-top: .625rem;
  font-size: .75rem;
  color: var(--grey-5, #999);
}
/* layer: preflights */
*,::before,::after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-scroll-snap-strictness:proximity;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5)}::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-scroll-snap-strictness:proximity;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5)}
/* layer: icons */
.i-ri-close-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m12 10.587l4.95-4.95l1.414 1.414l-4.95 4.95l4.95 4.95l-1.415 1.414l-4.95-4.95l-4.949 4.95l-1.414-1.415l4.95-4.95l-4.95-4.95L7.05 5.638z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;width:1em;height:1em}
.i-ri\:arrow-up-double-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m12 4.836l-6.207 6.207l1.414 1.414L12 7.664l4.793 4.793l1.414-1.414zm0 5.65l-6.207 6.207l1.414 1.414L12 13.314l4.793 4.793l1.414-1.414z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;width:1em;height:1em}
.i-ri\:loop-right-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 4a7.99 7.99 0 0 1 6.616 3.5H16v2h6v-6h-2V6a9.98 9.98 0 0 0-8-4C6.477 2 2 6.477 2 12h2a8 8 0 0 1 8-8m8 8a8 8 0 0 1-14.616 4.5H8v-2H2v6h2V18a9.98 9.98 0 0 0 8 4c5.523 0 10-4.477 10-10z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;width:1em;height:1em}
.i-ri\:order-play-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M17 4V2.068a.5.5 0 0 1 .82-.385l4.12 3.433a.5.5 0 0 1-.321.884H2V4zM2 18h20v2H2zm0-7h20v2H2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;width:1em;height:1em}
.i-ri\:pause-circle-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10M9 9v6h2V9zm4 0v6h2V9z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;width:1em;height:1em}
.i-ri\:play-circle-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10M10.622 8.415a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;width:1em;height:1em}
.i-ri\:shuffle-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M18 17.883V16l5 3l-5 3v-2.09a9 9 0 0 1-6.997-5.365L11 14.54l-.003.006A9 9 0 0 1 2.725 20H2v-2h.725a7 7 0 0 0 6.434-4.243L9.912 12l-.753-1.757A7 7 0 0 0 2.725 6H2V4h.725a9 9 0 0 1 8.272 5.455L11 9.46l.003-.006A9 9 0 0 1 18 4.09V2l5 3l-5 3V6.117a7 7 0 0 0-5.159 4.126L12.088 12l.753 1.757A7 7 0 0 0 18 17.883'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;width:1em;height:1em}
.i-ri\:skip-back-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7 4a1 1 0 0 1 1 1v6.333l10.223-6.815a.5.5 0 0 1 .777.416v14.132a.5.5 0 0 1-.777.416L8 12.667V19a1 1 0 1 1-2 0V5a1 1 0 0 1 1-1m10 3.737L10.606 12L17 16.263z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;width:1em;height:1em}
.i-ri\:skip-forward-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 12.667L5.777 19.482A.5.5 0 0 1 5 19.066V4.934a.5.5 0 0 1 .777-.416L16 11.333V5a1 1 0 1 1 2 0v14a1 1 0 1 1-2 0zm-9-4.93v8.526L13.394 12z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;width:1em;height:1em}
.i-ri\:volume-down-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M13 7.22L9.603 10H6v4h3.603L13 16.78zM8.889 16H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3.889l5.294-4.332a.5.5 0 0 1 .817.387v15.89a.5.5 0 0 1-.817.387zm9.974.591l-1.422-1.422A4 4 0 0 0 19 12c0-1.43-.75-2.685-1.88-3.392l1.439-1.439A5.99 5.99 0 0 1 21 12c0 1.842-.83 3.49-2.137 4.591'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;width:1em;height:1em}
.i-ri\:volume-mute-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M10 7.22L6.603 10H3v4h3.603L10 16.78zM5.889 16H2a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3.889l5.294-4.332a.5.5 0 0 1 .817.387v15.89a.5.5 0 0 1-.817.387zm14.525-4l3.536 3.536l-1.415 1.414L19 13.414l-3.536 3.536l-1.414-1.414L17.586 12L14.05 8.465l1.414-1.415L19 10.586l3.535-3.536l1.415 1.415z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;width:1em;height:1em}
.i-ri\:volume-up-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M6.603 10L10 7.22v9.56L6.603 14H3v-4zM2 16h3.889l5.294 4.332a.5.5 0 0 0 .817-.387V4.055a.5.5 0 0 0-.817-.387L5.89 8H2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1m21-4c0 3.292-1.446 6.246-3.738 8.262l-1.418-1.418A8.98 8.98 0 0 0 21 12a8.98 8.98 0 0 0-3.155-6.844l1.417-1.418A10.97 10.97 0 0 1 23 12m-5 0a5.99 5.99 0 0 0-2.287-4.713l-1.429 1.429A4 4 0 0 1 16 12c0 1.36-.679 2.561-1.716 3.284l1.43 1.43A5.99 5.99 0 0 0 18 12'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;width:1em;height:1em}
/* layer: shortcuts */
.container{width:100%}
@media (min-width: 640px){
.container{max-width:640px}
}
@media (min-width: 768px){
.container{max-width:768px}
}
@media (min-width: 1024px){
.container{max-width:1024px}
}
@media (min-width: 1280px){
.container{max-width:1280px}
}
@media (min-width: 1536px){
.container{max-width:1536px}
}
/* layer: default */
.absolute{position:absolute}
.fixed{position:fixed}
.relative{position:relative}
.left-0{left:0}
.right-1\.25{right:0.3125rem}
.right-4{right:1rem}
.top-0{top:0}
.top-3{top:0.75rem}
.z-1{z-index:1}
.z-2{z-index:2}
.z-9{z-index:9}
.float-left{float:left}
.float-right{float:right}
.m-\[0\.625rem_0_0\]{margin:0.625rem 0 0}
.m-0{margin:0}
.mx-auto{margin-left:auto;margin-right:auto}
.ml-0\.625rem{margin-left:0.625rem}
.ms{margin-inline-start:1rem}
.mt-1\.25{margin-top:0.3125rem}
.block{display:block}
.h-\[2\.6875rem\]{height:2.6875rem}
.h-\[2rem\],
.h-8{height:2rem}
.h-1{height:0.25rem}
.h-1\.5{height:0.375rem}
.h-10{height:2.5rem}
.h-24,
.h-6rem{height:6rem}
.h-full{height:100%}
.max-h-12{max-height:3rem}
.max-h-48{max-height:12rem}
.max-h-full{max-height:100%}
.max-w-48{max-width:12rem}
.max-w-full{max-width:100%}
.min-w-0{min-width:0}
.min-w-9{min-width:2.25rem}
.w-10{width:2.5rem}
.w-16{width:4rem}
.w-6rem{width:6rem}
.w-8{width:2rem}
.w-full{width:100%}
.flex{display:flex}
.inline-flex{display:inline-flex}
.flex-\[2\]{flex:2}
.flex-1{flex:1 1 0%}
.flex-shrink-0{flex-shrink:0}
.flex-col{flex-direction:column}
.cursor-pointer{cursor:pointer}
.list-none{list-style-type:none}
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-around{justify-content:space-around}
.gap-1{gap:0.25rem}
.gap-2{gap:0.5rem}
.gap-2\.5{gap:0.625rem}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}
.overflow-y-hidden{overflow-y:hidden}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.text-ellipsis{text-overflow:ellipsis}
.whitespace-nowrap{white-space:nowrap}
.border{border-width:1px}
.border-b{border-bottom-width:1px}
.border-\[var\(--player-border\)\]{border-color:var(--player-border)}
.rounded-\[0\.8125em\]{border-radius:0.8125em}
.rounded-50\%{border-radius:50%}
.rounded-full{border-radius:9999px}
.rounded-xl{border-radius:0.75rem}
.border-none{border-style:none}
.bg-\[var\(--primary-color-a\)\]{background-color:var(--primary-color-a)}
.hover\:bg-\[var\(--player-background\)\]:hover{background-color:var(--player-background)}
.object-cover{object-fit:cover}
.p-\[0\.3125rem_0\.9375rem_0\.3125rem_1\.5625rem\]{padding:0.3125rem 0.9375rem 0.3125rem 1.5625rem}
.p-\[0\.3125rem_0\]{padding:0.3125rem 0}
.p-0{padding:0}
.p-6{padding:1.5rem}
.px,
.px-4{padding-left:1rem;padding-right:1rem}
.px-1\.25rem{padding-left:1.25rem;padding-right:1.25rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.pb-0{padding-bottom:0}
.pl-1{padding-left:0.25rem}
.pl-2\.5{padding-left:0.625rem}
.pr-0\.625rem,
.pr-2\.5{padding-right:0.625rem}
.pt-5{padding-top:1.25rem}
.text-align-center,
.text-center{text-align:center}
.text-\[0\.8125em\]{font-size:0.8125em}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3{font-size:0.75rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-5{font-size:1.25rem}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-xs{font-size:0.75rem;line-height:1rem}
.text-\[var\(--secondary-text\)\]{color:var(--secondary-text)}
.leading-tight{line-height:1.25}
.opacity-60{opacity:0.6}
.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}
.transition-width{transition-property:width;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}
.duration-250{transition-duration:250ms}
.ease-linear{transition-timing-function:linear}
@media (min-width: 768px){
.md\:flex-row{flex-direction:row}
.md\:items-center{align-items:center}
.md\:pl-5{padding-left:1.25rem}
.md\:pr-5{padding-right:1.25rem}
}
/* nyx-player-solid 面板样式（原版 scoped 样式迁移；UnoCSS 工具类之外的少量自定义） */

/* ---- 面板显隐动画（原版 slideRight，Trace solid Transition class 命名） ---- */
.nyx-player.slideRight-enter-active,
.nyx-player.slideRight-exit-active {
  transition:
    opacity 0.5s ease,
    transform 0.5s ease;
}

.nyx-player.slideRight-enter,
.nyx-player.slideRight-exit-to {
  opacity: 0;
  transform: translateX(50%);
}

/* ---- 歌词行滚动过渡（原版 TransitionGroup name=list，修复为滚动而非整体淡出） ---- */
.nyx-player .lrc .list-enter-active,
.nyx-player .lrc .list-exit-active {
  transition: opacity 0.45s ease;
}

.nyx-player .lrc .list-move {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.nyx-player .lrc .list-enter,
.nyx-player .lrc .list-exit-to {
  opacity: 0;
}

.nyx-player.panel {
  box-shadow: 0 0.625rem 1.875rem -0.9375rem var(--box-bg-shadow);
  background: var(--player-background);
  -webkit-backdrop-filter: blur(0.625rem);
  backdrop-filter: blur(0.625rem);
  width: 50vw;
  max-width: 25rem;
  right: 3.5rem;
  padding-bottom: 1rem;
  bottom: 1rem;
}

.nyx-player .controller {
  color: var(--primary-text);
}

.nyx-player .controller button {
  border: none;
  background: none;
  color: inherit;
  cursor: pointer;
  padding: 0.5rem 0;
  font-size: 1.5rem;
  line-height: 1;
}

.nyx-player .controller button:hover {
  color: var(--hover-btn);
}

.nyx-player .controller .nyx-volume {
  accent-color: var(--primary-color);
  cursor: pointer;
}

/* ---- 进度条（R4 8.2） ---- */
.nyx-player .nyx-progress {
  color: var(--secondary-text);
}

.nyx-player .nyx-progress-track {
  background: var(--primary-color-a);
  cursor: pointer;
  touch-action: none;
}

.nyx-player .nyx-progress-fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  border-radius: 999px;
  background: var(--primary-color);
  pointer-events: none;
}

.nyx-player .nyx-progress-thumb {
  position: absolute;
  top: 50%;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background: var(--primary-color);
  transform: translate(-50%, -50%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.nyx-player .nyx-progress-track:hover .nyx-progress-thumb,
.nyx-player .nyx-progress.dragging .nyx-progress-thumb {
  opacity: 1;
}

/* ---- 预览区（原版 AudioPreview.vue：pt-5 侧边距 + 响应式横排） ---- */
.nyx-player .preview {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 1.25rem;
  padding-bottom: 0;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

@media (min-width: 768px) {
  .nyx-player .preview {
    flex-direction: row;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

/* ---- 关闭按钮（原版 AudioPlayer.vue：right-4 top-3 color --close-btn → hover --hover-btn） ---- */
.nyx-player .nyx-close {
  color: var(--close-btn);
  border: none;
  background: none;
}

.nyx-player .nyx-close:hover {
  color: var(--hover-btn);
}

/* ---- 唱片 ---- */
.nyx-player .cover {
  width: fit-content;
  margin-inline: auto;
}

.nyx-player .preview .cover {
  margin-inline: 0;
}

.nyx-player .cover::before {
  content: "";
  position: absolute;
  background: url("data:image/avif;base64,AAAAHGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZgAAAZhtZXRhAAAAAAAAACFoZGxyAAAAAAAAAABwaWN0AAAAAAAAAAAAAAAAAAAAAA5waXRtAAAAAAABAAAANGlsb2MAAAAAREAAAgACAAAAAAG8AAEAAAAAAAACGAABAAAAAAPUAAEAAAAAAAAC2AAAADhpaW5mAAAAAAACAAAAFWluZmUCAAAAAAEAAGF2MDEAAAAAFWluZmUCAAAAAAIAAGF2MDEAAAAA12lwcnAAAACxaXBjbwAAABNjb2xybmNseAABAA0ABoAAAAAMYXYxQ4EAHAAAAAAUaXNwZQAAAAAAAABkAAAAlwAAAA5waXhpAAAAAAEIAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAMYXYxQ4EADAAAAAAUaXNwZQAAAAAAAABkAAAAlwAAABBwaXhpAAAAAAMICAgAAAAeaXBtYQAAAAAAAAACAAEEAYYHCAACBIIDBIUAAAAaaXJlZgAAAAAAAAAOYXV4bAACAAEAAQAABPhtZGF0EgAKBhgZ8csyqDKLBBGQCBxXAOrC0zMerBGIZUo4xVjpgsDdOCEShpc/hg1QqkRkN5GzDz5AmwlPeBgZdQKsi4CusPDMoy3eaR6PNuIzzv+lkyrgh+MHGXGQRnGkyZ6g6sJVAHEx/6i2sh6s55GRBvqHSFMU5cgrLtHP2W8OkDNTFcKI0eJ9dHYEcJEegEScU440nLhsXFFsSBKMHYY5tb3U2x4ColcHyhdczSWk3sl3F3PkVgTmul2v9H8al80jufo1g9TJAppY8k1BFgmW/tgy5+KXOpsrQfijn1DVNa/iTCZIoKVfEgs+BXszgRlrxZtCrG4QOsLxrsWa/9vh4a5GyMKz9CC58vxhafDYKHEwB50mdJG1Z0r1+AUPi1s4XpvDEYBbw2qL6UM+x18SWfI7kZFjWT/Uwrw/JD9+3kQIJpSHuf38VVpOkE8ZpmDlGcKLKiMtp9YWPJWoyPDD8NYrFwwtpTw1Tee1ViJlaWJwBesghag9//pBv4MvimTwvM9Fy1r9+0YSxn3HXH7vrK6oZ489CBx5qp4kjMd3VZBGHvDWHX1uj4EDex43tBhAKUBlBwHuJlyBsDpETArAde2SpsEKigr/oDA7/yEjF6gHJismOWJrbZ9xw5LzI3miMI6clDHLhak9sv6ti97nPzJ8OGPTx4uH71Div4VTASxAZQITGCGriP1gXG65gS+SiaJzW9qsgeYSAAoJGBnxyzJAQ0GhMsgFEZADDwABYcDJWT56wn4zXsKa4CmnX05317HGGmcMFwiT76lVl8XmVkKE8elB1s6yAHtgyHaaCkV3Tl8xUMvloEnXXxslCzOvqL19mUTUVC61EwyYqKfduvQRN3ftAUxyA9NimAcWHZPmqb1Gp1XT/Db2xMf+FP5yR77EMnnVU9DMjgex6GuJsSC4hKIbQP5v0Yi0XMkftAbXc2VJvN6cKi0rEEJM7kkpHswPqEk3lYtsWbAYAauu6d6Gi4St4oNjVQirqJV1+UmV86litgdVZbEyrnv4sOgNOarlX+6cm8i7KMEWNZr9DzVxL1KuEfCSxKhoYfks+NmR1S3BRnJyYdGCrlG4XmpI7bp3PXUr+VsoE2tfgKhkjeNUifC3tSBj6G1SCi1Y+XOoPjSxBQJfaF75lXHyXeRXHQnAa0BEuqIzGu+ho6mWpsg8Oywmq+Nk0rYsocIT9D5rsLSqFyLbHEo4ThmKyOJ/ra3HzwM5+N5c7bazQp6msMPxoBBcjpLZmqrCpeRgvikmJp8rDGWleHSW0cJBWVGjuR/rNdYCAcNwfKLSzgCZJOLQux4ohIVgrxx4FVQtKGoiKbJvauxEyFff9ysX3ByxTLVvCojtIOY5/6IhK18oi27c70FkPyRbBtfMpiuwz8snREl2rWAq/QWu0F3nhYDVn6gJUWyn9X2wPDZWzzaW7mnRidEcc2fDUJmWGz2+6zl9ADLKs6xo7E7Mh+A03F7axfc5k8RmSnMOxCUKx68gNV/3ysJgAkYv5uApHeH/FiSKs34AU7599EVI95yQzcpYxiEbez0MlkGgl7TYZXNDpPixXdjAA2otvQ71PQiCirTtH4xdGMq0ZoHhukjCPxGvyoou/iXLr3TjeaBISfwY2d1ocof5ofaQvU/rItXARFL3RqnYubcxXBrjyJfdWmlkTZfh0dXGmWhD+8ZnRB5QlQ==") no-repeat center / contain;
  z-index: 2; /* 原版 before:z-1：needle 需在 disc(::after z1) 之上 */
  width: 3.4375rem;
  height: 5.1875rem;
  top: -1.5625rem;
  left: -1.5625rem;
  transform: rotateZ(-60deg);
  transform-origin: 0.625rem 0.625rem;
  animation: nyx-needle-pause 0.5s 1 normal linear forwards;
}

.nyx-player .cover .disc {
  animation: nyx-spin 20s linear infinite;
  animation-play-state: paused;
}

.nyx-player .cover.playing .disc {
  animation-play-state: running;
}

.nyx-player .cover .disc::after {
  content: "";
  position: absolute;
  background: url("data:image/avif;base64,AAAAHGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZgAAAZhtZXRhAAAAAAAAACFoZGxyAAAAAAAAAABwaWN0AAAAAAAAAAAAAAAAAAAAAA5waXRtAAAAAAABAAAANGlsb2MAAAAAREAAAgACAAAAAAG8AAEAAAAAAAAESwABAAAAAAYHAAEAAAAAAAACdgAAADhpaW5mAAAAAAACAAAAFWluZmUCAAAAAAEAAGF2MDEAAAAAFWluZmUCAAAAAAIAAGF2MDEAAAAA12lwcnAAAACxaXBjbwAAABNjb2xybmNseAABAA0ABoAAAAAMYXYxQ4EAHAAAAAAUaXNwZQAAAAAAAACWAAAAlgAAAA5waXhpAAAAAAEIAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAMYXYxQ4EADAAAAAAUaXNwZQAAAAAAAACWAAAAlgAAABBwaXhpAAAAAAMICAgAAAAeaXBtYQAAAAAAAAACAAEEAYYHCAACBIIDBIUAAAAaaXJlZgAAAAAAAAAOYXV4bAACAAEAAQAABsltZGF0EgAKBhgd5WVZVDK+CBGQCSRXAOqiawSaew9u1epVu0bfDQZddP2I2uo2lVtbNKxnXJarGJQuaogfFEQAFCFQqBOkQbql8v/YckDPS0ShSnUeFuAFsGv3p1ZKJJiciZ9vayTeytLGl8gG8yp16czNH7ttZB2WT4b8MnXbrRPQ04K4UCNlfVfBUrMcMrxTI0vjKlId8sku40AE8tEcD/hUXMtf9a9cAr7KxNeeah4TA343q0+OafTOtQisTgbzgO9oxm+AacQKCvs4JkEFRNZQTzlRS+sMJaGelO/+KY1gRItorvflDS9+5LB1DsWFZC3hWfoHfdOgAD4A8UPB8u3qAl60K9Jb6ipAqj5r3G7erjyObBV4E5vVp6CAe49wdpamG2wmHHINKXbCbMMEf2yuRrfcR7/+Z1yG+5QYM9JYh/LzY21Ka+VLnHqTCli7PCLD5gS3YJ7RlrdY8Quik+XQ5dByrVdNgtku68cu5e7sPGLdWAa74XBpIYI80P/HouwhxQa76U0o3+WKjzCZ0PW2ptcmreGfhZ7J2EHfMobiCMw5hObnlDDT5317manJgyj5URnY5DuCq8bVJcMsf24mMaYJOnusEX1BL+kVOF2ybjHYGq10qXG98Gb4uimXz9au2vLTBXHKgCY77IUJ0lCcNhzAEh551dca0KTdM1NGwLTaZyI4qf3SDrsgzy6nnLQrIZ2kMSIj1twhqHZwwt/6uk4R/OM3dwiq2fGj4I3Q/bz2Qi8B3Ag1ZBPKzlhr/f6NwADG8PzqWqqw78T+LbsheY7+2zJpZnjYZFfnGA5P3cFQS0vVxZNp5Wl4csIKeptuCC/m77LsgrpfNCs0u1zeAS3zADmS91iu9Mp/H2MswwifYuc7y++zwbd75j/2vtVjSc3VgS8UVxxEtUm5Lf1HDXDbQHvMlgk6aE/PlXCyhJkHZT7zD7AzIE0emBqjypPuB6yEhxajTk3C6n+He/1Qt2WhPDfjC1hLNMskzg7OZzPmRGpZn793WH/5aftEZC2mcARCNKfNY9V98dFcT3RXdnwPLL85Qm5xAzBFcDL0UwCVQwNSOE5V5GzJHdmikG/qwvIe8mtwt9/QyCI2Fa32Ux3pBO0Sy5+6+0lUms57oDFR1M+a0sXK0TK83ug+yEajDS6LiWJINbPdSotOI+RDjL4O9fvwU6M11fvo3esiC76XJF6or2cDSKvQsdIYwxkWXt+ZTEIFIgYgsx/i+el5mozNOErgQPDyo2LErqD2qu/UaxWcY9ApDR37JBot6Y+I5cp90jgVE+5zWf4GeA311HMxvPYxtMfPiA/OgU31ZCqPMrV82efgl8L6JChI13JHhMgMQaMGvigTW8zdtUgoW9KyOXJ39KBUsYrsa3Hb0YmrgzHFI5uDhN6WGNKzEz0UdsE2pNBpqPvtlmtZe2raGNzJIuhAYIGNQvh5zpDHgNIHRi8umku1Lw7pQBIACgoYHeVlWSAhoNCAMuUERGQAMUAAWHDJvepwA/hvZ4J7LQ6XPuGcdpjfx7VZGKiXrVyvJ/Me10S+nZaEyci1EwvRDM+Fq24AZfXnFpyh5/rwX3ySDN9N/V+q5/YUzmFa3P7WATG0pUGKIYIonpidRW6mtfiGhk67sP1dmy/RogP3MJJt7DwCRcb240yxxfEIMop6VrWl8GmQmiKXKzYzrbKDU+n94M8o0MEBE13iwQSqsi003ps/V08oySodOi3/pQxZuNWi0sCgyG524Vrh4xsZ7i3j38dqIK+0wK5gifpByoymzEgECx3tfgvbaKLqnl0NqVs9oISenvM4ZoH+gUamE7JsWmFPx8UDC0qQ8fDC0Tc9CjMVI2SygpiFWLKIMlWQtBAvI5VzhI6cerZcDOq0f7CUVkWdn1PdchPKXc1I0ODgoZQ71Zk06IIv6wyx00+uVhjrCc/Ob3MNXycjKCs3Q5JcZJBrhrBIpNpX69Sp/aO3JJV7j45UyEBPYUIfjD/ZjcsscFNFA3QhrSnOxxN1Xlt14WQejojHgLrYAePCpAId3yA0mAm8CQNYuSI83XAoA06KUVekiRaI7C6HyGPZVbr0NRd3Y9yv8o1zvjbEE1LolA0fao9XldhHKPwF+RP4tVyIi3qq1N2BQeoNxosdWlucLv9vYGgagT6v+v0Cg7nn/+dDwa/upbNf+K9iWNxVqBGpKGbofz1PrsPqu25eDtav0Oz6+9ocm3vu/dqe3PIGTHOCw7YUCqrKBn04tOlCwS0PTg/o9N2r8vq5Ap4CztDFJuXGUD7t6+YcnSjwi2LCcjNDF8vNFGUv2fFjPfRDgA==") no-repeat center / contain;
  z-index: 1;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.nyx-player .cover img,
.nyx-player .cover-placeholder {
  object-fit: contain;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
}

.nyx-player .cover-placeholder {
  background: var(--primary-color-a);
}

@keyframes nyx-spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes nyx-needle-pause {
  0% {
    transform: rotateZ(-35deg);
  }
  100% {
    transform: rotateZ(-60deg);
  }
}

@keyframes nyx-needle-resume {
  0% {
    transform: rotateZ(-60deg);
  }
  100% {
    transform: rotateZ(-35deg);
  }
}

.nyx-player .cover.playing::before {
  animation: nyx-needle-resume 0.5s 1 normal linear forwards;
}

.nyx-player .cover-blur-in {
  animation: nyx-cover-in 0.8s ease-in-out forwards;
}

@keyframes nyx-cover-in {
  0% {
    filter: blur(10px);
  }
  to {
    filter: blur(0);
  }
}

/* ---- 歌词 ---- */
.nyx-player .lrc ul {
  margin: 0;
}

.nyx-player .lrc p {
  font-size: 0.75rem;
  color: var(--primary-text);
  line-height: 1rem;
  height: 1rem;
  padding: 0;
  margin: 0;
  transition: all 0.5s ease-out;
  opacity: 0.3;
  overflow: hidden;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
}

.nyx-player .lrc p.current {
  opacity: 1;
  overflow: hidden;
  height: auto;
  min-height: 1rem;
  max-height: 3rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* 卡拉 OK 逐字（R4 8.3）：当前行内已唱到的词点亮 */
.nyx-player .lrc p.current .word.active {
  color: var(--primary-color);
}

/* ---- 播放列表 ---- */
.nyx-player .playlist {
  border-top: 0.125rem solid var(--playlist-line);
}

.nyx-player .tabs .nav li::before {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  top: 1.75rem;
  bottom: 0;
  transition: all 0.2s ease-in-out;
  border-bottom: 0.125rem solid transparent;
}

.nyx-player .tabs .nav li.active::before {
  border-bottom-color: var(--primary-color);
  left: 0;
  right: 0;
}

.nyx-song-list {
  height: 12.5rem;
  border-top: none;
  counter-reset: nyx-counter;
  margin: 0.625rem 0 0;
  padding: 0.3125rem 0;
  padding-left: 0;
  list-style: none;
  font-size: 0.8125em;
}

.nyx-song-list > li {
  height: 2rem;
  padding: 0.3125rem 0.9375rem 0.3125rem 1.5625rem;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

.nyx-player .nyx-song-list > li::before {
  content: counter(nyx-counter);
  counter-increment: nyx-counter;
  position: relative;
  display: inline-block;
  width: 1.875rem;
  margin-left: -1.25rem;
  text-align: right;
  padding-right: 0.3125rem;
  color: var(--secondary-text);
  flex-shrink: 0;
}

.nyx-player .nyx-song-list > li:hover::before {
  color: var(--primary-color);
}

.nyx-player .nyx-song-list > li.current {
  color: var(--primary-color);
}

.nyx-player .nyx-song-list > li.current::before {
  color: currentColor;
}

.nyx-player .nyx-song-list .progress-text {
  line-height: 2rem;
  pointer-events: none;
  z-index: 2;
}

.nyx-player .nyx-loading {
  color: var(--secondary-text);
  text-align: center;
  padding: 2rem 0;
}

/* ---- Mini 形态（R4 8.4） ---- */
.nyx-player.nyx-minibar {
  box-shadow: 0 0.625rem 1.875rem -0.9375rem var(--box-bg-shadow);
  background: var(--player-background);
  -webkit-backdrop-filter: blur(0.625rem);
  backdrop-filter: blur(0.625rem);
  color: var(--primary-text);
  right: 3.5rem;
  bottom: 1rem;
}

.nyx-minibar button {
  border: none;
  background: none;
  color: inherit;
  cursor: pointer;
  padding: 0.25rem;
  flex-shrink: 0;
}

.nyx-minibar button:hover {
  color: var(--hover-btn);
}

.nyx-minibar-placeholder {
  background: var(--primary-color-a);
}

.nyx-minibar span.truncate {
  max-width: 8rem;
}

.hyacine-statistics-charts.chart-section {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 1.5rem;
  }

  .hyacine-statistics-charts .chart-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .hyacine-statistics-charts .chart-card {
    border-radius: 0.875rem;
    background: var(--surface-card, color-mix(in srgb, var(--grey-1, #fff) 96%, transparent));
    border: 1px solid var(--border-color-card, color-mix(in srgb, var(--grey-4, #ccc) 24%, transparent));
    box-shadow: var(--shadow-card-soft, 0 4px 16px rgba(0, 0, 0, 0.04));
    padding: 1.25rem 1rem;
    overflow: hidden;
  }

  .hyacine-statistics-charts .chart-canvas {
    width: 100%;
    height: 320px;
  }

  @media (min-width: 48rem) {
    .hyacine-statistics-charts .chart-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }/* Footer component minimal CSS
   Most styles are applied via UnoCSS classes in the component
   This file contains only complex animations and fallback styles
*/

@layer components {
  #footer {
    position: relative;
    z-index: var(--z-base);
    color: var(--grey-5);
    font-size: 0.875rem;
  }

  #footer .inner {
    margin: 2rem auto 0.625rem;
    width: calc(100% - 0.625rem);
    position: relative;
    padding-left: 0;
    padding-right: 0;
  }

  @media (min-width: 1024px) {
    #footer .inner {
      width: min(72.5rem, calc(100% - 0.625rem));
    }

    body[data-layout-mode="two-column"] #footer .inner,
    body[data-layout-mode="three-column"] #footer .inner {
      padding-left: 15.875rem;
    }
  }

  @media (min-width: 1440px) {
    #footer .inner {
      width: 73%;
    }

    body[data-layout-mode="three-column"] #footer .inner {
      padding-left: 0;
    }
  }

  @media (max-width: 1023px) {
    #footer .inner {
      width: auto;
    }
  }

  .with-love {
    display: inline-block;
    margin: 0 0.3125rem 0 0.125rem;
  }

  .icp img {
    display: inline-block;
    vertical-align: middle;
  }

  a {
    transition: opacity 0.3s ease;
  }

  .powered-by,
  .theme-info {
    display: inline-block;
  }

  .site-uptime {
    color: var(--grey-6);
  }
}
.inner[data-astro-cid-63k7wqxu] {
  margin: 0 auto .625rem;
  position: relative;
}

@media (width >= 1024px) {
  .inner[data-astro-cid-63k7wqxu] {
    max-width: 1160px;
  }
}

@media (width >= 1440px) {
  .inner[data-astro-cid-63k7wqxu] {
    max-width: 1340px;
  }
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizelegibility;
}
