/*
 * 三个后台面板的界面覆盖：参考 StyleKit「固定侧边栏布局」（Fixed Sidebar）。
 * 浅灰背景 + 白色固定侧边栏（16rem）、当前页左侧强调线、导航交互 150ms、卡片细边框与轻阴影。
 * Filament 自带样式在 CSS 层（@layer）里，这里的普通规则优先级更高，无需 !important（行内样式除外）。
 */
:root {
    --gm-primary: #1e293b;
    --gm-accent: #3b82f6;
    --gm-border: #e4e4e7;
    --gm-bg: #fafafa;
}

.fi-body { background-color: var(--gm-bg); }

/* 品牌区 */
.gm-brand { display: inline-flex; align-items: center; gap: .625rem; height: 100%; color: var(--gm-primary); }
.gm-brand-mark { width: 2.25rem; height: 2.25rem; border-radius: 9999px; box-shadow: 0 0 0 1px var(--gm-border); flex: none; }
.gm-brand-full { display: none; }
.gm-brand-text { display: flex; flex-direction: column; line-height: 1.2; white-space: nowrap; }
.gm-brand-text strong { font-size: .9375rem; font-weight: 600; letter-spacing: -.01em; }
.gm-brand-text small { font-size: .75rem; color: #71717a; }

/* 顶栏：细边框，无阴影 */
.fi-topbar { box-shadow: none; border-bottom: 1px solid var(--gm-border); }

/* 侧边栏：白底 + 右侧分隔线，内容溢出时可滚动 */
@media (min-width: 64rem) {
    .fi-sidebar { background-color: #fff; border-inline-end: 1px solid var(--gm-border); }
    .fi-body-has-topbar .fi-sidebar-header { box-shadow: none; }
}
.fi-sidebar-nav { overflow-y: auto; }
.fi-sidebar-group-label { font-size: .75rem; letter-spacing: .04em; color: #a1a1aa; }
.fi-sidebar-item-btn { position: relative; transition: background-color .15s, color .15s; }
.fi-sidebar-item-btn > .fi-icon { transition: transform .15s, color .15s; }
.fi-sidebar-item-btn:hover > .fi-icon { transform: translateX(2px); }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn { background-color: #eff6ff; }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn::before {
    content: ""; position: absolute; inset-block: .375rem; inset-inline-start: 0;
    width: 3px; border-radius: 0 3px 3px 0; background-color: var(--gm-accent);
}
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-sidebar-item-label { color: #1d4ed8; font-weight: 600; }
.fi-sidebar-footer { border-top: 1px solid var(--gm-border); }

/* 页面标题 */
.fi-header-heading { font-weight: 600; letter-spacing: -.02em; }

/* 卡片：白底、细边框、轻阴影 */
.fi-section:not(.fi-section-not-contained),
.fi-ta-ctn,
.fi-wi-stats-overview-stat,
.fi-wi-chart .fi-section {
    border-radius: .75rem;
    box-shadow: 0 0 0 1px var(--gm-border), 0 1px 2px 0 rgb(0 0 0 / .04);
}
.fi-wi-stats-overview-stat { transition: transform .15s, box-shadow .15s; }
.fi-wi-stats-overview-stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 0 1px var(--gm-border), 0 4px 6px -1px rgb(0 0 0 / .08);
}
.fi-btn { transition: background-color .15s, color .15s, box-shadow .15s; }

/* 输入框：浅灰底，聚焦时淡蓝描边 */
.fi-input-wrp:not(.fi-disabled):not(.fi-invalid) { background-color: #f4f4f5; box-shadow: none; }
.fi-input-wrp:not(.fi-disabled):not(.fi-invalid):focus-within { background-color: #fff; box-shadow: 0 0 0 2px rgb(59 130 246 / .3); }

/* 登录页：浅色天空背景，表单卡片居中 */
.fi-simple-layout {
    background:
        radial-gradient(60rem 30rem at 15% -10%, rgb(147 197 253 / .45), transparent 60%),
        radial-gradient(50rem 30rem at 110% 110%, rgb(197 89 240 / .12), transparent 60%),
        var(--gm-bg);
}
.fi-simple-main {
    border-radius: .75rem;
    box-shadow: 0 0 0 1px var(--gm-border), 0 4px 6px -1px rgb(0 0 0 / .06);
}
.fi-simple-header .fi-logo { height: auto !important; margin-bottom: .5rem; }
.fi-simple-header .gm-brand { flex-direction: column; gap: .75rem; text-align: center; }
.fi-simple-header .gm-brand-mark { width: 4.5rem; height: 4.5rem; }
.fi-simple-header .gm-brand-text { align-items: center; }
.fi-simple-header .gm-brand-text strong { font-size: 1.25rem; }
.fi-simple-header .gm-brand-text small { font-size: .875rem; }
/* 开放平台登录页显示完整 Logo 插画 */
.fi-simple-header .gm-brand:has(.gm-brand-full) .gm-brand-mark,
.fi-simple-header .gm-brand:has(.gm-brand-full) .gm-brand-text { display: none; }
.fi-simple-header .gm-brand-full { display: block; width: min(15rem, 60vw); height: auto; }

@media (prefers-reduced-motion: reduce) {
    .fi-sidebar-item-btn, .fi-sidebar-item-btn > .fi-icon, .fi-wi-stats-overview-stat, .fi-btn { transition: none; }
    .fi-sidebar-item-btn:hover > .fi-icon, .fi-wi-stats-overview-stat:hover { transform: none; }
}

/* ======================================================================
 * 自定义视图用的组件样式（面板没有 Tailwind 构建，自定义 Blade 视图只能用这里的 gm- 类）
 * ====================================================================== */
[x-cloak] { display: none !important; }
/* :not(:first-child) 抬高优先级，保证子元素自带的 margin: 0 不会吃掉间距 */
.gm-stack > :not(:first-child) { margin-top: 1rem; }
.gm-stack-sm > :not(:first-child) { margin-top: .5rem; }
.gm-stack-lg > :not(:first-child) { margin-top: 1.5rem; }
.gm-text { font-size: .875rem; line-height: 1.7; color: #3f3f46; }
.gm-muted { color: #71717a; }
.gm-small { font-size: .8125rem; }
.gm-link { color: #2563eb; text-decoration: none; font-weight: 500; }
.gm-link:hover { text-decoration: underline; }
.gm-text code, .gm-ic {
    padding: .0625rem .375rem; border-radius: .375rem; background: #f4f4f5; color: #be185d;
    font: .8125rem/1.5 ui-monospace, SFMono-Regular, Consolas, "Courier New", monospace; word-break: break-word;
}
.gm-list { margin: 0; padding-inline-start: 1.25rem; list-style: disc; }
.gm-list-num { list-style: decimal; }
.gm-list > li + li { margin-top: .375rem; }
.gm-h3 { margin-bottom: 0; padding-top: .5rem; font-size: .9375rem; font-weight: 600; color: #18181b; }
.gm-row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.gm-grow { flex: 1 1 auto; min-width: 0; }
.gm-nowrap { white-space: nowrap; }
.gm-ico { width: 1.25rem; height: 1.25rem; flex: none; }

/* 卡片 */
.gm-card { background: #fff; border-radius: .75rem; box-shadow: 0 0 0 1px var(--gm-border), 0 1px 2px 0 rgb(0 0 0 / .04); }
.gm-card-body { padding: 1.25rem 1.5rem; }
.gm-card-head { display: flex; align-items: center; gap: .75rem; padding: 1rem 1.5rem; border-bottom: 1px solid #f4f4f5; }
.gm-card-title { margin: 0; font-size: 1rem; font-weight: 600; color: #18181b; }

/* 提示条 */
.gm-callout { margin-bottom: 0; display: flex; gap: .75rem; padding: .875rem 1rem; border-radius: .75rem; font-size: .875rem; line-height: 1.6; border: 1px solid #bfdbfe; background: #eff6ff; color: #1e3a8a; }
.gm-callout .gm-ico { color: #3b82f6; margin-top: .125rem; }
.gm-callout-warn { border-color: #fde68a; background: #fffbeb; color: #78350f; }
.gm-callout-warn .gm-ico { color: #f59e0b; }

/* 按钮 */
.gm-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .375rem;
    padding: .5rem .875rem; border-radius: .5rem; border: 0; cursor: pointer;
    font-weight: 500; font-size: .875rem; line-height: 1.25rem; font-family: inherit; text-decoration: none; white-space: nowrap;
    transition: background-color .15s, color .15s, box-shadow .15s;
}
.gm-btn .gm-ico { width: 1rem; height: 1rem; }
.gm-btn-primary { background: #2563eb; color: #fff; }
.gm-btn-primary:hover { background: #1d4ed8; }
.gm-btn-primary:disabled { background: #93c5fd; cursor: wait; }
.gm-btn-light { background: #fff; color: #18181b; box-shadow: 0 0 0 1px var(--gm-border); }
.gm-btn-light:hover { background: #f4f4f5; }
.gm-btn-ghost { background: transparent; color: #3f3f46; }
.gm-btn-ghost:hover { background: #f4f4f5; }
.gm-btn-sm { padding: .3125rem .625rem; font-size: .8125rem; }
.gm-btn:focus-visible, .gm-seg button:focus-visible, .gm-tabs button:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }

/* 徽标 */
.gm-chip { display: inline-flex; align-items: center; gap: .25rem; padding: .0625rem .5rem; border-radius: .375rem; font-size: .75rem; font-weight: 500; line-height: 1.25rem; background: #f4f4f5; color: #52525b; white-space: nowrap; }
.gm-chip-blue { background: #eff6ff; color: #1d4ed8; }
.gm-chip-green { background: #ecfdf5; color: #047857; }
.gm-chip-amber { background: #fffbeb; color: #b45309; }
.gm-chip-red { background: #fef2f2; color: #b91c1c; }
.gm-method { display: inline-block; min-width: 3.25rem; padding: .125rem .5rem; border-radius: .375rem; text-align: center; font: 700 .75rem/1.25rem ui-monospace, Consolas, monospace; letter-spacing: .02em; }
.gm-method-get { background: #dcfce7; color: #15803d; }
.gm-method-post { background: #dbeafe; color: #1d4ed8; }
.gm-path { font: 600 .875rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; color: #18181b; word-break: break-all; }

/* 代码块 */
.gm-code { position: relative; }
.gm-code-title { margin: 0 0 .375rem; font-size: .75rem; font-weight: 500; color: #71717a; }
.gm-code pre {
    margin: 0; padding: 1rem 4.5rem 1rem 1rem; overflow-x: auto; border-radius: .625rem;
    background: #0f172a; color: #e2e8f0; font: .8125rem/1.7 ui-monospace, SFMono-Regular, Consolas, "Courier New", monospace;
    white-space: pre; tab-size: 4;
}
.gm-code-copy {
    position: absolute; right: .5rem; top: .5rem; padding: .1875rem .5rem; border: 0; border-radius: .375rem; cursor: pointer;
    background: rgb(255 255 255 / .1); color: #cbd5e1; font-size: .75rem; font-family: inherit; transition: background-color .15s;
}
.gm-code-title + .gm-code-wrap .gm-code-copy { top: .5rem; }
.gm-code-wrap { position: relative; }
.gm-code-copy:hover { background: rgb(255 255 255 / .2); color: #fff; }

/* 只读复制框 */
.gm-copy-label { margin: 0 0 .375rem; font-size: .875rem; font-weight: 500; color: #3f3f46; }
.gm-copy { display: flex; gap: .5rem; align-items: stretch; }
.gm-copy input, .gm-copy textarea {
    flex: 1 1 auto; min-width: 0; padding: .5rem .75rem; border: 0; border-radius: .5rem; background: #f4f4f5; color: #18181b;
    font: .875rem/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; outline: none;
}
.gm-copy input:focus, .gm-copy textarea:focus { background: #fff; box-shadow: 0 0 0 2px rgb(59 130 246 / .3); }

/* 标签页 */
.gm-tabs { display: flex; gap: .25rem; border-bottom: 1px solid var(--gm-border); margin-bottom: .75rem; overflow-x: auto; }
.gm-tabs button {
    position: relative; padding: .5rem .75rem; border: 0; background: none; cursor: pointer; white-space: nowrap;
    font-weight: 500; font-size: .8125rem; line-height: 1.25rem; font-family: inherit; color: #71717a; transition: color .15s;
}
.gm-tabs button:hover { color: #18181b; }
.gm-tabs button[aria-selected="true"] { color: #1d4ed8; }
.gm-tabs button[aria-selected="true"]::after { content: ""; position: absolute; left: .5rem; right: .5rem; bottom: -1px; height: 2px; border-radius: 2px; background: #3b82f6; }

/* 分段选择 */
.gm-seg { display: inline-flex; flex-wrap: wrap; padding: .1875rem; gap: .125rem; border-radius: .5rem; background: #f4f4f5; }
.gm-seg button { padding: .3125rem .75rem; border: 0; border-radius: .375rem; background: none; cursor: pointer; font-weight: 500; font-size: .8125rem; line-height: 1.25rem; font-family: inherit; color: #52525b; transition: background-color .15s, color .15s; }
.gm-seg button:hover { color: #18181b; }
.gm-seg button[aria-pressed="true"] { background: #fff; color: #1d4ed8; box-shadow: 0 1px 2px rgb(0 0 0 / .08); }

/* 表格 */
.gm-table-wrap { overflow-x: auto; border-radius: .625rem; box-shadow: 0 0 0 1px var(--gm-border); }
.gm-table { width: 100%; border-collapse: collapse; font-size: .8125rem; line-height: 1.6; }
.gm-table th { padding: .5rem .875rem; background: #fafafa; text-align: left; font-weight: 600; color: #3f3f46; border-bottom: 1px solid var(--gm-border); white-space: nowrap; }
.gm-table td { padding: .5625rem .875rem; vertical-align: top; color: #3f3f46; border-bottom: 1px solid #f4f4f5; }
.gm-table tr:last-child td { border-bottom: 0; }
.gm-table td:first-child code { color: #1d4ed8; background: #eff6ff; }

/* 表单控件 */
.gm-field > label, .gm-field-label { display: block; margin-bottom: .375rem; font-size: .8125rem; font-weight: 600; color: #3f3f46; }
.gm-field-hint { margin-top: .375rem; font-size: .75rem; color: #71717a; }
.gm-input, .gm-select, .gm-textarea {
    display: block; width: 100%; padding: .5rem .75rem; border: 0; border-radius: .5rem; background: #f4f4f5; color: #18181b;
    font-size: .875rem; line-height: 1.4; font-family: inherit; outline: none; transition: background-color .15s, box-shadow .15s;
}
.gm-input.gm-mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.gm-textarea { resize: vertical; min-height: 4.5rem; }
.gm-input:focus, .gm-select:focus, .gm-textarea:focus { background: #fff; box-shadow: 0 0 0 2px rgb(59 130 246 / .3); }
.gm-input-group { display: flex; gap: .375rem; }
.gm-check { display: inline-flex; align-items: center; gap: .375rem; font-size: .8125rem; color: #52525b; cursor: pointer; }
.gm-grid-2 { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); }

/* ---------------- 开放平台仪表盘 ---------------- */
.gm-hero-card {
    position: relative; overflow: hidden; display: flex; align-items: center; gap: 1.5rem;
    padding: 1.75rem 2rem; border-radius: .75rem; color: #fff;
    background: linear-gradient(135deg, #1e293b 0%, #1e3a8a 55%, #3b82f6 100%);
}
.gm-hero-card::after { content: ""; position: absolute; inset: auto -4rem -6rem auto; width: 18rem; height: 18rem; border-radius: 50%; background: rgb(147 197 253 / .18); pointer-events: none; }
.gm-hero-card h2 { margin: 0 0 .375rem; font-size: 1.375rem; font-weight: 600; letter-spacing: -.01em; }
.gm-hero-card p { margin: 0 0 1.125rem; max-width: 40rem; font-size: .875rem; line-height: 1.7; color: rgb(255 255 255 / .82); }
.gm-hero-card .gm-btn-light { box-shadow: none; }
.gm-hero-card .gm-btn-ghost { color: #fff; background: rgb(255 255 255 / .12); }
.gm-hero-card .gm-btn-ghost:hover { background: rgb(255 255 255 / .2); }
.gm-hero-art { position: relative; z-index: 1; flex: none; width: 8.5rem; height: auto; filter: drop-shadow(0 10px 24px rgb(15 23 42 / .35)); }
@media (max-width: 640px) { .gm-hero-art { display: none; } .gm-hero-card { padding: 1.5rem; } }

.gm-stats { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); }
.gm-stat { display: flex; gap: .875rem; align-items: flex-start; padding: 1.125rem 1.25rem; transition: transform .15s, box-shadow .15s; text-decoration: none; color: inherit; }
a.gm-stat:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px var(--gm-border), 0 4px 6px -1px rgb(0 0 0 / .08); }
.gm-stat-icon { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: .625rem; background: #eff6ff; color: #2563eb; flex: none; }
.gm-stat-icon.is-green { background: #ecfdf5; color: #059669; }
.gm-stat-icon.is-amber { background: #fffbeb; color: #d97706; }
.gm-stat-icon.is-violet { background: #f5f3ff; color: #7c3aed; }
.gm-stat-label { display: block; margin: 0; font-size: .8125rem; color: #71717a; }
.gm-stat-value { display: block; margin: .125rem 0 0; font-size: 1.5rem; font-weight: 600; line-height: 1.3; color: #18181b; font-variant-numeric: tabular-nums; }

.gm-steps { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); counter-reset: gm-step; }
.gm-step { position: relative; padding: 1.125rem 1.25rem; border-radius: .625rem; background: #fafafa; box-shadow: inset 0 0 0 1px #f4f4f5; }
.gm-step-no { display: inline-grid; place-items: center; width: 1.75rem; height: 1.75rem; margin-bottom: .625rem; border-radius: .5rem; background: #1e293b; color: #fff; font-size: .8125rem; font-weight: 600; }
.gm-step h4 { margin: 0 0 .25rem; font-size: .9375rem; font-weight: 600; color: #18181b; }
.gm-step p { margin: 0 0 .625rem; font-size: .8125rem; line-height: 1.6; color: #71717a; }

.gm-endpoints { margin: 0; padding: 0; list-style: none; }
.gm-endpoints li { display: flex; flex-wrap: wrap; align-items: center; gap: .625rem; padding: .75rem 0; border-bottom: 1px solid #f4f4f5; }
.gm-endpoints li:last-child { border-bottom: 0; }
.gm-endpoints .gm-endpoint-desc { flex: 1 1 12rem; font-size: .8125rem; color: #71717a; }

/* ---------------- API 文档 ---------------- */
.gm-doc { display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr); }
.gm-doc-main, .gm-pg > * { min-width: 0; }
@media (min-width: 80rem) { .gm-doc { grid-template-columns: 12rem minmax(0, 1fr); align-items: start; } }
.gm-toc { display: none; }
@media (min-width: 80rem) { .gm-toc { display: block; position: sticky; top: 1.5rem; } }
.gm-toc p { margin: 0 0 .5rem; padding-inline-start: .75rem; font-size: .75rem; font-weight: 600; letter-spacing: .04em; color: #a1a1aa; }
.gm-toc a { display: block; padding: .3125rem .75rem; border-inline-start: 2px solid var(--gm-border); font-size: .8125rem; color: #52525b; text-decoration: none; transition: color .15s, border-color .15s; }
.gm-toc a:hover { color: #18181b; }
.gm-toc a.is-active { border-color: #3b82f6; color: #1d4ed8; font-weight: 600; }
.gm-toc a.gm-toc-sub { padding-inline-start: 1.25rem; font-size: .75rem; }
.gm-doc-main > section { scroll-margin-top: 1.5rem; }
.gm-doc-main > :not(:first-child) { margin-top: 1.5rem; }
.gm-doc-section-title { display: flex; flex-wrap: wrap; align-items: center; gap: .625rem; margin: 0; font-size: 1.0625rem; font-weight: 600; color: #18181b; }
.gm-facts { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
.gm-fact { padding: .875rem 1rem; border-radius: .625rem; background: #fafafa; box-shadow: inset 0 0 0 1px #f4f4f5; }
.gm-fact span { display: block; font-size: .75rem; color: #71717a; }
.gm-fact strong { display: block; margin-top: .125rem; font-size: .875rem; font-weight: 600; color: #18181b; }
.gm-endpoint-head { display: flex; flex-wrap: wrap; align-items: center; gap: .625rem; padding: 1rem 1.5rem; border-bottom: 1px solid #f4f4f5; background: #fafafa; border-radius: .75rem .75rem 0 0; }
.gm-endpoint-head .gm-grow { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.gm-endpoint-name { font-size: .875rem; font-weight: 600; color: #3f3f46; }
.gm-required { color: #dc2626; font-weight: 600; }

/* ---------------- 接口调试 ---------------- */
.gm-pg { display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 80rem) { .gm-pg { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; } .gm-pg-side { position: sticky; top: 1.5rem; } }
.gm-pg-url { display: flex; gap: .5rem; align-items: center; padding: .5rem .75rem; border-radius: .5rem; background: #0f172a; color: #e2e8f0; font: .8125rem/1.5 ui-monospace, Consolas, monospace; overflow-x: auto; white-space: nowrap; }
.gm-pg-samples { display: flex; flex-wrap: wrap; gap: .375rem; margin-top: .5rem; }
.gm-pg-samples button { padding: .125rem .5rem; border: 0; border-radius: .375rem; background: #eff6ff; color: #1d4ed8; font-size: .75rem; line-height: 1.25rem; font-family: inherit; cursor: pointer; }
.gm-pg-samples button:hover { background: #dbeafe; }
.gm-pg-empty { display: grid; place-items: center; gap: .5rem; padding: 3.5rem 1.5rem; text-align: center; color: #71717a; font-size: .875rem; }
.gm-pg-empty img { width: 4.5rem; height: 4.5rem; border-radius: 50%; opacity: .85; }
.gm-pg-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: .8125rem; color: #71717a; }
.gm-pg-meta strong { color: #18181b; font-variant-numeric: tabular-nums; }
.gm-pg-body { max-height: 32rem; overflow: auto; }
.gm-chat { display: flex; gap: .75rem; align-items: flex-start; }
.gm-chat-avatar { width: 2.25rem; height: 2.25rem; border-radius: 50%; flex: none; box-shadow: 0 0 0 1px var(--gm-border); }
.gm-chat-name { margin: 0 0 .25rem; font-size: .75rem; color: #71717a; }
.gm-bubble { display: inline-block; max-width: min(36rem, 100%); padding: .625rem .875rem; border-radius: .25rem .75rem .75rem .75rem; background: #f4f4f5; color: #18181b; font-size: .875rem; line-height: 1.7; word-break: break-word; }
.gm-bubble-text { white-space: pre-wrap; }
pre.gm-bubble { margin: 0; white-space: pre-wrap; font-family: ui-monospace, Consolas, monospace; font-size: .8125rem; }
.gm-bubble img { display: block; max-width: 100%; max-height: 18rem; margin: .375rem 0; border-radius: .5rem; }
.gm-history { margin: 0; padding: 0; list-style: none; }
.gm-history li + li { border-top: 1px solid #f4f4f5; }
.gm-history button { display: flex; width: 100%; align-items: center; gap: .625rem; padding: .5rem 1.5rem; border: 0; background: none; cursor: pointer; text-align: left; font-size: .8125rem; line-height: 1.4; font-family: inherit; color: #3f3f46; }
.gm-history button:hover { background: #fafafa; }
.gm-history .gm-hist-q { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: ui-monospace, Consolas, monospace; }
.gm-spin { width: 1rem; height: 1rem; border: 2px solid rgb(255 255 255 / .5); border-top-color: #fff; border-radius: 50%; animation: gm-spin .7s linear infinite; }
@keyframes gm-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .gm-spin { animation-duration: 2s; } a.gm-stat:hover { transform: none; } }

