:root{--brand: #2a78d6;--brand-strong: #1f5fb0;--brand-soft: #e8f1fc;--bg: #f6f8fb;--surface: #ffffff;--surface-2: #f0f3f8;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #1a2433;--text-muted: #5b6b82;--text-faint: #8a99ad;--on-brand: #ffffff;--success: #1f9d6b;--warning: #d98a00;--danger: #d8483f;--cat-1: #2a78d6;--cat-2: #e8863c;--cat-3: #2bb6ad;--cat-4: #d9b23c;--cat-5: #8a6bd6;--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--radius-full: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--shadow-sm: 0 1px 2px rgba(20, 33, 55, .06), 0 1px 3px rgba(20, 33, 55, .08);--shadow: 0 4px 12px rgba(20, 33, 55, .08), 0 2px 4px rgba(20, 33, 55, .06);--shadow-lg: 0 12px 32px rgba(20, 33, 55, .14);--sidebar-w: 248px;--header-h: 60px;--content-max: 1120px;--font: system-ui, -apple-system, "Segoe UI", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;color-scheme:light}:root[data-theme=dark]{--brand: #5b9cf0;--brand-strong: #7cb0f4;--brand-soft: #17334f;--bg: #0e1420;--surface: #161d2b;--surface-2: #1e2736;--border: #2a3446;--border-strong: #3a4658;--text: #e8edf5;--text-muted: #9fb0c7;--text-faint: #6b7d95;--on-brand: #0e1420;--success: #3fbe89;--warning: #e6a534;--danger: #ec6a61;--cat-1: #5b9cf0;--cat-2: #f0a15c;--cat-3: #45ccc2;--cat-4: #e6c96a;--cat-5: #a98bea;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 4px 14px rgba(0, 0, 0, .38);--shadow-lg: 0 14px 36px rgba(0, 0, 0, .5);color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--brand: #5b9cf0;--brand-strong: #7cb0f4;--brand-soft: #17334f;--bg: #0e1420;--surface: #161d2b;--surface-2: #1e2736;--border: #2a3446;--border-strong: #3a4658;--text: #e8edf5;--text-muted: #9fb0c7;--text-faint: #6b7d95;--on-brand: #0e1420;--success: #3fbe89;--warning: #e6a534;--danger: #ec6a61;--cat-1: #5b9cf0;--cat-2: #f0a15c;--cat-3: #45ccc2;--cat-4: #e6c96a;--cat-5: #a98bea;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 4px 14px rgba(0, 0, 0, .38);--shadow-lg: 0 14px 36px rgba(0, 0, 0, .5);color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{line-height:1.3;margin:0}button{font-family:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}::selection{background:var(--brand-soft)}.stack>*+*{margin-top:var(--sp-4)}.btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:9px 16px;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:600;font-size:14px;cursor:pointer;transition:background .15s,border-color .15s,transform .05s;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand);color:var(--on-brand)}.btn-primary:hover{background:var(--brand-strong);text-decoration:none}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn-ghost:hover{background:var(--surface-2);text-decoration:none}.btn-subtle{background:var(--surface-2);color:var(--text)}.btn-subtle:hover{background:var(--border);text-decoration:none}.btn-sm{padding:6px 12px;font-size:13px}.btn-lg{padding:12px 22px;font-size:15px}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;background:var(--surface-2);color:var(--text-muted)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;color:var(--brand);margin:0 0 var(--sp-2)}.page-title{font-size:26px;font-weight:800;letter-spacing:-.01em}.page-lead{color:var(--text-muted);margin-top:var(--sp-2);max-width:60ch}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
