/* ============================================================
   airport.tokyo — tokens.css v1.0
   デザイントークン単一ソース（docs/design-system.md §1 準拠）
   すべての色・書体・寸法はここで定義し、site.css は参照のみ。
   ============================================================ */

/* ---- self-hosted IBM Plex（latin基本+約物 subset / 計53.3KB）----
   生成: pyftsubset --unicodes=U+0020-007E,U+00A0-00FF,U+2013-2014,
         U+2018-2019,U+201C-201D,U+2026 --flavor=woff2 --no-hinting
   ソース: github.com/IBM/plex releases（plex-sans@1.1.0 / plex-mono@2.5.0） */
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/IBMPlexSans-400.woff2") format("woff2");
  unicode-range: U+0020-007E, U+00A0-00FF, U+2013-2014, U+2018-2019, U+201C-201D, U+2026;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/fonts/IBMPlexSans-600.woff2") format("woff2");
  unicode-range: U+0020-007E, U+00A0-00FF, U+2013-2014, U+2018-2019, U+201C-201D, U+2026;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/IBMPlexSans-700.woff2") format("woff2");
  unicode-range: U+0020-007E, U+00A0-00FF, U+2013-2014, U+2018-2019, U+201C-201D, U+2026;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/IBMPlexMono-400.woff2") format("woff2");
  unicode-range: U+0020-007E, U+00A0-00FF, U+2013-2014, U+2018-2019, U+201C-201D, U+2026;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/fonts/IBMPlexMono-500.woff2") format("woff2");
  unicode-range: U+0020-007E, U+00A0-00FF, U+2013-2014, U+2018-2019, U+201C-201D, U+2026;
}

:root {
  color-scheme: light; /* v1はダークモード非対応（§7） */

  /* ---- 1.1 カラー（サイン板の言語) ---- */
  --ink: #0E2A47;      /* 航空紺: ヘッダ帯・サイン板・見出し・フッター */
  --paper: #F7F9FA;    /* 背景: 冷たい紙白 */
  --white: #FFFFFF;    /* カード面・サイン板上の文字 */
  --signal: #FFC400;   /* 標識黄: 主要CTAのみ。1画面1〜2箇所まで */
  --sky: #2E6FB7;      /* リンク・選択状態 */
  --line: #D7DEE4;     /* 罫線・カード枠 */
  --sub: #5B6B7A;      /* 補足テキスト */

  /* ライブ状態色（テキストラベル併記必須＝色覚対応） */
  --status-ok: #1E8E5A;
  --status-busy: #C77800;
  --status-alert: #C0392B;

  /* 状態色の派生（WCAG AA 4.5:1 確保のための実装派生色）
     on-ink: 紺地(--ink)上のテキスト・ドット用の明色
     deep:   淡色バッジ地上の小サイズテキスト用の濃色 */
  --status-ok-on-ink: #57C690;
  --status-busy-on-ink: #FFB454;
  --status-alert-on-ink: #FF8B7C;
  --status-ok-deep: #17603C;
  --status-busy-deep: #8A5300;
  --status-alert-deep: #99271C;

  /* ---- 1.2 タイポグラフィ ---- */
  /* IBM Plex はセルフホスト subset（上記 @font-face）。
     読込失敗時もシステムフォールバックで成立する。 */
  --font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont,
               "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular",
               Menlo, Consolas, "Liberation Mono", monospace;

  /* タイプスケール mobile-first: 13 / 15(base) / 18 / 22 / 28 / 40 */
  --fs-xs: 13px;
  --fs-base: 15px;
  --fs-md: 18px;
  --fs-lg: 22px;
  --fs-xl: 28px;
  --fs-2xl: 40px;

  --lh-base: 1.6;
  --lh-cjk: 1.75;

  /* eyebrow（サイン式見出しの上段） */
  --eyebrow-size: 12px;
  --eyebrow-tracking: 0.08em;

  /* ---- 1.3 スペーシング（4pxグリッド）---- */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;   /* カード内 */
  --sp-5: 20px;   /* カード内(大) */
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-12: 48px;  /* セクション間 */
  --sp-16: 64px;  /* セクション間(大) */

  /* ---- 1.3 形状 ---- */
  --radius-card: 10px;
  --radius-chip: 999px;  /* ゲートタグ */
  --radius-btn: 8px;
  --shadow-card: 0 1px 3px rgba(14, 42, 71, 0.08); /* 影はこの1種のみ */

  /* ---- 3. レイアウト ---- */
  --max-read: 720px;   /* 読み物 */
  --max-tool: 960px;   /* ツール・表 */
  --cta-bar-height: 56px;
  --tap-target: 44px;  /* タップ目標最小 */

  /* ---- 6. フォーカス ---- */
  --focus-color: var(--sky);
}

/* CJK言語はシステムスタック（Webフォント排除・体感速度優先） */
:root:lang(ja) {
  --font-sans: "Hiragino Kaku Gothic ProN", "Hiragino Sans",
               "Yu Gothic UI", "Yu Gothic", "Noto Sans JP", sans-serif;
  --lh-base: var(--lh-cjk);
}
:root:lang(zh-TW) {
  --font-sans: "PingFang TC", "Microsoft JhengHei UI",
               "Microsoft JhengHei", "Noto Sans TC", sans-serif;
  --lh-base: var(--lh-cjk);
}
:root:lang(zh-CN) {
  --font-sans: "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei",
               "Noto Sans SC", sans-serif;
  --lh-base: var(--lh-cjk);
}
:root:lang(ko) {
  --font-sans: "Apple SD Gothic Neo", "Malgun Gothic",
               "Noto Sans KR", sans-serif;
  --lh-base: var(--lh-cjk);
}
