:root{--background:#1a1a1a;--foreground:#e0e0e0;--accent:#ffb366}body.light-theme{--background:#f5f5f5;--foreground:#1a1a1a;--accent:#e67300}.theme-toggle{position:fixed;bottom:20px;right:20px;width:44px;height:44px;border-radius:50%;border:2px solid var(--accent);background:var(--background);color:var(--accent);cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;z-index:9998;transition:transform .2s ease}.theme-toggle:hover{transform:scale(1.1)}.reading-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:var(--accent);z-index:9999;transition:width .1s ease-out}body.light-theme code[class*=language-],body.light-theme pre[class*=language-]{color:#393a34;text-shadow:none}body.light-theme :not(pre)>code[class*=language-],body.light-theme pre[class*=language-]{background:#f6f8fa}body.light-theme .token.comment,body.light-theme .token.prolog,body.light-theme .token.doctype,body.light-theme .token.cdata{color:#6a737d}body.light-theme .token.punctuation{color:#393a34}body.light-theme .token.property,body.light-theme .token.tag,body.light-theme .token.boolean,body.light-theme .token.number,body.light-theme .token.constant,body.light-theme .token.symbol,body.light-theme .token.deleted{color:#d73a49}body.light-theme .token.selector,body.light-theme .token.attr-name,body.light-theme .token.string,body.light-theme .token.char,body.light-theme .token.builtin,body.light-theme .token.inserted{color:#22863a}body.light-theme .token.operator,body.light-theme .token.entity,body.light-theme .token.url,body.light-theme .language-css .token.string,body.light-theme .style .token.string{color:#d73a49}body.light-theme .token.atrule,body.light-theme .token.attr-value,body.light-theme .token.keyword{color:#005cc5}body.light-theme .token.function,body.light-theme .token.class-name{color:#6f42c1}body.light-theme .token.regex,body.light-theme .token.important,body.light-theme .token.variable{color:#e36209}.hanchor{margin-left:8px;visibility:visible;opacity:0;transition:opacity .2s ease;display:inline-flex;align-items:center;vertical-align:middle}.hanchor svg{display:block}.hanchor.copied{opacity:1;color:#22863a}.toast{position:fixed;bottom:80px;right:20px;background:var(--accent);color:var(--background);padding:10px 16px;border-radius:4px;font-size:14px;z-index:9999;opacity:0;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease}.toast.show{opacity:1;transform:translateY(0)}h1:hover .hanchor,h2:hover .hanchor,h3:hover .hanchor,h4:hover .hanchor,h5:hover .hanchor,h6:hover .hanchor,.hanchor:focus{opacity:1}details.expandable{border:2px solid var(--accent);border-radius:4px;padding:0;margin:1.5em 0;background:color-mix(in srgb,var(--background) 90%,var(--foreground))}details.expandable summary{padding:12px 16px;cursor:pointer;font-weight:700;color:var(--accent);list-style:none;display:flex;align-items:center;gap:8px}details.expandable summary::-webkit-details-marker{display:none}details.expandable summary::before{content:"▶";font-size:12px;transition:transform .2s ease}details.expandable[open] summary::before{transform:rotate(90deg)}details.expandable[open] summary{border-bottom:1px solid var(--accent)}details.expandable>*:not(summary){padding:16px 20px;margin:0}abbr[title],[data-tip]{position:relative;border-bottom:1px dotted var(--accent);text-decoration:none;cursor:help;color:var(--accent)}[data-tip]::after{content:attr(data-tip);visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:var(--foreground);color:var(--background);padding:8px 12px;border-radius:4px;font-size:14px;width:max-content;max-width:280px;z-index:100;margin-bottom:8px;transition:opacity .2s ease,visibility .2s ease;white-space:normal}[data-tip]:hover::after{visibility:visible;opacity:1}