:root{--paper:#f1f4f3;--paper-2:#e8eceb;--panel:#fff;--ink:#12202a;--muted:#56656c;--rule:#d3dbd9;--rule-soft:#e6ebea;--accent:#0c6570;--accent-ink:#fff;--accent-soft:#dcedec;--ok:#1a7245;--ok-soft:#e0f0e6;--warn:#8f560a;--warn-soft:#f7ebd6;--crit:#af271b;--crit-soft:#f7e2df;--cloud:#2c5a9a;--cloud-soft:#e4ebf5;--site:#74561d;--site-soft:#f3ebdc;--code-bg:#f7f9f8;--tube:#b3bec1;--shadow:#08141a29;--scrim:#08121857;--font-display:"BIZ UDPGothic", "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", sans-serif;--font-body:"Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", system-ui, sans-serif;--font-mono:"SFMono-Regular", "Cascadia Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#0d1416;--paper-2:#121b1e;--panel:#152024;--ink:#e1e9e8;--muted:#98a8a8;--rule:#2b3a3f;--rule-soft:#1d292d;--accent:#52bcc3;--accent-ink:#052a2f;--accent-soft:#123338;--ok:#66c693;--ok-soft:#12301f;--warn:#e2a650;--warn-soft:#34260f;--crit:#f07c6e;--crit-soft:#3a1815;--cloud:#8fb3e8;--cloud-soft:#16243a;--site:#d8b679;--site-soft:#2c2416;--code-bg:#10191c;--tube:#3e4f55;--shadow:#00000080;--scrim:#0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0;font-size:14px;line-height:1.6}h1,h2,h3,h4,h5{font-family:var(--font-display);text-wrap:balance;margin:0;line-height:1.4}p,ul,ol{margin:0}code,.mono{font-family:var(--font-mono);font-size:.92em}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--panel)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fatal{max-width:760px;padding:40px}.hint{color:var(--muted);font-size:12px}.small{font-size:12px}.block{display:block}.nowrap{white-space:nowrap}.warn-text{color:var(--warn)}.crit-text{color:var(--crit)}.ok-text{color:var(--ok)}.danger-text{color:var(--crit)!important}.row{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.row.end{justify-content:flex-end;width:100%}.stack{gap:10px;display:grid}.stack-tight{justify-items:start;gap:4px;display:grid}.pad{padding:14px 18px}.pad-x{padding:0 10px}.pad-top{margin-top:10px}.btn{border:1px solid var(--rule);background:var(--panel);cursor:pointer;white-space:nowrap;border-radius:6px;padding:7px 14px;line-height:1.4}.btn:hover:not(:disabled){border-color:var(--muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.danger{color:var(--crit);border-color:color-mix(in srgb, var(--crit) 55%, var(--rule))}.btn.danger-fill{background:var(--crit);border-color:var(--crit);color:#fff;font-weight:600}.btn.link{color:var(--accent);background:0 0;border:0;padding:0}.btn.link:hover:not(:disabled){text-decoration:underline}.btn.small{padding:4px 10px;font-size:12.5px}.btn:disabled{opacity:.5;cursor:not-allowed}.icon{cursor:pointer;width:26px;height:26px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:5px;padding:0}.icon:hover:not(:disabled){border-color:var(--rule);color:var(--ink)}.icon:disabled{opacity:.35;cursor:default}.chip{white-space:nowrap;color:var(--muted);background:var(--rule-soft);font-size:12px;font-family:var(--font-body);border-radius:999px;align-items:center;gap:6px;padding:1px 9px;font-weight:500;line-height:1.6;display:inline-flex}.chip.ok{color:var(--ok);background:var(--ok-soft)}.chip.warn{color:var(--warn);background:var(--warn-soft)}.chip.crit{color:var(--crit);background:var(--crit-soft)}.chip.run{color:var(--accent);background:var(--accent-soft)}.chip.cloud{color:var(--cloud);background:var(--cloud-soft)}.chip.site{color:var(--site);background:var(--site-soft)}.linkchip{text-decoration:none}.linkchip:hover{text-decoration:underline}.dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.crit{background:var(--crit)}.dot.run{background:var(--accent)}.dot.plain{background:var(--rule)}.nbadge{border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11.5px;font-weight:700;display:inline-grid}.nbadge.warn{background:var(--warn-soft);color:var(--warn)}.nbadge.crit{background:var(--crit);color:#fff}.banner{background:var(--accent-soft);color:var(--accent);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:9px 13px;font-size:13px;display:flex}.banner>span,.banner>div{min-width:0}.banner.crit{background:var(--crit-soft);color:var(--crit)}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.ok{background:var(--ok-soft);color:var(--ok)}.banner ul{width:100%;margin:4px 0 0;padding-left:18px}.banner.inset{margin:0 18px 16px}details.banner{display:block}details.banner summary{cursor:pointer}.empty{color:var(--muted);text-align:center;padding:32px 16px}.empty-state{text-align:center;color:var(--muted);justify-items:center;gap:12px;padding:60px 24px;display:grid}.empty-state h3{color:var(--ink);font-size:17px}.nav{background:var(--panel);border-right:1px solid var(--rule);flex-direction:column;gap:2px;padding:18px 12px;display:flex;overflow-y:auto}.brand{align-items:center;gap:10px;padding:0 8px;display:flex}.brand img{object-fit:contain;flex:none;width:30px;height:22px}.brand>div{min-width:0;display:grid}.brand b{font-family:var(--font-display);white-space:nowrap;font-size:14.5px}.brand span{color:var(--muted);font-size:12px}.nav-site{color:var(--muted);border-bottom:1px solid var(--rule-soft);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding:6px 10px 14px;font-size:11.5px;display:flex}.nav-item{color:var(--ink);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;text-decoration:none;display:flex}.nav-item:hover{background:var(--rule-soft)}.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-item .count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.nav-more{margin-top:2px}.nav-more summary{cursor:pointer;color:var(--muted);border-radius:6px;align-items:center;gap:6px;padding:8px 10px;list-style:none;display:flex}.nav-more summary::-webkit-details-marker{display:none}.nav-more summary:before{content:"›";width:10px;transition:transform .15s;display:inline-block}.nav-more[open] summary:before{transform:rotate(90deg)}.nav-more summary .dot{margin-left:auto}.nav-more summary:hover{background:var(--rule-soft)}.nav-more .nav-item{padding-left:26px}.nav-foot{color:var(--muted);border-top:1px solid var(--rule-soft);margin-top:auto;padding:12px 10px 0;font-size:11.5px;line-height:1.6}.main{flex-direction:column;min-width:0;height:100%;display:flex}.main>.content{flex:auto;min-height:0}.banner.stale{margin:10px 32px 0}.page{gap:18px;max-width:1320px;margin:0 auto;display:grid}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-head h2{font-size:21px}.page-head p{color:var(--muted);max-width:980px;margin-top:3px;font-size:13px}.card{background:var(--panel);border:1px solid var(--rule);border-radius:10px;min-width:0;padding:16px 18px}.card.flush{padding:0;overflow:hidden}.card h3{font-size:14.5px}.card .sub{color:var(--muted);margin-top:3px;font-size:12.5px}.card-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.card-head.pad{padding:16px 18px 6px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.grid5{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.sec-title{margin:6px 0 10px;font-size:14.5px}.kv{grid-template-columns:max-content minmax(0,1fr);gap:7px 18px;margin:12px 0 0;font-size:13px;display:grid}.kv-row{display:contents}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;margin:0;display:flex}.cmdrow{align-items:center;gap:8px;min-width:0;margin-top:10px;display:flex}.cmd{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--rule-soft);white-space:pre;min-width:0;color:var(--ink);border-radius:6px;flex:1;padding:6px 10px;font-size:12.5px;display:block;overflow-x:auto}.feed{gap:2px;margin:10px 0 0;padding:0;list-style:none;display:grid}.feed li{border-top:1px solid var(--rule-soft);grid-template-columns:76px minmax(0,1fr);gap:10px;padding:6px 0;font-size:13px;display:grid}.feed li:first-child{border-top:0}.feed .when{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.feed.history{margin:0 18px 14px}.feed.history li{grid-template-columns:160px minmax(0,1fr)}table.t{border-collapse:collapse;width:100%;font-size:13px}.t th{color:var(--muted);text-align:left;border-bottom:1px solid var(--rule);background:var(--panel);white-space:nowrap;padding:9px 14px;font-size:11.5px;font-weight:500}.t td{border-bottom:1px solid var(--rule-soft);vertical-align:middle;padding:9px 14px}.t tr:last-child td{border-bottom:0}.t .mono{overflow-wrap:anywhere;font-size:12px}.t tbody tr.clickable{cursor:pointer}.t tbody tr.clickable:hover td{background:var(--paper)}.t tr.sel td{background:var(--accent-soft)}.t td.actions{text-align:right;white-space:nowrap}.t td.actions .btn+.btn{margin-left:14px}.rowlink{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:500}.rowlink:hover{color:var(--accent);text-decoration:underline}.tabs{border-bottom:1px solid var(--rule);gap:4px;display:flex}.tab{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px}.tab[aria-selected=true]{color:var(--accent);border-color:var(--accent);font-weight:600}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.seg{border:1px solid var(--rule);background:var(--panel);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;border:0;border-left:1px solid var(--rule-soft);color:var(--muted);background:0 0;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.seg button:first-child{border-left:0}.seg button[aria-selected=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.pager{justify-content:center;gap:10px;padding:12px;display:flex}.pager:empty{display:none}.scrim{background:var(--scrim);z-index:30;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);width:min(600px,100%);max-height:calc(100vh - 32px);box-shadow:0 26px 64px var(--shadow);border:1px solid var(--rule);border-radius:12px;flex-direction:column;display:flex}.modal.wide{width:min(880px,100%)}.modal header{border-bottom:1px solid var(--rule-soft);padding:18px 22px 12px}.modal header h3{font-size:16px}.modal header p{color:var(--muted);margin-top:3px;font-size:12.5px}.modal .mb{gap:12px;padding:14px 22px;display:grid;overflow-y:auto}.modal footer{border-top:1px solid var(--rule-soft);justify-content:space-between;align-items:center;gap:14px;padding:12px 22px 16px;display:flex}.modal footer .hint{flex:1}.drawer-scrim{background:var(--scrim);z-index:25;position:fixed;inset:0}.drawer{background:var(--panel);border-left:1px solid var(--rule);width:min(620px,100vw);box-shadow:-14px 0 34px var(--shadow);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.drawer-head{border-bottom:1px solid var(--rule-soft);justify-content:space-between;align-items:center;gap:12px;padding:18px 22px 12px;display:flex}.drawer-head h3{flex-wrap:wrap;align-items:center;gap:10px;font-size:16px;display:flex}.drawer-body{flex:1;align-content:start;gap:18px;padding:14px 22px;display:grid;overflow-y:auto}.drawer-foot{border-top:1px solid var(--rule-soft);gap:10px;padding:12px 22px 18px;display:grid}.dsec{gap:4px;display:grid}.dsec>h4{color:var(--muted);letter-spacing:.04em;font-size:12px;font-family:var(--font-body);font-weight:600}.menuwrap{position:relative}.menu{z-index:12;background:var(--panel);border:1px solid var(--rule);box-shadow:0 12px 28px var(--shadow);border-radius:8px;gap:2px;min-width:200px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px)}.menu.right{right:0}.menu.left{left:0}.menu button{text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:7px 10px}.menu button:hover:not(:disabled){background:var(--rule-soft)}.menu button:disabled{opacity:.45;cursor:not-allowed}.form{gap:12px;display:grid}.form.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.form .wide{grid-column:1/-1}.form h4{margin-top:4px;font-size:12.5px}.field{align-content:start;gap:4px;font-size:12.5px;display:grid}.field>span:first-child{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.field input,.field select,.field textarea{border:1px solid var(--rule);border-radius:6px;width:100%;padding:7px 10px;font-size:13.5px}.field textarea{resize:vertical}.check{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.check.small{color:var(--muted);gap:4px;font-size:11.5px}.req{color:var(--crit);background:var(--crit-soft);font-size:10.5px;font-family:var(--font-body);border-radius:4px;padding:0 5px;font-weight:600}.ai-text{color:var(--cloud)}.user-text{color:var(--site)}.diff{border-collapse:collapse;width:100%;font-size:13px}.diff th{text-align:left;color:var(--muted);width:76px;padding:7px 10px;font-size:12px;font-weight:500}.diff td{border-top:1px solid var(--rule-soft);padding:7px 10px}.cols2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.box{border:1px solid;border-radius:8px;padding:12px 14px;font-size:12.5px}.box h5{margin:0 0 6px;font-size:12.5px}.box ul{margin:0;padding-left:16px;line-height:1.7}.box.cloud{background:var(--cloud-soft);border-color:var(--cloud)}.box.cloud h5{color:var(--cloud)}.box.site{background:var(--site-soft);border-color:var(--site)}.box.site h5{color:var(--site)}.hero{border:1px solid var(--rule);background:var(--panel);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 22px;display:grid}.hero h3{font-size:18px}.hero p{color:var(--muted);max-width:980px;margin-top:3px;font-size:13.5px}.hero-mark{background:var(--rule-soft);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.hero-mark .dot{width:14px;height:14px}.hero.ok{border-color:color-mix(in srgb, var(--ok) 45%, var(--rule))}.hero.ok .hero-mark{background:var(--ok-soft)}.hero.warn{border-color:color-mix(in srgb, var(--warn) 55%, var(--rule))}.hero.warn .hero-mark{background:var(--warn-soft)}.hero.crit{border-color:color-mix(in srgb, var(--crit) 55%, var(--rule));box-shadow:inset 4px 0 0 var(--crit)}.hero.crit .hero-mark{background:var(--crit-soft)}.hero.info{border-color:var(--accent)}.hero.info .hero-mark{background:var(--accent-soft)}.hero-body{min-width:0}.attention h3{margin-bottom:4px}.attention ul{padding:0;list-style:none;display:grid}.attention li{border-top:1px solid var(--rule-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:11px 0;display:grid}.attention li:first-child{border-top:0}.attention li>.dot{margin-top:7px}.attention li p{color:var(--muted);font-size:12.5px}.stat{align-content:start;gap:2px;display:grid}.stat .k{color:var(--muted);font-size:11.5px}.stat .v{align-items:center;gap:7px;font-size:15.5px;font-weight:600;display:flex}.stat .s{color:var(--muted);font-size:11.5px}.card.pack{padding:0;overflow:hidden}.pack-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px 12px;display:flex}.pack-head h3{font-size:16px}.card.pack>.banner{margin:0 18px 12px}.pending-bar{border:1px solid var(--accent);background:var(--accent-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:18px;margin:0 18px 14px;padding:12px 16px;display:flex}.pending-bar b{color:var(--accent)}.pending-bar.solo{margin:0}.pending-bar.slim{color:var(--accent);margin:0;padding:8px 12px;font-size:13px}.pending-bar.warn{border-color:color-mix(in srgb, var(--warn) 60%, var(--rule));background:var(--warn-soft);margin:0}.pending-bar.warn b{color:var(--warn)}.t.versions{border-top:1px solid var(--rule-soft)}.pack-foot{border-top:1px solid var(--rule-soft);background:var(--paper);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.pack-foot:has(.row:empty) .row{display:none}.card.reconcile{background:0 0;border:0;padding:0}.steps-list{gap:2px;margin:8px 0 0;padding-left:20px;font-size:13px;display:grid}.steps-list li.done{color:var(--ok);text-decoration:line-through}.t.ops td:first-child{color:var(--muted);font-variant-numeric:tabular-nums}.conn-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.conn-card header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.conn-card h4{align-items:center;gap:8px;margin-right:auto;font-size:15px;display:flex}.diag{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;margin-top:14px;display:grid}.diag section h4{color:var(--muted);font-size:12px;font-family:var(--font-body);letter-spacing:.04em;margin:8px 0 4px}.diag ul{gap:2px;padding:0;list-style:none;display:grid}.diag li{border-top:1px solid var(--rule-soft);grid-template-columns:110px max-content minmax(0,1fr);align-items:baseline;gap:10px;padding:5px 0;font-size:13px;display:grid}.diag li .chip{justify-self:start}.tools-layout{grid-template-columns:300px minmax(0,1fr);height:100%;min-height:0;display:grid}.toollist{background:var(--panel);border-right:1px solid var(--rule);flex-direction:column;gap:18px;padding:16px 12px;display:flex;overflow-y:auto}.conn{gap:2px;display:grid}.conn-h{align-items:baseline;gap:8px;padding:0 10px 4px;display:flex}.conn-h b{font-size:12.5px}.conn-h span{color:var(--muted);font-size:11.5px}.titem{color:var(--ink);border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;padding:7px 10px;text-decoration:none;display:grid}.titem:hover{background:var(--rule-soft)}.titem[aria-current=true]{background:var(--accent-soft)}.titem .nm{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.titem[aria-current=true] .nm{color:var(--accent);font-weight:600}.titem .chip{padding:0 7px;font-size:11px}.titem .api{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;font-size:11px;overflow:hidden}.addtool{border:1px dashed var(--rule);text-align:left;cursor:pointer;color:var(--accent);background:0 0;border-radius:7px;margin-top:4px;padding:6px 10px;font-size:12.5px}.addtool:hover{border-color:var(--accent);background:var(--accent-soft)}.broken{gap:2px;padding:4px 10px;font-size:12px;display:grid}.side-foot{color:var(--muted);border-top:1px solid var(--rule-soft);margin-top:auto;padding:10px 8px 0;font-size:11.5px;line-height:1.6}.tools-main{min-width:0;padding:22px 28px 40px;overflow-y:auto}.tool{flex-direction:column;gap:14px;min-width:0;max-width:1480px;display:flex}.tool-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.tool-title{gap:4px;min-width:0;display:grid}.tool-title h2{flex-wrap:wrap;align-items:center;gap:10px;font-size:20px;display:flex}.tool-title .desc{color:var(--muted);font-size:13px}.tool-title .desc b{color:var(--ink);font-weight:500}.tool-title .meta{color:var(--muted);font-size:12px}.ceiling{align-items:center;gap:6px;font-size:12px;display:inline-flex}.ceiling:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.ceiling.ok{color:var(--ok)}.ceiling.warn{color:var(--warn)}.tool-actions{flex:none;align-items:center;gap:10px;display:flex}.save-state{text-align:right;min-width:6em}.flow3{grid-template-columns:minmax(220px,248px) 30px minmax(0,1fr) 30px minmax(300px,380px);align-items:start;display:grid}.flow3.write{grid-template-columns:minmax(220px,248px) 30px minmax(0,1fr) 30px minmax(340px,440px)}.flow3[aria-disabled=true] .fb,.flow3[aria-disabled=true] .fc{background:color-mix(in srgb, var(--panel) 70%, var(--paper))}.arrow-col{color:var(--muted);justify-content:center;align-self:center;display:flex}.col-h{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13.5px;display:flex}.col-h small{font-family:var(--font-body);color:var(--muted);font-size:11.5px;font-weight:400}.fa{align-content:start;gap:16px;display:grid}.fb,.fc{background:var(--panel);border:1px solid var(--rule);border-radius:10px;align-content:start;gap:12px;min-width:0;padding:14px 16px;display:grid}.fc-stack{gap:14px;min-width:0;display:grid}.srcgrp{justify-items:start;gap:7px;display:grid}.srcgrp .lbl{letter-spacing:.03em;font-size:11.5px;font-weight:600}.srcgrp.ai .lbl{color:var(--cloud)}.srcgrp.user .lbl{color:var(--site)}.srcgrp.const .lbl{color:var(--muted)}.srcgrp .sub{color:var(--muted);margin-top:-4px;font-size:11px}.addlink{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px}.addlink:hover{text-decoration:underline}.constform input{border:1px dashed var(--rule);background:0 0;border-radius:999px;width:200px;padding:3px 12px;font-size:12.5px}.pill{white-space:nowrap;max-width:100%;min-height:30px;color:var(--ink);-webkit-user-select:none;user-select:none;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:0 11px 0 9px;font-size:12.5px;display:inline-flex}.pill[draggable=true]{cursor:grab}.pill .grip{color:var(--muted);letter-spacing:-2px;font-size:10px}.pill .pl{text-overflow:ellipsis;overflow:hidden}.pill .k{font-family:var(--font-mono);color:var(--muted);font-size:11px}.pill.ai{background:var(--cloud-soft);border-color:var(--cloud)}.pill.user{background:var(--site-soft);border-color:var(--site)}.pill.const{background:var(--rule-soft);border-color:var(--rule);font-family:var(--font-mono);font-size:12px}.pill.op{background:var(--accent-soft);border-color:var(--accent)}.pill.used:after{content:"使用中";color:var(--muted);font-size:10.5px;font-family:var(--font-body);margin-left:2px}.pill .x{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 0 0 2px;font-size:14px;line-height:1}.pill .x:hover{color:var(--crit)}.pill-btn{cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;min-width:0;padding:0;display:inline-flex}.pill-btn:hover .pl{text-decoration:underline}.req-h{align-items:center;gap:8px;display:flex}.verb{font-family:var(--font-mono);color:var(--accent-ink);background:var(--accent);border-radius:4px;padding:2px 8px;font-size:11.5px;font-weight:600}.verb.muted{background:var(--muted);color:var(--panel)}.verb.small{padding:1px 6px;font-size:10.5px}.req-h .path{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:13px}.slots{gap:7px;display:grid}.slots.before{border-top:1px dashed var(--rule);padding-top:10px}.slots>.btn{justify-self:start}.slots .grp-lbl{color:var(--muted);letter-spacing:.04em;font-size:11px}.slot-row{grid-template-columns:110px minmax(0,1fr) 64px;align-items:center;gap:10px;min-height:34px;display:grid}.slot-row .pn{font-family:var(--font-mono);text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.slot-row .note{color:var(--muted);text-align:right;font-size:11px}.slot{border-radius:999px;align-items:center;gap:8px;min-width:0;min-height:32px;display:flex;position:relative}.slot.over{outline:2px solid var(--accent);outline-offset:2px}.slot-btn{border:1.5px dashed var(--rule);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:4px 14px;font-size:12px}.slot-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.slot-btn:disabled{cursor:default}.slot-change{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:11.5px}.slot-change:hover{color:var(--accent)}.vmenu{z-index:8;background:var(--panel);border:1px solid var(--rule);box-shadow:0 12px 28px var(--shadow);white-space:normal;border-radius:8px;gap:2px;min-width:220px;max-height:320px;padding:6px;line-height:1.4;display:grid;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.menu-item{text-align:left;cursor:pointer;font-size:12.5px;font-family:var(--font-body);background:0 0;border:0;border-radius:6px;align-items:baseline;gap:8px;padding:6px 10px;display:flex}.menu-item:hover{background:var(--rule-soft)}.menu-item.ai{color:var(--cloud)}.menu-item.user{color:var(--site)}.menu-item .k{font-family:var(--font-mono);color:var(--muted);font-size:11px}.idem{gap:4px;display:grid}.idem input{border:1px solid var(--rule);border-radius:6px;width:220px;padding:4px 9px;font-size:12.5px}.facts{border-top:1px dashed var(--rule);grid-template-columns:max-content minmax(0,1fr);gap:4px 14px;margin:0;padding-top:10px;font-size:12.5px;display:grid}.facts>div{display:contents}.facts dt{color:var(--muted)}.facts dd{margin:0}.preview{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--rule-soft);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:6px;padding:8px 10px;font-size:11.5px;line-height:1.65}.preview .cap{font-family:var(--font-body);color:var(--muted);white-space:normal;margin-bottom:2px;font-size:11px;display:block}.preview .block{display:block}.test-line{font-family:var(--font-body);white-space:normal;margin-bottom:4px;font-size:12px;display:block}.test-line.ok{color:var(--ok)}.test-line.warn{color:var(--warn)}.test-line.crit{color:var(--crit)}.v-ai{color:var(--cloud);font-weight:600}.v-user{color:var(--site);font-weight:600}.v-const{color:var(--muted)}.v-missing{color:var(--crit)}.outs{gap:2px;display:grid}.orow{border-radius:6px;grid-template-columns:18px minmax(0,1fr) minmax(0,auto) auto;align-items:center;gap:8px;min-height:32px;padding:0 8px;display:grid}.orow.on{background:var(--accent-soft)}.orow input[type=checkbox]{accent-color:var(--accent)}.orow .fn{font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;text-align:left;cursor:text;background:0 0;border:0;padding:0;font-size:12.5px;overflow:hidden}.orow .fn:disabled{cursor:default}.orow.on .fn:hover:not(:disabled){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.orow .renamed{color:var(--accent)}.orow .rename{border:1px solid var(--accent);border-radius:4px;width:100%;padding:1px 6px;font-size:12.5px}.orow .sv{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:12px;overflow:hidden}.orow.on .sv{color:var(--ink)}.orow.off .fn{color:var(--muted)}.orow select{border:1px solid var(--rule);color:var(--muted);border-radius:4px;padding:1px 4px;font-size:11.5px}.orow select.masked{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 50%, var(--rule))}.summary-editor{gap:8px;display:grid}.sumtable{border-collapse:collapse;width:100%;font-size:13px}.sumtable th{text-align:left;color:var(--ink);vertical-align:top;width:30%;padding:7px 10px 7px 0;font-weight:600}.sumtable td{border-top:1px solid var(--rule-soft);vertical-align:top;overflow-wrap:anywhere;padding:7px 0}.sumtable th{border-top:1px solid var(--rule-soft)}.sumtable tr:first-child th,.sumtable tr:first-child td{border-top:0}.sumtable td.act{text-align:right;width:3.5em}.v-before{color:var(--muted)}.arrow-txt{color:var(--muted);margin:0 4px}.radios{border:0;flex-wrap:wrap;gap:18px;margin:0;padding:0;display:flex}.radios legend{margin-bottom:4px;padding:0;font-size:12.5px}.legend3{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:12px;display:flex}.legend3 i{vertical-align:-1px;border:1px solid;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.legend3 .ai{background:var(--cloud-soft);border-color:var(--cloud)}.legend3 .user{background:var(--site-soft);border-color:var(--site)}.legend3 .const{background:var(--rule-soft);border-color:var(--rule)}pre.sqlslots{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--rule-soft);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:0;padding:8px 12px;font-size:12.5px;line-height:2.3}pre.sqlslots.small{font-size:12px;line-height:2.1}.slot.inline{vertical-align:middle;gap:2px;min-height:0;margin:0 2px;display:inline-flex}.slot.inline .pill{height:24px;min-height:24px;font-size:12px;font-family:var(--font-body)}.slot.inline .slot-btn{font-size:11.5px;font-family:var(--font-body);padding:1px 10px}.slot.inline .slot-change{font-size:11px}.oplist{border:0;gap:4px;max-height:340px;margin:0;padding:0;display:grid;overflow-y:auto}.opitem{border:1px solid var(--rule-soft);cursor:pointer;border-radius:8px;grid-template-columns:auto auto minmax(0,1fr) minmax(0,1.2fr) auto;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:grid}.opitem.on{border-color:var(--accent);background:var(--accent-soft)}.card.recent{max-width:760px}.chip .x{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;line-height:1}@media (width<=1500px){.flow3,.flow3.write{grid-template-columns:minmax(200px,230px) 26px minmax(0,1fr)}.flow3>.arrow-col:nth-of-type(2){display:none}.flow3>.fc-stack{grid-column:1/-1;margin-top:14px}}@media (width<=1280px){.grid5{grid-template-columns:repeat(3,minmax(0,1fr))}.conn-grid,.diag{grid-template-columns:minmax(0,1fr)}}@media (width<=1100px){.flow3,.flow3.write{grid-template-columns:minmax(0,1fr);gap:14px}.flow3>.arrow-col{display:none}.flow3>.fc-stack{margin-top:0}.tools-layout{grid-template-columns:240px minmax(0,1fr)}.grid2{grid-template-columns:minmax(0,1fr)}}@media (width<=860px){.app{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.nav{border-right:0;border-bottom:1px solid var(--rule);flex-flow:wrap;align-items:center;padding:10px 12px}.nav-site,.nav-foot{display:none}.content{padding:18px 16px 40px}.tools-layout{grid-template-columns:minmax(0,1fr);height:auto}.toollist{border-right:0;border-bottom:1px solid var(--rule);max-height:40vh}.tools-main{padding:16px}.grid5,.cols2,.form.two,.hero{grid-template-columns:minmax(0,1fr)}.tool-top{flex-direction:column}.topbar{padding:0 16px}}.eyebrow{color:var(--accent);margin-bottom:2px;font-size:12.5px;font-weight:600}.home .page-head h2{font-size:22px}.turns{gap:10px;display:grid}.turn{background:var(--panel);border:1px solid var(--rule);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px 16px;padding:16px 20px;display:grid}.turn h3{font-size:15.5px}.turn p{color:var(--muted);margin-top:3px;font-size:13px}.turn-body{min-width:0}.turn-mark{background:var(--ok-soft);width:36px;height:36px;color:var(--ok);border-radius:50%;place-items:center;display:grid}.turn.crit{box-shadow:inset 4px 0 0 var(--crit)}.turn.warn{box-shadow:inset 4px 0 0 var(--warn)}.turn-tag{white-space:nowrap;border-radius:6px;align-self:start;margin-top:2px;padding:2px 9px;font-size:11.5px;font-weight:700}.turn.crit .turn-tag{background:var(--crit-soft);color:var(--crit)}.turn.warn .turn-tag{background:var(--warn-soft);color:var(--warn)}.turn-info{background:var(--panel);border:1px solid var(--rule);border-radius:12px;margin:0;padding:0;list-style:none}.turn-info li{border-top:1px solid var(--rule-soft);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 18px;font-size:13px;display:grid}.turn-info li:first-child{border-top:0}.ti-text{min-width:0;display:grid}.ti-text span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.turn-info .cmdrow{max-width:420px;margin-top:0}.map{padding:0;overflow:hidden}.map-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 20px 0;display:flex}.map-head h3{font-size:15.5px}.strip{isolation:isolate;grid-template-columns:repeat(3,minmax(0,1fr)) 140px minmax(0,3fr);align-items:center;padding:22px 20px 20px;display:grid;position:relative}.strip-svg{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.strip-svg.fx{z-index:3}.strip-svg .ln{fill:none;stroke:var(--rule);stroke-width:2px}.strip-svg .ln.off{stroke-dasharray:3 5}.strip-svg .ln.more{stroke-dasharray:2 4}.strip-svg .tube{fill:none;stroke:var(--tube);stroke-width:8px;stroke-linecap:round;transition:stroke .4s}.strip-svg .tube.down{stroke:color-mix(in srgb, var(--crit) 40%, var(--rule));stroke-dasharray:1 12}.strip-svg .port{fill:var(--panel);stroke:var(--muted);stroke-width:1.5px}.node{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:0;transition:opacity .25s;display:flex;position:relative}.node .art{object-fit:contain;width:120px;height:86px;margin:6px 0 4px}.node b{white-space:nowrap;font-size:13.5px}.node .s{color:var(--muted);font-size:12px}.node.focus:before{content:"";z-index:-1;background:radial-gradient(closest-side, var(--cloud-soft), transparent);border-radius:50%;width:150px;height:110px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.owner{border:1px solid var(--rule);background:var(--panel);color:var(--muted);letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:0 9px;font-size:11px;font-weight:700;display:inline-block}.tunnel{align-self:stretch;transition:opacity .25s;position:relative}.tunnel .tag{z-index:2;text-align:center;white-space:nowrap;background:var(--panel);border:1px solid var(--rule);color:var(--muted);border-radius:10px;padding:4px 11px;font-size:11.5px;line-height:1.45;transition:border-color .3s,opacity .25s;position:absolute;top:12px;left:50%;transform:translate(-50%)}.tunnel .tag b{color:var(--ink);font-size:12.5px;display:block}.tunnel .tag.crit{border-color:var(--crit);color:var(--crit)}.tunnel .tag.crit b{color:var(--crit)}.tunnel .tag.fx-restored{border-color:var(--ok)}.tunnel .tag.fx-restored b{color:var(--ok)}.site-box{background:var(--paper);border:1.5px solid var(--rule);border-radius:16px;grid-template-columns:124px minmax(0,1fr);align-items:center;gap:22px;min-width:0;padding:34px 14px 14px;display:grid;position:relative}.site-lbl{z-index:2;align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:flex;position:absolute;top:9px;left:14px}.site-lbl span{font-family:var(--font-mono);color:var(--site);border:1px solid var(--rule);background:var(--panel);border-radius:5px;padding:0 5px;font-size:11px;font-weight:400}.arows{z-index:2;gap:8px;min-width:0;transition:opacity .25s;display:grid;position:relative}.apps-title{color:var(--muted);margin:0 0 -2px 2px;font-size:12px;font-weight:700}.arow{background:var(--panel);border:1px solid var(--rule);color:var(--ink);border-radius:12px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 12px 6px 6px;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:grid}.arow:hover{border-color:var(--muted)}.arow img{object-fit:contain;width:44px;height:34px}.arow .n{min-width:0;display:grid}.arow b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.arow small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.arow.more{background:0 0;border-style:dashed;grid-template-columns:minmax(0,1fr);padding:9px 14px}.arow.more b{color:var(--accent)}.arow.hit{border-color:var(--cloud);box-shadow:0 0 0 3px var(--cloud-soft)}.arow.hit.ok{border-color:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.arow.hit.warn{border-color:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.arow.hit.crit{border-color:var(--crit);box-shadow:0 0 0 3px var(--crit-soft)}.arow.hit small{color:var(--ink);font-weight:600}.ast{white-space:nowrap;color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.ast.ok:before,.ast.warn:before{content:"";background:var(--ok);border-radius:50%;width:8px;height:8px}.ast.warn{color:var(--warn);font-weight:600}.ast.warn:before{background:var(--warn)}.ast.off{color:var(--crit)}.cross{z-index:2;background:var(--panel);border:1.5px solid var(--tube);width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;margin:-12px 0 0 -12px;font-weight:700;line-height:1;display:grid;position:absolute}.cross.down{border-color:var(--crit);background:var(--crit);color:#fff}.cross.pop{animation:.45s cubic-bezier(.3,1.6,.5,1) pop}@keyframes pop{0%{transform:scale(.2)}to{transform:scale(1)}}.pulse .halo{fill:var(--cloud);opacity:.22}.pulse .core{fill:var(--cloud);stroke:var(--panel);stroke-width:1.5px}.pulse.ok .halo,.pulse.ok .core{fill:var(--ok)}.pulse.warn .halo,.pulse.warn .core{fill:var(--warn)}.pulse.crit .halo,.pulse.crit .core{fill:var(--crit)}.ring{fill:none;stroke:var(--cloud);stroke-width:2px;animation:1.1s ease-out forwards ring}.ring.ok{stroke:var(--ok)}.ring.warn{stroke:var(--warn)}.ring.crit{stroke:var(--crit)}@keyframes ring{0%{r:6px;opacity:.9}to{r:28px;opacity:0}}.strip.touring .node,.strip.touring .arows,.strip.touring .tunnel{opacity:.32}.strip.touring .node.focus,.strip.touring .arows.focus,.strip.touring .tunnel.focus{opacity:1}.strip.touring .tunnel.focus .tag{border-color:var(--cloud)}.tour{background:var(--cloud-soft);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:2px 14px;margin:0 20px 14px;padding:12px 16px;display:grid}.tour-n{color:var(--cloud);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px;font-weight:700}.tour .tour-n{grid-row:span 2}.tour h4{outline:none;font-size:14px}.tour p{grid-column:2;font-size:13px}.tour-acts{grid-area:1/3/span 2;gap:8px;display:flex}.map-foot{border-top:1px solid var(--rule-soft);background:var(--paper);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 0;padding:12px 20px;font-size:12.5px;display:flex}.map-foot>span{border-left:1px solid var(--rule);align-items:center;gap:7px;padding:0 14px;display:inline-flex}.map-foot>span:first-child{color:var(--ink);border-left:0;padding-left:0}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin:6px 0 10px;display:flex}.sec-head h3{font-size:15px}.calls{margin:0;padding:0;list-style:none}.calls li{border-top:1px solid var(--rule-soft);grid-template-columns:110px minmax(0,1.4fr) minmax(0,1fr) 150px 70px;align-items:center;gap:12px;padding:10px 18px;font-size:13px;display:grid}.calls li:first-child{border-top:0}.calls .when,.calls .dur{color:var(--muted);font-variant-numeric:tabular-nums}.calls .tname{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.calls .where{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calls .dur{text-align:right}.calls li.arrived{animation:2.6s ease-out arrive}@keyframes arrive{0%{background:var(--cloud-soft)}to{background:0 0}}.search{border:1px solid var(--rule);border-radius:8px;min-width:260px;padding:6px 12px}.applist .art-cell{width:66px;padding-right:0}.applist img{object-fit:contain;width:44px;height:34px;display:block}.howto{gap:12px;margin:0;padding-left:20px;font-size:13px;display:grid}.howto .cmd.block{margin-top:8px}.crumb{color:var(--muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.crumb a{color:var(--accent);text-decoration:none}.crumb a:hover{text-decoration:underline}.app-hero{grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px 22px;display:grid}.app-hero>img{object-fit:contain;width:112px;height:84px}.app-hero h2{font-size:21px}.app-facts{flex-wrap:wrap;gap:4px 0;margin-top:8px;font-size:13px;display:flex}.app-facts span{border-left:1px solid var(--rule);padding:0 12px}.app-facts span:first-child{border-left:0;padding-left:0}.app-attn{margin:10px 0 0;padding:8px 12px 8px 30px;display:block}.app-hero-acts{flex-wrap:wrap;justify-content:flex-end;align-self:start;gap:8px;display:flex}.tc-cols,.tc-row,.tc-dgrid{grid-template-columns:minmax(250px,300px) minmax(0,1fr) minmax(300px,400px);column-gap:28px;display:grid}.tc-cols{color:var(--muted);padding:0 20px 8px;font-size:12px;font-weight:700}.tc-cols span:nth-child(2){text-align:center}.tc-list{gap:12px;display:grid}.tc{padding:0;overflow:hidden}.tc.open{border-color:var(--cloud);box-shadow:0 0 0 3px var(--cloud-soft)}.tc-row{cursor:pointer;align-items:center;row-gap:10px;padding:14px 20px;position:relative}.tc-row:hover{background:color-mix(in srgb, var(--paper) 60%, var(--panel))}.tc-tool{border-radius:8px;min-width:0;transition:box-shadow .2s}.tc-tool b{font-size:15px}.tc-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.ip{border:1.3px solid color-mix(in srgb, var(--cloud) 45%, transparent);background:var(--cloud-soft);height:22px;color:var(--cloud);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.ip small{font-family:var(--font-mono);opacity:.8;font-size:10.5px;font-weight:400}.op{background:var(--rule-soft);height:22px;color:var(--muted);white-space:nowrap;border-radius:5px;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.op.write{background:var(--ink);color:var(--panel)}.op svg{width:12px;height:12px}.tc-stat{color:var(--muted);align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.tc-checks{flex-wrap:wrap;justify-content:center;gap:6px;min-width:0;padding:6px 0;display:flex;position:relative}.tc-checks:before{content:"";background:var(--rule);height:2px;position:absolute;top:50%;left:-24px;right:-18px}.tc-checks:after{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:8px solid var(--rule);position:absolute;top:calc(50% - 6px);right:-24px}.ck{background:var(--panel);border:1px solid var(--rule);height:26px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:12px;transition:box-shadow .2s,border-color .2s;display:inline-flex;position:relative}.ck svg{flex:none;width:13px;height:13px}.ck.strong{color:var(--ink);border-color:var(--muted);font-weight:700}.ck.crit{color:var(--crit);border-color:var(--crit);background:var(--crit-soft);font-weight:700}.ck.lit,.tc-tool.lit,.tc-api.lit,.tc-dgrid>.lit{box-shadow:0 0 0 3px var(--cloud-soft), 0 0 0 1px var(--cloud);border-color:var(--cloud)}.tc-api{background:var(--paper);border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 10px;min-width:0;padding:10px 12px;transition:box-shadow .2s;display:grid}.m{font-family:var(--font-mono);background:var(--cloud-soft);color:var(--cloud);border-radius:5px;justify-self:start;padding:2px 7px;font-size:11px;font-weight:700}.m.patch,.m.put,.m.post,.m.delete{background:var(--warn-soft);color:var(--warn)}.m.sql{background:var(--rule-soft);color:var(--ink)}.tc-api .p,.unused-list .p{font-family:var(--font-mono);overflow-wrap:anywhere;min-width:0;font-size:12.5px}.p i{background:var(--rule-soft);border-radius:4px;padding:0 4px;font-style:normal}.tc-api .p.sql{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;display:-webkit-box;overflow:hidden}.tc-api .s2{color:var(--muted);grid-column:2;font-size:11.5px}.pre{color:var(--ink);grid-column:2;align-items:baseline;gap:5px;margin-top:4px;font-size:11.5px;display:flex}.pre svg{width:12px;height:12px;color:var(--muted);flex:none;transform:translateY(1px)}.tc-dot{z-index:2;background:var(--cloud);width:12px;height:12px;box-shadow:0 0 0 6px color-mix(in srgb, var(--cloud) 22%, transparent);pointer-events:none;border-radius:50%;margin:-6px 0 0 -6px;transition:left .5s cubic-bezier(.65,0,.35,1);position:absolute;top:50%}.tc-detail{border-top:1px dashed var(--rule);background:var(--paper);padding:2px 20px 18px}.tc-dgrid>div{border-radius:8px;min-width:0;transition:box-shadow .2s}.tc-detail h4{color:var(--muted);letter-spacing:.04em;font-size:12px;font-family:var(--font-body);margin:14px 0 6px}.tc-steps{gap:3px;margin:0;padding-left:18px;font-size:12.5px;display:grid}.tc-req{background:var(--panel);border:1px solid var(--rule);font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;max-height:220px;padding:8px 10px;font-size:12px;display:block;overflow:auto}.tc-outs{flex-wrap:wrap;gap:5px;display:flex}.oc{background:var(--ok-soft);height:22px;color:var(--ok);border-radius:6px;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.oc small{font-size:10.5px;font-weight:500}.note{color:var(--muted);margin:6px 0 0;font-size:12.5px}.tc-acts{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.flowbar{background:var(--cloud-soft);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:14px;padding:10px 14px;font-size:13px;display:grid}.tc.unused{background:0 0;border-style:dashed;padding:14px 20px}.unused-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.unused-list{margin:8px 0 4px;padding:0;list-style:none}.unused-list li{border-top:1px solid var(--rule-soft);grid-template-columns:56px minmax(0,.9fr) minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 0;display:grid}.unused-list .s2{color:var(--muted);font-size:12px}.conn-app{color:var(--ink);padding:12px 10px 2px;font-size:13px;font-weight:700;text-decoration:none;display:block}.conn-app:hover{color:var(--accent)}.site-embed{flex-direction:column;min-width:0;display:flex}.site-tabs{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:2px;margin:0 0 22px;display:flex}.site-tab{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 14px;text-decoration:none;display:inline-flex}.site-tab:hover{color:var(--ink)}.site-tab[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.site-tab .count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.site-tab.host{border-left:1px solid var(--rule);border-radius:0;margin-left:12px}.site-tabs-end{margin-left:auto;padding:4px 0 6px}.site-embed>.banner.stale{margin:0 0 14px}.site-embed-page{min-width:0}@media (width<=1100px){.strip{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:10px}.tunnel{grid-column:1/-1;height:70px}.tunnel .tag{top:14px}.site-box{grid-column:1/-1}.tc-cols{display:none}.tc-row,.tc-dgrid{grid-template-columns:minmax(0,1fr)}.tc-checks{justify-content:flex-start}.tc-checks:before,.tc-checks:after{display:none}.calls li{grid-template-columns:80px minmax(0,1fr) 110px}.calls .where,.calls .dur{display:none}}@media (prefers-reduced-motion:reduce){.ring,.cross.pop,.calls li.arrived{animation:none}.tc-dot{transition:none}}.mcpline{margin-top:3px}.mcpname{font-family:var(--font-mono);color:var(--accent);background:var(--accent-soft);overflow-wrap:anywhere;border-radius:4px;padding:1px 7px;font-size:12px;display:inline-block}.mcpname.big{padding:2px 8px;font-size:13.5px}.mono-soft{font-family:var(--font-mono);color:var(--muted);overflow-wrap:anywhere;font-size:12.5px}.apiv{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--rule);border-radius:4px;margin:1px 2px 1px 0;padding:0 6px;font-size:12px;display:inline-block}.stag{white-space:nowrap;border-radius:999px;flex:none;align-items:center;height:20px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.stag.ai{color:var(--cloud);background:var(--cloud-soft)}.stag.user{color:var(--site);background:var(--site-soft)}.stag.const,.stag.where{color:var(--muted);background:var(--rule-soft)}.stag.op{color:var(--accent);background:var(--accent-soft)}.stag.missing{color:var(--crit);background:var(--crit-soft)}.srcw{align-items:center;gap:6px;min-width:0;display:flex}.srcw select{flex:auto;min-width:0}.srcw .const-in{flex:0 150px;min-width:70px}.tools-page{max-width:1640px}.ed2-grid{grid-template-columns:minmax(0,1fr) minmax(360px,440px);align-items:start;gap:18px;display:grid}.ed2-gui{gap:14px;min-width:0;display:grid}.esec{grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 18px;display:grid}.esec>*{min-width:0}.esec-h{justify-content:space-between;align-items:center;gap:10px;display:flex}.esec-h h3{font-size:14.5px}.esec>.btn,.esec .seg,.dsec>.btn,.dsec>.seg,.field .seg{justify-self:start}.fgrid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px;display:grid}.fgrid2.mfirst{grid-template-columns:120px minmax(0,1fr)}.narrowf{max-width:360px}.gt{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}.gt th{text-align:left;color:var(--muted);border-bottom:1px solid var(--rule);padding:4px 5px;font-size:11.5px;font-weight:600}.gt td{border-bottom:1px solid var(--rule-soft);vertical-align:middle;overflow-wrap:anywhere;padding:5px}.gt input:not([type=checkbox]),.gt select{border:1px solid var(--rule);border-radius:6px;width:100%;min-width:0;padding:5px 7px;font-size:12.5px}.gt input.mono{font-family:var(--font-mono)}.gt input.invalid,.field input.invalid{border-color:color-mix(in srgb, var(--warn) 60%, var(--rule));background:var(--warn-soft)}.gt input:disabled,.gt select:disabled{opacity:.55}.gt tr.off td{color:var(--muted)}.gt td.c,.gt th.w-req{text-align:center}.gt .w-key{width:120px}.gt .w-type{width:92px}.gt .w-req{width:46px}.gt .w-range{width:124px}.gt .w-x{width:58px}.gt .w-where{width:92px}.gt .w-pname{width:130px}.gt .w-mask{width:132px}.gt .w-dest{width:170px}.gt td.sv{font-family:var(--font-mono);color:var(--muted);font-size:12px}.range{align-items:center;gap:4px;display:flex}.range input{text-align:center;width:50px!important;padding:5px 4px!important}.xcell{white-space:nowrap}.xbtn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 6px;font-size:15px;line-height:1}.xbtn:hover:not(:disabled){color:var(--crit);background:var(--crit-soft)}.xbtn.more:hover:not(:disabled){color:var(--accent);background:var(--accent-soft)}.xbtn:disabled{opacity:.35;cursor:not-allowed}.warns{gap:3px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid}.warns li{color:var(--warn)}.warns li:before{content:"! ";font-weight:700}.sqlbox{width:100%;font-family:var(--font-mono);border:1px solid var(--rule);background:var(--code-bg);white-space:pre-wrap;border-radius:6px;margin:0;padding:8px 10px;font-size:12.5px;line-height:1.5}.kvrow{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:8px;margin-top:6px;display:grid}.reqline{background:var(--code-bg);border:1px solid var(--rule);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:8px 10px;font-size:13px;transition:box-shadow .2s;display:flex}.reqline code{font-family:var(--font-mono);overflow-wrap:anywhere;min-width:0}.reqline .sqlone{white-space:pre-wrap}.defpanel{grid-template-columns:minmax(0,1fr);gap:8px;max-height:calc(100vh - 40px);padding:14px 16px;display:grid;position:sticky;top:0;overflow:auto}.defpanel .seg{flex-wrap:wrap;justify-self:start}.json{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--rule);white-space:pre;border-radius:8px;max-height:320px;margin:6px 0 0;padding:10px 8px;font-size:11.5px;line-height:1.55;overflow:auto}.json.live{white-space:pre-wrap;overflow-wrap:anywhere;max-height:none}.json .ln{border-radius:3px;min-height:1.55em;padding:0 6px;display:block}.json .ln.chg{animation:2.2s ease-out defchg}@keyframes defchg{0%{background:var(--warn-soft);box-shadow:inset 3px 0 0 var(--warn)}to{background:0 0;box-shadow:inset 3px 0 #0000}}.mx{border-top:1px dashed var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;padding:6px 20px 20px;display:grid}.mx-col{border-radius:8px;grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;min-width:0;transition:box-shadow .2s;display:grid}.mx-col>*{min-width:0}.mx-col.lit{box-shadow:0 0 0 2px var(--cloud)}.mx h4{color:var(--muted);letter-spacing:.04em;margin-top:12px;font-size:12px}.mx-dl{grid-template-columns:8.5em minmax(0,1fr);gap:7px 12px;margin:0;font-size:13px;display:grid}.mx-dl dt{color:var(--muted);font-size:12.5px}.mx-dl dd{min-width:0;margin:0}.mx-dl dd.tc-outs{flex-wrap:wrap;gap:5px;display:flex}.mx-json summary{cursor:pointer;color:var(--accent);font-size:12.5px;font-weight:600}.maptbl{border-collapse:collapse;width:100%;font-size:13px}.maptbl th{text-align:left;color:var(--muted);border-bottom:1px solid var(--rule);padding:4px 6px;font-size:11.5px;font-weight:600}.maptbl td{border-bottom:1px solid var(--rule-soft);vertical-align:middle;padding:6px}.maptbl .arrow{color:var(--muted);text-align:center;width:28px;font-weight:700}.maptbl tr.dropped td{color:var(--muted)}.reqline.lit{box-shadow:0 0 0 2px var(--cloud)}.mx-acts{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.mx-acts .hint{flex:220px}.drawer.xwide{width:min(1080px,100vw)}.dr2{grid-template-columns:minmax(0,1fr) minmax(320px,400px);align-items:start;gap:22px;display:grid}.dr-gui{gap:18px;min-width:0;display:grid}.dr2 .defpanel{box-shadow:none}.dsec{grid-template-columns:minmax(0,1fr)}.dsec>*{min-width:0}.banner.secret{background:var(--warn-soft);color:var(--warn);display:block}.banner code{font-family:var(--font-mono);font-size:12px}.checks{gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.checks li{align-items:baseline;gap:8px;display:flex}.checks li b{text-align:center;flex:none;width:1.2em}.checks li.ok b{color:var(--ok)}.checks li.warn{color:var(--warn)}.checks li.fail{color:var(--crit)}.checks li.skip{color:var(--muted)}.opline{flex-wrap:wrap;align-items:flex-end}.opline .field{flex:220px;max-width:360px}.add-row td{padding:8px 16px}.box.ceil{border:1px solid var(--rule);border-radius:10px;gap:8px;padding:12px 14px;display:grid}.box.ceil h5{font-size:13px}@media (width<=1280px){.ed2-grid,.dr2,.mx{grid-template-columns:minmax(0,1fr)}.defpanel{max-height:none;position:static}}@media (prefers-reduced-motion:reduce){.json .ln.chg{background:var(--warn-soft);animation:none}}.field .check input[type=checkbox]{width:auto}.field .check{font-size:13px}.app{grid-template-rows:minmax(0,1fr);grid-template-columns:220px minmax(0,1fr);height:100%;display:grid}.brand img{width:34px;height:24px}.tenant-name{color:var(--muted);border-bottom:1px solid var(--rule-soft);margin-bottom:8px;padding:10px 10px 14px;font-size:12px}.tenant-name select{border:1px solid var(--rule);background:var(--panel);border-radius:6px;width:100%;margin-top:4px;padding:4px 6px}.nav-item{text-align:left;cursor:pointer;background:0 0;border:0}.nav-item[aria-disabled=true]{color:var(--muted);cursor:default}.nav-item[aria-disabled=true]:hover{background:0 0}.soon{background:var(--rule-soft);color:var(--muted);border-radius:999px;padding:0 7px;font-size:10.5px;font-weight:400}.main{grid-template-rows:52px minmax(0,1fr);min-width:0;height:100%;display:grid}.topbar{background:var(--panel);border-bottom:1px solid var(--rule);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:0 28px;font-size:12.5px;display:flex}.topbar .who{align-items:center;gap:10px;display:flex}.content{min-width:0;padding:26px 32px 48px;overflow-y:auto}@media (width<=1000px){.app{grid-template-columns:180px minmax(0,1fr)}}.site-head{gap:6px;margin-bottom:14px;display:grid}.site-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.site-head h2{font-size:22px}.site-head .sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.site-view-note{max-width:640px;color:var(--muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.site-view-note .chip{flex:none}.share-note{border-color:var(--cloud);gap:10px;display:grid}.share-note.warn{border-color:var(--warn)}.share-note h3{font-size:16px}.share-note .cmd{white-space:pre;justify-self:start;min-width:240px}.stack-sections{gap:20px;display:grid}.kv+.lockline{margin-top:12px}.grid4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=1000px){.grid4{grid-template-columns:minmax(0,1fr)}}.next{border-color:var(--accent);grid-template-columns:auto 1fr auto;align-items:center;gap:18px;display:grid}.next .no{font-family:var(--font-mono);color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:4px 8px;font-size:12px}.next strong{font-size:15.5px;font-family:var(--font-display)}.next p{color:var(--muted);margin-top:2px;font-size:13px}.steps{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}@media (width<=1100px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}.steps li{border-top:3px solid var(--rule);color:var(--muted);padding:8px 8px 9px;font-size:12px;line-height:1.45}.steps li b{font-family:var(--font-mono);font-size:11px;font-weight:500;display:block}.steps li.done{border-color:var(--ok);color:var(--ink)}.steps li.done b{color:var(--ok)}.steps li.cur{border-color:var(--accent);color:var(--ink);font-weight:600}.steps li.cur b{color:var(--accent)}.copy{align-items:center;gap:6px;min-width:0;display:flex}.copy code{background:var(--code-bg);border:1px solid var(--rule-soft);white-space:nowrap;border-radius:6px;flex:1;min-width:0;padding:3px 8px;overflow-x:auto}.table-wrap{overflow-x:auto}.rule{border:1px solid var(--rule);border-radius:8px;gap:6px;padding:12px 14px;display:grid}.rule .head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.code-display{font-family:var(--font-mono);letter-spacing:.06em;text-align:center;background:var(--code-bg);border:1px dashed var(--rule);border-radius:8px;padding:12px;font-size:18px}.lockline{color:var(--site);background:var(--site-soft);border-radius:6px;padding:7px 10px;font-size:12.5px}.switch{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.timer{font-family:var(--font-mono);color:var(--warn)}.modal .body{gap:10px;padding:14px 22px 16px;display:grid}.login{place-items:center;min-height:100%;padding:24px;display:grid}.login .card{gap:14px;width:min(460px,100%);padding:28px;display:grid}.login-brand{padding:0}.login-brand img{width:52px;height:36px}.login-brand b{font-size:20px}.devusers{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}:is(.admin-pages,.site-settings) .page{max-width:1240px}:is(.admin-pages,.site-settings) .card h3{font-size:14.5px}:is(.admin-pages,.site-settings) .card .sub{color:var(--muted);margin-top:3px;font-size:12.5px}:is(.admin-pages,.site-settings) .banner{background:var(--cloud-soft);color:var(--cloud);display:block}:is(.admin-pages,.site-settings) .banner.crit{background:var(--crit-soft);color:var(--crit)}:is(.admin-pages,.site-settings) .banner.ok{background:var(--ok-soft);color:var(--ok)}:is(.admin-pages,.site-settings) .banner.warn{background:var(--warn-soft);color:var(--warn)}:is(.admin-pages,.site-settings) .banner.site{background:var(--site-soft);color:var(--site)}:is(.admin-pages,.site-settings) .banner ol.numbered{margin:6px 0 2px 18px;padding:0}:is(.admin-pages,.site-settings) .banner ol.numbered li{margin:2px 0}:is(.admin-pages,.site-settings) .kv{grid-template-columns:170px minmax(0,1fr);gap:8px 14px}:is(.admin-pages,.site-settings) .kv dd{display:block}:is(.admin-pages,.site-settings) .t td{vertical-align:top;padding:9px 12px}:is(.admin-pages,.site-settings) .t th{background:0 0;padding:8px 12px}:is(.admin-pages,.site-settings) .t .mono{overflow-wrap:anywhere;font-size:12px}:is(.admin-pages,.site-settings) .t tbody tr.clickable:hover td{background:var(--rule-soft)}:is(.admin-pages,.site-settings) .form{margin-top:12px}:is(.admin-pages,.site-settings) .field label{font-size:12.5px;font-weight:600}:is(.admin-pages,.site-settings) .field .hint{color:var(--muted);font-size:12px}:is(.admin-pages,.site-settings) .field textarea{font-family:var(--font-mono);min-height:320px;font-size:12.5px}:is(.admin-pages,.site-settings) .row{gap:10px;display:flex}:is(.admin-pages,.site-settings) .dsec{gap:8px}:is(.admin-pages,.site-settings) .dsec>h4{color:var(--muted);letter-spacing:.04em;font-size:12px;font-family:var(--font-body);font-weight:600}:is(.admin-pages,.site-settings) .drawer .sub{color:var(--muted);font-size:12px}:is(.admin-pages,.site-settings) .modal footer{justify-content:flex-end;gap:8px}:is(.admin-pages,.site-settings) .cmd{padding:8px 10px;display:block}:is(.admin-pages,.site-settings) .diff{font-size:13.5px}:is(.admin-pages,.site-settings) .diff th{vertical-align:top;width:120px}:is(.admin-pages,.site-settings) .diff .from{color:var(--muted);width:30%;text-decoration:line-through}:is(.admin-pages,.site-settings) .diff .to{font-weight:600}
