.norn-docs{--bg:#0a0b0f;--bg-card:#08090c;--text:#eef0f4;--text-body:#b7bdc9;--text-muted:#a7adba;--text-dim:#8b919d;--text-faint:#6c7280;--gold:#e9c583;--gold-hover:#f4d79c;--teal:#62d0c6;--red:#e08a8a;--border:hsla(0,0%,100%,.08);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.5;min-height:100vh}.norn-docs a{color:var(--gold);text-decoration:none}.norn-docs a:hover{color:var(--gold-hover)}.md-body{font-size:15.5px;color:var(--text-body);line-height:1.78}.md-body>:first-child{margin-top:0}.md-body h1{font-size:clamp(30px,3.6vw,40px);font-weight:700;color:var(--text);margin:0 0 10px;letter-spacing:-.025em}.md-body h2{font-size:23px;color:var(--text);margin:46px 0 14px;letter-spacing:-.015em;padding-top:8px}.md-body h2,.md-body h3{font-weight:600;scroll-margin-top:90px}.md-body h3{font-size:17px;color:#dfe3ea;margin:30px 0 10px}.md-body p{margin:0 0 15px}.md-body strong{color:var(--text);font-weight:600}.md-body em{color:#cfd4dd}.md-body a{border-bottom:1px solid hsla(39,70%,71%,.35)}.md-body ul{list-style:none;padding:0;margin:0 0 16px}.md-body ul li{position:relative;padding-left:22px;margin-bottom:9px}.md-body ul li:before{content:"\2014";position:absolute;left:0;top:0;color:var(--teal);font-family:var(--font-mono),"IBM Plex Mono",monospace}.md-body ol{padding-left:22px;margin:0 0 16px}.md-body ol li{margin-bottom:9px}.md-body ol li::marker{color:var(--gold);font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:13px}.md-body li code,.md-body p code{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:.86em;color:var(--teal);background:hsla(0,0%,100%,.06);padding:2px 6px;border-radius:4px}.md-body hr{border:none;border-top:1px solid var(--border);margin:32px 0}.md-body blockquote{margin:0 0 16px;padding:4px 0 4px 18px;border-left:2px solid hsla(39,70%,71%,.5);color:var(--text-muted);font-style:italic}.md-body table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:14px}.md-body td,.md-body th{border:1px solid var(--border);padding:8px 12px;text-align:left;vertical-align:top}.md-body th{background:hsla(0,0%,100%,.02);color:var(--text);font-weight:600}.code-block{border:1px solid hsla(0,0%,100%,.09);border-radius:9px;overflow:hidden;margin:0 0 20px;background:var(--bg-card)}.code-head{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-bottom:1px solid hsla(0,0%,100%,.06);letter-spacing:.1em;color:var(--text-faint);text-transform:uppercase}.code-head,.code-head button{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:11px}.code-head button{background:none;border:1px solid hsla(0,0%,100%,.12);color:var(--text-dim);padding:3px 11px;border-radius:5px;cursor:pointer;letter-spacing:.04em;transition:all .15s}.code-head button:hover{color:var(--gold);border-color:hsla(39,70%,71%,.4)}.code-block pre{margin:0;padding:16px;overflow-x:auto}.code-block pre code{display:block;background:none;padding:0;color:#cfd4dd;font-size:13px;line-height:1.75;font-family:var(--font-mono),"IBM Plex Mono",monospace;white-space:pre}.callout{border-left:2px solid;border-radius:0 8px 8px 0;padding:13px 16px;margin:0 0 20px;background:hsla(0,0%,100%,.02)}.callout p{margin:0;color:var(--text-body)}.callout p+p{margin-top:10px}.callout-label{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.callout-note{border-color:var(--teal)}.callout-note .callout-label{color:var(--teal)}.callout-tip{border-color:var(--gold)}.callout-tip .callout-label{color:var(--gold)}.callout-warning{border-color:var(--red)}.callout-warning .callout-label{color:var(--red)}