.opener[data-v-732bea75]{display:inline-flex;align-items:center;gap:7px;min-height:var(--h-md);padding:0 8px 0 10px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-sunken);color:var(--ink-faint);font-size:var(--t-ui);transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease),background var(--fast) var(--ease)}.opener[data-v-732bea75]:hover{border-color:var(--line-strong);background:var(--surface-hover);color:var(--ink)}.opener svg[data-v-732bea75]{width:13px;height:13px;flex:none}kbd[data-v-732bea75]{padding:0 4px;border:1px solid var(--line-strong);border-radius:3px;background:var(--surface);font-family:inherit;font-size:var(--t-xs);line-height:15px;color:var(--ink-faint)}.scrim[data-v-732bea75]{position:fixed;inset:0;z-index:80;display:flex;justify-content:center;align-items:flex-start;padding:11vh 16px 16px;background:color-mix(in srgb,var(--n-950) 62%,transparent);backdrop-filter:blur(4px);animation:fade-732bea75 .12s ease-out}@keyframes fade-732bea75{0%{opacity:0}}.box[data-v-732bea75]{width:100%;max-width:560px;box-shadow:var(--sh-3);overflow:hidden;animation:rise-732bea75 .14s ease-out}@keyframes rise-732bea75{0%{transform:translateY(-8px);opacity:0}}.box-input[data-v-732bea75]{width:100%;padding:15px 17px;background:transparent;border:none;border-bottom:1px solid var(--line);font-size:var(--t-read);color:var(--ink-strong)}.box-input[data-v-732bea75]:focus{outline:none}.box-list[data-v-732bea75]{max-height:46vh;overflow-y:auto;padding:6px}.group[data-v-732bea75]{padding:8px 10px 4px;font-size:var(--t-xs);color:var(--ink-faint);letter-spacing:.5px}.row[data-v-732bea75]{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border-radius:var(--r-xs);text-align:left;font-size:var(--t-ui)}.row.on[data-v-732bea75]{background:var(--brand);color:#fff}.row.on .row-note[data-v-732bea75],.row.on .tag[data-v-732bea75]{color:#fffc;border-color:#ffffff59}.tag[data-v-732bea75]{flex:none;display:inline-flex;align-items:center;gap:4px;padding:0 5px;border:1px solid var(--line-strong);border-radius:3px;font-size:var(--t-xs);line-height:16px;color:var(--ink-faint)}.row-label[data-v-732bea75]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-note[data-v-732bea75]{font-size:var(--t-xs);color:var(--ink-faint)}.row-empty[data-v-732bea75]{padding:26px;text-align:center;font-size:var(--t-ui);color:var(--ink-faint)}.box-foot[data-v-732bea75]{display:flex;gap:16px;padding:8px 14px;border-top:1px solid var(--line);font-size:var(--t-xs);color:var(--ink-faint)}.box-foot kbd[data-v-732bea75]{margin-right:3px}@media(max-width:760px){.opener-text[data-v-732bea75],.opener kbd[data-v-732bea75]{display:none}.opener[data-v-732bea75]{padding:5px 8px}.box-foot[data-v-732bea75]{display:none}}.notice-line[data-v-e8fbb648]{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;line-height:1.7}.notice-open[data-v-e8fbb648]{border:0;background:none;padding:0;cursor:pointer;color:var(--brand-ink);font:inherit;text-decoration:underline;text-underline-offset:2px}.notice-open[data-v-e8fbb648]:hover{color:var(--brand)}.notice-open.inline[data-v-e8fbb648]{color:inherit;opacity:.85}.notice-backdrop[data-v-e8fbb648]{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:var(--s4);background:#0a10188c;backdrop-filter:blur(2px)}.notice-dialog[data-v-e8fbb648]{width:min(560px,100%);padding:var(--s5)}.notice-title[data-v-e8fbb648]{margin:0 0 var(--s3);font-size:var(--t-lg)}.notice-para[data-v-e8fbb648]{margin:0 0 var(--s3);line-height:1.8;color:var(--ink-soft)}.notice-act[data-v-e8fbb648]{display:flex;justify-content:flex-end;gap:var(--s2);margin-top:var(--s4)}.set-pick[data-v-6c9fe307]{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.set-pick>span[data-v-6c9fe307]:first-child{font-weight:700}.set-pick select[data-v-6c9fe307]{max-width:220px}.set-pick.compact select[data-v-6c9fe307]{max-width:180px;padding:4px 8px;font-size:var(--t-ui)}.notice[data-v-9b30f9a5]{background:var(--surface-2);border-bottom:1px solid var(--line);font-size:var(--t-sm);line-height:1.7;padding:7px 0;color:var(--ink)}.legal-row[data-v-9b30f9a5]{padding-top:var(--s3)}.foot-meta[data-v-9b30f9a5]{display:flex;gap:var(--s3);flex-wrap:wrap}.mirrors[data-v-9b30f9a5],.friends[data-v-9b30f9a5]{display:flex;gap:var(--s3);flex-wrap:wrap;margin:var(--s2) 0 0}.nav[data-v-9b30f9a5]{position:sticky;top:0;z-index:30;height:var(--nav-h);background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--line)}.nav-inner[data-v-9b30f9a5]{height:var(--nav-h);display:flex;align-items:center;gap:var(--s6)}.logo[data-v-9b30f9a5]{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-md);font-weight:700;color:var(--ink-strong);letter-spacing:-.01em;flex-shrink:0}.mark[data-v-9b30f9a5]{width:15px;height:15px;border-radius:3px;background:linear-gradient(var(--rise),var(--rise)) 2px 4px / 3px 9px no-repeat,linear-gradient(var(--fall),var(--fall)) 7px 7px / 3px 6px no-repeat,linear-gradient(var(--brand),var(--brand)) 12px 2px / 2px 11px no-repeat,var(--surface-2);border:1px solid var(--line-strong);box-sizing:content-box}.links[data-v-9b30f9a5]{display:flex;align-items:center;gap:var(--s4);margin-right:auto;font-size:var(--t-ui)}.links a[data-v-9b30f9a5]{position:relative;display:inline-flex;align-items:center;gap:6px;color:var(--ink-faint);padding:4px 0;font-weight:560;transition:color var(--fast) var(--ease)}.links a svg[data-v-9b30f9a5]{opacity:.75;transition:opacity var(--fast) var(--ease)}.links a:hover svg[data-v-9b30f9a5],.links a.on svg[data-v-9b30f9a5]{opacity:1}.links a[data-v-9b30f9a5]:after{content:"";position:absolute;left:50%;right:50%;bottom:-2px;height:2px;border-radius:2px;background:var(--brand);opacity:0;transition:left var(--base) var(--ease),right var(--base) var(--ease),opacity var(--fast) var(--ease)}.links a[data-v-9b30f9a5]:hover{color:var(--ink)}.links a.on[data-v-9b30f9a5]{color:var(--ink-strong)}.links a.on[data-v-9b30f9a5]:after{left:0;right:0;opacity:1}.tools[data-v-9b30f9a5]{display:flex;align-items:center;gap:var(--s2);flex-shrink:0}.icon-btn[data-v-9b30f9a5]{display:inline-flex;align-items:center;justify-content:center;width:var(--h-md);height:var(--h-md);border-radius:var(--r-sm);border:1px solid transparent;color:var(--ink-faint);transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.icon-btn[data-v-9b30f9a5]:hover{background:var(--surface-hover);color:var(--ink-strong)}.icon-btn svg[data-v-9b30f9a5]{width:16px;height:16px}.avatar[data-v-9b30f9a5]{background:var(--brand-soft);color:var(--brand-ink);font-size:var(--t-sm);font-weight:700}.account[data-v-9b30f9a5]{position:relative}.menu[data-v-9b30f9a5]{position:absolute;right:0;top:36px;width:190px;padding:5px;box-shadow:var(--sh-3);overflow:hidden}.menu-head[data-v-9b30f9a5]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px 9px;border-bottom:1px solid var(--line);margin-bottom:5px;font-size:var(--t-sm)}.menu-row[data-v-9b30f9a5]{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 9px;border-radius:var(--r-xs);font-size:var(--t-ui);color:var(--ink-soft);transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.menu-row[data-v-9b30f9a5]:hover{background:var(--surface-hover);color:var(--ink-strong)}.burger[data-v-9b30f9a5]{display:none;flex-direction:column;gap:3px;width:var(--h-md);height:var(--h-md);align-items:center;justify-content:center;border-radius:var(--r-sm);color:var(--ink-faint)}.burger span[data-v-9b30f9a5]{width:15px;height:1.5px;background:currentColor;border-radius:2px}main[data-v-9b30f9a5]{min-height:calc(100vh - var(--nav-h) - 150px);padding-top:var(--s7)}main.flush[data-v-9b30f9a5],main.bare[data-v-9b30f9a5]{padding-top:0}main.bare[data-v-9b30f9a5]{min-height:100vh}.foot[data-v-9b30f9a5]{border-top:1px solid var(--line);margin-top:var(--s8);padding:var(--s6) 0 var(--s7);font-size:var(--t-sm)}.foot-inner[data-v-9b30f9a5]{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}.foot-links[data-v-9b30f9a5]{display:flex;gap:var(--s4);color:var(--ink-faint)}.foot-links a[data-v-9b30f9a5]:hover{color:var(--ink-strong)}.disclaimer[data-v-9b30f9a5]{margin-top:var(--s3);padding-top:var(--s3);border-top:1px dashed var(--line)}@media(max-width:900px){.nav-symbol[data-v-9b30f9a5]{display:none}}@media(max-width:760px){.nav-inner[data-v-9b30f9a5]{gap:var(--s3)}.burger[data-v-9b30f9a5]{display:flex;order:3}.links[data-v-9b30f9a5]{display:none;position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:var(--s2) var(--s4) var(--s4);background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--sh-2)}.links.open[data-v-9b30f9a5]{display:flex}.links a[data-v-9b30f9a5]{padding:10px 0;border-bottom:1px solid var(--line)}.links a[data-v-9b30f9a5]:after{display:none}.tools[data-v-9b30f9a5]{margin-left:auto}}:root{color-scheme:light;--n-0: #ffffff;--n-50: #f7fafd;--n-100: #eef4fa;--n-150: #e2ebf3;--n-200: #cdd9e5;--n-300: #a7b6c6;--n-400: #7f90a3;--n-500: #5f7084;--n-600: #47566a;--n-700: #32404f;--n-750: #27333f;--n-800: #1e2834;--n-850: #18212b;--n-900: #121a22;--n-950: #0b1119;--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-200: #bfdbfe;--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-800: #1e40af;--rise: #e03131;--fall: #2b9348;--ok-fg: #047857;--ok-bg: #e7f8f1;--ok-line: #6ee7b7;--warn-fg: #b45309;--warn-bg: #fef6e7;--warn-line: #fcd34d;--danger-fg: #b91c1c;--danger-bg: #fdecec;--danger-line: #fca5a5;--ok-pure: #10b981;--warn-pure: #f59e0b;--danger-pure: #ef4444;--info-fg: #6d28d9;--info-bg: #f1ecfe;--info-line: #d9cbfa;--bg: var(--n-100);--bg-sunken: var(--n-150);--surface: var(--n-0);--surface-2: #fbfcfe;--surface-hover: var(--n-50);--line: var(--n-150);--line-strong: var(--n-200);--ink: var(--n-800);--ink-strong: var(--n-950);--ink-soft: var(--n-600);--ink-faint: var(--n-500);--viewport: #0f1419;--viewport-panel: #161c24;--viewport-line: #232d38;--viewport-ink: #c8d2dc;--viewport-ink-faint: #6a7888;--brand: var(--brand-600);--brand-ink: var(--brand-700);--brand-soft: rgba(37, 99, 235, .12);--on-brand: #ffffff;--sh-1: 0 1px 2px rgba(17, 45, 78, .07), 0 1px 1px rgba(17, 45, 78, .04);--sh-2: 0 1px 3px rgba(17, 45, 78, .08), 0 10px 26px -12px rgba(17, 45, 78, .22);--sh-3: 0 2px 6px rgba(17, 45, 78, .08), 0 24px 48px -16px rgba(17, 45, 78, .26);--sh-brand: 0 1px 2px rgba(30, 64, 175, .28), 0 8px 18px -6px rgba(37, 99, 235, .42);--ring: 0 0 0 3px rgba(37, 99, 235, .26);--r-xs: 6px;--r-sm: 8px;--r: 12px;--r-lg: 16px;--r-pill: 999px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s7: 32px;--s8: 48px;--t-xs: 11px;--t-sm: 12px;--t-ui: 13px;--t-body: 14px;--t-read: 15px;--t-md: 16px;--t-lg: 18px;--t-xl: 22px;--t-2xl: 28px;--t-3xl: 34px;--h-sm: 26px;--h-md: 34px;--h-lg: 42px;--ease: cubic-bezier(.2, .8, .2, 1);--fast: .12s;--base: .2s;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", Roboto, Helvetica, Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Courier New", monospace;--glow: rgba(37, 99, 235, .16);--maxw: 1180px;--nav-h: 56px}:root[data-theme=dark]{color-scheme:dark;--bg: #0e151d;--bg-sunken: #0a1017;--surface: #151d27;--surface-2: #1a232e;--surface-hover: #1f2a37;--line: #243041;--line-strong: #314356;--ink: #c7d4e1;--ink-strong: #eef4fa;--ink-soft: #a9b6c4;--ink-faint: #8794a4;--brand: var(--brand-500);--brand-ink: var(--brand-300);--brand-soft: rgba(37, 99, 235, .2);--glow: rgba(59, 130, 246, .12);--ok-fg: #10b981;--ok-bg: rgba(16, 185, 129, .13);--ok-line: rgba(16, 185, 129, .36);--warn-fg: #f59e0b;--warn-bg: rgba(245, 158, 11, .13);--warn-line: rgba(245, 158, 11, .36);--danger-fg: #ef4444;--danger-bg: rgba(239, 68, 68, .13);--danger-line: rgba(239, 68, 68, .36);--ok-pure: #10b981;--warn-pure: #f59e0b;--danger-pure: #ef4444;--info-fg: #9d8cf0;--info-bg: rgba(157, 140, 240, .13);--info-line: rgba(157, 140, 240, .34);--rise: #ff4040;--fall: #30c030;--sh-1: 0 1px 2px rgba(0, 0, 0, .4);--sh-2: 0 1px 3px rgba(0, 0, 0, .45), 0 8px 24px -10px rgba(0, 0, 0, .6);--sh-3: 0 2px 6px rgba(0, 0, 0, .45), 0 20px 44px -14px rgba(0, 0, 0, .7);--sh-brand: 0 1px 2px rgba(10, 30, 55, .5), 0 6px 16px -6px rgba(74, 144, 217, .45);--ring: 0 0 0 3px rgba(74, 144, 217, .3)}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);background-image:radial-gradient(1200px 680px at 50% -200px,var(--glow),transparent 72%);background-attachment:fixed;background-repeat:no-repeat;color:var(--ink);font-family:var(--font);font-size:var(--t-body);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}h1,h2,h3{margin:0;color:var(--ink-strong);font-weight:620;letter-spacing:-.015em}h1{font-size:var(--t-xl);line-height:1.25;margin-bottom:var(--s2)}h2{font-size:var(--t-lg);line-height:1.35}h3{font-size:var(--t-body)}p{margin:0}a{color:inherit;text-decoration:none}code,pre,.mono{font-family:var(--mono);font-variant-ligatures:none}pre{margin:0}::selection{background:var(--brand-soft);color:var(--ink-strong)}*{scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid transparent;border-radius:var(--r-pill);background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--ink-faint);background-clip:content-box}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.wrap-narrow{max-width:820px;margin:0 auto;padding:0 24px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-xs)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--h-md);padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink);font-size:var(--t-ui);font-weight:560;white-space:nowrap;box-shadow:var(--sh-1);transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),box-shadow var(--fast) var(--ease),transform var(--fast) var(--ease)}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--ink-faint)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.primary{border-color:transparent;background:linear-gradient(180deg,var(--brand-400),var(--brand-600));color:var(--on-brand);box-shadow:var(--sh-brand)}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,var(--brand-500),var(--brand-700));border-color:transparent}.btn.ghost{border-color:transparent;background:transparent;box-shadow:none}.btn.ghost:hover:not(:disabled){background:var(--surface-hover);border-color:transparent}.btn.danger{color:var(--danger-fg);border-color:var(--danger-line);background:var(--surface)}.btn.danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger-fg)}.btn.lg{min-height:var(--h-lg);padding:0 22px;font-size:var(--t-body)}.btn.tiny{min-height:var(--h-sm);padding:0 9px;font-size:var(--t-xs);border-radius:var(--r-xs)}.seg{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-sunken)}.seg>button{min-height:calc(var(--h-md) - 8px);padding:0 11px;border-radius:var(--r-xs);font-size:var(--t-ui);font-weight:560;color:var(--ink-faint);white-space:nowrap;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.seg>button:hover:not(.on){color:var(--ink);background:var(--surface-hover)}.seg>button.on{background:var(--brand);color:var(--on-brand);box-shadow:var(--sh-brand)}.seg>button.on:hover{background:var(--brand-ink);color:var(--on-brand)}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{width:100%;min-height:var(--h-md);padding:6px 11px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg-sunken);color:var(--ink);font-size:var(--t-ui);line-height:1.3;transition:border-color var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}select{appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 15px) 14px,calc(100% - 10px) 14px;background-size:5px 5px;background-repeat:no-repeat}input::placeholder,textarea::placeholder{color:var(--ink-faint)}@media(hover:none)and (pointer:coarse){input,select,textarea{font-size:16px}}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}textarea{min-height:84px;resize:vertical;line-height:1.55}.check{display:inline-flex;align-items:center;gap:7px;min-height:var(--h-md);font-size:var(--t-ui);white-space:nowrap;cursor:pointer}.check>input[type=checkbox]{width:15px;height:15px;min-height:0;margin:0;flex:none}.field{display:grid;gap:5px}.field>span{font-size:var(--t-xs);font-weight:620;color:var(--ink-faint);letter-spacing:.05em;text-transform:uppercase}.row-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.card.chart-card,.card .chart-wrap{box-shadow:0 10px 30px -14px #1e40af73}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2)}.card-pad{padding:var(--s4)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:11px var(--s4);border-bottom:1px solid var(--line)}.muted{color:var(--ink-faint)}.small{font-size:var(--t-sm)}.lead{font-size:var(--t-read);line-height:1.75;color:var(--ink-soft);max-width:38em;margin:0 0 var(--s2)}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.stack{display:flex;flex-direction:column;gap:10px}.grow{flex:1;min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.section-title{font-size:var(--t-lg);font-weight:620;color:var(--ink-strong);letter-spacing:-.015em}.eyebrow{font-size:var(--t-xs);font-weight:620;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.tbl{width:100%;border-collapse:collapse;font-size:var(--t-ui)}.tbl th{padding:9px var(--s3);text-align:left;font-size:var(--t-xs);font-weight:620;letter-spacing:.055em;text-transform:uppercase;color:var(--ink-faint);background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}.tbl td{padding:10px var(--s3);border-bottom:1px solid var(--line);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background var(--fast) var(--ease)}.tbl tbody tr:hover{background:var(--surface-2)}.tbl .num,.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tbl .act{text-align:right;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:620;letter-spacing:.02em;background:var(--bg-sunken);color:var(--ink-soft);border:1px solid var(--line);white-space:nowrap}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.9}.badge.plain:before{display:none}.badge.verified{color:var(--ok-fg);background:var(--ok-bg);border-color:var(--ok-line)}.badge.future{color:var(--warn-fg);background:var(--warn-bg);border-color:var(--warn-line)}.badge.info{color:var(--info-fg);background:var(--info-bg);border-color:var(--info-line)}.badge.brand{color:var(--brand-ink);background:var(--brand-soft);border-color:transparent}.chip{display:inline-flex;align-items:center;gap:5px;min-height:var(--h-sm);padding:3px 10px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink-soft);font-size:var(--t-sm);white-space:nowrap;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.chip:hover{color:var(--ink-strong);border-color:var(--ink-faint)}.chip.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-ink)}.alert{display:flex;align-items:flex-start;gap:8px;padding:10px 13px;border-radius:var(--r-sm);border:1px solid transparent;font-size:var(--t-sm);line-height:1.6}.alert-warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-fg)}.alert-error{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger-fg)}.alert-ok{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-fg)}.alert-info{background:var(--info-bg);border-color:var(--info-line);color:var(--info-fg)}.empty-note{padding:var(--s8) var(--s5);text-align:center;color:var(--ink-faint);font-size:var(--t-ui)}.spin{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;opacity:.65;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skel{display:block;height:12px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-hover) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.3s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:var(--s4);flex-wrap:wrap}.sec-head h2{font-size:var(--t-md)}@media(max-width:760px){.wrap,.wrap-narrow{padding:0 16px}h1{font-size:var(--t-xl)}.section-title{font-size:var(--t-md)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
