*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}body{margin:0;background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}p{margin:0}ul,ol{margin:0;padding:0}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-weight:400}h1,h2{font-family:var(--font-serif);letter-spacing:-.01em}h1{font-size:var(--fs-h1);line-height:var(--lh-h1)}h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:600}::selection{background:var(--brand);color:var(--brand-ink)}:focus-visible{outline:var(--ring-focus);outline-offset:2px;border-radius:var(--r)}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.row{display:flex;align-items:center}.row--between{justify-content:space-between}.row--gap{gap:var(--sp-3)}.muted{color:var(--text-secondary)}.mono{font-family:var(--font-mono)}.text-right{text-align:right}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.eyebrow:before{content:"";width:6px;height:6px;border-radius:1px;background:var(--brand)}.eyebrow--center{display:flex;justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:13px;line-height:18px;padding:8px 14px;border-radius:var(--r);border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;white-space:nowrap;transition:background-color var(--ease),border-color var(--ease),color var(--ease),opacity var(--ease)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.btn--primary:hover:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong)}.btn--outline{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn--outline:hover:not(:disabled){border-color:var(--text)}.btn--ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn--ghost:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.btn--danger{background:transparent;color:var(--danger);border-color:var(--border-strong)}.btn--danger:hover:not(:disabled){border-color:var(--danger)}.btn--sm{padding:5px 10px;font-size:var(--fs-meta);line-height:16px}.btn--block{width:100%}.btn__spin{width:12px;height:12px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.form__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-4)}.field__label,.field__hint{font-size:var(--fs-meta);color:var(--text-secondary)}.field__error{font-size:var(--fs-meta);color:var(--danger)}[hidden]{display:none!important}.input,.select,.textarea{width:100%;padding:8px 10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);color:var(--text);transition:border-color var(--ease),background-color var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--text-secondary)}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-secondary)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:none;border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.textarea{resize:vertical;min-height:88px;font-family:var(--font-mono);font-size:var(--fs-code);line-height:var(--lh-code)}.select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:34px;background-image:none}.select-control{position:relative;min-width:0}.select-control__native{display:none!important}.select-control__trigger{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--ease),box-shadow var(--ease),background-color var(--ease)}.select-control__trigger:hover,.select-control.is-open .select-control__trigger{border-color:var(--text-secondary)}.select-control__trigger:focus-visible{outline:none;border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.select-control__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-control__chevron{display:inline-flex;flex:0 0 14px;color:var(--text-muted);transition:transform var(--ease)}.select-control__chevron svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.select-control.is-open .select-control__chevron{transform:rotate(180deg)}.select-control__list{position:absolute;z-index:var(--z-overlay);top:100%;left:0;right:0;box-sizing:border-box;max-height:min(280px,50vh);overflow-y:auto;padding:4px;border:1px solid var(--border-strong);border-top:0;border-radius:0 0 var(--r) var(--r);background:var(--surface);box-shadow:var(--shadow-overlay)}.select-control.is-open .select-control__trigger{border-radius:var(--r) var(--r) 0 0}.usage-toolbar__control .select-control__trigger{height:40px}.select-control__option{display:block;width:100%;padding:8px 10px;border:0;border-radius:calc(var(--r) - 2px);background:transparent;color:var(--text);font:inherit;line-height:1.4;text-align:left;cursor:pointer}.select-control__option:hover,.select-control__option:focus-visible{outline:none;background:var(--surface-2)}.select-control__option[aria-selected=true]{color:var(--brand);background:var(--surface-2);font-weight:600}.select-control__option:disabled{opacity:.45;cursor:not-allowed}.check{display:inline-flex;align-items:flex-start;gap:8px;cursor:pointer}.check input{width:15px;height:15px;margin-top:3px;accent-color:var(--brand)}.input-group{display:flex}.input-group .input{border-radius:var(--r) 0 0 var(--r)}.input-group .btn{border-radius:0 var(--r) var(--r) 0;border-left:0}.card{border:1px solid var(--border);border-radius:var(--r-sharp);background:var(--surface)}.card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4);border-bottom:1px solid var(--border)}.card__title{font-family:var(--font-serif);font-size:16px;line-height:24px}.card__body{padding:var(--sp-4)}.card__foot{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border)}.panel{border:1px solid var(--border);border-radius:var(--r-sharp);overflow:hidden}.panel--head{border-bottom:0;border-radius:var(--r-sharp) var(--r-sharp) 0 0}.tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:var(--fs-meta);line-height:1;padding:3px 7px;border:1px solid var(--border-strong);border-radius:var(--r);color:var(--text-secondary)}.tag--brand{color:var(--brand-ink);background:var(--brand);border-color:var(--brand)}.tag--ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}.tag--warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--border))}.tag--danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:currentColor}.status{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-meta)}.status--ok{color:var(--ok)}.status--warn{color:var(--warn)}.status--danger{color:var(--danger)}.status--muted{color:var(--text-secondary)}.table-wrap{overflow-x:auto}table.table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.table th{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-weight:400;background:var(--surface-2);position:sticky;top:0}.table tbody tr:hover td{background:var(--surface-2)}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table .cell-strong{font-weight:500}.table .cell-main{color:var(--text);font-weight:500}.table .cell-sub{color:var(--text-secondary);font-size:var(--fs-meta)}.table .cell-id{display:inline-block;max-width:260px;white-space:normal;word-break:break-all;line-height:1.35;vertical-align:bottom}.list-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;border-top:1px solid var(--border)}.list-pager__done{font-size:var(--fs-meta)}.list-pager__sentinel{width:1px;height:1px}.alert{display:flex;gap:10px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--r-sharp);font-size:var(--fs-body)}.alert__ico{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;align-self:center}.alert__ico svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.alert--ok .alert__ico{color:var(--ok)}.alert--warn .alert__ico{color:var(--warn)}.alert--danger .alert__ico{color:var(--danger)}.alert--info .alert__ico{color:var(--info)}.alert--ok{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 35%,var(--border));color:var(--text)}.alert--warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 35%,var(--border))}.alert--danger{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.alert--info{background:var(--info-bg);border-color:color-mix(in srgb,var(--info) 35%,var(--border))}.empty{text-align:center;padding:var(--sp-8) var(--sp-4);color:var(--text-secondary)}.empty__ico{width:40px;height:40px;margin:0 auto var(--sp-3);border:1px dashed var(--border-strong);border-radius:var(--r-sharp);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.empty__title{color:var(--text);font-family:var(--font-serif);font-size:16px}.empty__desc{margin-top:8px;max-width:42ch;margin-inline:auto}.empty .btn{margin-top:var(--sp-4)}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.skeleton--line{height:12px;margin:6px 0}.skeleton--row{height:36px;margin:8px 0}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--brand);animation:spin .7s linear infinite}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border)}.tabs__tab{padding:8px 12px;font-size:13px;color:var(--text-secondary);border-bottom:2px solid transparent;cursor:pointer;background:none;border-top:0;border-left:0;border-right:0}.tabs__tab[aria-selected=true],.tabs__tab.is-selected{color:var(--text);border-bottom-color:var(--brand)}.tabs__tab:hover{color:var(--text)}.pager{display:flex;align-items:center;gap:8px}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--sp-4)}.modal__backdrop{position:absolute;inset:0;background:color-mix(in srgb,#000 45%,transparent)}.modal__panel{position:relative;display:flex;flex-direction:column;width:100%;max-width:440px;max-height:min(85vh,760px);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sharp);box-shadow:var(--shadow-overlay)}.modal__head{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;padding:var(--sp-4);border-bottom:1px solid var(--border)}.modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--sp-4)}.modal__foot{display:flex;justify-content:flex-end;gap:8px;padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border)}.toasts{position:fixed;right:var(--sp-4);bottom:var(--sp-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:8px}.toast{min-width:240px;max-width:360px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--r-sharp);background:var(--surface);box-shadow:var(--shadow-overlay);font-size:13px}.toast--ok{border-left:3px solid var(--ok)}.toast--danger{border-left:3px solid var(--danger)}.toast--info{border-left:3px solid var(--info)}.code{margin:0;font-family:var(--font-mono);font-size:var(--fs-code);line-height:var(--lh-code);white-space:pre;color:var(--text)}.code--wrap{white-space:pre-wrap;word-break:break-word}.t-get{color:var(--code-get);font-weight:500}.t-key{color:var(--code-key)}.t-str{color:var(--code-str)}.t-num{color:var(--code-num)}.comment{color:var(--text-muted)}.kv{display:grid;grid-template-columns:minmax(200px,max-content) 1fr;gap:2px 16px}.kv dt{color:var(--text-secondary);font-size:var(--fs-meta);padding:5px 0}.kv dd{margin:0;padding:5px 0;border-bottom:1px solid var(--border)}.crumbs{display:flex;align-items:center;gap:6px;font-size:var(--fs-meta);color:var(--text-secondary)}.crumbs a:hover{color:var(--text)}.crumbs__sep{color:var(--text-muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}pre.code{overflow-x:auto;tab-size:2;max-width:100%}.code-block+.code-block,.code-sample+.code-sample{margin-top:20px}.code-sample{min-width:0;border:1px solid var(--border-strong);border-radius:var(--r-sharp);overflow:hidden}.code-tools{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border-strong);background:var(--surface-3)}.code-tools__language{font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--text-secondary)}.code-copy{margin-left:auto;flex-shrink:0}.code-sample>pre{margin:0;padding:20px;font-family:var(--font-mono);font-size:var(--fs-code);line-height:var(--lh-code);white-space:pre;overflow-x:auto;color:var(--text);background:var(--surface-inset)}.code .hljs-keyword,.code .hljs-built_in,.code .hljs-meta{color:var(--code-get)}.code .hljs-attr,.code .hljs-title,.code .hljs-name{color:var(--code-key)}.code .hljs-string,.code .hljs-template-tag{color:var(--code-str)}.code .hljs-number,.code .hljs-literal{color:var(--code-num)}.code .hljs-comment{color:var(--text-muted)}
