:root{--bg:#fff;--bg-raise:#f5f7fa;--bg-card:#fff;--bg-hover:#eef1f6;--ink:#14181f;--ink-2:#26313d;--ink-mute:#4f5a68;--c-cyan:#2f66d6;--c-cyan-vivid:#2f66d6;--c-magenta:#b0405f;--c-amber:#855117;--c-violet:#6d55c9;--c-green:#12855f;--hairline:#14181f21;--hairline-bold:#14181f3d;--sel-bg:#2f66d614;--sel-border:#2f66d68c;--accent:#2f66d6;--pos:#12855f;--neg:#c23b4b;--shadow-card:0 1px 2px #14181f0f, 0 1px 3px #14181f0d;--shadow-pop:0 6px 20px #14181f1a;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--gutter:clamp(16px, 5vw, 40px);--measure:720px;--z-topbar:40;--sans:"Inter", system-ui, -apple-system, "Segoe UI", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;--mono:"JetBrains Mono", "SFMono-Regular", ui-monospace, "Cascadia Code", Consolas, monospace;--text-body:17px;--text-note:14px;--text-ui:15px;--text-card-title:18px;--text-section:clamp(22px, 2vw, 28px)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--text-body);-webkit-font-smoothing:antialiased;background-image:linear-gradient(#fff 0%,#f8fafc 100%);line-height:1.7}a{color:var(--c-cyan-vivid);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--c-cyan-vivid);outline-offset:3px}::selection{color:var(--ink);background:#2f66d62e}.mono{font-family:var(--mono);letter-spacing:.06em}.chip{font-family:var(--mono);font-size:var(--text-note);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);border:1px solid var(--hairline-bold);white-space:nowrap;border-radius:2px;align-items:center;gap:6px;padding:5px 9px;line-height:1.4;display:inline-flex}.chip[data-tone=cyan]{color:var(--c-cyan-vivid);border-color:color-mix(in srgb, var(--c-cyan) 48%, transparent)}.chip[data-tone=amber]{color:var(--c-amber);border-color:color-mix(in srgb, var(--c-amber) 48%, transparent)}.chip[data-tone=magenta]{color:var(--c-magenta);border-color:color-mix(in srgb, var(--c-magenta) 48%, transparent)}.chip[data-tone=green]{color:var(--c-green);border-color:color-mix(in srgb, var(--c-green) 48%, transparent)}.pos{color:var(--pos)}.neg{color:var(--neg)}
