:root{--bg:#ffffff;--surface:#f7f8fa;--fg:#111111;--muted:#6b7280;--border:#d9dee7;--accent:#1677ff;--r:8px;--font:"Inter",system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif}[data-theme=dark]{--bg:#111111;--surface:color-mix(in srgb,#111111 84%,#d9dee7);--fg:#ffffff;--muted:color-mix(in srgb,#6b7280 55%,#ffffff);--border:color-mix(in srgb,#111111 52%,#d9dee7);--accent:color-mix(in srgb,#1677ff 78%,#ffffff);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--fg);line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-bottom:env(safe-area-inset-bottom)}a,button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--bg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:42px;padding:0 16px;border-radius:var(--r);font-size:14px;font-weight:600;border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;transition:background .12s,filter .12s}.btn:hover{background:var(--surface)}.btn.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.btn.primary:hover{filter:brightness(.93)}.btn.sm{height:36px;padding:0 12px;font-size:13px}.btn.ghost{border-color:var(--bg);color:var(--muted)}.btn.ghost:hover{color:var(--fg);background:var(--surface)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:16px;height:16px}.input,.select,textarea{width:100%;height:42px;border:1px solid var(--border);border-radius:var(--r);padding:0 12px;font:inherit;font-size:14px;background:var(--bg);color:var(--fg)}textarea{height:auto;padding:10px 12px;min-height:80px;resize:vertical;line-height:1.5}.input::placeholder{color:var(--muted)}.input:focus,.select:focus,textarea:focus{outline:none;border-color:var(--accent)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.wrap{max-width:1040px;margin:0 auto;padding:28px 28px 64px}.wrap.narrow{max-width:860px}.wrap.tight{max-width:620px}.crumb{font-size:13px;color:var(--muted);margin-bottom:16px;display:flex;align-items:center;gap:8px}.crumb a{color:var(--accent);font-weight:600}.section-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:30px 0 12px}.section-h h2{font-size:16px;font-weight:700}.section-h .link,.section-h .meta{font-size:13px}.section-h .link{font-weight:600;color:var(--accent);background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.section-h .meta{color:var(--muted)}.card{border:1px solid var(--border);border-radius:var(--r);padding:18px 20px}.card,.chip{background:var(--bg)}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;border:1px solid var(--border);color:var(--muted)}.chip.acc{color:var(--accent);border-color:var(--accent)}.chip.solid{background:var(--surface)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r);border:1px solid var(--border);background:var(--bg);color:var(--muted);cursor:pointer;flex:0 0 auto;transition:color .12s,background .12s}.theme-toggle:hover{color:var(--fg);background:var(--surface)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.theme-toggle svg{width:18px;height:18px}.theme-toggle .ico-sun{display:none}[data-theme=dark] .theme-toggle .ico-sun{display:block}.tabbar,[data-theme=dark] .theme-toggle .ico-moon{display:none}@media (max-width:760px){.wrap{padding:20px 14px 96px}.tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;border-top:1px solid var(--border);background:var(--bg);justify-content:space-around;padding:6px 0 8px;z-index:30}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:var(--muted);padding:6px 10px;min-height:48px;min-width:56px;justify-content:center;font-weight:500}.tabbar a.active{color:var(--accent)}.tabbar svg{width:22px;height:22px}}.foot{font-size:12px;color:var(--muted);margin-top:28px}