/* ARGUS Design System — claude.ai/design 正本トークンに完全準拠
   読込順: fonts → colors(dark base) → spacing → effects → typography → theme-light(ライト既定)
   正本: claude.ai/design project fe83d626 / tokens/*.css + ui_kits/theme-light.css をそのまま同梱。 */

/* ===== tokens/fonts.css ===== */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&family=Noto+Sans+JP:wght@400;500;700&family=JetBrains+Mono:wght@400;500;700&display=swap');

/* ===== tokens/colors.css (dark "Observatory" base + semantic aliases) ===== */
:root {
  /* Agentic Robotics リブランド(2026-06-25): violet-* ランプを Ice-Blue ランプへ再定義し全ページへ波及。
     正本配色 = ロゴポリシー: Deep Navy #0B1020 / Silver Blue #C9D4E6 / Ice Blue #6EC1FF / Light Gray #F2F4F7 */
  --violet-50:#eff7ff; --violet-100:#dcefff; --violet-200:#bbe0ff; --violet-300:#9ed8ff; --violet-400:#6ec1ff;
  --violet-500:#4aa6ee; --violet-600:#2f8fe0; --violet-700:#1f74c4; --violet-800:#17579a; --violet-900:#0f3a6b;
  --indigo-700:#1b2748; --indigo-800:#101a36; --indigo-900:#0a1226;
  --cyan-300:#a9e0ff; --cyan-400:#6ec1ff; --cyan-500:#3aa3f0;
  --magenta-300:#cfe0f2; --magenta-400:#9fb6d6; --magenta-500:#7d97bd;
  --ink-950:#05070e; --ink-900:#0b1020; --ink-850:#0e1326; --ink-800:#131a31; --ink-700:#1b2542; --ink-600:#243156;
  --white:#ffffff; --paper-100:#f2f4f7; --paper-200:#dbe3ef; --paper-300:#c9d4e6; --paper-400:#9fb0c8; --paper-500:#6b7c96;
  --line-subtle:rgba(201,212,230,0.08); --line-default:rgba(201,212,230,0.14); --line-strong:rgba(201,212,230,0.24); --line-violet:rgba(110,193,255,0.45);
  --success-400:#34d399; --success-500:#10b981; --warning-400:#fbbf24; --warning-500:#f59e0b; --danger-400:#fb7185; --danger-500:#f43f5e; --info-400:#6ec1ff;
  --bg-canvas:var(--ink-900); --bg-surface:var(--ink-850); --bg-card:var(--ink-800); --bg-elevated:var(--ink-700); --bg-inset:var(--ink-950);
  --bg-hover:rgba(201,212,230,0.05); --bg-active:rgba(201,212,230,0.08);
  --text-strong:var(--paper-100); --text-body:var(--paper-300); --text-muted:var(--paper-400); --text-faint:var(--paper-500); --text-on-accent:var(--white); --text-accent:var(--violet-300);
  --accent:var(--violet-500); --accent-hover:var(--violet-400); --accent-press:var(--violet-600); --accent-quiet:rgba(110,193,255,0.14); --accent-2:var(--paper-300);
  --border:var(--line-default); --border-quiet:var(--line-subtle); --border-loud:var(--line-strong); --border-focus:var(--violet-400);
  --positive:var(--success-400); --caution:var(--warning-400); --negative:var(--danger-400);
  --grad-brand:linear-gradient(100deg,#4aa6ee,#2f8fe0);
  --grad-spectrum:linear-gradient(100deg,#c9d4e6 0%,#6ec1ff 50%,#3aa3f0 100%);
  --grad-magenta:linear-gradient(90deg,#2f8fe0,#6ec1ff);
  --grad-hero:linear-gradient(155deg,#101a36 0%,#05070e 70%);
  --data-1:#6ec1ff; --data-2:#c9d4e6; --data-3:#9fb6d6; --data-4:#34d399; --data-5:#fbbf24; --data-6:#9ed8ff;
}

/* ===== tokens/spacing.css ===== */
:root {
  --space-0:0; --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px; --space-20:80px; --space-24:96px; --space-32:128px;
  --container:1200px; --container-narrow:880px; --gutter:24px; --section-y:96px;
}

/* ===== tokens/effects.css (dark base; theme-light overrides shadows/glows) ===== */
:root {
  --radius-xs:4px; --radius-sm:6px; --radius-md:8px; --radius-lg:12px; --radius-xl:16px; --radius-2xl:24px; --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(0,0,0,0.4); --shadow-md:0 4px 16px rgba(0,0,0,0.45); --shadow-lg:0 12px 40px rgba(0,0,0,0.55); --shadow-xl:0 24px 70px rgba(0,0,0,0.6);
  --glow-violet:0 0 0 1px rgba(110,193,255,0.35),0 8px 30px rgba(110,193,255,0.40); --glow-violet-sm:0 4px 18px rgba(110,193,255,0.35); --glow-cyan:0 4px 22px rgba(110,193,255,0.30); --glow-focus:0 0 0 3px rgba(110,193,255,0.35);
  --wash-violet:radial-gradient(60% 80% at 80% 0%,rgba(110,193,255,0.26),transparent 70%);
  --wash-cyan:radial-gradient(50% 70% at 0% 100%,rgba(201,212,230,0.14),transparent 70%);
  --inset-top:inset 0 1px 0 rgba(255,255,255,0.06);
  --blur-panel:blur(14px); --grid-line:rgba(255,255,255,0.05);
  --ease-out:cubic-bezier(0.22,1,0.36,1); --ease-inout:cubic-bezier(0.65,0,0.35,1); --dur-fast:120ms; --dur-base:200ms; --dur-slow:360ms;
}

/* ===== tokens/typography.css ===== */
:root {
  --font-display:"Zen Kaku Gothic New","Noto Sans JP",system-ui,sans-serif;
  --font-sans:"Noto Sans JP",system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --fs-display:56px; --fs-h1:40px; --fs-h2:30px; --fs-h3:22px; --fs-h4:18px; --fs-lead:18px; --fs-body:15px; --fs-sm:13px; --fs-xs:11px; --fs-data-lg:40px; --fs-data:28px;
  --fw-regular:400; --fw-medium:500; --fw-bold:700; --fw-black:900;
  --lh-tight:1.18; --lh-display:1.32; --lh-heading:1.4; --lh-body:1.8; --lh-relaxed:1.9;
  --ls-tight:-0.02em; --ls-normal:0; --ls-wide:0.08em; --ls-eyebrow:0.18em;
}

/* ===== ui_kits/theme-light.css (ライト既定：surfaces/text/borders/shadows/glows を反転) ===== */
:root {
  --bg-canvas:#f6f5fb; --bg-surface:#ffffff; --bg-card:#ffffff; --bg-elevated:#ffffff; --bg-inset:#f0eef8;
  --bg-hover:rgba(47,143,224,0.06); --bg-active:rgba(47,143,224,0.10);
  --text-strong:#0b1020; --text-body:#2b3650; --text-muted:#5a6781; --text-faint:#94a0b6; --text-accent:var(--violet-600);
  --border:rgba(11,16,32,0.12); --border-quiet:rgba(11,16,32,0.08); --border-loud:rgba(11,16,32,0.18);
  --line-subtle:rgba(11,16,32,0.08); --line-default:rgba(11,16,32,0.12); --line-strong:rgba(11,16,32,0.18); --line-violet:rgba(110,193,255,0.42);
  --accent-quiet:rgba(110,193,255,0.12);
  --shadow-sm:0 1px 2px rgba(11,16,32,0.06); --shadow-md:0 4px 16px rgba(11,16,32,0.08); --shadow-lg:0 12px 40px rgba(11,16,32,0.12); --shadow-xl:0 24px 70px rgba(11,16,32,0.16);
  --glow-violet:0 0 0 1px rgba(110,193,255,0.30),0 8px 28px rgba(110,193,255,0.22); --glow-violet-sm:0 4px 16px rgba(110,193,255,0.24); --glow-cyan:0 4px 20px rgba(110,193,255,0.22); --glow-focus:0 0 0 3px rgba(110,193,255,0.32);
  --inset-top:inset 0 1px 0 rgba(255,255,255,0.6); --grid-line:rgba(23,19,42,0.05);
  --positive:var(--success-500); --caution:var(--warning-500); --negative:var(--danger-500);
  /* 互換: 旧コードが参照する塗りトークン */
  --track:rgba(23,19,42,0.08); --chip-bg:rgba(23,19,42,0.05); --btn-soft:rgba(23,19,42,0.04); --glass-nav:rgba(255,255,255,0.72);
}

/* ===== base reset ===== */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { background: var(--bg-canvas); color: var(--text-body); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: rgba(23,19,42,0.18); border-radius: 999px; }
::-webkit-scrollbar-track { background: transparent; }

[tabindex]:focus-visible, [role="button"]:focus-visible, [role="link"]:focus-visible, a:focus-visible, button:focus-visible {
  outline: 2px solid var(--violet-400); outline-offset: 2px; border-radius: 4px;
}

@media print {
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body { background: #fff; }
  aside, header a, header button { box-shadow: none; }
  video { max-height: 360px; }
}
