:root,[data-theme=dark]{--color-bg:#161826;--color-surface:#232532;--color-text:#e9e9ed;--color-accent:#9184d9;--color-divider:color-mix(in srgb,#e9e9ed 16%,transparent);--color-neutral-100:#f3f5fe;--color-neutral-200:#e4e7f5;--color-neutral-300:#cfd3e5;--color-neutral-400:#b2b6ca;--color-neutral-500:#9397ab;--color-neutral-600:#75798c;--color-neutral-700:#595d6c;--color-neutral-800:#3f424d;--color-neutral-900:#292b31;--color-accent-100:#f5f4ff;--color-accent-200:#e7e5fe;--color-accent-300:#d2cefd;--color-accent-400:#b5abfc;--color-accent-500:#968ae0;--color-accent-600:#796cbf;--color-accent-700:#5d5294;--color-accent-800:#423a6a;--color-accent-900:#2b2741;--shadow-sm:0 0 0 1px #3f424d;--shadow-md:0 0 0 1px #595d6c,0 6px 18px rgba(0,0,0,.55);--shadow-lg:0 0 0 1px #9397ab,0 16px 40px rgba(0,0,0,.65);--tile:#f3f5fe;color-scheme:dark}[data-theme=light]{--color-bg:#f3f5fe;--color-surface:#e4e7f5;--color-text:#292b31;--color-accent:#796cbf;--color-divider:color-mix(in srgb,#292b31 16%,transparent);--color-neutral-100:#292b31;--color-neutral-200:#292b31;--color-neutral-300:#3f424d;--color-neutral-400:#595d6c;--color-neutral-500:#75798c;--color-neutral-600:#9397ab;--color-neutral-700:#b2b6ca;--color-neutral-800:#cfd3e5;--color-neutral-900:#e4e7f5;--color-accent-100:#2b2741;--color-accent-200:#423a6a;--color-accent-300:#5d5294;--color-accent-400:#796cbf;--color-accent-500:#968ae0;--color-accent-600:#b5abfc;--color-accent-700:#d2cefd;--color-accent-800:#d2cefd;--color-accent-900:#e7e5fe;--shadow-sm:0 0 0 1px #cfd3e5;--shadow-md:0 0 0 1px #cfd3e5,0 6px 18px rgba(41,43,49,.1);--shadow-lg:0 0 0 1px #b2b6ca,0 16px 40px rgba(41,43,49,.14);--tile:#f3f5fe;color-scheme:light}:root{--color-section:#262a60;--color-section-glow:#353b80;--color-section-ghost:#4c5397;--radius-sm:4px;--radius-md:8px;--radius-lg:14px}[data-theme=light] .lighten{mix-blend-mode:normal}.lighten{mix-blend-mode:lighten;background-color:transparent}.nt-root{min-height:100vh;background:var(--color-bg);color:var(--color-text);overflow-x:clip;transition:background-color .2s}.nt-page{background:radial-gradient(60% 40% at 0 0,var(--color-accent-900),transparent 70%)}.nt-page[data-glow=top-right]{background:radial-gradient(60% 40% at 100% 0,var(--color-accent-900),transparent 70%)}.nt-page[data-glow=top-center]{background:radial-gradient(60% 40% at 50% 0,var(--color-accent-900),transparent 70%)}.nt-page[data-glow=bottom-left]{background:radial-gradient(60% 40% at 0 100%,var(--color-accent-900),transparent 70%)}.nt-page[data-glow=none]{background:none}.nt-wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}.nt-rule{height:1px;background:linear-gradient(90deg,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent)}.nocturne,.nocturne *,.nocturne :after,.nocturne :before{box-sizing:border-box}.nocturne{font-family:var(--font-inter,Inter,system-ui,sans-serif);font-size:15px;line-height:1.55;font-weight:400}.nocturne h1,.nocturne h2,.nocturne h3,.nocturne h4,.nocturne h5,.nocturne h6{font-weight:500;line-height:1.12;letter-spacing:-.015em;margin:0}.nocturne a{color:inherit;text-decoration:none;transition:color .15s}.nocturne a:hover{color:var(--color-accent-300)}.nocturne img{display:block;max-width:100%}.nocturne figure{margin:0}.nocturne ::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.nocturne :focus{outline:none}.nocturne :focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.nocturne .text-muted{color:color-mix(in srgb,var(--color-text) 55%,transparent)}.nocturne .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;font-family:inherit;font-weight:500;font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:10px 14px;border-radius:var(--radius-md);transition:background-color .15s,color .15s,border-color .15s}.nocturne .btn svg{display:block}.nocturne .btn:disabled{opacity:.45;cursor:not-allowed}.nocturne .btn-primary{color:var(--color-accent);border-color:var(--color-accent)}.nocturne .btn-primary:hover{background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent)}.nocturne .btn-primary:active{background:color-mix(in srgb,var(--color-accent) 22%,transparent)}.nocturne .btn-secondary{border-color:var(--color-divider)}.nocturne .btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.nocturne .btn-secondary:active{background:color-mix(in srgb,var(--color-text) 14%,transparent)}.nocturne .btn-ghost{color:var(--color-accent);padding-inline:4px}.nocturne .btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent)}.nocturne .btn-ghost:active{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.nocturne .btn-icon{width:36px;height:36px;padding:0}.nocturne .btn-block{width:100%}.nocturne .field>label{display:block;font-size:12px;margin-bottom:5px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.nocturne .input{width:100%;min-height:48px;padding:12px 14px;font:inherit;font-size:16px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);transition:border-color .15s}.nocturne .input::placeholder{color:var(--color-neutral-500)}.nocturne .input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}.nocturne .input:focus-visible{border-color:var(--color-accent);outline:none}.nocturne textarea.input{min-height:120px;resize:vertical}.nocturne .radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:15px}.nocturne .radio input,.nocturne .seg-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.nocturne .radio .dot{width:18px;height:18px;flex:none;border-radius:50%;border:1.5px solid var(--color-divider);transition:border-color .15s,background-color .15s}.nocturne .radio:hover .dot{border-color:var(--color-accent)}.nocturne .radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 5px var(--color-bg)}.nocturne .radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.nocturne .seg{display:inline-flex;overflow:hidden;border:1px solid var(--color-divider);border-radius:var(--radius-md)}.nocturne .seg-opt{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;font-size:14px;cursor:pointer;transition:background-color .15s,color .15s,box-shadow .15s}.nocturne .seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.nocturne .seg-opt:has(input:checked){color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.nocturne .seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.nocturne .seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.nocturne .tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:6px}.nocturne .tag-accent{background:var(--color-accent-800);color:var(--color-accent-100)}.nocturne .tag-neutral{background:var(--color-neutral-800);color:var(--color-neutral-100)}.nocturne .tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nocturne .table{width:100%;border-collapse:collapse;font-size:15px}.nocturne .table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 60%,transparent)}.nocturne .table td,.nocturne .table th{padding:10px;border-bottom:1px solid transparent}.nocturne .table thead tr{background:linear-gradient(to right,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent) no-repeat bottom /100% 1px}.nocturne .table tbody tr{background:linear-gradient(to right,transparent,color-mix(in srgb,var(--color-text) 8%,transparent) 48px,color-mix(in srgb,var(--color-text) 8%,transparent) calc(100% - 48px),transparent) no-repeat bottom /100% 1px}.nocturne .nt-link-accent:hover{color:var(--color-accent-300)}.nocturne .nt-dark-only,.nocturne .nt-light-only{display:none}[data-theme=dark] .nocturne .nt-dark-only,[data-theme=light] .nocturne .nt-light-only{display:block}.nt-header{position:sticky;top:0;z-index:40;backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-bg) 82%,transparent)}.nocturne .nt-indexrow{color:var(--color-text)}.nocturne .nt-indexrow:focus-visible .nt-indexrow-title,.nocturne .nt-indexrow:hover .nt-indexrow-title{color:var(--color-accent-300)}.nocturne .nt-indexrow:focus-visible .nt-arrow,.nocturne .nt-indexrow:hover .nt-arrow{opacity:1}.nt-arrow{opacity:.35;transition:opacity .15s}.nocturne .nt-tile{transition:border-color .15s}.nocturne .nt-tile:hover{border-color:var(--color-accent-700)}@media (prefers-reduced-motion:reduce){.nocturne *,.nocturne :after,.nocturne :before{transition-duration:.01ms!important}}.nocturne .nt-prose{counter-reset:nt-h2;color:var(--color-neutral-300);font-size:18px;line-height:1.7}.nocturne .nt-prose>:first-child{margin-top:0}.nocturne .nt-prose h2{counter-increment:nt-h2;margin:56px 0 0;scroll-margin-top:100px;font-size:clamp(26px,2.6vw,32px);line-height:1.15;letter-spacing:-.025em;font-weight:500;color:var(--color-text)}.nocturne .nt-prose h2:before{content:counter(nt-h2,decimal-leading-zero);margin-right:16px;font-size:15px;color:var(--color-neutral-500);font-variant-numeric:tabular-nums;font-weight:500}.nocturne .nt-prose h3{margin:40px 0 0;font-size:22px;letter-spacing:-.02em;font-weight:500;color:var(--color-text);scroll-margin-top:100px}.nocturne .nt-prose h4{margin:32px 0 0;font-size:18px;font-weight:500;color:var(--color-text)}.nocturne .nt-prose p{margin:20px 0 0;text-wrap:pretty}.nocturne .nt-prose a{color:var(--color-accent-300);text-decoration:underline;text-underline-offset:3px}.nocturne .nt-prose strong{color:var(--color-text);font-weight:500}.nocturne .nt-prose ol,.nocturne .nt-prose ul{margin:20px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px}.nocturne .nt-prose li{display:flex;gap:14px;align-items:baseline;line-height:1.55}.nocturne .nt-prose li:before{content:"";width:14px;height:2px;background:var(--color-accent);flex:none;transform:translateY(-5px)}.nocturne .nt-prose li>ol,.nocturne .nt-prose li>ul{margin-top:10px}.nocturne .nt-prose img{margin:28px 0 0;border-radius:var(--radius-lg);border:1px solid var(--color-neutral-900)}.nocturne .nt-prose pre{margin:24px 0 0;padding:20px;overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-neutral-900);border-radius:var(--radius-lg);font-size:15px;line-height:1.7}.nocturne .nt-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.nocturne .nt-prose :not(pre)>code{background:var(--color-surface);border:1px solid var(--color-neutral-900);border-radius:4px;padding:1px 6px;color:var(--color-accent-300)}.nocturne .nt-prose blockquote{margin:24px 0 0;padding-left:16px;border-left:2px solid var(--color-accent);color:var(--color-neutral-300)}.nocturne .nt-prose table{margin:24px 0 0;width:100%;border-collapse:collapse;font-size:15px}.nocturne .nt-prose td,.nocturne .nt-prose th{text-align:left;padding:12px 16px;border-bottom:1px solid var(--color-neutral-900)}.nocturne .nt-prose thead th{background:var(--color-surface);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-400)}.nocturne .nt-prose hr{border:0;height:1px;background:var(--color-neutral-900);margin:40px 0 0}.nocturne .nt-prose .content-header-link{display:none}.nocturne .nt-toc-link{display:flex;gap:12px;padding:8px 0 8px 12px;font-size:15px;color:var(--color-neutral-400);border-left:2px solid var(--color-neutral-900)}.nocturne .nt-toc-link[data-active=true]{color:var(--color-accent-300);border-left-color:var(--color-accent)}.nocturne .nt-legal-body a{color:var(--color-accent-300);text-decoration:underline;text-underline-offset:3px}.nocturne .nt-legal-body strong{color:var(--color-text);font-weight:500}.nocturne .nt-legal-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--color-surface);border:1px solid var(--color-neutral-900);border-radius:4px;padding:1px 6px;font-size:.92em}.nocturne .nt-legal-nav a[data-active=true]{color:var(--color-accent-300);border-left-color:var(--color-accent)}