/* SPDX-License-Identifier: Apache-2.0. Copyright 2026 Hangry Labs. */
:root{color-scheme:dark;--page:#090909;--panel:rgba(18,17,16,.96);--text:#e7dfd8;--muted:#b8aca3;--accent:#ffa35c;--orange:#ff6b00;--line:#4b2d19;--header-height:84px;scroll-padding-top:calc(var(--header-height) + 24px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(ellipse at 75% 0%,#29190e 0,transparent 55%),var(--page);color:var(--text);font:16px/1.75 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:#ffd0a3}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:4px}
button{font:inherit;cursor:pointer}
#hangry-background{position:fixed;inset:0;width:100%;height:100%;z-index:-1;opacity:.22;pointer-events:none}
.skip-link{position:fixed;left:20px;top:-80px;z-index:20;background:var(--orange);color:#160a00;padding:10px 18px;font-weight:700}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:16px max(28px,calc((100% - 1424px)/2));background:rgba(10,10,10,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none;line-height:1.3}
.brand img{width:42px;height:42px;object-fit:contain;border-radius:9px}
.brand strong{display:block;color:#ffb878;font-size:17px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.site-navigation{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.site-navigation a{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid #5e351b;border-radius:8px;text-decoration:none;font-size:13px;line-height:1.5;color:#ffd0aa;white-space:nowrap;background:#18110c}
.site-navigation a:hover,.site-navigation a[aria-current]{border-color:var(--orange);background:#342011}
.site-navigation .nav-primary{background:#b34a00;border-color:#ff8b38;color:white;font-weight:700;box-shadow:0 0 22px #ff6b001a}
.language-picker{display:inline-flex;align-items:center}.language-picker[hidden]{display:none}
.language-picker select{font:inherit;font-size:13px;line-height:1.5;max-width:150px;padding:9px 10px;color:#ffd0aa;background:#18110c;border:1px solid #5e351b;border-radius:8px;cursor:pointer}
.language-picker select:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.translation-notice{margin:20px 24px 0;padding:10px 14px;background:#2c1c10;border-left:3px solid var(--orange);border-radius:4px;color:#ffd0aa;font-size:14px}
.site-grid{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;max-width:1440px;margin:28px auto 50px;padding:0 28px}
.site-grid.site-grid--wide,.site-grid:has(>.section-sidebar[hidden]),.site-grid:has(>.document:only-child){grid-template-columns:minmax(0,1fr);max-width:1280px}
.section-sidebar{min-width:0}.section-index{position:sticky;top:calc(var(--header-height) + 24px);max-height:calc(100vh - var(--header-height) - 48px);overflow:auto;scrollbar-width:thin}
.section-index summary{color:#ffbd87;cursor:pointer;font-size:13px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;padding:10px 8px;list-style:none}
.section-index summary::-webkit-details-marker{display:none}
#page-sections{display:flex;flex-direction:column;gap:3px;margin-top:9px}
#page-sections a{display:block;font-size:13px;line-height:1.55;padding:7px 10px;border-left:2px solid #3f2b1d;text-decoration:none;color:var(--muted);overflow-wrap:anywhere}
#page-sections a:hover,#page-sections a[aria-current]{color:#ffd0a3;background:#ff6b000a;border-color:var(--orange)}
.document{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 15px 80px #0005;overflow:hidden}
.readme-content{padding:32px 40px 40px;overflow-wrap:anywhere}
.readme-content>:first-child{margin-top:0}.readme-content>:last-child{margin-bottom:0}
.readme-content h1,.readme-content h2,.readme-content h3,.readme-content h4{color:#ffbb87;line-height:1.35;scroll-margin-top:calc(var(--header-height) + 24px)}
.readme-content h1{font-size:clamp(1.65rem,2.3vw,2.25rem);letter-spacing:-.035em;border-bottom:1px solid var(--line);padding-bottom:18px;margin:30px 0 20px}
.readme-content h2{font-size:1.55rem;border-bottom:1px solid var(--line);padding-bottom:12px;margin:42px 0 18px}
.readme-content h3{font-size:1.17rem;margin:28px 0 14px}.readme-content h4{font-size:1rem}
.readme-content p,.readme-content ul,.readme-content ol{margin:16px 0}.readme-content li{margin:5px 0}.readme-content ul,.readme-content ol{padding-left:25px}
.readme-content img{max-width:100%;height:auto;border-radius:8px;vertical-align:middle}
.readme-content>p:first-of-type img{max-width:820px;width:100%;height:auto}
.readme-content>p[align="center"]{line-height:2.1}
.readme-content>p[align="center"] a{white-space:nowrap}
.readme-content>p[align="center"] a:has(strong){display:inline-block;line-height:1.6;padding:9px 20px;background:#b34a00;color:#fff;border:1px solid #ff8b38;border-radius:9px;text-decoration:none;box-shadow:0 0 24px #ff6b0020}
.readme-content strong{color:#f8e9dc}
.readme-content code{font: .86em/1.6 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;color:#ffd3ad;background:#302015;padding:2px 5px;border-radius:4px}
.readme-content pre{position:relative;padding:44px 18px 18px;background:#070707;border:1px solid #372518;border-radius:9px;overflow:auto;scrollbar-width:thin;line-height:1.65;tab-size:2}
.readme-content pre code{font-size:13px;white-space:pre;word-break:normal;overflow-wrap:normal;background:none;color:#e5d8cd;padding:0;border-radius:0}
.copy-code{position:absolute;right:9px;top:8px;font-size:11px;line-height:1.6;border:1px solid #76411d;border-radius:5px;color:#ffbb87;background:#24170e;padding:3px 8px}
.readme-content details{margin:18px 0;padding:15px 18px;border:1px solid #654024;border-radius:8px;background:#110e0b}
.readme-content details[open]{padding-bottom:8px}.readme-content summary{cursor:pointer;color:#ffc598;font-weight:650;line-height:1.65}
.readme-content blockquote{margin:20px 0;padding:1px 18px;border-left:3px solid var(--orange);color:#d1beb0;background:#24180e}
.table-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;margin:20px 0}
.table-scroll:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px}
.readme-content table{width:max-content;min-width:100%;border-collapse:collapse;font-size:14px;overflow-wrap:normal;word-break:normal}
.readme-content th{text-align:left;color:#ffcb9f;background:#2c1c10}
.readme-content td,.readme-content th{max-width:32rem;padding:11px 13px;border:1px solid #53351e;vertical-align:top;overflow-wrap:break-word}
.readme-content tr:nth-child(even){background:#ff6b0005}
.readme-content td code{white-space:normal;overflow-wrap:break-word}
.readme-content hr{margin:30px 0;border:0;border-top:1px solid var(--line)}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 40px;padding:20px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.site-footer a{text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.highlight .c,.highlight .c1,.highlight .cm{color:#9a948c}.highlight .s,.highlight .s1,.highlight .s2{color:#c8d8aa}.highlight .k,.highlight .kd,.highlight .kn{color:#ffad76}.highlight .mi,.highlight .mf{color:#e7c695}.highlight .na,.highlight .nb{color:#a8c8de}.highlight .err{color:#f49a8d}
@media(max-width:1100px){.site-grid{grid-template-columns:185px minmax(0,1fr);gap:18px;padding:0 20px}.readme-content{padding:24px 28px}.site-footer{margin:0 28px}.site-header{padding:14px 20px}.brand small{display:none}}
@media(max-width:900px){.site-grid{grid-template-columns:1fr;gap:14px;margin-top:18px}.section-index{position:static;max-height:none;background:#17110c;border:1px solid var(--line);border-radius:8px;padding:0 9px}.section-index summary{list-style:disclosure-closed;text-transform:none;letter-spacing:0}.section-index[open] summary{list-style:disclosure-open}#page-sections{padding-bottom:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.site-header{align-items:flex-start;flex-direction:column;gap:12px;padding:12px 16px}.site-navigation{justify-content:flex-start;gap:6px;width:100%}.site-navigation a{padding:7px 10px;font-size:12px}.brand img{width:34px;height:34px}.brand strong{font-size:15px}.brand small{display:block;font-size:10px}.brand{gap:9px}.site-grid{padding:0 10px;margin-bottom:24px}.readme-content{padding:20px 16px}.site-footer{margin:0 16px;font-size:11px}.readme-content h2{font-size:1.3rem}.readme-content pre{margin-left:-6px;margin-right:-6px}.readme-content details{padding:12px}.document{border-radius:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,::before,::after{animation:none!important;transition:none!important}}
