:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Roboto,sans-serif;line-height:1.55;font-size:clamp(1rem,.69rem + .55vw,1.25rem);--bg: #f5f5f7;--card: #fff;--text: #1d1d1f;--dim: #86868b;--hairline: rgb(0 0 0 / .06);--hairline-strong: rgb(0 0 0 / .08);--accent: #0071e3;--accent-hover: #0077ed;--accent-tint: rgb(0 113 227 / .09);--accent-ring: rgb(0 113 227 / .18);--ok-fg: #1d7a36;--ok-bg: rgb(52 168 83 / .13);--ok-ring: rgb(52 168 83 / .34);--warn-fg: #b25000;--warn-bg: rgb(178 80 0 / .12);--bad-fg: #d0342c;--bad-bg: rgb(208 52 44 / .11)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.shell{--gutter: clamp(1.5rem, 2.66vw, 2.75rem);margin:0 auto;padding:0 var(--gutter) 3rem}header.topbar{position:sticky;top:0;z-index:20;margin:0 calc(-1 * var(--gutter));padding:.65rem var(--gutter);display:flex;align-items:center;gap:1.25rem;background:#f5f5f7b8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgb(0 0 0 / .05)}.brand{font-weight:700;font-size:1rem;letter-spacing:-.02em;margin-right:auto}nav{display:flex;gap:2px}nav button{border:none;background:transparent;border-radius:7px;color:var(--dim);font-weight:500;font-size:.85rem;padding:.3rem .7rem;white-space:nowrap;transition:background .15s ease-out,color .15s ease-out}nav button:hover{background:#0000000d;color:var(--text)}nav button.active{color:var(--accent);font-weight:600;background:var(--accent-tint)}main{display:flex;flex-direction:column;gap:.9rem;padding-top:1.5rem}.identity{position:relative}.identity-trigger{display:flex;align-items:center;gap:.45rem;background:transparent;border-radius:999px;padding:.2rem .5rem .2rem .2rem;max-width:15rem}.identity-trigger:hover{background:#0000000d}.monogram{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-size:.66rem;font-weight:600;-webkit-user-select:none;user-select:none}.identity-name{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:500}.identity-caret{color:var(--dim);font-size:.6rem}.identity-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:5;min-width:14rem;max-width:18rem;padding:.35rem;background:#ffffffdb;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--hairline-strong);border-radius:12px;box-shadow:0 12px 32px -8px #0000002e}.identity-who{padding:.5rem .6rem .6rem;border-bottom:1px solid var(--hairline)}.identity-who-name{font-size:.85rem;font-weight:600}.identity-who-user{margin-top:.15rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;color:var(--dim);word-break:break-all}.identity-via{display:inline-flex;margin-top:.4rem;padding:.1rem .4rem;border-radius:5px;background:var(--accent-tint);color:var(--accent);font-size:.65rem;font-weight:500}.identity-item{display:block;width:100%;margin-top:.25rem;padding:.45rem .6rem;border-radius:7px;background:transparent;text-align:left;font-size:.82rem}.identity-item:hover{background:#0000000d}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}main section>*{animation:rise .3s ease-out both}main section>*:nth-child(2){animation-delay:45ms}main section>*:nth-child(3){animation-delay:90ms}main section>*:nth-child(4){animation-delay:135ms}main section>*:nth-child(n+5){animation-delay:.18s}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-title h1{margin:0;font-size:1.9rem;font-weight:700;letter-spacing:-.022em;line-height:1.12}.page-sub{margin:.3rem 0 0;color:var(--dim);font-size:.9rem}.page-actions{display:flex;align-items:center;gap:.5rem;padding-bottom:.2rem}.card{background:var(--card);border-radius:14px;padding:1.1rem 1.25rem;box-shadow:0 1px 2px #0000000d,0 0 0 1px #00000008}.card.success{box-shadow:0 1px 2px #0000000d,0 0 0 1px var(--ok-bg)}section{display:flex;flex-direction:column;gap:1rem}h2{margin:0 0 .75rem;font-size:1rem;font-weight:700;letter-spacing:-.014em}.muted{color:var(--dim);font-size:.85rem}.mono,code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;word-break:break-all}.error{color:var(--bad-fg);font-weight:500;margin:0}button{font:inherit;font-size:.875rem;font-weight:500;padding:.4rem .9rem;border-radius:9px;border:none;background:#0000000e;color:var(--text);cursor:pointer;transition:background .15s ease-out,transform .1s ease-out}button:hover{background:#00000017}button:active{transform:scale(.97)}button:focus-visible,nav a:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.4;cursor:default;transform:none}button[type=submit],a.button{background:var(--accent);color:#fff;font-weight:600}button[type=submit]:hover{background:var(--accent-hover)}button.ghost{background:transparent;color:var(--accent)}button.ghost:hover{background:var(--accent-tint)}button.danger{color:var(--bad-fg)}button.danger:hover{background:#d0342c17}a.button{display:inline-block;text-align:center;text-decoration:none;font:inherit;font-size:.875rem;padding:.45rem .9rem;border-radius:9px;border:none;transition:background .15s ease-out,transform .1s ease-out}a.button:hover{background:var(--accent-hover)}a.button:active{transform:scale(.97)}.seg{display:inline-flex;background:#0000000f;border-radius:9px;padding:2px}.seg button{border:none;background:transparent;border-radius:7px;padding:.25rem .85rem;color:var(--dim);font-size:.85rem}.seg button.active{background:#fff;color:var(--text);font-weight:600;box-shadow:0 1px 3px #0000001f}label{font-size:.78rem;font-weight:600;color:#0000008c}input,select,textarea{font:inherit;font-size:.9rem;padding:.45rem .75rem;border-radius:9px;border:1px solid transparent;background:#0000000b;color:inherit;min-width:0;transition:background .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out}input:focus,select:focus,textarea:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3.5px var(--accent-ring)}input::placeholder,textarea::placeholder{color:#a1a1a6}.row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.row input{flex:1}.column{display:flex;flex-direction:column;gap:.55rem}.grid{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.6rem .9rem}.grid h2{grid-column:1 / -1;margin:0 0 .25rem}.grid button[type=submit]{grid-column:1 / -1;justify-self:start}.grid .muted{grid-column:1 / -1;margin:0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.stat{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.1rem}.stat .num{font-size:1.7rem;font-weight:700;letter-spacing:-.025em;line-height:1.1;font-variant-numeric:tabular-nums}.bars{width:100%;height:120px;display:block}.bars .bar{fill:var(--accent);opacity:.9}.bars .bar.failed{fill:var(--bad-fg)}.daylabels{display:flex;justify-content:space-between;font-size:.72rem;color:var(--dim);font-variant-numeric:tabular-nums;padding-top:.45rem}.cols{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}table{width:100%;border-collapse:collapse;font-size:.875rem}th{text-align:left;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--dim);padding:.3rem .75rem .5rem;border-bottom:1px solid var(--hairline)}td{padding:.6rem .75rem;border-bottom:1px solid rgb(0 0 0 / .045);vertical-align:top}tbody tr{transition:background .12s ease-out}tbody tr:hover{background:#00000006}tbody tr:last-child td{border-bottom:none}td.bad{color:var(--bad-fg);font-weight:600}tr.rowbad td{background:#d0342c08}tr.rowbad:hover td{background:#d0342c0d}.badge{display:inline-block;font-size:.72rem;font-weight:600;border-radius:999px;padding:.12rem .55rem;background:#0000000f;color:var(--dim);margin-left:.35rem;white-space:nowrap}.badge.ok{background:var(--ok-bg);color:var(--ok-fg)}.badge.warn{background:var(--warn-bg);color:var(--warn-fg)}.badge.bad{background:var(--bad-bg);color:var(--bad-fg)}.snippet{display:inline-block;max-width:17.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;font-size:.78rem;color:var(--bad-fg)}.steps{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.5rem}.steps li::marker{color:var(--accent);font-weight:700}.notice{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--accent-tint);border-radius:9px;padding:.5rem .7rem;margin:0;font-size:.85rem}.feishu-entry{display:flex;flex-direction:column;gap:.4rem;padding-bottom:.7rem;border-bottom:1px solid var(--hairline);margin-bottom:.5rem}.toolbar{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.1rem;flex-wrap:wrap}.toolbar select,.toolbar input{font-size:.85rem;padding:.35rem .65rem}.toolbar+table{border-top:1px solid var(--hairline)}table.logtable{margin:0}.logtable td:first-child{white-space:nowrap}.tablescroll{overflow-x:auto}.tablescroll>table{min-width:56rem}.hscroll{overflow-x:auto}.quota-cell{display:flex;gap:1.15rem}.quota-gauge{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:3.1rem;text-align:center;--quota-fg: var(--dim)}.quota-ok{--quota-fg: var(--ok-fg)}.quota-warn{--quota-fg: var(--warn-fg)}.quota-bad{--quota-fg: var(--bad-fg)}.quota-ring{display:block;width:44px;height:44px}.quota-ring-track{fill:none;stroke:#00000012;stroke-width:3.4}.quota-ring-arc{fill:none;stroke:var(--quota-fg);stroke-width:3.4;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;animation:quotafill .3s cubic-bezier(.23,1,.32,1) both}@keyframes quotafill{0%{stroke-dashoffset:97.39}}.quota-unobserved .quota-ring-arc{stroke:#00000038;stroke-dasharray:2 4;stroke-dashoffset:0;animation:none}.quota-percent{fill:var(--quota-fg);font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums}.quota-label{font-size:.7rem;font-weight:600;color:var(--dim)}.quota-countdown{font-size:.68rem;color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap}.reset-credit-cell{display:flex;flex-direction:column;gap:.1rem;min-width:7rem}.reset-credit-line{font-size:.72rem;white-space:nowrap}.reset-credit-usable{color:var(--accent);font-weight:600}.reset-credit-expiring{color:var(--warn-fg);font-weight:600}.quota-cell-action{align-items:center;flex-wrap:wrap;gap:.45rem}.quota-observe-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:7px;background:#0000000d;color:var(--dim);cursor:pointer;transition:opacity .15s ease-out,background .15s ease-out,color .15s ease-out,transform .1s ease-out}.quota-observe-btn:hover{background:#00000017;color:var(--text)}.quota-observe-btn:active{transform:scale(.97)}.quota-observe-btn-live{background:var(--accent-tint);color:var(--accent)}.quota-observe-btn-live:hover{background:#0071e329;color:var(--accent-hover)}.quota-cell-observed .quota-observe-btn{opacity:.3}.quota-cell-observed:hover .quota-observe-btn,.quota-cell-observed:focus-within .quota-observe-btn,.quota-cell-observed .quota-observe-btn:focus-visible,.quota-cell-observed .quota-observe-btn:disabled{opacity:1}.quota-observe-btn:disabled,.quota-cell-observed .quota-observe-btn-failed{opacity:1}.quota-observe-spinner{display:inline-block;width:12px;height:12px;border-radius:999px;border:1.6px solid rgb(0 0 0 / .14);border-top-color:var(--accent);animation:quota-observe-rotate .8s linear infinite}@keyframes quota-observe-rotate{to{transform:rotate(360deg)}}.quota-observe-warn{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;background:var(--bad-fg);color:#fff;font-size:.62rem;font-weight:800}.quota-observe-error{flex-basis:100%;color:var(--bad-fg);font-size:.72rem;animation:quota-observe-fade .2s ease-out both}@keyframes quota-observe-fade{0%{opacity:0}}.acct-name-wrap{position:relative;display:inline-flex;align-items:center;white-space:nowrap}.acct-rename-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:2px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--dim);cursor:pointer;opacity:0;transition:opacity .15s ease-out,background .15s ease-out,color .15s ease-out}tr:hover .acct-rename-btn,tr:focus-within .acct-rename-btn,.acct-rename-btn:focus-visible,.acct-rename-btn[aria-expanded=true]{opacity:1}@media(hover:none){.acct-rename-btn{opacity:1}}.acct-rename-btn:hover{background:#0000000f;color:var(--text)}.acct-rename-pop{position:fixed;z-index:60;display:flex;flex-direction:column;gap:.5rem;padding:.9rem 1rem .85rem;border-radius:14px;background:var(--card);box-shadow:0 12px 32px #00000029,0 2px 6px #00000014,0 0 0 1px #0000000a;transform-origin:top left;animation:acct-rename-pop-in .18s cubic-bezier(.23,1,.32,1) both;overflow-y:auto}@keyframes acct-rename-pop-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}}.acct-rename-pop[data-side=above]{transform-origin:bottom left;animation-name:acct-rename-pop-in-above}@keyframes acct-rename-pop-in-above{0%{opacity:0;transform:translateY(4px) scale(.97)}}.acct-rename-actions{display:flex;gap:.5rem}.acct-note-line,.acct-note-add{padding:.1rem .35rem;border-radius:6px;background:transparent;font-size:.78rem;font-weight:400;text-align:left;transition:opacity .15s ease-out,background .15s ease-out,color .15s ease-out}.acct-note-line{display:block;max-width:22rem;margin:.2rem 0 0 -.35rem;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acct-note-line:hover{background:#0000000b;color:var(--text)}.acct-note-add-slot{position:relative;display:block;height:0}.acct-note-add{position:absolute;top:.2rem;left:-.35rem;height:22px;padding-block:0;line-height:22px;white-space:nowrap;color:var(--accent);opacity:0}@media(hover:none){.acct-note-add{opacity:1}}tr:hover .acct-note-add,tr:focus-within .acct-note-add,.acct-note-add:focus-visible{opacity:1}.acct-note-add:hover{background:var(--accent-tint)}.acct-note-editor{display:flex;flex-direction:column;gap:.4rem;width:22rem;max-width:100%;margin-top:.35rem;white-space:normal;animation:acct-note-in .18s cubic-bezier(.23,1,.32,1) both}@keyframes acct-note-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes acct-note-fade{0%{opacity:0}}.acct-note-editor textarea{font-size:.85rem;line-height:1.5;resize:vertical}.acct-note-foot{display:flex;justify-content:space-between;font-size:.72rem}.acct-note-count{color:var(--dim);font-variant-numeric:tabular-nums}.acct-note-count-warn{color:var(--warn-fg)}.acct-note-count-over{color:var(--bad-fg);font-weight:600}.acct-note-error{margin:0;font-size:.8rem}.acct-note-actions{display:flex;gap:.4rem;align-items:center}.acct-note-save{background:var(--accent);color:#fff;font-weight:600}.acct-note-save:hover{background:var(--accent-hover)}.acct-note-clear{margin-left:auto;font-size:.78rem}.playground{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.9rem;align-items:start}.playground>*{min-width:0}.playground form{margin:0}.output{min-height:12rem}.output pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.center{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(640px 320px at 18% 8%,rgb(0 113 227 / .1),transparent 62%),radial-gradient(560px 300px at 85% 90%,rgb(88 86 214 / .09),transparent 60%),var(--bg)}.app-glyph{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(160deg,#3a9bfc,#0068d7);color:#fff;font-size:21px;box-shadow:0 6px 16px #0071e359;margin-bottom:.75rem}.login{width:min(23.125rem,92vw);display:flex;flex-direction:column;gap:.65rem;background:#ffffffad;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-radius:20px;padding:1.9rem 1.75rem;box-shadow:0 24px 60px #00000024,0 0 0 1px #ffffff8c inset}.login h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.login .button{padding:.65rem .9rem;font-size:.95rem}button.primary{background:var(--accent);color:#fff;font-weight:600}button.primary:hover{background:var(--accent-hover)}.conn{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.65rem 1.1rem}.conn-label{font-size:.78rem;font-weight:600;color:#0000008c}.conn-value{display:flex;align-items:center;gap:.35rem;flex:0 1 auto;min-width:260px;background:#0000000b;border-radius:9px;padding:.3rem .3rem .3rem .7rem;transition:box-shadow .15s ease-out}.conn-value:focus-within{box-shadow:0 0 0 3px var(--accent-ring)}.conn-value code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.conn .note{margin-left:auto}.keys-table{padding:.35rem .9rem .5rem;overflow-x:auto}.keys-table td{vertical-align:middle}.keys-table table.all-keys td{white-space:nowrap}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cell-actions{display:flex;align-items:center;gap:.35rem}.cell-actions button{white-space:nowrap}.key-code{border:none;background:none;padding:0;font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;color:var(--text);cursor:pointer;border-radius:6px;transition:color .12s ease-out}.key-code:hover:not(:disabled){color:var(--accent)}.expiry{white-space:nowrap;font-size:.78rem}.scope-seg{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;background:#0000000f;border-radius:9px;padding:2px}.scope-seg-thumb{position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:7px;background:#fff;box-shadow:0 1px 3px #0000001f;transition:transform .24s cubic-bezier(.32,.72,0,1)}.scope-seg[data-scope=all] .scope-seg-thumb{transform:translate(100%)}.scope-seg button{position:relative;background:transparent;border-radius:7px;padding:.25rem .85rem;color:var(--dim);font-size:.85rem;white-space:nowrap;transition:color .15s ease-out,transform .1s ease-out}.scope-seg button:hover{background:transparent;color:var(--text)}.scope-seg button:active{transform:scale(.97)}.scope-seg button[aria-pressed=true]{color:var(--text);font-weight:600}.owner{display:inline-flex;align-items:center;gap:.45rem;font-weight:500;white-space:nowrap}.avatar{display:inline-grid;place-items:center;flex:none;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--accent-tint);color:var(--accent);font-size:.62rem;font-weight:600}.key-code.locked{color:var(--dim);cursor:default}.key-lock{flex:none;color:var(--dim)}.key-status{display:inline-flex;flex-wrap:nowrap;gap:.3rem}.key-status .badge{margin-left:0}.keys-table tr.revoked td{color:var(--dim)}.keys-table tr.revoked .key-name{font-weight:500;text-decoration:line-through;text-decoration-color:#00000040}.keys-toolbar{display:flex;align-items:center;gap:.6rem 1rem;flex-wrap:wrap}.member-chips{display:flex;gap:.4rem;flex-wrap:wrap}.member-chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--card);box-shadow:0 0 0 1px var(--hairline-strong);border-radius:999px;padding:.2rem .65rem .2rem .3rem;font-size:.8rem}.member-chip:first-child{padding-left:.65rem}.member-chip:hover{background:var(--card);box-shadow:0 0 0 1px var(--accent-ring)}.member-chip[aria-pressed=true]{background:var(--accent-tint);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.member-chip .avatar{width:1.2rem;height:1.2rem;font-size:.58rem}.member-chip .count{color:var(--dim);font-variant-numeric:tabular-nums}.revoked-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;font-size:.82rem;color:var(--dim);cursor:pointer;-webkit-user-select:none;user-select:none}.badge.info{background:var(--accent-tint);color:var(--accent)}.copy{font-size:.8rem;padding:.32rem .7rem;white-space:nowrap}.copy[data-copied]{background:var(--ok-bg);color:var(--ok-fg);font-weight:600}@keyframes drawer-in{0%{transform:translate(103%)}}@keyframes scrim-in{0%{opacity:0}}@keyframes drawer-fade{0%{opacity:0}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000047;animation:scrim-in .22s ease-out both}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:50;width:min(420px,94vw);background:var(--card);box-shadow:-18px 0 50px #0000002e;border-radius:16px 0 0 16px;padding:1.3rem 1.4rem;display:flex;flex-direction:column;gap:.7rem;overflow-y:auto;animation:drawer-in .28s cubic-bezier(.23,1,.32,1) both}.drawer.closing{transform:translate(103%);transition:transform .22s ease-in}.scrim.closing{opacity:0;transition:opacity .22s ease-in}.drawer h2{margin:0}.drawer .grid{flex:1;align-content:start}.drawer-actions{grid-column:1 / -1;display:flex;gap:.5rem;justify-content:flex-end;padding-top:.4rem;border-top:1px solid var(--hairline)}@keyframes confirm-in{0%{opacity:0;transform:scale(.96)}}.confirm-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;margin:auto;width:min(24rem,calc(100vw - 2rem));height:fit-content;background:var(--card);border-radius:16px;padding:1.3rem 1.4rem;box-shadow:0 20px 50px #0003;display:flex;flex-direction:column;gap:.5rem;animation:confirm-in .2s cubic-bezier(.23,1,.32,1) both}.confirm-dialog h2{margin:0;font-size:1.05rem}.confirm-dialog p{margin:0 0 .4rem;font-size:.88rem}button.danger-solid{background:var(--bad-fg);color:#fff;font-weight:600}button.danger-solid:hover{background:#b92c25}main section>.drawer,main section>.scrim,main section>.confirm-dialog{animation-delay:0s}.key-hint{margin:-.25rem 0 0;font-size:.78rem;color:var(--dim)}.key-hint .limit-warn{color:var(--warn-fg)}.key-hint .limit-bad{color:var(--bad-fg);font-weight:600}.output-head{margin:0 0 .4rem;font-size:.75rem;color:var(--dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media(max-width:900px){.cols{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.playground{grid-template-columns:1fr}header.topbar{flex-wrap:wrap;gap:.5rem 1rem}.identity-name{max-width:7rem}nav{order:3;width:100%;overflow-x:auto}.page-title h1{font-size:1.6rem}}@media(prefers-reduced-transparency:reduce){header.topbar{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}.login{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-reduced-motion:reduce){button,a.button,nav button,tbody tr,input,select,textarea{transition:none;transform:none!important}main section>*,.quota-ring-arc,.quota-observe-error{animation:none}.confirm-dialog{animation-name:drawer-fade}.scope-seg-thumb{transition:none}.drawer{animation:drawer-fade .2s ease-out both;transform:none!important}.scrim,.drawer.closing{animation:none;transition:none}.quota-observe-spinner{animation:none}.quota-observe-btn:disabled{animation:quota-observe-fade .15s ease-out}.acct-rename-pop{animation-duration:1ms}.acct-note-editor{animation-name:acct-note-fade}}.usercode{font-size:1.75rem;font-weight:600;letter-spacing:.12em;-webkit-user-select:all;user-select:all}.v1-steps{list-style:none;margin:.4rem auto 0;padding:.4rem 0 0;display:flex;align-items:center;justify-content:center;gap:.6rem;width:min(560px,100%)}.v1-step{display:flex;align-items:center;gap:.45rem;color:var(--dim);font-size:.85rem;font-weight:500}.v1-step+.v1-step:before{content:"";width:56px;height:1px;background:var(--hairline-strong);margin-right:.6rem}.v1-step.done+.v1-step:before{background:var(--accent)}.v1-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:700;background:#0000000f;color:var(--dim);transition:background .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}.v1-step.done .v1-dot{background:var(--accent);color:#fff}.v1-step.current .v1-dot{background:#fff;color:var(--accent);box-shadow:0 0 0 2px var(--accent);animation:v1breathe 2.4s ease-in-out infinite}@keyframes v1breathe{50%{box-shadow:0 0 0 6px var(--accent-ring)}}.v1-step.current{color:var(--text);font-weight:600}.v1-step.bad .v1-dot{background:var(--bad-bg);color:var(--bad-fg);box-shadow:none;animation:none}.v1-switch{align-self:flex-start}.v1-form,.v1-req,.v1-wait,.v1-clear{width:min(640px,100%);margin:0 auto;display:flex;flex-direction:column;gap:.9rem}.v1-scope-cards{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.v1-scope{text-align:left;display:flex;flex-direction:column;gap:.25rem;padding:.75rem .85rem;border-radius:12px;background:#00000009;box-shadow:0 0 0 1.5px transparent;transition:background .15s ease-out,box-shadow .15s ease-out,transform .1s ease-out}.v1-scope:hover{background:#0000000e}.v1-scope:active{transform:scale(.98)}.v1-scope.on{background:var(--accent-tint);box-shadow:0 0 0 1.5px var(--accent)}.v1-scope strong{font-size:.875rem}.v1-scope span{font-size:.78rem;color:var(--dim);line-height:1.45}.v1-wait{align-items:center;text-align:center;padding-top:1.6rem;padding-bottom:1.6rem}.v1-pulse{width:10px;height:10px;border-radius:50%;background:var(--warn-fg);animation:v1pulse 1.6s ease-out infinite}@keyframes v1pulse{0%{box-shadow:0 0 #b2500059}70%{box-shadow:0 0 0 10px #b2500000}to{box-shadow:0 0 #b2500000}}.v1-quote{margin:0;padding:.55rem .8rem;border-left:3px solid var(--accent);background:var(--accent-tint);border-radius:0 9px 9px 0;font-size:.875rem;line-height:1.6}.v1-approve{width:min(640px,100%);margin:0 auto}.v1-onboard{margin:0;padding:0;list-style:none;counter-reset:v1step;display:flex;flex-direction:column;gap:1rem}.v1-onboard>li{display:flex;flex-direction:column;gap:.5rem}.v1-onboard>li:before{counter-increment:v1step;content:"第 " counter(v1step) " 步";font-size:.72rem;font-weight:700;letter-spacing:.05em;color:var(--accent)}.v1-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;border-top:1px solid var(--hairline);padding-top:.75rem}.v1-req h2{margin-bottom:.4rem}.v1-grid{margin-bottom:.6rem}.v1-actions{padding-top:.5rem}.v1-ok{background:var(--accent);color:#fff;font-weight:600}.v1-ok:hover{background:var(--accent-hover)}.v1-clear{align-items:center;text-align:center;padding-top:1.8rem;padding-bottom:1.8rem}.v1-snippets{display:flex;flex-direction:column;gap:.5rem}.v1-sniphead{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.v1-copy{background:#0000000e;font-size:.8rem;padding:.35rem .7rem;border-radius:8px}.v1-copy:disabled{opacity:.45;cursor:not-allowed}.v1-copy.done{background:var(--ok-bg);color:var(--ok-fg)}.v1-code{margin:0;padding:.9rem 1rem;border-radius:12px;background:#1d1d1f;color:#e8e8ed;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.65;overflow-x:auto;animation:v1materialize .25s ease-out both}@keyframes v1materialize{0%{opacity:0;transform:scale(.985)}}.v1-keychip{color:#f5c14e;font-weight:600}.v1-nourl{margin:0;padding:.7rem .9rem;border-radius:12px;background:var(--warn-bg);color:var(--warn-fg);font-size:.85rem}.v1-tools{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.v1-tools li{display:flex;align-items:baseline;gap:.6rem;font-size:.82rem}.v1-tools code{color:var(--accent);font-weight:600;white-space:nowrap;word-break:normal}.v1-tools span{color:var(--dim)}.v1-todocfg .muted code{word-break:normal}@media(max-width:640px){.v1-scope-cards,.todo-form .grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.v1-step.current .v1-dot,.v1-pulse,.v1-code{animation:none}}.todo-form h2{margin:0 0 .6rem}.todo-form .grid{margin-bottom:1.25rem}.todo-form .grid>.column{min-width:0}.todo-vars{list-style:none;margin:.75rem 0 1.25rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}.todo-vars li{display:flex;align-items:baseline;gap:.45rem;font-size:.82rem}.todo-vars code{color:var(--accent);background:var(--accent-tint);border-radius:6px;padding:.1rem .4rem;font-weight:600;white-space:nowrap}.todo-vars span{color:var(--dim)}.todo-result p{margin:.3rem 0 0}.todo-preview-title{font-weight:600;margin:.9rem 0 .5rem}.todo-preview-body{margin:0;padding:.85rem 1rem;border-radius:10px;background:var(--bg);border:1px solid var(--hairline);font-size:.85rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.appr-seg{align-self:flex-start}.appr-row{padding:0;overflow:hidden}.appr-rowhead{width:100%;display:flex;align-items:center;gap:.5rem;padding:.9rem 1.25rem;background:transparent;border-radius:0;text-align:left;font-weight:400}.appr-rowhead:hover{background:#00000006}.appr-rowhead:active{transform:none}.appr-rowhead strong{font-size:.92rem;font-weight:600;letter-spacing:-.014em}.appr-rowhead .muted{font-size:.82rem}.appr-when{margin-left:auto;font-size:.78rem;color:var(--dim);white-space:nowrap}.appr-caret{color:var(--dim);font-size:1rem;transition:transform .2s ease-out}.appr-caret.open{transform:rotate(90deg)}.appr-src{background:var(--accent-tint);color:var(--accent)}.appr-hit{box-shadow:0 1px 2px #0000000d,0 0 0 2px var(--accent),0 0 0 6px var(--accent-ring)}.appr-rowbody{padding:0 1.25rem 1.1rem;display:flex;flex-direction:column;gap:.9rem}.appr-actions{align-items:center;flex-wrap:wrap}.appr-done{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.appr-done li{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.6rem 0;border-bottom:1px solid var(--hairline)}.appr-done li:last-child{border-bottom:none}.appr-done .appr-done-name{font-size:.9rem;font-weight:600}.appr-done-when{margin-left:auto}.appr-scope-cell{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.4rem}.appr-scope-tag{transition:background .2s cubic-bezier(.23,1,.32,1),color .2s cubic-bezier(.23,1,.32,1),text-decoration-color .2s cubic-bezier(.23,1,.32,1)}.appr-scope-tag[aria-pressed=false]{background:#0000000a;color:var(--dim);text-decoration:line-through;text-decoration-color:var(--bad-fg);text-decoration-thickness:1.5px}.appr-scope-tag[aria-pressed=false]:hover{background:#00000017}.appr-scope-cut{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem}.appr-scope-cut button.ghost{padding:.12rem .55rem;font-size:.78rem}.appr-row-done,.appr-hit.appr-row-done{box-shadow:0 1px 2px #0000000d,0 0 0 1px var(--ok-ring)}.appr-row-done .appr-rowhead strong{color:var(--ok-fg)}.appr-handoff-title{margin:0;font-size:.95rem;font-weight:600;letter-spacing:-.016em;color:var(--ok-fg)}.appr-handoff-foot{justify-content:flex-start;gap:.6rem;font-size:.82rem}.appr-who{display:flex;flex-direction:column;gap:.1rem;min-width:0}.appr-who-name{font-weight:600}.appr-who-id{font-size:.74rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appr-who-hint{font-size:.76rem;line-height:1.35}.appr-keyrow .v1-snippets{flex-basis:100%;margin-top:.15rem}@media(prefers-reduced-motion:reduce){.appr-caret,.appr-scope-tag{transition:none}}.appr-issued-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.appr-issued-dot.ok{background:var(--ok-fg)}.appr-issued-dot.warn{background:var(--warn-fg)}.appr-issued-dot.bad{background:var(--bad-fg)}.appr-confirm{width:100%;background:var(--bad-bg);border-radius:9px;padding:.6rem .75rem;color:var(--bad-fg)}.appr-keyrow{width:100%}.appr-keyrow code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.nav-count{display:inline-block;margin-left:.35rem;font-size:.62rem;font-weight:700;line-height:1;padding:.16rem .32rem;border-radius:999px;background:var(--accent);color:#fff;vertical-align:1px}.todo-resolve{display:flex;align-items:center;gap:.45rem;margin:.1rem 0 0;font-size:.8rem}.todo-resolve.ok{color:var(--ok-fg)}.todo-resolve.ok:before{content:"✓";font-weight:700}.todo-resolve.bad{color:var(--bad-fg)}.todo-resolve.bad:before{content:"✕";font-weight:700}.todo-resolve code{margin-left:auto;font-size:.72rem;color:var(--dim);background:#0000000b;border-radius:6px;padding:.08rem .35rem}.todo-approver-note{margin:.2rem 0 0}.models-source{margin:0}.models-source .badge{margin-left:0}.models-invalid{background:var(--warn-bg);color:var(--warn-fg);justify-content:flex-start}.models-list{list-style:none;margin:0;padding:0;counter-reset:model}.models-row{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--hairline);counter-increment:model}.models-row:before{content:counter(model);min-width:1.5rem;color:var(--dim);font-size:.78rem;font-variant-numeric:tabular-nums}.models-row:last-child{border-bottom:none}.models-row code{flex:1;min-width:0;overflow-wrap:anywhere}.models-row-actions{display:flex;gap:.3rem}.models-row-actions button{padding:.25rem .6rem}.models-hint{font-size:.85rem}.models-hint:empty{margin-top:-.55rem}.models-save{background:var(--accent);color:#fff;font-weight:600}.models-save:hover{background:var(--accent-hover)}.models-sync-result{display:flex;flex-direction:column;gap:.75rem}.models-sync-line{margin:0}.models-sync-line:empty{margin-top:-.55rem}.models-sync-accounts summary{cursor:pointer}.models-sync-failures{margin:.4rem 0 0;padding-left:1.2rem;font-size:.85rem;color:var(--bad-fg);overflow-wrap:anywhere}.models-retiring{white-space:normal}.models-upstream td{vertical-align:top}.models-note{display:block;margin-top:.2rem;font-size:.78rem;color:var(--warn-fg)}.models-missing h3{margin:0 0 .5rem;font-size:.95rem}.models-missing ul{list-style:none;margin:0;padding:0}.models-missing-row{display:flex;align-items:center;gap:.6rem;padding:.35rem 0;border-bottom:1px solid var(--hairline)}.models-missing-row:last-child{border-bottom:none}.models-missing-row code{flex:1;min-width:0;overflow-wrap:anywhere}
