:root,:root[data-theme=light]{--bg: #ebebeb;--surface: #ffffff;--surface-2: #f2f2f2;--surface-3: #e3e3e3;--border: #d8d8d8;--border-strong: #c4c4c4;--text: #2d2d2d;--text-dim: #767676;--text-faint: #9b9b9b;--on-accent: #ffffff;--ring-halo: var(--bg);--shadow-card: 0 1px 2px rgba(0, 0, 0, .06);--shadow-lift: 0 6px 18px rgba(0, 0, 0, .14)}:root[data-theme=dark]{--bg: #2d2d2d;--surface: #414141;--surface-2: #4b4b4b;--surface-3: #565656;--border: #575757;--border-strong: #6b6b6b;--text: #ffffff;--text-dim: #b0b0b0;--text-faint: #8d8d8d;--on-accent: #ffffff;--ring-halo: var(--bg);--shadow-card: none;--shadow-lift: 0 6px 20px rgba(0, 0, 0, .45)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #2d2d2d;--surface: #414141;--surface-2: #4b4b4b;--surface-3: #565656;--border: #575757;--border-strong: #6b6b6b;--text: #ffffff;--text-dim: #b0b0b0;--text-faint: #8d8d8d;--on-accent: #ffffff;--ring-halo: var(--bg);--shadow-card: none;--shadow-lift: 0 6px 20px rgba(0, 0, 0, .45)}}:root{--vh: 100vh;--accent: #ff3c28;--accent-press: #e02f1d;--accent-2: #0ab9e6;--accent-2-press: #08a0c7;--ok: #3cb54a;--warn: #f0a020;--bad: #e60012;--radius-lg: 16px;--radius: 10px;--radius-sm: 6px;--font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{min-height:var(--vh)}h1,h2,h3{font-weight:700;letter-spacing:-.01em;line-height:1.3}a{color:var(--accent);text-decoration:none;font-weight:600}a:hover{text-decoration:underline}button{font-family:inherit;font-size:.95rem;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6em 1.15em;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-transition:background-color .12s ease,border-color .12s ease,-webkit-transform .08s ease;transition:background-color .12s ease,border-color .12s ease,transform .08s ease}button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}button:active:not(:disabled){background:var(--surface-3);-webkit-transform:translateY(1px);transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.primary:hover:not(:disabled),button.primary:active:not(:disabled){background:var(--accent-press);border-color:var(--accent-press)}button.danger{color:var(--bad);border-color:var(--border)}button.danger:hover:not(:disabled){background:var(--bad);border-color:var(--bad);color:#fff}button.small{font-size:.83rem;padding:.45em .8em}.btn-icon-label{display:inline-grid;grid-auto-flow:column;grid-gap:.45em;align-items:center;justify-content:center}button.icon-only{padding:0;width:2.6rem;height:2.6rem;display:grid;align-content:center;justify-items:center}button.round{border-radius:999px}.ring-target{-webkit-transition:-webkit-transform .14s ease,box-shadow .14s ease;transition:transform .14s ease,box-shadow .14s ease}.ring-target:hover,.ring-target:focus-within,.ring-target.is-selected{box-shadow:0 0 0 3px var(--ring-halo),0 0 0 6px var(--accent-2),var(--shadow-lift);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.ring-target:focus,.ring-target button:focus,.ring-target a:focus{outline:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}input[type=text],input[type=search],select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:.95rem;padding:.6em .75em;-webkit-appearance:none;appearance:none}input[type=text]:focus,select:focus{border-color:var(--accent-2)}input::-webkit-input-placeholder{color:var(--text-faint)}.pill{display:inline-block;border-radius:999px;padding:.25em .7em;font-size:.76rem;font-weight:700;background:var(--surface-2);color:var(--text-dim)}.pill.accent{background:var(--accent);color:var(--on-accent)}.pill.blue{background:var(--accent-2);color:#fff}code,pre{font-family:var(--font-mono)}.i-mid{vertical-align:-.22em}
