@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/space-grotesk-latin-500-normal.woff2") format("woff2")}@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/space-grotesk-latin-700-normal.woff2") format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/ibm-plex-sans-latin-700-normal.woff2") format("woff2")}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2")}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/jetbrains-mono-latin-500-normal.woff2") format("woff2")}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/jetbrains-mono-latin-700-normal.woff2") format("woff2")}
:root{--ink:#22323f;--mut:#75899b;--line:#dce6f0;--paper:#fff;--bg:#eaf0f6;
--red:#e0202f;--deep:#284a72;--gold:#ffd400;--blue:#2a6ca8;
--ice:#f4f8fc;--glass:rgba(255,255,255,.44);--glassbd:rgba(150,180,212,.36);
--tint:rgba(58,124,190,.06);--step:26px;
--f-head:"Space Grotesk","Helvetica Neue",-apple-system,sans-serif;
--f-body:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
--f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);
background:
 radial-gradient(1100px 620px at 12% -6%,#dfe8f2 0%,transparent 62%),
 radial-gradient(900px 520px at 96% 4%,#e4ecf3 0%,transparent 58%),
 linear-gradient(180deg,#e9eef4 0%,#e4e9f0 100%);
background-attachment:fixed;
font:15.5px/1.72 var(--f-body);letter-spacing:-.003em;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.sc-main,.mc-h,.qsg h3,.chip,.sp-l,.pay-h{font-family:var(--f-head)}
.sp-v,.chip,.pay-v,td,.lb-u,.endmark{font-feature-settings:"tnum" 1}
header.bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;
padding:12px 26px;background:linear-gradient(180deg,rgba(46,80,120,.80),rgba(38,68,104,.74));
backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);
border-bottom:1px solid rgba(120,150,185,.22)}
header.bar img{height:34px;width:auto;display:block}
header.bar .t{margin-left:auto;text-align:right;color:#f2f5f9;font:700 12px/1.3 inherit}
header.bar .t small{display:block;color:#bcd8f2;font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:3px}
#toc{position:fixed;top:74px;bottom:22px;left:max(16px,calc(50vw - 640px));width:236px;
overflow-y:auto;overscroll-behavior:contain;padding:12px 8px 16px;z-index:20;
background:var(--glass);backdrop-filter:blur(20px) saturate(160%);
-webkit-backdrop-filter:blur(20px) saturate(160%);
border:1px solid var(--glassbd);border-radius:14px;
box-shadow:0 1px 0 rgba(255,255,255,.65) inset,0 8px 22px -16px rgba(22,42,68,.18)}
#toc::-webkit-scrollbar{width:7px}
#toc::-webkit-scrollbar-thumb{background:#cfd9e3;border-radius:9px}
#toc::before{content:attr(data-label);display:block;padding:4px 10px 9px;margin-bottom:6px;
border-bottom:1px solid var(--line);color:#94a3b8;
font:700 9.5px/1 var(--f-mono);letter-spacing:.22em;text-transform:uppercase}
#toc a{display:block;padding:4px 10px;border-left:2px solid transparent;border-radius:0 5px 5px 0;color:#475569;
text-decoration:none;font:500 12.5px/1.4 var(--f-body);letter-spacing:-.01em;
white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#toc a.top{font-weight:700;color:#1b466f}
#toc a.top+a.top{margin-bottom:7px;padding-bottom:9px;border-bottom:1px solid var(--glassbd)}
#toc a.sec{padding-left:22px;font-size:11.5px;color:#94a3b8}
#toc a:hover{color:#1b466f;background:rgba(58,124,190,.10)}
#toc a.on{color:var(--red);border-left-color:var(--red);font-weight:700;background:#fdf2f3}
#tocbtn{display:none}
@media(max-width:1180px){#toc{display:none}}
main{max-width:900px;margin:34px auto 120px;padding:56px clamp(22px,5vw,72px) 90px;
background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.58));
backdrop-filter:blur(30px) saturate(165%);-webkit-backdrop-filter:blur(30px) saturate(165%);
border:1px solid rgba(255,255,255,.75);
box-shadow:0 1px 0 rgba(255,255,255,.85) inset,0 12px 34px -22px rgba(22,42,68,.16);
border-radius:16px}
main[id],main [id]{scroll-margin-top:86px}
main#doc-top{scroll-margin-top:0}
html{scroll-behavior:smooth}
h1,h2,h3,h4{letter-spacing:-.028em;line-height:1.18;font-weight:700}
h1.lv-title{font-size:clamp(30px,4.4vw,42px);margin:0 0 34px;color:#1b466f;letter-spacing:-.035em}
h2.lv-ch{font-size:clamp(25px,3.2vw,32px);margin:0 0 22px;padding-bottom:14px;
border-bottom:1px solid var(--glassbd);color:#1b466f}
h2.lv-ch{--eb:"CHAPTER"}
h2.lv-ch{position:relative}
main>h2.lv-ch{margin-top:92px;padding-top:44px;border-top:1px solid var(--glassbd)}
main>h2.lv-ch:first-of-type{margin-top:56px}
main>h2.lv-ch::after{content:"";position:absolute;top:-1px;left:0;width:64px;height:3px;
border-radius:3px;background:linear-gradient(90deg,var(--red),rgba(224,32,47,0))}
h2.lv-ch::before{content:"Chapter";display:block;margin-bottom:10px;color:var(--red);
font:700 13px/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase}
h2.lv-ch[data-eyebrow]::before{content:attr(data-eyebrow)}
h3.lv-sec{font-size:21px;margin:52px 0 14px;color:#215b90}
h4.lv-sub{font-size:16.5px;margin:26px 0 8px;color:#35608a;font-weight:700}
h4.lv-faq{font-size:16px;margin:22px 0 8px;padding:11px 15px;background:#f4f8fb;
border-left:3px solid var(--red);border-radius:0 7px 7px 0;color:#1c4d74;font-weight:700}
p{margin:.35em 0 .85em;max-width:74ch}
ul,ol{max-width:74ch;padding-left:24px}li{margin:.22em 0}
a{color:#12507e}
.figs{display:grid;gap:14px;margin:18px 0 24px}
.figs[data-n="1"]{grid-template-columns:1fr}
.figs[data-n="2"]{grid-template-columns:repeat(2,1fr)}
.figs[data-n="3"]{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.figs figure{margin:0}
.figs img{width:100%;height:auto;display:block;border:1px solid var(--glassbd);
border-radius:18px;background:rgba(255,255,255,.55);cursor:zoom-in;min-height:48px}
.figs figure{border-radius:18px;box-shadow:0 5px 16px -12px rgba(30,70,120,.26)}
#lb img{border-radius:14px}
.showcase{margin:52px 0 6px;padding:20px 22px;border-radius:14px;
background:linear-gradient(105deg,rgba(238,244,250,.9),rgba(255,255,255,.62));
backdrop-filter:blur(10px);border:1px solid var(--glassbd);border-left:4px solid var(--red);
box-shadow:0 7px 20px -16px rgba(22,42,68,.26)}
.showcase .cap{display:inline-block;padding:4px 10px;border-radius:999px;background:linear-gradient(135deg,#3a7cbe,#2a5f96);
color:#fff;font:800 9px/1 inherit;letter-spacing:.16em;text-transform:uppercase}
.sc-main{margin:11px 0 2px;font-size:26px;color:#1b466f;letter-spacing:-.03em}
.sc-sub{margin:0;color:var(--mut);font-size:14.5px;max-width:none}
.speccard{display:grid;gap:1px;margin:16px 0 22px;background:var(--glassbd);
border:1px solid var(--glassbd);border-radius:12px;overflow:hidden;
box-shadow:0 5px 16px -14px rgba(22,42,68,.22)}
.sp-row{display:grid;grid-template-columns:22px 132px 1fr;gap:8px;align-items:baseline;
padding:4px 12px;background:rgba(255,255,255,.72);font-size:13px;line-height:1.45}
.sp-i{font-size:12.5px;opacity:.75}
.sp-l{color:#8496a8;font-weight:600;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
.sp-v{font-weight:400;color:#3d4d5c;font-family:var(--f-mono);font-size:12.5px}
.modecard{margin:20px 0;padding:16px 18px;border:1px solid var(--glassbd);border-radius:12px;
background:linear-gradient(165deg,rgba(255,255,255,.8),var(--tint));
backdrop-filter:blur(8px);border-top:3px solid var(--blue);
box-shadow:0 6px 18px -15px rgba(22,42,68,.24)}
.mc-h{font-weight:800;font-size:17px;color:#1b466f;margin-bottom:9px}
.mc-chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{padding:4px 10px;border-radius:6px;background:#e9f0f6;color:#1d527b;
font:500 12.5px/1.5 var(--f-mono);letter-spacing:-.02em}
.mc-p{margin:9px 0 0;font-size:14px;color:var(--mut)}
.btnwrap{margin:14px 0 20px}
.linkbtn{display:inline-flex;flex-direction:column;gap:2px;padding:11px 20px;border-radius:10px;
background:linear-gradient(135deg,#3a7cbe,#2a5f96);color:#fff!important;text-decoration:none;font-weight:700;font-size:14.5px}
.linkbtn.video{background:linear-gradient(135deg,#d94450,#b31d2a)}
.lb-i{display:none}
.linkbtn::before{content:attr(data-i)}
.lb-u{font:400 11px/1.3 ui-monospace,monospace;color:#9fb0c2;word-break:break-all;max-width:420px}
.linkbtn.video .lb-u{color:#e7b6b8}
.note{margin:18px 0;padding:10px 15px;border-left:2.5px solid #c9a24a;border-radius:0 9px 9px 0;
background:linear-gradient(100deg,rgba(255,250,238,.85),rgba(255,253,247,.6));
backdrop-filter:blur(6px)}
.note p{margin:0;font-size:12.8px;line-height:1.6;color:#6a6350;max-width:none;letter-spacing:0}
.tw{overflow-x:auto;margin:18px 0 24px}
table{border-collapse:collapse;width:100%;font-size:14px}
td{border:1px solid var(--glassbd);padding:8px 11px;vertical-align:top;background:rgba(255,255,255,.5)}
tr:first-child td{background:rgba(58,124,190,.09);font-weight:700;color:#1f4a75}
#lb{position:fixed;inset:0;z-index:99;display:none;align-items:center;justify-content:center;
background:rgba(8,12,18,.9);padding:24px;cursor:zoom-out}
#lb.on{display:flex}#lb img{max-width:96vw;max-height:92vh;object-fit:contain;background:#fff}

/* indentation ladder */
main [data-d="1"]{margin-left:var(--step)}
main [data-d="2"]{margin-left:calc(var(--step)*2)}
h4.lv-sub[data-d="1"],h4.lv-faq[data-d="1"]{margin-left:var(--step)}
/* 8-Minute Quick Start Guide */
.qsg{margin:26px 0 30px;padding:20px 22px;border-radius:14px;
background:linear-gradient(150deg,rgba(255,248,236,.72),rgba(255,253,248,.5));
backdrop-filter:blur(12px);border:1px solid rgba(226,190,130,.45);
border-left:4px solid #e0202f;box-shadow:0 8px 22px -18px rgba(150,110,50,.22)}
.qsg-cap{display:inline-block;padding:4px 11px;border-radius:999px;background:#e0202f;color:#fff;
font:800 9px/1 inherit;letter-spacing:.16em;text-transform:uppercase}
.qsg h3{margin:12px 0 2px;font-size:23px;color:#7a2410;letter-spacing:-.025em}
.qsg-sub{margin:0 0 10px;font-size:15px;color:#a8642a;font-weight:600;max-width:none}
.qsg-b{font-size:14.5px;color:#5c4a33;max-width:none}
/* boxed conclusion */
.concl{margin:24px 0;padding:16px 20px;border:1px solid var(--glassbd);border-radius:12px;
background:linear-gradient(165deg,rgba(255,255,255,.72),var(--tint));backdrop-filter:blur(10px);
border-left:3px solid var(--blue)}
.concl h4{margin:0 0 8px;font-size:16px;color:var(--blue);letter-spacing:.02em}
.concl p{margin:.3em 0;font-size:14.5px;max-width:none}
.endmark{margin:70px 0 0;padding-top:24px;border-top:1px solid var(--line);text-align:center;
color:#94a3b8;font:600 12px/1 inherit;letter-spacing:.24em;text-transform:uppercase;max-width:none}

/* document title + tiny version */
.doctitle{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.doctitle .ver{font:600 7.5px/1 var(--f-mono);letter-spacing:.2em;color:#9aa9b8;
padding:3px 6px;border:1px solid var(--glassbd);border-radius:4px;position:relative;top:-10px}
.datestamp{margin:-4px 0 16px;text-align:right;max-width:none;
font:500 8.5px/1.4 var(--f-mono);letter-spacing:.1em;color:#9aa9b8}
/* boxed workflow panel */

.panel{margin:20px 0 26px;padding:18px 20px;border-radius:14px;
border:1px solid var(--glassbd);
background:linear-gradient(168deg,rgba(255,255,255,.64),var(--tint));
backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);
box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 8px 22px -18px rgba(22,42,68,.26)}
.pn-h{font:700 16.5px/1.3 var(--f-head);color:#1f5385;letter-spacing:-.02em;
margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--glassbd)}
.pn-s{font:700 13px/1.4 var(--f-head);color:#2a6ca8;margin:13px 0 3px}
.pn-p{margin:1px 0;font-size:13.4px;line-height:1.62;color:#3c4d5e;max-width:none}
.panel .figs{margin:14px 0 10px}
/* inline expanding YouTube player */
.video-embed{margin:14px 0 22px}
.video-toggle{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 9px;
border-radius:999px;border:1px solid rgba(255,255,255,.3);cursor:pointer;
background:linear-gradient(135deg,#d94450,#b31d2a);color:#fff;
font:600 12.8px/1.35 var(--f-body);letter-spacing:-.01em;text-align:left}
.video-toggle:hover{filter:brightness(1.07)}
.vt-play{width:24px;height:24px;flex:none;border-radius:50%;background:rgba(255,255,255,.18);
position:relative}
.vt-play::after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);
border:5px solid transparent;border-left:8px solid #fff;border-right:0}
.vt-caret{transition:transform .22s;font-size:10px;opacity:.85}
.video-toggle.open .vt-caret{transform:rotate(180deg)}
.video-panel{max-height:0;overflow:hidden;transition:max-height .35s ease}
.video-panel.open{max-height:900px;margin-top:12px}
.video-frame{position:relative;padding-top:56.25%;border-radius:16px;overflow:hidden;
border:1px solid var(--glassbd);background:#0d1826;
box-shadow:0 6px 18px -14px rgba(22,42,68,.3)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-fallback{margin-top:7px;font:400 11.5px/1.4 var(--f-mono)}
.video-fallback a{color:#7c93a6;text-decoration:none}
/* hero YouTube pill */
.ytpill{display:inline-flex;align-items:center;gap:10px;margin:6px 0 14px;padding:7px 16px 7px 8px;
border-radius:999px;background:linear-gradient(135deg,rgba(58,124,190,.92),rgba(42,95,150,.92));
backdrop-filter:blur(8px);text-decoration:none;border:1px solid rgba(255,255,255,.28)}
.ytpill:hover{filter:brightness(1.08)}
.yt-play{width:26px;height:26px;flex:none;border-radius:50%;background:#e0202f;position:relative}
.yt-play::after{content:"";position:absolute;top:50%;left:53%;transform:translate(-50%,-50%);
border:6px solid transparent;border-left:9px solid #fff;border-right:0}
.yt-t{color:#f2f8ff;font:600 12.5px/1.35 var(--f-body);letter-spacing:-.01em}
/* payment information box */
.paybox{margin:24px 0;padding:18px 22px;border:1px solid var(--glassbd);border-radius:13px;
background:linear-gradient(165deg,rgba(255,255,255,.72),var(--tint));backdrop-filter:blur(12px);
border-left:3px solid var(--blue);box-shadow:0 7px 20px -17px rgba(30,70,120,.24)}
.paybox>h4{margin:0 0 14px;font-size:17px;color:var(--blue);letter-spacing:-.02em}
.pay-g+.pay-g{margin-top:15px;padding-top:14px;border-top:1px solid #d7e6f1}
.pay-h{font:700 13px/1.4 var(--f-head);color:#1b466f;margin-bottom:6px}
.pay-r{display:grid;grid-template-columns:132px 1fr;gap:8px;padding:2px 0;font-size:13.5px}
.pay-k{color:#7c93a6;font-size:11px;letter-spacing:.05em;text-transform:uppercase;
font-weight:600;align-self:center}
.pay-v{font-family:var(--f-mono);font-size:13px;color:#22384c}
.pay-p{margin:4px 0 0;font-size:13.5px;color:#41586c;max-width:none}
@media(max-width:700px){
.pay-r{grid-template-columns:1fr;gap:0}
main [data-d="1"],main [data-d="2"],h4.lv-sub[data-d="1"]{margin-left:0}main{margin:0;padding:32px 20px 70px;border-radius:0}
.figs[data-n="2"],.figs[data-n="3"]{grid-template-columns:1fr}
.sp-row{grid-template-columns:26px 1fr;row-gap:2px}.sp-v{grid-column:2}}
@media(min-width:1181px){
  main{margin-left:max(280px,calc(50vw - 360px));margin-right:24px}
}
@media print{main>h2.lv-ch{margin-top:0;padding-top:0;border-top:0}
header.bar,#lb{display:none}body{background:#fff}
main{box-shadow:none;max-width:none;margin:0;padding:0}h2.lv-ch{break-before:page}}

.pagenav{display:flex;gap:2px;margin-left:6px;flex-wrap:wrap}
.pagenav a{padding:6px 10px;border-radius:8px;color:#cfe0f0;text-decoration:none;
font:600 12px/1 var(--f-head);letter-spacing:-.015em;border:1px solid transparent;white-space:nowrap}
.pagenav a:hover{background:rgba(255,255,255,.12);color:#fff}
.pagenav a.on{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3);color:#fff}
@media(max-width:1400px){.pagenav a{padding:6px 8px;font-size:11.5px}}
@media(max-width:1100px){.pagenav{display:none}}
.lede{font-size:17.5px;line-height:1.62;color:#4b6274;max-width:62ch}
.hero{margin:6px 0 22px}
.hero .eyebrow{display:inline-block;margin-bottom:14px;padding:5px 12px;border-radius:999px;
border:1px solid var(--glassbd);background:rgba(255,255,255,.5);color:#2a6ca8;
font:700 10px/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase}
.hero h1.lv-title{margin:0 0 16px}
.grid2,.grid3{display:grid;gap:14px;margin:18px 0 26px}
.grid3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.grid2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid3 .modecard,.grid2 .stepcard{margin:0}
.pillar{padding:18px 20px;border:1px solid var(--glassbd);border-radius:13px;
background:linear-gradient(165deg,rgba(255,255,255,.7),var(--tint));backdrop-filter:blur(10px);
box-shadow:0 6px 18px -15px rgba(22,42,68,.24)}
.pillar .pi{font-size:20px}
.pillar h4{margin:9px 0 6px;font-size:15.5px;color:#1b466f}
.pillar p{margin:0;font-size:13.6px;line-height:1.6;color:#4b6274;max-width:none}
.stepcard{position:relative;padding:18px 20px 18px 56px;border:1px solid var(--glassbd);
border-radius:13px;background:linear-gradient(165deg,rgba(255,255,255,.7),var(--tint));
backdrop-filter:blur(10px);box-shadow:0 6px 18px -15px rgba(22,42,68,.24)}
.stepcard .sn{position:absolute;left:18px;top:17px;width:26px;height:26px;border-radius:50%;
display:grid;place-items:center;background:linear-gradient(135deg,#3a7cbe,#2a5f96);color:#fff;
font:700 12px/1 var(--f-mono)}
.stepcard h4{margin:0 0 6px;font-size:15.5px;color:#1b466f}
.stepcard p{margin:0;font-size:13.6px;line-height:1.6;color:#4b6274;max-width:none}
.demo{display:block;padding:14px 17px;border:1px solid var(--glassbd);border-radius:12px;
background:rgba(255,255,255,.6);backdrop-filter:blur(8px);text-decoration:none}
.demo:hover{background:rgba(255,255,255,.85)}
.dm-i{color:#2a6ca8;font-size:12px;margin-right:7px}
.dm-t{font:600 14px/1.4 var(--f-head);color:#1b466f}
.dm-s{display:block;margin-top:3px;font:400 11.5px/1.4 var(--f-mono);color:#7c93a6}
ul.tick{list-style:none;padding:0;margin:4px 0 0}
ul.tick li{position:relative;padding-left:20px;font-size:13.6px;color:#3c4d5e}
ul.tick li::before{content:"\2713";position:absolute;left:0;color:#2a6ca8;font-weight:700}
.paybox h4 .sm{font:400 12px/1 var(--f-body);color:#7c93a6}
body.nopad main{padding-top:38px}
/* ---- edit mode ---- */
.anno{display:none}
body.editmode .anno-host{position:relative;outline:1px dashed rgba(58,124,190,.45);
outline-offset:5px;border-radius:4px}
body.editmode .anno{display:block;position:absolute;top:-9px;left:-58px;z-index:9;
padding:2px 6px;border-radius:5px;background:#2a6ca8;color:#fff;cursor:pointer;
font:700 9.5px/1.4 var(--f-mono);letter-spacing:.04em;user-select:none}
body.editmode .anno:hover{background:#e0202f}
body.editmode .anno-marked{outline-color:#e0202f;background:rgba(224,32,47,.06)}
body.editmode .anno-marked>.anno{background:#e0202f}
@media(max-width:1180px){body.editmode .anno{left:auto;right:-4px;top:-14px}}
#annobox{position:fixed;right:16px;bottom:16px;z-index:80;width:310px;max-height:56vh;
display:flex;flex-direction:column;border-radius:13px;border:1px solid var(--glassbd);
background:rgba(255,255,255,.86);backdrop-filter:blur(18px) saturate(160%);
box-shadow:0 10px 30px -18px rgba(22,42,68,.4);font-family:var(--f-body)}
#annobox.mini .ab-list,#annobox.mini .ab-f{display:none}
.ab-h{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--glassbd);
font:700 12px/1 var(--f-head);color:#1b466f}
.ab-n{padding:2px 7px;border-radius:99px;background:#2a6ca8;color:#fff;font:700 10px/1.4 var(--f-mono)}
.ab-min{margin-left:auto;border:0;background:none;cursor:pointer;color:#7c93a6;font-size:15px}
.ab-list{flex:1;overflow-y:auto;margin:0;padding:8px 10px;list-style:none}
.ab-list li{display:flex;gap:5px;align-items:baseline;padding:4px 0;font-size:11.6px;
line-height:1.45;color:#3c4d5e;border-bottom:1px solid rgba(150,180,212,.2)}
.ab-list b{font:700 10.5px/1.4 var(--f-mono);color:#2a6ca8}
.ab-list em{font-style:normal;font-weight:700;color:#e0202f;font-size:10.5px}
.ab-list button{margin-left:auto;border:0;background:none;cursor:pointer;color:#b6c4d1}
.ab-f{display:flex;gap:7px;padding:9px 11px;border-top:1px solid var(--glassbd)}
.ab-f button{flex:1;padding:6px;border-radius:7px;border:1px solid var(--glassbd);
background:rgba(255,255,255,.7);cursor:pointer;font:600 11.5px/1 var(--f-body);color:#1b466f}
.ab-f button:hover{background:#2a6ca8;color:#fff}
@media print{.anno,#annobox{display:none!important}}
.lede{font-size:17.5px;line-height:1.62;color:#456}

/* ---------- theme tokens ---------- */
html[data-theme="graphite"]{
--blue:#4a5a6b;--red:#5d6d7e;--deep:#3f4d5c;
--ink:#232c34;--mut:#79848f;--line:#dfe4e9;
--glass:rgba(255,255,255,.46);--glassbd:rgba(160,172,184,.36);--tint:rgba(74,90,107,.06)}
html[data-theme="graphite"] body{background:
 radial-gradient(1100px 620px at 12% -6%,#e4e7ea 0%,transparent 62%),
 radial-gradient(900px 520px at 96% 4%,#e8eaed 0%,transparent 58%),
 linear-gradient(180deg,#ecedef 0%,#e6e8ea 100%);background-attachment:fixed}
html[data-theme="ember"]{
--blue:#b0562a;--red:#c0552a;--deep:#7a3f22;
--ink:#2e2620;--mut:#8d7d70;--line:#ecdfd4;
--glass:rgba(255,255,255,.48);--glassbd:rgba(206,175,148,.40);--tint:rgba(192,85,42,.055)}
html[data-theme="ember"] body{background:
 radial-gradient(1100px 620px at 12% -6%,#f3e6da 0%,transparent 62%),
 radial-gradient(900px 520px at 96% 4%,#f6ece2 0%,transparent 58%),
 linear-gradient(180deg,#f5eee7 0%,#f1e8df 100%);background-attachment:fixed}
html[data-theme="signal"]{
--blue:#a3182a;--red:#e0202f;--deep:#7d1622;
--ink:#231d20;--mut:#8b7378;--line:#ecdcde;
--glass:rgba(255,255,255,.48);--glassbd:rgba(206,152,158,.36);--tint:rgba(224,32,47,.05)}
html[data-theme="signal"] body{background:
 radial-gradient(1100px 620px at 12% -6%,#f3e2e4 0%,transparent 62%),
 radial-gradient(900px 520px at 96% 4%,#f6e8ea 0%,transparent 58%),
 linear-gradient(180deg,#f5ecee 0%,#f0e5e7 100%);background-attachment:fixed}

/* colours that were hard-coded now follow the tokens */
h1.lv-title,h2.lv-ch,h3.lv-sec,h4.lv-sub,.sc-main,.mc-h,.pay-h,.pn-h,.pillar h4,
.stepcard h4,.dm-t,.concl h4,.paybox>h4,#toc a.top,.hero .eyebrow,.pn-s,.dm-i{color:var(--blue)}
.showcase .cap,.linkbtn.tour,.ytpill,.stepcard .sn{
background:linear-gradient(135deg,var(--blue),var(--deep))}
.chip,tr:first-child td{background:var(--tint);color:var(--blue)}
#toc a:hover{color:var(--blue)}
.anno,.ab-n{background:var(--blue)}
.ab-list b{color:var(--blue)}
.ab-f button:hover{background:var(--blue);color:#fff}

/* ---------- switcher ---------- */
.themebar{display:flex;align-items:center;gap:7px;margin-left:22px}
.themebar button{width:18px;height:18px;min-width:18px;padding:0;line-height:0;
border-radius:50%;cursor:pointer;appearance:none;-webkit-appearance:none;
border:1.5px solid rgba(255,255,255,.45);transition:transform .16s,box-shadow .16s}
.themebar button:hover{transform:scale(1.2)}
.themebar button[aria-pressed="true"]{box-shadow:0 0 0 2.5px rgba(255,255,255,.92);
border-color:transparent;transform:scale(1.1)}
.themebar .t-cobalt{background:#2a6ca8}
.themebar .t-graphite{background:#4a5a6b}
.themebar .t-ember{background:#c0552a}
.themebar .t-signal{background:#e0202f}
@media(max-width:640px){.themebar{display:none}}
@media print{.themebar{display:none}}

/* ---------- language switcher (site header) ---------- */
.langnav{display:flex;align-items:center;gap:3px;margin-left:14px;
padding-left:14px;border-left:1px solid rgba(255,255,255,.22)}
.langnav a{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;
border-radius:7px;color:#cfe0f0;text-decoration:none;border:1px solid transparent;
font:600 11.5px/1 var(--f-mono);letter-spacing:.04em;white-space:nowrap}
.langnav a:hover{background:rgba(255,255,255,.12);color:#fff}
.langnav a.on{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.32);color:#fff}
.langnav .lf{font-size:12.5px;line-height:1}
@media(max-width:1100px){.langnav .lf{display:none}.langnav a{padding:5px 7px}}
@media(max-width:700px){.langnav{margin-left:auto;padding-left:0;border-left:0}}
@media print{.langnav{display:none}}

/* ---------- CJK faces (subset to the glyphs this site actually uses) ---------- */
@font-face{font-family:"Noto Sans TC";font-style:normal;font-weight:400;font-display:swap;
src:url("../fonts/noto-sans-tc-400-subset.woff2") format("woff2")}
@font-face{font-family:"Noto Sans TC";font-style:normal;font-weight:700;font-display:swap;
src:url("../fonts/noto-sans-tc-700-subset.woff2") format("woff2")}
@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:400;font-display:swap;
src:url("../fonts/noto-sans-jp-400-subset.woff2") format("woff2")}
@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:700;font-display:swap;
src:url("../fonts/noto-sans-jp-700-subset.woff2") format("woff2")}
/* Latin faces stay first, so Latin words keep their original typography and
   only the CJK glyphs fall through to Noto. */
html[lang="zh-Hant"]{
--f-head:"Space Grotesk","Noto Sans TC","PingFang TC",sans-serif;
--f-body:"IBM Plex Sans","Noto Sans TC","PingFang TC",sans-serif;
--f-mono:"JetBrains Mono","Noto Sans TC",ui-monospace,monospace}
html[lang="ja"]{
--f-head:"Space Grotesk","Noto Sans JP","Hiragino Sans",sans-serif;
--f-body:"IBM Plex Sans","Noto Sans JP","Hiragino Sans",sans-serif;
--f-mono:"JetBrains Mono","Noto Sans JP",ui-monospace,monospace}
/* CJK has no descenders to speak of and reads better with a touch more leading */
html[lang="zh-Hant"] p,html[lang="zh-Hant"] li,
html[lang="ja"] p,html[lang="ja"] li{line-height:1.85;letter-spacing:.01em}
html[lang="zh-Hant"] h1,html[lang="zh-Hant"] h2,html[lang="zh-Hant"] h3,html[lang="zh-Hant"] h4,
html[lang="ja"] h1,html[lang="ja"] h2,html[lang="ja"] h3,html[lang="ja"] h4{letter-spacing:.005em}

/* ---------- small-print cost note ---------- */
.finenote{margin-top:16px;padding-top:14px;border-top:1px solid var(--glassbd)}
.finenote .fn-h{font:700 11px/1.4 var(--f-head);letter-spacing:.06em;text-transform:uppercase;
color:var(--blue);margin-bottom:7px}
.finenote p{margin:.35em 0;max-width:none;font-size:11.8px;line-height:1.65;color:#6b8092}
.finenote b{font-weight:650;color:#4a6376}
html[lang="zh-Hant"] .finenote p,html[lang="ja"] .finenote p{font-size:12px;line-height:1.8}

/* cross-page reference link (FAQ → Quick Start parameter list) */
.xref{display:inline-block;margin-top:10px;padding:7px 13px;border-radius:8px;
 background:var(--accent-soft,#eaf1f8);color:var(--accent,#1d5f9c);
 font:600 14px/1.35 var(--f-head,inherit);text-decoration:none;
 border:1px solid rgba(29,95,156,.22)}
.xref:hover{background:var(--accent,#1d5f9c);color:#fff;border-color:transparent}

/* retired-product alert (red) */
.note.alert{background:#fdf0ee;border-left:4px solid #c8352a;border-color:#c8352a;
 color:#8e2018}
.note.alert p{color:#8e2018}
.note.alert strong{color:#b32b20}

/* ---------- Noir Gold / Surreal Touch Lab Hotel visual system ----------
   This is a presentation-layer override only: the generated structure, content,
   translation contracts, annotation mode, and interaction selectors stay intact. */
:root{
 --ink:#f1ede4;--mut:#b9b2a7;--line:rgba(222,191,121,.20);--paper:rgba(19,20,21,.72);--bg:#08090a;
 --red:#d9373e;--deep:#b99345;--gold:#e2c27c;--blue:#d4ae62;
 --ice:rgba(255,255,255,.045);--glass:rgba(20,21,22,.60);--glassbd:rgba(232,203,137,.22);
 --tint:rgba(226,194,124,.075);--step:26px;
}
html,body{min-height:100%;background:#08090a!important}
body{color:var(--ink)!important;background:
 radial-gradient(950px 560px at 8% -10%,rgba(187,144,54,.24),transparent 65%),
 radial-gradient(760px 480px at 106% 7%,rgba(126,92,38,.19),transparent 66%),
 radial-gradient(680px 520px at 50% 110%,rgba(83,61,30,.16),transparent 70%),
 linear-gradient(145deg,#090a0c 0%,#101112 48%,#070809 100%)!important;
 background-attachment:fixed!important}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.42;
 background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
 background-size:40px 40px}
header.bar{background:linear-gradient(180deg,rgba(8,9,10,.94),rgba(12,13,14,.78))!important;
 border-bottom-color:rgba(226,194,124,.25)!important;box-shadow:0 10px 30px rgba(0,0,0,.20);
 backdrop-filter:blur(24px) saturate(135%)!important;-webkit-backdrop-filter:blur(24px) saturate(135%)!important}
header.bar .t{color:#f5f0e6!important}header.bar .t small{color:var(--gold)!important}
.langnav{border-left-color:rgba(226,194,124,.26)!important}.langnav a{color:#d8cfbe!important}.langnav a:hover{background:rgba(226,194,124,.12)!important;color:#fff!important}.langnav a.on{background:rgba(226,194,124,.18)!important;border-color:rgba(226,194,124,.42)!important}
.themebar button{border-color:rgba(255,245,222,.52)!important}.themebar .t-burgundy{background:linear-gradient(135deg,#1a0d12 45%,#843a51 46%)!important}.themebar .t-graphite{background:linear-gradient(135deg,#11151a 45%,#90959c 46%)!important}.themebar .t-tool{background:linear-gradient(135deg,#091525 45%,#3976bd 46%)!important}.themebar .t-ivory{background:linear-gradient(135deg,#5a5144 45%,#e8ddc7 46%)!important}
#toc{background:rgba(16,17,18,.67)!important;border-color:rgba(226,194,124,.23)!important;box-shadow:inset 0 1px 0 rgba(255,248,229,.07),0 18px 42px -24px rgba(0,0,0,.82)!important;backdrop-filter:blur(26px) saturate(125%)!important;-webkit-backdrop-filter:blur(26px) saturate(125%)!important}
#toc::before{border-bottom-color:var(--line)!important;color:#c7b486!important}#toc a{color:#cec7ba!important}#toc a.top{color:#f4ecdb!important}#toc a.sec{color:#a79f93!important}#toc a:hover{color:var(--gold)!important;background:rgba(226,194,124,.09)!important}#toc a.on{color:#ffe4a2!important;border-left-color:var(--gold)!important;background:linear-gradient(90deg,rgba(226,194,124,.17),transparent)!important}
#toc::-webkit-scrollbar-thumb{background:rgba(226,194,124,.35)!important}
main,.page{background:linear-gradient(145deg,rgba(29,30,30,.77),rgba(14,15,16,.70))!important;border-color:rgba(236,214,162,.18)!important;box-shadow:inset 0 1px 0 rgba(255,246,223,.08),0 26px 58px -36px rgba(0,0,0,.86)!important;backdrop-filter:blur(32px) saturate(122%)!important;-webkit-backdrop-filter:blur(32px) saturate(122%)!important}
h1.lv-title,h2.lv-ch,h3.lv-sec,h4.lv-sub,.sc-main,.mc-h,.pay-h,.pn-h,.pillar h4,.stepcard h4,.dm-t,.concl h4,.paybox>h4{color:#f2d99c!important}h2.lv-ch,h2.lv-ch~h2.lv-ch{border-color:var(--line)!important}h2.lv-ch::before{color:#d6b363!important}h2.lv-ch::after{background:linear-gradient(90deg,#e2c27c,rgba(226,194,124,0))!important}h3.lv-sec{color:#e1c57f!important}h4.lv-sub{color:#d7c6a1!important}p,li{color:#e2ddd2!important}a{color:#f0ce81!important}.mut,.sc-sub,.mc-p,.pn-p,.pay-p{color:#beb7ab!important}
.showcase,.modecard,.panel,.paybox,.concl,.qsg,.note,.speccard{background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025))!important;border-color:rgba(230,202,137,.20)!important;box-shadow:inset 0 1px 0 rgba(255,249,231,.06),0 12px 28px -23px rgba(0,0,0,.88)!important}.showcase,.qsg{border-left-color:#e2c27c!important}.modecard,.paybox,.concl{border-top-color:#caa35b!important;border-left-color:#caa35b!important}.note{border-left-color:#e2c27c!important}.note p,.note strong{color:#e5d8bd!important}.note.alert{background:linear-gradient(145deg,rgba(140,31,31,.37),rgba(64,17,16,.30))!important;border-color:#d95757!important}.note.alert p,.note.alert strong{color:#ffe0d9!important}
.showcase .cap,.linkbtn.tour,.ytpill,.stepcard .sn{background:linear-gradient(135deg,#efd18d,#a77e35)!important;color:#11100e!important}.linkbtn.video,.video-toggle{background:linear-gradient(135deg,#cf4a4a,#8f2428)!important}.chip,tr:first-child td{background:rgba(226,194,124,.11)!important;color:#f2d99c!important}.speccard{background:rgba(226,194,124,.16)!important}.sp-row,td{background:rgba(13,14,15,.54)!important;border-color:rgba(230,202,137,.16)!important;color:#e7e1d6!important}.sp-l,.pay-k{color:#b8a782!important}.sp-v,.pay-v{color:#eee7d9!important}.pay-g+.pay-g{border-top-color:rgba(230,202,137,.18)!important}
.figs img,.page img{border-color:rgba(235,211,155,.24)!important;box-shadow:0 14px 30px -24px rgba(0,0,0,.92)}.video-frame{background:#050506!important;border-color:rgba(235,211,155,.25)!important}.endmark{border-top-color:var(--line)!important;color:#a69c8e!important}.finenote{border-top-color:var(--line)!important}.finenote .fn-h{color:#e2c27c!important}.finenote p{color:#c5bcae!important}.finenote b{color:#f0d593!important}.xref{background:rgba(226,194,124,.10)!important;border-color:rgba(226,194,124,.31)!important;color:#f0d593!important}.xref:hover{background:#d4ae62!important;color:#11100e!important}
/* Hotel Photo Studio theme family: Burgundy / Graphite / Tool Blue / Ivory. */
html[data-theme="burgundy"]{--gold:#ebcfc0;--blue:#b58b79;--deep:#733b4c;--tint:rgba(132,58,81,.15)}
html[data-theme="graphite"]{--gold:#d4d8dd;--blue:#aeb5bd;--deep:#69717a;--tint:rgba(144,149,156,.13)}
html[data-theme="tool"]{--gold:#b8d5f4;--blue:#75a9df;--deep:#3976bd;--tint:rgba(57,118,189,.16)}
html[data-theme="ivory"]{--gold:#b39763;--blue:#8a7756;--deep:#756347;--tint:rgba(179,151,99,.10)}
html[data-theme="burgundy"] body,html[data-theme="graphite"] body,html[data-theme="tool"] body{background:radial-gradient(950px 560px at 8% -10%,var(--tint),transparent 65%),radial-gradient(760px 480px at 106% 7%,var(--tint),transparent 66%),linear-gradient(145deg,#090a0c 0%,#101112 48%,#070809 100%)!important}
/* The landing page is intentionally a one-page experience: it has no side ToC. */
main.landing{max-width:1260px!important;margin:34px auto 120px!important;padding:clamp(30px,5vw,70px)!important}
main.landing .hero{max-width:960px;padding-bottom:clamp(36px,7vw,82px)}
main.landing .grid2{gap:20px}.demo{position:relative;overflow:hidden;min-height:88px;display:flex!important;flex-direction:column;justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035))!important;border-color:rgba(235,211,155,.29)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 32px -27px rgba(0,0,0,.92)!important}.demo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.055),transparent 45%)}.demo:hover{transform:translateY(-2px);background:linear-gradient(135deg,rgba(226,194,124,.19),rgba(255,255,255,.055))!important;border-color:rgba(242,217,156,.55)!important}.demo .dm-i{color:#efc373!important}.demo .dm-t{color:#f5e2b4!important;font-size:15px!important}.demo .dm-s{color:#cec5b6!important;font-size:12px!important}
/* Images retain their source pixels.  Only the surrounding frame changes, so light exports and transparent PNGs remain legible. */
.figs figure,.figs .fig{background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(0,0,0,.22))!important;border:1px solid rgba(235,211,155,.22);border-radius:15px;padding:10px;box-shadow:0 18px 36px -28px rgba(0,0,0,.94)}.figs img,.page img{background:#0b0c0e!important;display:block;max-width:100%;height:auto}
html[data-theme="ivory"] body{background:linear-gradient(145deg,#f8f5ef,#eae3d6)!important;color:#464137!important}html[data-theme="ivory"] body::before{opacity:.18;background-image:linear-gradient(rgba(70,65,55,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(70,65,55,.06) 1px,transparent 1px)}html[data-theme="ivory"] header.bar{background:linear-gradient(180deg,rgba(63,55,45,.96),rgba(94,79,58,.88))!important;border-bottom-color:rgba(179,151,99,.54)!important}html[data-theme="ivory"] main,html[data-theme="ivory"] .page{background:linear-gradient(145deg,rgba(255,253,248,.93),rgba(244,239,230,.88))!important;border-color:rgba(117,99,71,.22)!important}html[data-theme="ivory"] :is(h1.lv-title,h2.lv-ch,h3.lv-sec,h4.lv-sub,.sc-main,.mc-h,.pay-h,.pn-h,.pillar h4,.stepcard h4,.dm-t,.concl h4,.paybox>h4){color:#514634!important}html[data-theme="ivory"] :is(p,li){color:#514b42!important}html[data-theme="ivory"] a{color:#756347!important}html[data-theme="ivory"] .mut,html[data-theme="ivory"] .sc-sub,html[data-theme="ivory"] .mc-p,html[data-theme="ivory"] .pn-p,html[data-theme="ivory"] .pay-p{color:#80786b!important}html[data-theme="ivory"] :is(.showcase,.modecard,.panel,.paybox,.concl,.qsg,.note,.speccard,.demo){background:linear-gradient(145deg,rgba(255,253,248,.96),rgba(237,229,214,.78))!important;border-color:rgba(117,99,71,.26)!important}html[data-theme="ivory"] .demo .dm-i{color:#a17450!important}html[data-theme="ivory"] .demo .dm-t{color:#514634!important}html[data-theme="ivory"] .demo .dm-s{color:#80786b!important}html[data-theme="ivory"] .figs figure,html[data-theme="ivory"] .figs .fig{background:#eee6d8;border-color:#cbb994}html[data-theme="ivory"] .figs img,html[data-theme="ivory"] .page img{background:#f5efe4!important}

/* ---------- Contrast-tested reading environments ----------
   Every information-bearing colour is tokenized here.  This final layer wins
   over the earlier visual prototype so a theme changes the complete reading
   environment, not merely its accent colour. */
:root,html[data-theme="burgundy"]{
 --pm-canvas:#0b0a0d;--pm-surface:#1b171b;--pm-surface-raised:#282027;
 --pm-text:#f7f1ea;--pm-muted:#d7c8c4;--pm-title:#f0d6c8;--pm-link:#f4cdba;
 --pm-accent:#b58b79;--pm-accent-strong:#733b4c;--pm-control-text:#171114;
 --pm-header:#24121a;--pm-header-text:#f7f1ea;--pm-header-active:#5b4250;--pm-header-active-border:#d7b4a9;--pm-border:#5a424a;
 --pm-highlight:rgba(255,245,238,.13);--pm-shadow:rgba(0,0,0,.62);
 --pm-alert:#7b2730;--pm-alert-text:#fff2ed;--pm-media:#0d0b0d;
 --pm-grid:rgba(255,255,255,.025);--pm-glow:rgba(132,58,81,.26);
}
html[data-theme="graphite"]{
 --pm-canvas:#e8eaed;--pm-surface:#fafbfc;--pm-surface-raised:#f1f3f5;
 --pm-text:#282c32;--pm-muted:#58616c;--pm-title:#323943;--pm-link:#3e566d;
 --pm-accent:#4b545f;--pm-accent-strong:#323943;--pm-control-text:#ffffff;
 --pm-header:#252b33;--pm-header-text:#ffffff;--pm-header-active:#4f5a67;--pm-header-active-border:#d4d8dd;--pm-border:#bcc3cb;
 --pm-highlight:rgba(255,255,255,.90);--pm-shadow:rgba(28,34,42,.18);
 --pm-alert:#9e3f46;--pm-alert-text:#ffffff;--pm-media:#20242a;
 --pm-grid:rgba(40,44,50,.055);--pm-glow:rgba(144,149,156,.31);
}
html[data-theme="tool"]{
 --pm-canvas:#edf3f8;--pm-surface:#ffffff;--pm-surface-raised:#f1f6fb;
 --pm-text:#233448;--pm-muted:#526b84;--pm-title:#244b74;--pm-link:#245a91;
 --pm-accent:#2868ad;--pm-accent-strong:#244b74;--pm-control-text:#ffffff;
 --pm-header:#173d64;--pm-header-text:#ffffff;--pm-header-active:#3d648d;--pm-header-active-border:#c5d9ee;--pm-border:#a9bfd6;
 --pm-highlight:rgba(255,255,255,.93);--pm-shadow:rgba(33,60,88,.18);
 --pm-alert:#a3403c;--pm-alert-text:#ffffff;--pm-media:#172a3d;
 --pm-grid:rgba(35,52,72,.052);--pm-glow:rgba(57,118,189,.23);
}
html[data-theme="ivory"]{
 --pm-canvas:#f7f4ee;--pm-surface:#fffdf8;--pm-surface-raised:#f0e9dd;
 --pm-text:#464137;--pm-muted:#71695d;--pm-title:#514634;--pm-link:#6c593c;
 --pm-accent:#756347;--pm-accent-strong:#5c4a34;--pm-control-text:#fffdf8;
 --pm-header:#3e382f;--pm-header-text:#fffdf8;--pm-header-active:#665d4f;--pm-header-active-border:#eadfc9;--pm-border:#cbb994;
 --pm-highlight:rgba(255,255,255,.88);--pm-shadow:rgba(70,58,42,.17);
 --pm-alert:#91433b;--pm-alert-text:#ffffff;--pm-media:#332e27;
 --pm-grid:rgba(70,65,55,.052);--pm-glow:rgba(179,151,99,.20);
}
html,body{background:var(--pm-canvas)!important}
html{scroll-padding-top:112px!important}
body{color:var(--pm-text)!important;background:radial-gradient(950px 560px at 8% -10%,var(--pm-glow),transparent 65%),radial-gradient(760px 480px at 106% 7%,var(--pm-glow),transparent 66%),var(--pm-canvas)!important}
body::before{opacity:1!important;background-image:linear-gradient(var(--pm-grid) 1px,transparent 1px),linear-gradient(90deg,var(--pm-grid) 1px,transparent 1px)!important}
header.bar{background:var(--pm-header)!important;border-bottom-color:var(--pm-border)!important;box-shadow:0 10px 30px var(--pm-shadow)!important}
header.bar .t,header.bar .t small{color:var(--pm-header-text)!important}.pagenav a,.langnav a{color:var(--pm-header-text)!important;font-weight:700!important;text-shadow:0 1px 1px rgba(0,0,0,.34)}.pagenav a:hover,.langnav a:hover{background:var(--pm-header-active)!important;color:var(--pm-header-text)!important}.pagenav a.on,.langnav a.on{background:var(--pm-header-active)!important;border-color:var(--pm-header-active-border)!important;color:var(--pm-header-text)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}.langnav{border-left-color:var(--pm-border)!important}
/* Header navigation must be readable before interaction.  Use an opaque white
   foreground here instead of a theme accent: Header sits over a frosted layer. */
html[data-theme] header.bar .pagenav>a:not(.on),html[data-theme] header.bar .langnav>a:not(.on),header.bar .pagenav>a:not(.on),header.bar .langnav>a:not(.on){color:#fff!important;opacity:1!important;text-shadow:0 1px 2px rgba(0,0,0,.58)!important}html[data-theme] header.bar .pagenav>a:hover,html[data-theme] header.bar .langnav>a:hover{color:#fff!important}html[data-theme] header.bar .pagenav>a.on,html[data-theme] header.bar .langnav>a.on{color:#fff!important}
#toc{background:var(--pm-surface-raised)!important;border-color:var(--pm-border)!important;box-shadow:inset 0 1px 0 var(--pm-highlight),0 18px 42px -24px var(--pm-shadow)!important}#toc::before{border-bottom-color:var(--pm-border)!important;color:var(--pm-muted)!important}#toc a,#toc a.sec{color:var(--pm-muted)!important}#toc a.top{color:var(--pm-text)!important}#toc a:hover{color:var(--pm-link)!important;background:var(--pm-highlight)!important}#toc a.on{color:var(--pm-title)!important;border-left-color:var(--pm-accent)!important;background:var(--pm-highlight)!important}#toc::-webkit-scrollbar-thumb{background:var(--pm-accent)!important}
main,.page{background:var(--pm-surface)!important;border-color:var(--pm-border)!important;box-shadow:inset 0 1px 0 var(--pm-highlight),0 26px 58px -36px var(--pm-shadow)!important}
main[id],main [id],.page [id]{scroll-margin-top:112px!important}
h1.lv-title,h2.lv-ch,h3.lv-sec,h4.lv-sub,.sc-main,.mc-h,.pay-h,.pn-h,.pillar h4,.stepcard h4,.dm-t,.concl h4,.paybox>h4{color:var(--pm-title)!important}h2.lv-ch::before{color:var(--pm-accent)!important}h2.lv-ch::after{background:linear-gradient(90deg,var(--pm-accent),transparent)!important}p,li{color:var(--pm-text)!important}a{color:var(--pm-link)!important}.mut,.sc-sub,.mc-p,.pn-p,.pay-p{color:var(--pm-muted)!important}
.showcase,.modecard,.panel,.paybox,.concl,.qsg,.note,.speccard,.demo{background:var(--pm-surface-raised)!important;border-color:var(--pm-border)!important;box-shadow:inset 0 1px 0 var(--pm-highlight),0 12px 28px -23px var(--pm-shadow)!important}.showcase,.qsg,.note{border-left-color:var(--pm-accent)!important}.modecard,.paybox,.concl{border-top-color:var(--pm-accent)!important;border-left-color:var(--pm-accent)!important}.note p,.note strong{color:var(--pm-text)!important}.note.alert{background:var(--pm-alert)!important;border-color:var(--pm-alert)!important}.note.alert p,.note.alert strong{color:var(--pm-alert-text)!important}
.showcase .cap,.linkbtn.tour,.ytpill,.stepcard .sn{background:var(--pm-accent)!important;color:var(--pm-control-text)!important}.linkbtn.video,.video-toggle{background:var(--pm-alert)!important;color:var(--pm-alert-text)!important}.chip,tr:first-child td{background:var(--pm-surface-raised)!important;color:var(--pm-title)!important}.speccard{background:var(--pm-surface-raised)!important}.sp-row,td{background:var(--pm-surface)!important;border-color:var(--pm-border)!important;color:var(--pm-text)!important}.sp-l,.pay-k{color:var(--pm-muted)!important}.sp-v,.pay-v{color:var(--pm-text)!important}.pay-g+.pay-g{border-top-color:var(--pm-border)!important}
.demo{background:var(--pm-surface-raised)!important;border-color:var(--pm-border)!important}.demo::after{background:linear-gradient(110deg,var(--pm-highlight),transparent 45%)!important}.demo:hover{background:var(--pm-surface)!important;border-color:var(--pm-accent)!important}.demo .dm-i{color:var(--pm-accent)!important}.demo .dm-t{color:var(--pm-title)!important}.demo .dm-s{color:var(--pm-muted)!important}
.figs figure,.figs .fig{background:var(--pm-surface-raised)!important;border-color:var(--pm-border)!important;box-shadow:0 18px 36px -28px var(--pm-shadow)!important}.figs img,.page img{background:var(--pm-media)!important;border-color:var(--pm-border)!important}.video-frame{background:var(--pm-media)!important;border-color:var(--pm-border)!important}.endmark,.finenote{border-top-color:var(--pm-border)!important}.endmark,.finenote p{color:var(--pm-muted)!important}.finenote .fn-h,.finenote b{color:var(--pm-title)!important}.xref{background:var(--pm-surface-raised)!important;border-color:var(--pm-accent)!important;color:var(--pm-link)!important}.xref:hover{background:var(--pm-accent)!important;color:var(--pm-control-text)!important}
/* Theme selector: solid swatches read as controls, not as broken image tiles. */
.themebar button{width:19px!important;height:19px!important;min-width:19px!important;border:1px solid rgba(255,255,255,.78)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.30)!important;background-image:none!important}.themebar .t-burgundy{background-color:#843a51!important}.themebar .t-graphite{background-color:#90959c!important}.themebar .t-tool{background-color:#3976bd!important}.themebar .t-ivory{background-color:#e8ddc7!important;border-color:#b8a98d!important}.themebar button:hover{transform:scale(1.14)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.30),0 0 0 2px rgba(255,255,255,.52)!important}.themebar button[aria-pressed="true"]{transform:scale(1.08)!important;border-color:#fff!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.28),0 0 0 2px var(--pm-header),0 0 0 4px #fff!important}
/* Narrow-header controls: direct access to navigation, language and appearance. */
.mobile-controls,.mobile-panel{display:none}
@media(max-width:1100px){
 header.bar{gap:12px!important;padding:10px 16px!important}
 header.bar img{height:32px}
 header.bar>.pagenav,header.bar>.langnav,header.bar>.themebar,header.bar>.t{display:none!important}
 .mobile-controls{display:flex;align-items:center;gap:8px;margin-left:auto}
 .mobile-control{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid var(--pm-border);border-radius:9px;background:var(--pm-header-active);color:#fff;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
 .mobile-control:hover,.mobile-control[aria-expanded="true"]{background:var(--pm-accent);border-color:var(--pm-header-active-border)}
 .mobile-control svg{width:18px;height:18px;fill:currentColor}.mobile-language{font:700 15px/1 var(--f-head)}.mobile-control .mobile-globe{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .hamburger,.hamburger::before,.hamburger::after{width:16px;height:2px;display:block;border-radius:2px;background:currentColor;content:"";transition:transform .16s}
 .hamburger{position:relative}.hamburger::before{position:absolute;transform:translateY(-6px)}.hamburger::after{position:absolute;transform:translateY(6px)}
 .mobile-control[aria-expanded="true"] .hamburger{background:transparent}.mobile-control[aria-expanded="true"] .hamburger::before{transform:rotate(45deg)}.mobile-control[aria-expanded="true"] .hamburger::after{transform:rotate(-45deg)}
 .mobile-panel{position:fixed;z-index:70;display:block;max-height:min(70vh,480px);overflow:auto;padding:10px;border:1px solid var(--pm-border);border-radius:14px;background:var(--pm-surface-raised);box-shadow:0 18px 38px -18px var(--pm-shadow)}
 .mobile-panel[hidden]{display:none!important}.mobile-nav-panel{left:12px;right:12px}.mobile-language-panel{right:54px;width:244px}.mobile-theme-panel{right:12px;width:max-content}
 .mobile-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.mobile-nav a,.mobile-langnav a{display:flex;align-items:center;min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:8px;color:var(--pm-text)!important;text-decoration:none;font:700 13px/1.25 var(--f-head)}.mobile-nav a:hover,.mobile-nav a.on,.mobile-langnav a:hover,.mobile-langnav a.on{background:var(--pm-surface);border-color:var(--pm-accent);color:var(--pm-title)!important}
 .mobile-langnav{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.mobile-langnav a{justify-content:center;gap:5px;padding:7px 5px;font-size:12px}.mobile-langnav .lf{font-size:14px}
 .mobile-themebar{display:flex!important;margin:3px!important;padding:6px!important;gap:12px!important}.mobile-themebar button{width:23px!important;height:23px!important;min-width:23px!important}
}
@media(max-width:500px){header.bar img{height:29px}.mobile-controls{gap:5px}.mobile-control{width:32px;height:32px}.mobile-nav{grid-template-columns:1fr}.mobile-nav-panel{left:8px;right:8px}.mobile-language-panel{right:48px;width:236px}.mobile-theme-panel{right:8px}.mobile-themebar{gap:10px!important}}
@media(max-width:700px){header.bar{padding:11px 15px!important}main,.page{border-radius:0!important}body::before{background-size:30px 30px}}
