:root{--bg:#f4f6f8;--surface:#fff;--surface2:#f8fafb;--text:#0e1726;--muted:#5b6b7f;--border:#e2e8ee;--border2:#cfd8e1;--primary:#168a49;--primary-h:#117a3f;--primary-soft:#e4f5ea;--on-primary:#fff;--ok:#0f7b45;--ok-soft:#e1f5ea;--warn:#a15c00;--warn-soft:#fff1d6;--bad:#b42318;--bad-soft:#fde8e6;--info:#1d4ed8;--info-soft:#e4ecfd;--shadow:0 1px 2px #0f172a0f,0 4px 14px #0f172a0d;--radius:12px;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1117;--surface:#121a22;--surface2:#16202a;--text:#e8eef4;--muted:#8fa1b3;--border:#223040;--border2:#2c3d4f;--primary:#3dd07a;--primary-h:#5ae08f;--primary-soft:#12301f;--on-primary:#03160b;--ok:#4ade80;--ok-soft:#10301f;--warn:#fbbf24;--warn-soft:#33260a;--bad:#f87171;--bad-soft:#3a1614;--info:#7aa2ff;--info-soft:#14234a;--shadow:0 1px 2px #0006}}:root[data-theme=dark]{--bg:#0b1117;--surface:#121a22;--surface2:#16202a;--text:#e8eef4;--muted:#8fa1b3;--border:#223040;--border2:#2c3d4f;--primary:#3dd07a;--primary-h:#5ae08f;--primary-soft:#12301f;--on-primary:#03160b;--ok:#4ade80;--ok-soft:#10301f;--warn:#fbbf24;--warn-soft:#33260a;--bad:#f87171;--bad-soft:#3a1614;--info:#7aa2ff;--info-soft:#14234a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif}h1,h2,h3{margin:0 0 .5em;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:.4em 0 .9em}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}code,kbd,pre{font-family:var(--mono);font-size:.88em}code{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:.08em .38em}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-family:var(--mono)}.app{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.side{background:var(--surface);border-right:1px solid var(--border);height:100vh;padding:18px 12px;position:sticky;top:0;overflow:auto}.brand{align-items:center;gap:10px;padding:4px 10px 16px;font-size:1.02rem;font-weight:700;display:flex}.brand img{object-fit:contain;width:34px;height:34px;display:block}.nav button{width:100%;color:var(--muted);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:9px 12px;display:flex;position:relative}.nav button:hover{background:var(--surface2);color:var(--text)}.nav button[aria-current=page]{background:var(--primary-soft);color:var(--primary);font-weight:600}.nav .grp{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:14px 12px 4px;font-size:.72rem}.nav .dot{background:var(--bad);color:#fff;text-align:center;border-radius:99px;min-width:20px;margin-left:auto;padding:0 7px;font-size:.7rem}.main{width:100%;max-width:1280px;padding:24px clamp(16px,3vw,36px) 60px}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card+.card{margin-top:16px}.grid>.card,.grid>.card+.card{margin-top:0}.grid{gap:14px;display:grid}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.stat{padding:16px}.stat .l{color:var(--muted);font-size:.82rem}.stat .v{font-variant-numeric:tabular-nums;margin-top:2px;font-size:1.45rem;font-weight:700}.stat .s{color:var(--muted);margin-top:2px;font-size:.8rem}.stat.accent{border-color:var(--primary);background:linear-gradient(180deg,var(--primary-soft),var(--surface))}.btn{font:inherit;border:1px solid var(--border2);background:var(--surface);color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--surface2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn.primary:hover{background:var(--primary-h)}.btn.danger{color:var(--bad);border-color:var(--bad)}.btn.sm{padding:4px 10px;font-size:.84rem}.btn.ghost{background:0 0;border-color:#0000}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.nav button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border2);border-radius:9px;width:100%;padding:8px 11px}textarea{font-family:var(--mono);min-height:90px;font-size:.85rem}label{margin:0 0 4px;font-size:.84rem;font-weight:600;display:block}.field{margin-bottom:12px}.field .hint{color:var(--muted);margin-top:3px;font-size:.78rem}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.sp{justify-content:space-between}.right{margin-left:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:9px 10px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;font-size:.76rem;font-weight:600}tbody tr:hover{background:var(--surface2)}.tbl{overflow-x:auto}.badge{background:var(--surface2);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:99px;padding:2px 9px;font-size:.76rem;font-weight:600;display:inline-block}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.badge.bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}.badge.info{background:var(--info-soft);color:var(--info);border-color:#0000}.alert{border:1px solid var(--border);background:var(--surface2);border-radius:10px;margin:0 0 14px;padding:10px 14px}.alert.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.alert.bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}.alert.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.alert.info{background:var(--info-soft);color:var(--info);border-color:#0000}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 14px}.tabs button[aria-selected=true]{color:var(--primary);border-color:var(--primary);font-weight:600}.modal-bg{z-index:50;background:#070c128c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:14px;width:100%;max-width:560px;max-height:90vh;padding:22px;overflow:auto;box-shadow:0 20px 60px #00000059}.toasts{z-index:60;gap:8px;display:grid;position:fixed;bottom:16px;right:16px}.toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow);border-radius:10px;max-width:360px;padding:10px 14px}.toast.bad{background:var(--bad);color:#fff}.secret{font-family:var(--mono);background:var(--surface2);border:1px dashed var(--border2);word-break:break-all;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.center{place-items:center;min-height:100vh;padding:20px;display:grid}.auth{width:100%;max-width:420px}.auth .card{padding:26px}.kv{grid-template-columns:170px 1fr;gap:6px 14px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.bar{background:var(--surface2);border:1px solid var(--border);border-radius:99px;height:8px;overflow:hidden}.bar>i{background:var(--primary);height:100%;display:block}.eq{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.eq b{font-size:1.05rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.docs{grid-template-columns:260px 1fr;gap:34px;max-width:1180px;margin:0 auto;padding:24px 20px 80px;display:grid}.docs nav{align-self:start;max-height:calc(100vh - 32px);font-size:.92rem;position:sticky;top:16px;overflow:auto}.docs nav a{color:var(--muted);border-radius:7px;padding:5px 10px;display:block}.docs nav a:hover{background:var(--surface2);color:var(--text);text-decoration:none}.docs section{margin-bottom:44px;scroll-margin-top:16px}.docs h2{border-bottom:1px solid var(--border);margin-top:0;padding-bottom:8px;font-size:1.45rem}.docs h3{margin-top:1.6em}pre.code{color:#e6edf3;background:#0d1620;border-radius:10px;margin:8px 0 14px;padding:14px 16px;font-size:.84rem;line-height:1.5;overflow:auto}.step{counter-increment:s;gap:12px;margin:12px 0;display:flex}.step:before{content:counter(s);background:var(--primary);width:28px;height:28px;color:var(--on-primary);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:grid}.callout{border-left:4px solid var(--primary);background:var(--primary-soft);border-radius:0 10px 10px 0;margin:12px 0;padding:10px 14px}.callout.warn{border-color:var(--warn);background:var(--warn-soft)}.callout.bad{border-color:var(--bad);background:var(--bad-soft)}@media print{.side,.menu-btn,.docs nav{display:none}}.nf{background:radial-gradient(1200px 600px at 80% -10%,var(--primary-soft),transparent 60%),radial-gradient(900px 500px at -10% 110%,var(--primary-soft),transparent 55%),var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.nf:before{content:"";opacity:.06;pointer-events:none;background:url(/logo.png) 50%/contain no-repeat;width:520px;height:520px;position:absolute;bottom:-140px;right:-120px;transform:rotate(-12deg)}.nf-card{text-align:center;background:var(--surface);border:1px solid var(--border);width:100%;max-width:540px;box-shadow:var(--shadow);border-radius:22px;padding:44px 32px 36px;position:relative}.nf-logo{width:76px;height:76px;margin:0 auto 6px;animation:5s ease-in-out infinite float;display:block}.nf-code{letter-spacing:-.04em;background:linear-gradient(135deg,var(--primary),#6fd39a);color:#0000;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;margin:6px 0 4px;font-size:5.2rem;font-weight:800;line-height:1}.nf-card h1{margin:.2em 0 .4em;font-size:1.35rem}.nf-card p{color:var(--muted);max-width:420px;margin:.3em auto 1.2em}.nf-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.nf-foot{color:var(--muted);margin-top:26px;font-size:.78rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}html{-webkit-text-size-adjust:100%}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.btn,.nav button,.bnav button,.tabs button{touch-action:manipulation}.mbar,.bnav,.scrim{display:none}.icon-btn{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:44px;height:44px;padding:0;display:inline-grid}.icon-btn:hover{background:var(--surface2)}.nav .navlink{color:var(--muted);border-radius:9px;align-items:center;gap:10px;margin-top:8px;padding:9px 12px;display:flex}.nav .navlink:hover{background:var(--surface2);color:var(--text);text-decoration:none}.nav button svg,.nav .navlink svg{opacity:.85}.whoami{margin-top:22px;padding:0 10px}.ell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand span{white-space:nowrap}.icon-btn.side-close{margin-left:auto;display:none}.tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;flex:none}@media (max-width:900px){.app{display:block}.mbar{z-index:30;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:calc(6px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) 6px calc(8px + env(safe-area-inset-left));min-height:calc(56px + env(safe-area-inset-top));justify-content:space-between;align-items:center;gap:6px;display:flex;position:sticky;top:0}.mbar-title{align-items:center;gap:9px;min-width:0;font-weight:700;display:flex}.mbar-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scrim{z-index:44;background:#070c1280;animation:.18s fade;display:block;position:fixed;inset:0}.side{z-index:45;width:min(86vw,320px);height:auto;box-shadow:var(--shadow);padding-top:calc(14px + env(safe-area-inset-top));padding-bottom:calc(14px + env(safe-area-inset-bottom));transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-104%)}.side.open{transform:none}.icon-btn.side-close{display:inline-grid}.nav button,.nav .navlink{min-height:46px;font-size:1rem}.main{padding:16px calc(14px + env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left))}.bnav{z-index:40;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:6px calc(4px + env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) calc(4px + env(safe-area-inset-left));grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bnav button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-items:center;gap:2px;min-height:52px;padding:6px 2px;font-size:.7rem;display:grid;position:relative}.bnav button[aria-current=page]{color:var(--primary);background:var(--primary-soft);font-weight:700}.bnav .ic{display:grid;position:relative}.bnav .dot{background:var(--bad);color:#fff;text-align:center;border-radius:99px;min-width:16px;padding:0 4px;font-size:.62rem;line-height:16px;position:absolute;top:-4px;right:-9px}.toasts{left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom))}.toast{max-width:none}.g3,.g4{grid-template-columns:repeat(2,1fr)}.docs{grid-template-columns:minmax(0,1fr);gap:10px;padding:0 14px 60px;overflow-x:clip}.docs main{min-width:0}.docs .tbl{-webkit-overflow-scrolling:touch;margin:0 -2px;overflow-x:auto}.docs .tbl table{min-width:480px}.docs pre.code{max-width:100%}.docs .kv{grid-template-columns:1fr!important}.docs .kv dt{color:var(--text);margin-top:12px;font-weight:600}.docs section{margin-bottom:34px}.docs h2{font-size:1.28rem}.docs h3{font-size:1.02rem}.docs header .row,.docs-head .row{gap:8px}.docs nav{z-index:20;background:var(--bg);scrollbar-width:none;border-bottom:1px solid var(--border);gap:6px;max-height:none;margin:0 -14px;padding:10px 14px;display:flex;position:sticky;top:0;overflow-x:auto}.docs nav::-webkit-scrollbar{display:none}.docs nav .small{display:none}.docs nav a{white-space:nowrap;border:1px solid var(--border);background:var(--surface);border-radius:99px;flex:none;padding:6px 13px}.docs h1{font-size:1.6rem!important}}@media (max-width:720px){body{font-size:15.5px}input,select,textarea{min-height:46px;font-size:16px}textarea{min-height:110px}.btn{min-height:44px;padding:9px 16px}.btn.sm{min-height:38px;padding:6px 12px}.top{margin-bottom:12px}h1{font-size:1.3rem}.card{border-radius:14px;padding:14px}.g3,.g4{grid-template-columns:1fr 1fr}.g2,.docs .g3,.docs .g2{grid-template-columns:1fr}.stat{padding:12px}.stat .v{overflow-wrap:anywhere;font-size:1.08rem}.stat .l{font-size:.76rem}.row>input,.row>select,.row>.btn:not(.sm){flex:100%;width:100%!important;max-width:none!important}form.row,.row.sp{align-items:stretch}.row.sp{flex-wrap:wrap}.kv{grid-template-columns:1fr;gap:0}.kv dt{margin-top:10px;font-size:.78rem}.tbl{overflow:visible}table.rt,table.rt tbody,table.rt tr,table.rt td{width:100%;display:block}table.rt thead{display:none}table.rt tr{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-bottom:10px;padding:6px 12px}table.rt tbody tr:hover{background:var(--surface)}table.rt td{text-align:right;overflow-wrap:anywhere;border:0;justify-content:space-between;align-items:flex-start;gap:14px;padding:7px 0;display:flex}table.rt td:before{content:attr(data-label);color:var(--muted);text-align:left;flex:none;max-width:42%;padding-top:2px;font-size:.76rem}table.rt td:not([data-label]){text-align:left;border-top:1px dashed var(--border);margin-top:4px;padding-top:10px;display:block}table.rt td:not([data-label]):before{content:none}table.rt td:not([data-label]) .row{justify-content:flex-start}table.rt td:not([data-label]) .btn{flex:auto;justify-content:center}table.rt td.num{text-align:right}table.rt td .small.muted{text-align:inherit}table.rt td:empty{display:none}.modal-bg{align-items:end;padding:0}.modal{width:100%;max-height:92vh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));overscroll-behavior:contain;border-radius:20px 20px 0 0;animation:.22s sheet;max-width:none!important}.modal:before{content:"";background:var(--border2);border-radius:99px;width:44px;height:5px;margin:-8px auto 12px;display:block}.modal .btn.primary,.modal .btn.danger{justify-content:center;width:100%}.auth .card{padding:20px 16px}.center{padding-top:calc(8vh + env(safe-area-inset-top));align-items:start}.secret{flex-wrap:wrap}.secret .btn{justify-content:center;width:100%}pre.code{border-radius:8px;margin-left:-4px;margin-right:-4px;font-size:.78rem}.nf-card{padding:34px 20px 28px}.nf-code{font-size:4.2rem}}@media (max-width:380px){.g3,.g4{grid-template-columns:1fr}.bnav button{font-size:.64rem}}@media (hover:none){.nav button:hover,.btn:hover,tbody tr:hover{background:inherit}.btn:active{transform:scale(.98)}}@keyframes sheet{0%{opacity:.4;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media print{.mbar,.bnav,.scrim{display:none!important}}.main>*+*{margin-top:16px}.main>*+h2{margin-top:28px}.main>h2{margin-bottom:12px}.main>.top+*{margin-top:0}.card>*+*{margin-top:12px}.card>.row.sp:first-child,.card>h2+*{margin-top:0}.modal>*+*{margin-top:12px}.modal>h2+*{margin-top:0}.grid>*{margin-top:0!important}.tabs+*{margin-top:0}.alert{margin-bottom:0}.alert+*{margin-top:16px}.docs main>*+*{margin-top:0}@media (max-width:720px){.main>*+*{margin-top:18px}.main>*+h2{margin-top:30px}.alert+*{margin-top:18px}.grid{gap:12px}.card>*+*{margin-top:14px}table.rt tr{margin-bottom:12px}.field{margin-bottom:14px}}
