:root{--color-accent: #2b6cb0;--color-ok: #1f7a4d;--color-warn: #9a6b00;--color-gray: #6b7280;--color-demo: #7c3aed;--color-accent-bg: #e7f0f9;--color-ok-bg: #e3f1ea;--color-warn-bg: #f6efdb;--color-gray-bg: #eef0f2;--color-demo-bg: #f0e9fb;--color-accent-strong: #245d99;--color-accent-press: #1d4e80;--color-ok-strong: #196340;--color-bg: #f6f7f9;--color-surface: #ffffff;--color-surface-alt: #fbfcfd;--color-border: #d6dae0;--color-border-strong: #b9bfc8;--color-text: #1a1f29;--color-text-muted: #586073;--text-primary: var(--color-text);--text-muted: var(--color-text-muted);--text-link: var(--color-accent);--surface-page: var(--color-bg);--surface-card: var(--color-surface);--surface-row-alt: var(--color-surface-alt);--border-hairline: var(--color-border);--focus-ring: 0 0 0 3px rgba(43, 108, 176, .4);--font-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", system-ui, sans-serif;--font-mono: "Noto Sans Mono", ui-monospace, "SFMono-Regular", monospace;--weight-regular: 400;--weight-medium: 500;--weight-bold: 700;--text-2xs: 13px;--text-xs: 15px;--text-sm: 16px;--text-base: 18px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 30px;--text-3xl: 38px;--text-4xl: 48px;--leading-tight: 1.3;--leading-snug: 1.45;--leading-body: 1.7;--tracking-normal: 0;--tracking-label: .04em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(26,31,41,.06), 0 1px 3px rgba(26,31,41,.08);--shadow-raised:0 2px 6px rgba(26,31,41,.08), 0 6px 16px rgba(26,31,41,.1);--hit-min: 44px;--container-max: 1120px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--text-link);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{color:var(--color-accent-strong)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}h1,h2,h3,h4{line-height:var(--leading-tight);font-weight:var(--weight-bold);margin:0;text-wrap:balance}p{margin:0}:root{--bg: var(--color-bg);--card: var(--color-surface);--ink: var(--color-text);--muted: var(--color-text-muted);--line: var(--color-border);--accent: var(--color-accent);--accent-weak: var(--color-accent-bg);--ok: var(--color-ok);--ok-weak: var(--color-ok-bg);--warn: var(--color-warn);--warn-weak: var(--color-warn-bg);--gray: var(--color-gray);--gray-weak: var(--color-gray-bg);--demo: var(--color-demo);--demo-weak: var(--color-demo-bg)}*{margin:0;padding:0}.wrap{max-width:var(--container-max);margin:0 auto;padding:0 16px}header.site{background:var(--card);border-bottom:1px solid var(--line);padding:14px 0}header.site .wrap{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}header.site .brand{font-size:1.3em;font-weight:700;color:var(--ink);text-decoration:none}header.site .tagline{color:var(--gray);font-size:.8em}main{padding:24px 0 48px}.notice{background:var(--warn-weak);border:1px solid #ecd9a6;border-radius:var(--radius);padding:12px 16px;font-size:.9em;color:#6b4e00;margin:16px 0}footer.site{border-top:1px solid var(--line);background:var(--card);padding:20px 0;font-size:.85em;color:var(--gray)}footer.site .wrap>div{margin:4px 0}footer.site .demo-note{color:var(--demo)}footer.site a{color:var(--accent)}.badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:.8em;font-weight:600;white-space:nowrap}.badge.ok{background:var(--ok-weak);color:var(--ok)}.badge.cond{background:var(--accent-weak);color:var(--accent)}.badge.gray{background:var(--gray-weak);color:var(--gray)}.badge.warn{background:var(--warn-weak);color:var(--warn)}.badge.stop{background:#f2ecdb;color:#7a5000}.badge.demo{background:var(--demo-weak);color:var(--demo);border:1px dashed #c4a4f0}header.site .demo-tag{margin-left:auto}
