/* TOTP Vault Docs - self contained */
:root{--bg:#fff;--bg2:#f7f8fc;--card:#fff;--text:#1b1f2a;--muted:#697386;--line:#e6e8ef;--accent:#5b4cf0;--accent2:#785ff7;--accent-soft:#f0edff;--code:#171923;--code-text:#eef0f7;--shadow:0 12px 34px rgba(29,35,58,.08);--header:64px;--left:276px;--right:238px}
[data-theme="dark"]{--bg:#11131a;--bg2:#171a23;--card:#171a23;--text:#eef1f7;--muted:#a6adbd;--line:#2a2f3b;--accent:#8b7cff;--accent2:#a594ff;--accent-soft:#26213e;--code:#0a0c11;--code-text:#eef0f7;--shadow:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.topbar{height:var(--header);position:sticky;top:0;z-index:30;display:flex;align-items:center;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px)}.topbar-inner{width:100%;display:flex;align-items:center;gap:22px;padding:0 24px}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:17px;min-width:230px}.brand-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 8px 20px rgba(91,76,240,.25)}.brand small{font-weight:500;color:var(--muted);display:block;font-size:11px;line-height:1.1}.topnav{display:flex;gap:20px;margin-right:auto;white-space:nowrap}.topnav a{color:var(--muted);font-weight:650}.topnav a:hover{color:var(--text)}.icon-btn{border:1px solid var(--line);background:var(--card);color:var(--text);height:36px;min-width:36px;border-radius:10px;cursor:pointer}.search-btn{display:flex;align-items:center;gap:8px;padding:0 12px;min-width:170px;color:var(--muted)}.kbd{font-size:11px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 5px;color:var(--muted)}.mobile-menu{display:none}.shell{display:grid;grid-template-columns:var(--left) minmax(0,1fr) var(--right);min-height:calc(100vh - var(--header))}.sidebar{position:sticky;top:var(--header);height:calc(100vh - var(--header));overflow:auto;border-right:1px solid var(--line);padding:24px 18px;background:var(--bg)}.sidebar-title{font-size:12px;color:var(--muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:0 10px 10px}.nav-link{display:flex;align-items:center;gap:9px;padding:8px 11px;margin:2px 0;border-radius:9px;color:var(--muted);font-weight:620}.nav-link:hover{background:var(--bg2);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--accent);font-weight:800}.nav-num{font-size:11px;min-width:22px;color:var(--muted)}.sidebar-foot{margin-top:24px;padding:14px 10px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.article{max-width:900px;width:100%;padding:46px 54px 90px;margin:0 auto}.breadcrumbs{color:var(--muted);font-size:13px;margin-bottom:18px}.page-kicker{color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.article h1{font-size:38px;line-height:1.2;letter-spacing:-.03em;margin:7px 0 12px}.lead{color:var(--muted);font-size:17px;max-width:760px;margin-bottom:36px}.article h2{font-size:28px;line-height:1.3;margin:50px 0 16px;padding-top:14px;border-top:1px solid var(--line)}.article h3{font-size:22px;line-height:1.35;margin:38px 0 12px}.article h4{font-size:17px;line-height:1.4;margin:28px 0 10px}.heading-anchor{opacity:0;color:var(--accent);font-weight:500;margin-left:-24px;padding-right:8px}.article h2:hover .heading-anchor,.article h3:hover .heading-anchor,.article h4:hover .heading-anchor{opacity:1}.article p{margin:12px 0}.article ul,.article ol{padding-left:24px}.article li{margin:5px 0}.article table{width:100%;border-collapse:separate;border-spacing:0;margin:18px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.article th,.article td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}.article th{background:var(--bg2);text-align:left;font-size:13px}.article tr:last-child td{border-bottom:0}.article code:not(pre code){font-family:"SFMono-Regular",Consolas,monospace;background:var(--accent-soft);color:var(--accent);padding:.15em .4em;border-radius:5px;font-size:.9em}.article blockquote{margin:18px 0;padding:14px 16px 14px 48px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);color:var(--text);position:relative}.article blockquote:before{content:"ℹ";position:absolute;left:16px;top:14px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:900}.article blockquote p{margin:3px 0}.article blockquote.callout-server{border-color:#b9d7ff;background:color-mix(in srgb,#eaf4ff 75%,var(--bg))}.article blockquote.callout-panel{border-color:#d7c7ff;background:color-mix(in srgb,#f2edff 75%,var(--bg))}.article blockquote.callout-browser{border-color:#bde8d3;background:color-mix(in srgb,#eafaf2 75%,var(--bg))}.article blockquote.callout-windows{border-color:#b9e4f7;background:color-mix(in srgb,#eaf8ff 75%,var(--bg))}.article blockquote.callout-danger{border-color:#ffc8c8;background:color-mix(in srgb,#fff0f0 75%,var(--bg))}.article blockquote.callout-check{border-color:#c5e7c9;background:color-mix(in srgb,#effaf0 75%,var(--bg))}.code-wrap{position:relative;margin:18px 0;border:1px solid #292e3b;background:var(--code);border-radius:12px;overflow:hidden;box-shadow:0 9px 25px rgba(0,0,0,.08)}.code-wrap:before{content:attr(data-lang);display:block;padding:8px 68px 7px 14px;color:#969daf;background:#11141c;border-bottom:1px solid #292e3b;font:11px/1.4 "SFMono-Regular",Consolas,monospace;text-transform:none}.code-wrap pre{margin:0;padding:15px 17px;overflow:auto}.code-wrap code{font:13px/1.72 "SFMono-Regular",Consolas,"Liberation Mono",monospace;color:var(--code-text);white-space:pre}.copy-btn{position:absolute;right:9px;top:6px;border:1px solid #343a49;background:#1c202b;color:#cbd0dc;border-radius:7px;padding:4px 8px;font-size:11px;cursor:pointer}.copy-btn:hover{background:#292f3d}.toc{position:sticky;top:var(--header);height:calc(100vh - var(--header));overflow:auto;padding:34px 20px 30px 10px}.toc-title{font-size:12px;font-weight:850;margin-bottom:10px}.toc a{display:block;font-size:12px;color:var(--muted);padding:4px 0 4px 11px;border-left:1px solid var(--line)}.toc a:hover,.toc a.active{color:var(--accent);border-left-color:var(--accent)}.toc .lv3{padding-left:21px}.toc .lv4{padding-left:31px}.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:52px;padding-top:24px;border-top:1px solid var(--line)}.page-card{border:1px solid var(--line);border-radius:12px;padding:14px 16px}.page-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.page-card small{display:block;color:var(--muted)}.page-card.next{text-align:right}.footer{margin-top:40px;color:var(--muted);font-size:12px}.hero{padding:72px 24px 90px;background:radial-gradient(circle at 50% -10%,rgba(91,76,240,.20),transparent 42%),var(--bg)}.hero-inner{max-width:1050px;margin:auto;text-align:center}.hero-badge{display:inline-flex;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;color:var(--muted);font-size:12px}.hero h1{font-size:54px;line-height:1.06;letter-spacing:-.045em;margin:20px 0 16px}.hero p{font-size:18px;color:var(--muted);max-width:680px;margin:0 auto 28px}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:11px 17px;border-radius:10px;font-weight:800}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{border:1px solid var(--line);background:var(--card)}.home-section{max-width:1050px;margin:0 auto;padding:0 24px 70px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature{border:1px solid var(--line);border-radius:15px;padding:22px;background:var(--card)}.feature:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.feature-icon{font-size:23px}.feature h3{margin:10px 0 5px}.feature p{color:var(--muted);margin:0}.route{margin-top:32px;border:1px solid var(--line);border-radius:15px;padding:23px;background:var(--bg2)}.route-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.route-step{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:14px;font-size:13px}.route-step b{display:block;color:var(--accent);font-size:11px;margin-bottom:3px}.search-overlay{position:fixed;inset:0;z-index:100;display:none;align-items:flex-start;justify-content:center;background:rgba(12,15,25,.45);padding-top:11vh}.search-overlay.open{display:flex}.search-box{width:min(680px,92vw);background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 26px 80px rgba(0,0,0,.25);overflow:hidden}.search-input{width:100%;border:0;border-bottom:1px solid var(--line);outline:0;padding:18px 20px;background:transparent;color:var(--text);font-size:17px}.search-results{max-height:55vh;overflow:auto;padding:8px}.search-result{display:block;padding:11px 13px;border-radius:9px}.search-result:hover{background:var(--bg2)}.search-result b{display:block}.search-result span{color:var(--muted);font-size:12px}.search-empty{padding:20px;color:var(--muted);text-align:center}
@media(max-width:1280px){.topnav{display:none}.brand{min-width:220px}.search-btn{margin-left:auto}}
@media(max-width:1180px){:root{--right:0px}.shell{grid-template-columns:var(--left) minmax(0,1fr)}.toc{display:none}}
@media(max-width:820px){.topbar-inner{padding:0 14px}.brand{min-width:0}.brand small,.topnav,.search-btn .kbd{display:none}.search-btn{min-width:36px;width:36px;padding:0;justify-content:center}.mobile-menu{display:inline-grid;place-items:center}.shell{display:block}.sidebar{position:fixed;top:var(--header);left:0;width:286px;z-index:40;transform:translateX(-102%);transition:.2s;box-shadow:20px 0 50px rgba(0,0,0,.16)}.sidebar.open{transform:none}.article{padding:32px 22px 70px}.article h1{font-size:32px}.article h2{font-size:25px}.hero h1{font-size:40px}.cards{grid-template-columns:1fr}.route-grid{grid-template-columns:1fr 1fr}.prevnext{grid-template-columns:1fr}.heading-anchor{display:none}}
@media(max-width:480px){.route-grid{grid-template-columns:1fr}.hero{padding-top:54px}.hero h1{font-size:35px}}


/* v1.2.0 enhancements */
.brand-logo{width:34px;height:34px;display:block;object-fit:contain;border-radius:10px;box-shadow:0 5px 16px rgba(91,76,240,.18)}
.version-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:800;margin-left:8px;vertical-align:middle}
.callout{margin:18px 0;padding:14px 16px 14px 18px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;background:var(--bg2)}
.callout p{margin:.25rem 0}.callout-label{font-size:12px;font-weight:900;letter-spacing:.04em;margin-bottom:6px;color:var(--accent)}
.callout-server{border-left-color:#2563eb}.callout-server .callout-label{color:#2563eb}
.callout-panel{border-left-color:#7c3aed}.callout-panel .callout-label{color:#7c3aed}
.callout-browser{border-left-color:#0891b2}.callout-browser .callout-label{color:#0891b2}
.callout-windows{border-left-color:#0f766e}.callout-windows .callout-label{color:#0f766e}
.callout-codex{border-left-color:#9333ea}.callout-codex .callout-label{color:#9333ea}
.callout-check{border-left-color:#16a34a}.callout-check .callout-label{color:#16a34a}
.callout-warn{border-left-color:#ea580c;background:color-mix(in srgb,#fb923c 8%,var(--bg))}.callout-warn .callout-label{color:#ea580c}
.callout-note{border-left-color:#64748b}.callout-note .callout-label{color:#64748b}
.code-wrap{position:relative;margin:18px 0;padding-top:30px;border-radius:14px;overflow:hidden;background:var(--code);box-shadow:0 1px 0 rgba(255,255,255,.03) inset}
.code-wrap:before{content:attr(data-lang);position:absolute;top:0;left:0;right:0;height:30px;display:flex;align-items:center;padding:0 14px;font-size:11px;font-weight:800;letter-spacing:.04em;color:#aeb5c5;background:#202330;border-bottom:1px solid #2c3040}
.code-wrap pre{margin:0!important;border-radius:0!important;background:transparent!important;padding:16px 18px!important;overflow:auto}
.copy-btn{top:4px!important;right:8px!important;background:#2b3040!important;color:#f1f3f9!important;border:1px solid #3b4153!important;border-radius:7px!important;padding:3px 9px!important;font-size:11px!important}
.table-wrap{overflow-x:auto;margin:18px 0;border:1px solid var(--line);border-radius:12px}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}.table-wrap th{background:var(--bg2)}
.section-group{margin-top:34px}.home-section .cards{grid-template-columns:repeat(3,minmax(0,1fr))}.feature .tag-new{display:inline-flex;margin-left:7px;padding:1px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:900;vertical-align:middle}
.brand-edit-card{border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));background:linear-gradient(135deg,var(--accent-soft),var(--card));border-radius:16px;padding:20px;margin:22px 0}.brand-edit-card code{word-break:break-all}
@media(max-width:980px){.home-section .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.home-section .cards{grid-template-columns:1fr}.brand-logo{width:30px;height:30px}}
