  :root {
    color-scheme: dark;
    --bg: #121014; --panel: #1a171b; --panel-2: #221e23; --border: #332e33;
    --text: #e8e4e6; --text-dim: #9c939b; --accent: #ff4d7e; --on-accent: #1a0610;
  }
  * { box-sizing: border-box; }
  body {
    margin: 0; padding: 14px 18px 40px;
    background: var(--bg); color: var(--text);
    font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
    line-height: 1.8; font-size: 14.5px;
  }
  .wrap { max-width: 780px; margin: 0 auto; }
  .brand-link { display: inline-flex; flex-direction: column; line-height: 1; text-decoration: none; margin-bottom: 18px; }
  .brand-en {
    font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    font-size: 22px; font-weight: 800; letter-spacing: .10em;
    background: linear-gradient(90deg, #ff8fb4, #ff4d7e 55%, #a86cff);
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }
  .brand-ja { font-size: 10.5px; letter-spacing: .32em; color: var(--text-dim); margin-top: 5px; }
  h1 { font-size: 20px; margin: 0 0 18px; }
  .card {
    background: var(--panel); border: 1px solid var(--border); border-radius: 8px;
    padding: 16px 20px; margin-bottom: 14px;
  }
  .card h2 { font-size: 15px; margin: 0 0 10px; color: var(--accent); }
  .card p { margin: 0 0 10px; }
  .card p:last-child { margin-bottom: 0; }
  .card ul { margin: 0 0 10px; padding-left: 20px; }
  .dim { color: var(--text-dim); font-size: 13px; }
  a { color: var(--accent); }
  .back { display: inline-block; margin-top: 16px; padding: 7px 14px;
    background: var(--panel-2); border: 1px solid var(--border); border-radius: 6px;
    color: var(--text); text-decoration: none; font-size: 13px; }
  .back:hover { border-color: var(--accent); }
