@layer base{a{color:inherit;text-decoration:inherit}img{max-width:100%;height:auto;display:block}}.typography{--typography-body: var(--color-gray-600);--typography-headings: var(--color-gray-900);--typography-quotes: var(--color-gray-500);--typography-quotes-border: var(--color-gray-200);--typography-links: var(--color-accent-500);--typography-link-hover: var(--color-accent-600);--typography-link-underline: color-mix(in srgb, var(--color-accent-400) 40%, transparent);--typography-link-hover-underline: color-mix(in srgb, var(--color-accent-600) 40%, transparent);--typography-pre: var(--color-gray-300);--typography-pre-shadow: var(--shadow-md);--typography-bold: var(--color-gray-900);--typography-kbd: var(--color-gray-600);--typography-kbd-border: var(--color-gray-200);--typography-kbd-bg: var(--color-gray-50);--typography-code: var(--color-gray-900);--typography-hr: color-mix(in srgb, var(--color-gray-900) 5%, transparent);--typography-th-borders: color-mix(in srgb, var(--color-gray-900) 20%, transparent);--typography-td-borders: color-mix(in srgb, var(--color-gray-900) 5%, transparent);--shiki-color-text: var(--color-white);--shiki-token-constant: var(--color-emerald-300);--shiki-token-string: var(--color-emerald-300);--shiki-token-comment: var(--color-gray-500);--shiki-token-keyword: var(--color-sky-300);--shiki-token-parameter: var(--color-pink-300);--shiki-token-function: var(--color-violet-300);--shiki-token-string-expression: var(--color-emerald-300);--shiki-token-punctuation: var(--color-gray-200);[data-theme=dark] &{--typography-body: var(--color-gray-300);--typography-headings: var(--color-white);--typography-quotes: var(--color-gray-400);--typography-quotes-border: var(--color-gray-800);--typography-links: var(--color-accent-400);--typography-link-hover: var(--color-white);--typography-link-underline: color-mix(in srgb, var(--color-accent-400) 40%, transparent);--typography-link-hover-underline: color-mix(in srgb, var(--color-white) 40%, transparent);--typography-pre: var(--color-gray-400);--typography-pre-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-white) 10%, transparent);--typography-bold: var(--color-white);--typography-kbd: var(--color-white);--typography-kbd-border: var(--color-gray-800);--typography-kbd-bg: var(--color-gray-900);--typography-code: var(--color-white);--typography-hr: color-mix(in srgb, var(--color-white) 10%, transparent);--typography-th-borders: color-mix(in srgb, var(--color-white) 10%, transparent);--typography-td-borders: color-mix(in srgb, var(--color-white) 5%, transparent)}color:var(--typography-body);font-size:var(--text-sm);line-height:1.5rem;h2{font-family:Karla,system-ui,sans-serif;color:var(--typography-headings);font-weight:600;font-size:var(--text-xl);line-height:2rem}h3{color:var(--typography-headings);font-family:Karla,system-ui,sans-serif;font-weight:600;font-size:var(--text-base);line-height:1.5rem;display:flex;align-items:center;column-gap:.75rem}h3>svg{flex:none;width:1rem;height:1rem}h4{color:var(--typography-headings);font-family:Karla,system-ui,sans-serif;font-weight:600;font-size:var(--text-sm);line-height:1.5rem}blockquote{border-left:3px solid var(--typography-quotes-border);padding-left:1.5rem;color:var(--typography-quotes)}a:not(h2 a){font-weight:600;color:var(--typography-links);text-decoration:underline;text-decoration-color:var(--typography-link-underline);text-underline-offset:2px;transition-property:color,text-decoration-color;transition-duration:.15s;transition-timing-function:ease;&:hover{color:var(--typography-link-hover);text-decoration-color:var(--typography-link-hover-underline)}}strong{font-weight:600}strong:not(a strong){color:var(--typography-bold)}kbd{display:inline-block;border-radius:.25rem;background-color:var(--typography-kbd-bg);padding:0 .375rem;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;line-height:1.25rem;color:var(--typography-kbd);box-shadow:inset 0 0 0 1px var(--typography-kbd-border)}code{font-family:var(--font-mono)}code:not(a code,pre code){color:var(--typography-code)}code:not(pre code){font-size:calc(12 / 14 * 1em);line-height:1;font-weight:700;&:before{content:"`"}&:after{content:"`"}}pre{display:flex;background-color:var(--color-gray-900);border-radius:.5rem;overflow-x:auto;box-shadow:var(--typography-pre-shadow)}pre code{flex:none;padding:1.5rem;font-size:.8125rem;line-height:1.5rem;color:var(--typography-pre)}hr{border-color:var(--typography-hr)}ul,ol{padding-left:1.375rem}ul{list-style-type:disc}ol{list-style-type:decimal}li{padding-left:.625rem}li::marker{color:var(--color-gray-400)}ol>li::marker{font-size:var(--text-xs);font-weight:600}table{width:100%;text-align:left}thead{border-bottom:1px solid var(--typography-th-borders)}thead th{font-weight:600;padding-top:0;padding-bottom:calc(.5rem - 1px);color:var(--typography-headings)}tbody tr{border-bottom:1px solid var(--typography-td-borders)}tbody td{padding-top:calc(.5rem - 1px);padding-bottom:.5rem}:is(th,td):first-child{padding-left:0;padding-right:.5rem}:is(th,td):last-child{padding-left:.5rem;padding-right:0}:is(th,td):not(:first-child,:last-child){padding-left:.5rem;padding-right:.5rem}img{position:relative;overflow:hidden;border-radius:.75rem;background-color:var(--color-gray-50);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-gray-900) 10%,transparent)}[data-theme=dark] & img{background-color:var(--color-gray-900);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-white) 10%,transparent)}>*{margin-top:1.5rem}:is(h2,h3,h4,blockquote,pre,table){margin-top:2rem}hr{margin-top:calc(4rem - 1px)}li{margin-top:1rem}li>:is(p,ol,ul){margin-top:1rem}:is(h2,h3,h4)+*{margin-top:1rem}:is(blockquote,pre,table)+*{margin-top:2rem}hr+*{margin-top:4rem}>:first-child,li>:first-child{margin-top:0}}.cl-theme-corner{position:fixed;top:1rem;right:1.5rem;z-index:50}.cl-theme-selector{position:relative}.cl-theme-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.5rem;border:none;cursor:pointer;background:var(--color-white);color:var(--color-gray-400);outline:1px solid var(--color-gray-200);box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;transition:color .15s,outline-color .15s}:root[data-theme=dark] .cl-theme-btn{background:var(--color-gray-800);outline-color:var(--color-gray-700)}.cl-theme-btn:hover{color:var(--color-gray-900);outline-color:var(--color-gray-400)}:root[data-theme=dark] .cl-theme-btn:hover{color:#fff;outline-color:var(--color-gray-500)}.cl-theme-btn:not(.cl-is-system){color:var(--color-accent-500)}:root[data-theme=dark] .cl-theme-btn:not(.cl-is-system){color:var(--color-accent-400)}.cl-theme-btn svg{width:1rem;height:1rem}:root[data-theme=light] .cl-icon-moon{display:none}:root[data-theme=light] .cl-icon-sun{display:block}:root[data-theme=dark] .cl-icon-sun{display:none}:root[data-theme=dark] .cl-icon-moon{display:block}.cl-theme-dropdown{display:none;position:absolute;top:calc(100% + .5rem);right:0;z-index:10;width:9rem;padding:.375rem;border-radius:.75rem;background:var(--color-white);outline:1px solid var(--color-gray-200);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}:root[data-theme=dark] .cl-theme-dropdown{background:var(--color-gray-800);outline-color:var(--color-gray-700)}.cl-theme-dropdown.cl-open{display:flex;flex-direction:column;gap:.125rem}.cl-theme-option{display:flex;align-items:center;gap:.625rem;width:100%;padding:.25rem;border:none;border-radius:.5rem;background:none;color:var(--color-gray-500);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .1s,color .1s;text-align:start}.cl-theme-option:hover{background:var(--color-gray-100);color:var(--color-gray-900)}:root[data-theme=dark] .cl-theme-option:hover{background:var(--color-gray-700);color:#fff}.cl-theme-option.cl-selected{color:var(--color-accent-500)}:root[data-theme=dark] .cl-theme-option.cl-selected{color:var(--color-accent-400)}.cl-option-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:.375rem;flex-shrink:0;background:var(--color-white);outline:1px solid var(--color-gray-200);box-shadow:0 1px 2px #0000000d}:root[data-theme=dark] .cl-option-icon{background:var(--color-gray-700);outline-color:var(--color-gray-600)}.cl-option-icon svg{width:.875rem;height:.875rem}.cl-theme-option.cl-selected .cl-option-icon svg{color:var(--color-accent-500)}:root[data-theme=dark] .cl-theme-option.cl-selected .cl-option-icon svg{color:var(--color-accent-400)}.cl-theme-option:not(.cl-selected) .cl-option-icon svg{color:var(--color-gray-400)}
