:root{--scroll-chrome-size:6px;--scroll-chrome-inset:0px;--scroll-chrome-thumb:#ddded9;--scroll-chrome-thumb-hover:#c4c5bf}.dark{--scroll-chrome-thumb:#3a3a3a;--scroll-chrome-thumb-hover:#4a4a4a}.hide-scrollbar{scrollbar-width:none!important;-ms-overflow-style:none!important}.hide-scrollbar::-webkit-scrollbar{display:none!important}@supports ((-moz-appearance:none)){*{scrollbar-width:thin;scrollbar-color:var(--scroll-chrome-thumb) transparent}}::-webkit-scrollbar{width:var(--scroll-chrome-size);background-color:#0000}::-webkit-scrollbar:horizontal{display:none}::-webkit-scrollbar-track{background-color:#0000}::-webkit-scrollbar-thumb{background:var(--scroll-chrome-thumb);border:var(--scroll-chrome-inset) solid transparent;background-clip:padding-box;border-radius:4px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--scroll-chrome-thumb-hover)}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:#0000}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:#d1d5db;border:none;border-radius:2px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#9ca3af}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background:#6b7280}.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#9ca3af}.toc-scrollbar{scrollbar-width:thin;scrollbar-color:#6b72802e transparent}.toc-scrollbar::-webkit-scrollbar{width:4px}.toc-scrollbar::-webkit-scrollbar-button{width:0;height:0;display:none}.toc-scrollbar::-webkit-scrollbar-button:single-button{width:0;height:0;display:none}.toc-scrollbar::-webkit-scrollbar-button:single-button:vertical:decrement{width:0;height:0;display:none}.toc-scrollbar::-webkit-scrollbar-button:single-button:vertical:increment{width:0;height:0;display:none}.toc-scrollbar::-webkit-scrollbar-button:vertical:start:decrement{width:0;height:0;display:none}.toc-scrollbar::-webkit-scrollbar-button:vertical:start:increment{width:0;height:0;display:none}.toc-scrollbar::-webkit-scrollbar-button:vertical:end:decrement{width:0;height:0;display:none}.toc-scrollbar::-webkit-scrollbar-button:vertical:end:increment{width:0;height:0;display:none}.toc-scrollbar::-webkit-scrollbar-track{background:0 0}.toc-scrollbar::-webkit-scrollbar-thumb{background:#11182714;border:none;border-radius:999px}.toc-scrollbar::-webkit-scrollbar-thumb:hover{background:#11182733}.dark .toc-scrollbar{scrollbar-color:#9ca3af26 transparent}.dark .toc-scrollbar::-webkit-scrollbar-thumb{background:#ffffff1a}.dark .toc-scrollbar::-webkit-scrollbar-thumb:hover{background:#ffffff2e}
:root{--tt-app:#efefec;--tt-card:#fafaf8;--tt-card-edge:#e4e5e0;--tt-line:#e1e1dd;--tt-line-strong:#d4d4d0;--tt-menu-line:#ededed;--tt-surface-1:#fff;--tt-surface-2:#fff;--tt-control:#f1f2f5;--tt-shadow-modal:0 20px 56px #141e2829, 0 0 0 1px #0000000f;--tt-surface-3:#f2f4f3;--tt-surface-4:#fff;--tt-lane:var(--tt-card);--tt-bubble:#eeeeeb;--tt-on-bubble:#111827;--tt-text:#0d0d0d;--tt-reader-highlight:#dbeafe;--tt-reader-highlight-enter:#bfdbfe;--tt-reader-highlight-text:#172554;--tt-text-2:#535353;--tt-text-3:#7a7a7a;--tt-placeholder:#b5b5b5;--tt-row-active:#eeefea;--tt-row-hover:#eff1f3;--tt-row-selected:#e9eefb;--tt-toggle-off:#e2e3de;--tt-icon-default:#37352f;--tt-icon-default-bg:#37352f10;--tt-nav-hover:#ffffffb3;--tt-nav-active:#ffffffe6;--tt-inverse:#111;--tt-on-inverse:#fff;--tt-composer-edge:#e6e6e6;--tt-composer-shadow:0 4px 24px #0000000f;--tt-accent:#4b65ea;--tt-danger:#d6454d;--tt-ghost-on:#eeefea;--tt-shadow-pop:0 8px 24px #141e281a, 0 0 0 1px #0000000f}.dark{--tt-app:#1c1f1e;--tt-card:#181818;--tt-card-edge:#2f3335;--tt-line:#2a2a2a;--tt-line-strong:#3c3c3c;--tt-menu-line:#3c3c3c;--tt-surface-1:#2a2a2a;--tt-surface-2:#2d2d2d;--tt-control:#3a3a3a;--tt-shadow-modal:0 24px 64px #0000008c, 0 0 0 1px #ffffff0d;--tt-surface-3:#2f2f2f;--tt-surface-4:#363636;--tt-lane:#1e1f1f;--tt-bubble:#2f2f2f;--tt-on-bubble:#f3f3f3;--tt-text:#f3f3f3;--tt-reader-highlight:#425d80;--tt-reader-highlight-enter:#536f94;--tt-reader-highlight-text:#fff;--tt-text-2:#c8c8c8;--tt-text-3:#a5a5a5;--tt-placeholder:#787878;--tt-row-active:#2c2d2f;--tt-row-hover:#3d3d3d;--tt-row-selected:#252b3f;--tt-toggle-off:#3a3a3a;--tt-icon-default:#c8c8c8;--tt-icon-default-bg:#2f2f2f;--tt-nav-hover:#252929;--tt-nav-active:#2b3336;--tt-inverse:#fbfbfb;--tt-on-inverse:#141414;--tt-composer-edge:#ffffff0a;--tt-composer-shadow:none;--tt-accent:#7c8cf7;--tt-danger:#e5646a;--tt-ghost-on:#2a2a2a;--tt-shadow-pop:0 8px 24px #0006, 0 0 0 1px #ffffff0d}
:root{--spacing:.25rem}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@keyframes scroll-fade-reveal-t{0%{--scroll-fade-t:0px}to{--scroll-fade-t:var(--_scroll-fade-size-t,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}}@keyframes scroll-fade-reveal-b{0%{--scroll-fade-b:var(--_scroll-fade-size-b,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}to{--scroll-fade-b:0px}}.scroll-fade,.scroll-fade-y{--_scroll-fade-size-t:var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));--_scroll-fade-size-b:var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));--scroll-fade-block:linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%);-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-block));-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-block));mask-image:var(--scroll-fade-mask,var(--scroll-fade-block));-webkit-mask-composite:source-in;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}@supports (animation-timeline:scroll()){.scroll-fade,.scroll-fade-y{animation:1ms ease-in-out scroll-fade-reveal-t,1ms ease-in-out scroll-fade-reveal-b;animation-timeline:scroll(self y),scroll(self y);animation-range:0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%;animation-fill-mode:both}}@supports not (animation-timeline:scroll()){.scroll-fade,.scroll-fade-y{--scroll-fade-t:0px;--scroll-fade-b:var(--_scroll-fade-size-b)}}.scroll-fade-none{--scroll-fade-mask:none}.scroll-fade-2,.scroll-fade.scroll-fade-2,.scroll-fade-y.scroll-fade-2{--scroll-fade-size:calc(var(--spacing) * 2)}.scroll-fade-4,.scroll-fade.scroll-fade-4,.scroll-fade-y.scroll-fade-4{--scroll-fade-size:calc(var(--spacing) * 4)}.scroll-fade-5,.scroll-fade.scroll-fade-5,.scroll-fade-y.scroll-fade-5{--scroll-fade-size:calc(var(--spacing) * 5)}.scroll-fade :is(h1,h2,h3,h4,h5,h6,[data-message-id]),.scroll-fade-y :is(h1,h2,h3,h4,h5,h6,[data-message-id]){scroll-margin-top:var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))}.scroll-fade.scroll-fade-sticky-pinned,.scroll-fade-y.scroll-fade-sticky-pinned{--scroll-fade-mask:linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-b,var(--_scroll-fade-size-b,0px))), transparent 100%)}
@property --shimmer-track-height{syntax:"<length>";inherits:true;initial-value:200px}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:15deg}@theme inline{@keyframes tw-shimmer { from { background-position: 100% 0; } }}@utility shimmer{--_gradient-width: calc(var(--_spread) + var(--shimmer-track-height) * tan(var(--shimmer-angle))); --_active-distance: calc(var(--shimmer-track-width,200px) + var(--_gradient-width)); --_duration: var(--shimmer-duration,calc(var(--_active-distance) / var(--_speed) / 1px * 1000)); --_repeat-delay: var(--shimmer-repeat-delay,calc(20000 / var(--_speed))); --_repeat-delay-px: calc(var(--_repeat-delay) * var(--_active-distance) / var(--_duration)); --_xy-offset-px: calc((var(--shimmer-x,0) + var(--shimmer-y,0) * tan(var(--shimmer-angle))) * 1px); --_bg-width: calc(100% + var(--shimmer-track-width,100%) + var(--_gradient-width) + var(--_repeat-delay-px)); --_position: calc(var(--shimmer-track-width,(100% - var(--_gradient-width) - var(--_repeat-delay-px)) / 2) + var(--_gradient-width) / 2 + var(--_repeat-delay-px) - var(--_xy-offset-px)); &:not(.shimmer-bg) { --_speed: var(--shimmer-speed,200); --_spread: var(--shimmer-spread,calc(4ch + 80px)); --_bg: currentColor; --_fg: var(--shimmer-color,oklch(from currentColor l c h / calc(alpha* .2))); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; } @variant dark { &:not(.shimmer-bg) { --_fg: var(--shimmer-color,oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4))); } } @-moz-document url-prefix() { &:not(.shimmer-bg) { --_duration: var(--shimmer-duration,calc(375000 / var(--_speed))); } }  --_mix-96: color-mix(in oklch, var(--_fg), var(--_bg) 96%); --_mix-83: color-mix(in oklch, var(--_fg), var(--_bg) 83%); --_mix-67: color-mix(in oklch, var(--_fg), var(--_bg) 67%); --_mix-50: color-mix(in oklch, var(--_fg), var(--_bg) 50%); --_mix-33: color-mix(in oklch, var(--_fg), var(--_bg) 33%); --_mix-17: color-mix(in oklch, var(--_fg), var(--_bg) 17%); --_mix-4: color-mix(in oklch, var(--_fg), var(--_bg) 4%); background: linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_bg) calc(var(--_position) - var(--_spread) * .5), var(--_mix-96) calc(var(--_position) - var(--_spread) * .44), var(--_mix-83) calc(var(--_position) - var(--_spread) * .37), var(--_mix-67) calc(var(--_position) - var(--_spread) * .31), var(--_mix-50) calc(var(--_position) - var(--_spread) * .25), var(--_mix-33) calc(var(--_position) - var(--_spread) * .19), var(--_mix-17) calc(var(--_position) - var(--_spread) * .12), var(--_mix-4) calc(var(--_position) - var(--_spread) * .06), var(--_fg) var(--_position), var(--_mix-4) calc(var(--_position) + var(--_spread) * .06), var(--_mix-17) calc(var(--_position) + var(--_spread) * .12), var(--_mix-33) calc(var(--_position) + var(--_spread) * .19), var(--_mix-50) calc(var(--_position) + var(--_spread) * .25), var(--_mix-67) calc(var(--_position) + var(--_spread) * .31), var(--_mix-83) calc(var(--_position) + var(--_spread) * .37), var(--_mix-96) calc(var(--_position) + var(--_spread) * .44), var(--_bg) calc(var(--_position) + var(--_spread) * .5)) 0 0 / var(--_bg-width) 100% no-repeat; animation: tw-shimmer 1s linear 0s infinite backwards; animation-duration: calc((var(--_duration) + var(--_repeat-delay)) * 1ms);}@utility shimmer-bg{--_speed: var(--shimmer-speed,1000); --_spread: var(--shimmer-spread,480px); --_bg: transparent; --_fg: var(--shimmer-color,oklch(from currentColor 0 c h / .06)); @-moz-document url-prefix() { &.shimmer { --_duration: var(--shimmer-duration,calc(1500000 / var(--_speed))); } } @variant dark { --_fg: var(--shimmer-color,oklch(from currentColor 0 c h / .3)); }}@utility shimmer-speed-*{--shimmer-speed: --value(number);}@utility shimmer-duration-*{--shimmer-duration: --value(integer);}@utility shimmer-repeat-delay-*{--shimmer-repeat-delay: --value(integer);}@utility shimmer-invert{&:not(.shimmer-bg) { --shimmer-color: oklch(from currentColor min(calc(l - .4), .2) c h / calc(alpha + .4)); @variant dark { --shimmer-color: oklch(from currentColor l c h / calc(alpha * .2)); } }}@utility shimmer-color-*{--alpha: 100%; --alpha: calc(--modifier(integer) * 1%); --shimmer-color: --alpha(--value(--color, [color]) / var(--alpha,100%));}@utility shimmer-spread-*{--shimmer-spread: calc(--value(integer) * 1px);}@utility shimmer-angle-*{--shimmer-angle: calc(--value(integer) * 1deg);}@utility shimmer-container{container-type: inline-size; & .shimmer { --shimmer-track-width: 100cqw; --shimmer-track-height: max(100cqh, 50cqw, 200px); }}
