/* 系列主題：只覆寫 token，不新增元件規則。
   data-theme 掛在 <html>。色票取自各 IP 的氣質，不是官方色票。 */

/* ---------- 大廳（預設深色） ---------- */
[data-theme="hall"] {
  --ground: #0f1216;
  --surface: #171c22;
  --surface-2: #1e242b;
  --line: #2c343d;
  --ink: #eef1f4;
  --ink-muted: #a2acb6;
  --accent: #e0561f;
  --accent-ink: #0f1216;
  --motif:
    linear-gradient(180deg, rgba(224,86,31,.07), transparent 320px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.014) 0 1px, transparent 1px 64px);
}

/* ---------- 任天堂群 ---------- */
[data-theme="mario"] {
  --ground: #e9f1fd;
  --surface: #ffffff;
  --surface-2: #dbe8fa;
  --line: #b9cdec;
  --ink: #12203c;
  --ink-muted: #4c5f7d;
  --accent: #c9201c;
  --accent-ink: #ffffff;
  --focus: #1b4d9b;
  --motif:
    radial-gradient(circle at 12% 18%, rgba(201,32,28,.07), transparent 42%),
    radial-gradient(circle at 88% 6%, rgba(27,77,155,.08), transparent 38%);
}

[data-theme="zelda"] {
  --ground: #0d1a13;
  --surface: #15251b;
  --surface-2: #1c3125;
  --line: #2d4a37;
  --ink: #ecf4e6;
  --ink-muted: #a8bfaa;
  --accent: #d3a94b;
  --accent-ink: #10200f;
  --motif:
    radial-gradient(circle at 78% 12%, rgba(211,169,75,.10), transparent 46%),
    linear-gradient(180deg, rgba(13,26,19,0), rgba(13,26,19,.6));
}

[data-theme="metroid"] {
  --ground: #0a0f15;
  --surface: #131b24;
  --surface-2: #1a2430;
  --line: #273747;
  --ink: #e4edf6;
  --ink-muted: #93a6b8;
  --accent: #ef6d1f;
  --accent-ink: #0a0f15;
  --motif: repeating-linear-gradient(135deg, rgba(239,109,31,.05) 0 2px, transparent 2px 9px);
}

[data-theme="kirby"] {
  --ground: #fff2f7;
  --surface: #ffffff;
  --surface-2: #ffe2ed;
  --line: #f4c3d6;
  --ink: #3a2030;
  --ink-muted: #7d5567;
  --accent: #d93f76;
  --accent-ink: #ffffff;
  --focus: #a3285a;
  --radius: 8px;
  --radius-lg: 18px;
  --motif: radial-gradient(circle at 20% 10%, rgba(217,63,118,.08), transparent 40%);
}

[data-theme="pokemon"] {
  --ground: #f5f7fb;
  --surface: #ffffff;
  --surface-2: #e7ecf6;
  --line: #c4cee2;
  --ink: #17203a;
  --ink-muted: #55608a;
  --accent: #cf2f24;
  --accent-ink: #ffffff;
  --focus: #2b3f7a;
  --motif:
    radial-gradient(circle at 50% -10%, rgba(207,47,36,.10), transparent 46%),
    radial-gradient(circle at 90% 80%, rgba(43,63,122,.07), transparent 40%);
}

[data-theme="donkeykong"] {
  --ground: #14110c;
  --surface: #1f1a13;
  --surface-2: #2a2318;
  --line: #3d3324;
  --ink: #f5efe2;
  --ink-muted: #b5a68a;
  --accent: #f2c118;
  --accent-ink: #1a1408;
  --motif: repeating-linear-gradient(105deg, rgba(242,193,24,.05) 0 6px, transparent 6px 22px);
}

[data-theme="splatoon"] {
  --ground: #0b0b16;
  --surface: #141425;
  --surface-2: #1d1d33;
  --line: #2e2e4d;
  --ink: #f0efff;
  --ink-muted: #a2a0c4;
  --accent: #b6f11f;
  --accent-ink: #101018;
  --motif:
    radial-gradient(circle at 15% 85%, rgba(182,241,31,.10), transparent 38%),
    radial-gradient(circle at 85% 15%, rgba(160,60,220,.10), transparent 38%);
}

[data-theme="animalcrossing"] {
  --ground: #f2f8ee;
  --surface: #ffffff;
  --surface-2: #e3f0dc;
  --line: #c3dbb8;
  --ink: #22331f;
  --ink-muted: #5c7055;
  --accent: #3f8f3a;
  --accent-ink: #ffffff;
  --focus: #1f5c1c;
  --radius: 10px;
  --radius-lg: 22px;
  --motif:
    radial-gradient(circle at 8% 12%, rgba(63,143,58,.07), transparent 34%),
    radial-gradient(circle at 92% 74%, rgba(63,143,58,.06), transparent 30%);
}

[data-theme="fireemblem"] {
  --ground: #101728;
  --surface: #182038;
  --surface-2: #202a47;
  --line: #33405f;
  --ink: #e9edf7;
  --ink-muted: #a3aec9;
  --accent: #c9a24a;
  --accent-ink: #101728;
  --motif: linear-gradient(180deg, rgba(201,162,74,.09), transparent 300px);
}

/* ---------- FromSoftware / 宮崎英高 ---------- */
[data-theme="fromsoftware"] {
  --ground: #0b0a09;
  --surface: #151312;
  --surface-2: #1d1a18;
  --line: #322c27;
  --ink: #e7e0d4;
  --ink-muted: #a2968a;
  --accent: #9c2a24;
  --accent-ink: #f3e6e2;
  --display-font: var(--font-serif);
  --motif:
    radial-gradient(circle at 50% 120%, rgba(156,42,36,.18), transparent 55%),
    linear-gradient(180deg, rgba(11,10,9,0) 60%, rgba(0,0,0,.5));
}

/* ---------- 小島秀夫 ---------- */
[data-theme="kojima"] {
  --ground: #0c1116;
  --surface: #151c23;
  --surface-2: #1d262f;
  --line: #2b3946;
  --ink: #e8eef3;
  --ink-muted: #93a5b3;
  --accent: #46b0d8;
  --accent-ink: #0c1116;
  --motif: repeating-linear-gradient(90deg, rgba(70,176,216,.05) 0 1px, transparent 1px 7px);
}

/* ---------- KONAMI ---------- */
[data-theme="metalgear"] {
  --ground: #0e1310;
  --surface: #161d18;
  --surface-2: #1e2721;
  --line: #2c3a30;
  --ink: #dfe8df;
  --ink-muted: #96a596;
  --accent: #dfa321;
  --accent-ink: #12190f;
  --motif: repeating-linear-gradient(0deg, rgba(223,163,33,.05) 0 1px, transparent 1px 11px);
}

[data-theme="goemon"] {
  --ground: #101a2b;
  --surface: #17233a;
  --surface-2: #1e2d49;
  --line: #31456a;
  --ink: #f4ecdd;
  --ink-muted: #b0bdd2;
  --accent: #d9422b;
  --accent-ink: #fdf1e6;
  --motif:
    radial-gradient(circle at 50% 100%, transparent 0 22px, rgba(244,236,221,.05) 22px 23px, transparent 23px 44px),
    linear-gradient(180deg, rgba(217,66,43,.08), transparent 300px);
}

[data-theme="castlevania"] {
  --ground: #09070a;
  --surface: #130e12;
  --surface-2: #1a1319;
  --line: #2f2029;
  --ink: #ece2e7;
  --ink-muted: #a3939c;
  --accent: #a3143c;
  --accent-ink: #f6e8ee;
  --motif:
    radial-gradient(circle at 50% -20%, rgba(163,20,60,.22), transparent 52%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.012) 0 2px, transparent 2px 8px);
}

[data-theme="contra"] {
  --ground: #0d1710;
  --surface: #14211a;
  --surface-2: #1c2c22;
  --line: #2a3f31;
  --ink: #e6efe6;
  --ink-muted: #97ab9b;
  --accent: #e8452c;
  --accent-ink: #12190f;
  --motif: repeating-linear-gradient(115deg, rgba(232,69,44,.05) 0 3px, transparent 3px 14px);
}

/* ---------- Technos ---------- */
[data-theme="kunio"] {
  --ground: #12123a;
  --surface: #1b1b52;
  --surface-2: #23236a;
  --line: #3a3a8c;
  --ink: #f7f7ff;
  --ink-muted: #b6b6e6;
  --accent: #e8332a;
  --accent-ink: #ffffff;
  --radius: 0;
  --radius-lg: 0;
  --motif: repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 1px, transparent 1px 8px),
          repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 8px);
}

/* ---------- 其他大廠系列 ---------- */
[data-theme="megaman"] {
  --ground: #eaf3ff;
  --surface: #ffffff;
  --surface-2: #d7e8ff;
  --line: #b3cef0;
  --ink: #0f2340;
  --ink-muted: #496488;
  --accent: #2662d9;
  --accent-ink: #ffffff;
  --focus: #0d2f6d;
  --motif: repeating-linear-gradient(90deg, rgba(38,98,217,.05) 0 2px, transparent 2px 10px);
}

[data-theme="sonic"] {
  --ground: #eef7ff;
  --surface: #ffffff;
  --surface-2: #d9ecff;
  --line: #b6d6f2;
  --ink: #10233d;
  --ink-muted: #4a6684;
  --accent: #1a5fc4;
  --accent-ink: #ffffff;
  --focus: #a8760a;
  --motif: radial-gradient(circle at 80% 8%, rgba(26,95,196,.10), transparent 42%);
}

[data-theme="dragonquest"] {
  --ground: #0e2745;
  --surface: #14365e;
  --surface-2: #1a4473;
  --line: #2b5687;
  --ink: #f2f6fb;
  --ink-muted: #a9c0da;
  --accent: #e7c55a;
  --accent-ink: #10233c;
  --motif: linear-gradient(180deg, rgba(231,197,90,.10), transparent 340px);
}

[data-theme="residentevil"] {
  --ground: #0b1310;
  --surface: #131d18;
  --surface-2: #1a2620;
  --line: #2a3a31;
  --ink: #e4ece6;
  --ink-muted: #93a599;
  --accent: #c0281f;
  --accent-ink: #f3e8e6;
  --motif: radial-gradient(circle at 50% -10%, rgba(192,40,31,.16), transparent 50%);
}

[data-theme="shinmegami"] {
  --ground: #0a0a0a;
  --surface: #141414;
  --surface-2: #1d1d1d;
  --line: #303030;
  --ink: #f0f0ee;
  --ink-muted: #a0a09a;
  --accent: #cadb2b;
  --accent-ink: #0d0d0d;
  --motif: repeating-linear-gradient(0deg, rgba(202,219,43,.05) 0 1px, transparent 1px 9px);
}

[data-theme="streetfighter"] {
  --ground: #14100c;
  --surface: #1e1812;
  --surface-2: #28201a;
  --line: #3a2f24;
  --ink: #f6efe4;
  --ink-muted: #b6a48c;
  --accent: #efb61e;
  --accent-ink: #191308;
  --motif: repeating-linear-gradient(135deg, rgba(239,182,30,.05) 0 4px, transparent 4px 18px);
}

[data-theme="falcom"] {
  --ground: #101820;
  --surface: #182430;
  --surface-2: #1f2e3c;
  --line: #2f4354;
  --ink: #e9eff5;
  --ink-muted: #9db0c0;
  --accent: #d94f3d;
  --accent-ink: #12191f;
  --motif: linear-gradient(180deg, rgba(217,79,61,.09), transparent 300px);
}

[data-theme="finalfantasy"] {
  --ground: #0a1424;
  --surface: #122036;
  --surface-2: #182a46;
  --line: #2b4162;
  --ink: #eaf2f8;
  --ink-muted: #9fb4c9;
  --accent: #6fc9d6;
  --accent-ink: #08131f;
  --display-font: var(--font-serif);
  --motif:
    radial-gradient(circle at 70% 8%, rgba(111,201,214,.12), transparent 42%),
    linear-gradient(180deg, rgba(10,20,36,0), rgba(10,20,36,.65));
}

[data-theme="koei"] {
  --ground: #17202a;
  --surface: #1f2b37;
  --surface-2: #273544;
  --line: #3a4a5c;
  --ink: #eef1f2;
  --ink-muted: #a9b4bd;
  --accent: #c1462f;
  --accent-ink: #f7ece9;
  --display-font: var(--font-serif);
  --motif:
    linear-gradient(180deg, rgba(193,70,47,.08), transparent 280px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.012) 0 1px, transparent 1px 40px);
}

[data-theme="tales"] {
  --ground: #0e2028;
  --surface: #152c35;
  --surface-2: #1c3843;
  --line: #2c4f5c;
  --ink: #eaf4f4;
  --ink-muted: #9fb8bd;
  --accent: #55c4a8;
  --accent-ink: #0b1a20;
  --motif: radial-gradient(circle at 18% 12%, rgba(85,196,168,.10), transparent 40%);
}

[data-theme="aceattorney"] {
  --ground: #eef2f7;
  --surface: #ffffff;
  --surface-2: #dee6f0;
  --line: #b3c1d3;
  --ink: #141f36;
  --ink-muted: #4d5c75;
  --accent: #b3261e;
  --accent-ink: #ffffff;
  --focus: #16457f;
  --motif: linear-gradient(180deg, rgba(179,38,30,.06), transparent 240px);
}
