/* BeamDrop — design system (design.md ベース / accent をブランド色に) */
:root{
  --bg:#FFFFFF; --surface:#F7F8FA; --surface-2:#EEF1F6;
  --ink:#0E1116; --ink-2:#39414E; --muted:#727A88; --line:#E6E9EF;
  --accent:#4F46E5; --accent-ink:#4338CA; --accent-2:#06B6D4; --ok:#16A34A; --danger:#DC2626;
  --font: system-ui,-apple-system,"Segoe UI","Hiragino Sans","Noto Sans JP",sans-serif;
  --radius:14px; --radius-lg:22px;
  --shadow-sm:0 1px 2px rgba(16,17,22,.06);
  --shadow:0 6px 22px -6px rgba(16,17,22,.12);
  --shadow-lg:0 30px 70px -18px rgba(30,27,75,.32);
  --beam:linear-gradient(120deg,#6366F1 0%,#4F46E5 45%,#06B6D4 100%);
  --halo:radial-gradient(60% 60% at 50% 40%,rgba(99,102,241,.22),transparent 70%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);
  font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:var(--accent-ink);text-decoration:none}
h1,h2,h3{line-height:1.18;letter-spacing:-.02em;margin:0;font-weight:800}
p{margin:0}

/* icons (sprite via <use>) */
.i{width:22px;height:22px;display:inline-block;vertical-align:middle;
  fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:#fff;
  border:0;border-radius:12px;padding:13px 20px;font:inherit;font-size:15px;font-weight:700;
  cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,opacity .14s;}
.btn .i{width:18px;height:18px}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--accent);box-shadow:0 10px 24px -8px rgba(79,70,229,.6)}
.btn.primary:hover{box-shadow:0 16px 30px -8px rgba(79,70,229,.66)}
.btn.beam{background:var(--beam);box-shadow:0 10px 28px -8px rgba(79,70,229,.55)}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.btn.ghost:hover{border-color:#d3d8e2}
.btn.lg{padding:15px 26px;font-size:16px;border-radius:14px}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* brand wordmark */
.brand{display:inline-flex;align-items:center;gap:11px;font-weight:800;font-size:21px;letter-spacing:-.03em}
.brand .mark{width:34px;height:34px;border-radius:10px;background:var(--beam);
  display:grid;place-items:center;box-shadow:0 6px 16px -4px rgba(79,70,229,.6);flex:none}
.brand .mark .i{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:2}
.brand .wm b{color:var(--accent);font-weight:800}
.brand .wm{white-space:nowrap}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;
  color:var(--accent-ink);background:rgba(79,70,229,.08);border:1px solid rgba(79,70,229,.16);
  padding:6px 13px;border-radius:999px}
.eyebrow .i{width:15px;height:15px}
