body[data-theme="sipwoonggi"] {
  --bg: #080c0a;
  --panel: #0d1714;
  --panel-soft: #07100d;
  --line: #246c7a;
  --text: #e3fff9;
  --muted: #7fb8c4;
  --accent: #7ed7ff;
  --accent-strong: #b8f0ff;
  --button: #11242a;
  --cyan: #7ed7ff;
  --red: #ff7777;
  --green: #8fe28f;
  --fishing: #ffd86b;
  --fishing-strong: #fff2b8;
  --theme-top: #10242d;
  --theme-bar: #0c1411;
  --theme-terminal: #010607;
  --theme-input: #020403;
  --theme-form: #0b1411;
  --theme-scanline: rgba(255, 255, 255, 0.022);
  --theme-scanline-dark: rgba(0, 0, 0, 0.045);
}

body[data-theme="campfire"] {
  --bg: #100906;
  --panel: #17100b;
  --panel-soft: #120a06;
  --line: #7b4d22;
  --text: #fff2d1;
  --muted: #c9a06e;
  --accent: #ffb14a;
  --accent-strong: #ffe39a;
  --button: #24170c;
  --cyan: #ffc46b;
  --red: #ff7b66;
  --green: #b7d879;
  --fishing: #ffd86b;
  --fishing-strong: #fff2b8;
  --theme-top: #2a180c;
  --theme-bar: #160d08;
  --theme-terminal: #070301;
  --theme-input: #080401;
  --theme-form: #130b07;
  --theme-scanline: rgba(255, 220, 160, 0.028);
  --theme-scanline-dark: rgba(0, 0, 0, 0.052);
}

body[data-theme="hitel"] {
  --bg: #000817;
  --panel: #06132c;
  --panel-soft: #020b1d;
  --line: #2a65c8;
  --text: #dbe9ff;
  --muted: #8eb1e8;
  --accent: #4ea1ff;
  --accent-strong: #b9d9ff;
  --button: #071b3f;
  --cyan: #63c8ff;
  --red: #ff7777;
  --green: #8fe28f;
  --fishing: #ffe071;
  --fishing-strong: #fff5bf;
  --theme-top: #08205a;
  --theme-bar: #061125;
  --theme-terminal: #000611;
  --theme-input: #000611;
  --theme-form: #050e21;
  --theme-scanline: rgba(120, 180, 255, 0.03);
  --theme-scanline-dark: rgba(0, 0, 0, 0.055);
}

body[data-theme="hitelClassic"] {
  --bg: #080783;
  --panel: #080783;
  --panel-soft: #080783;
  --line: #aebcff;
  --text: #ffffff;
  --muted: #cdd6ff;
  --accent: #00ffff;
  --accent-strong: #ffffff;
  --button: #080783;
  --cyan: #00ffff;
  --red: #ff5f5f;
  --green: #00ff66;
  --fishing: #ffff33;
  --fishing-strong: #ffff66;
  --theme-top: #080783;
  --theme-bar: #080783;
  --theme-terminal: #080783;
  --theme-input: #080783;
  --theme-form: #080783;
  --theme-scanline: transparent;
  --theme-scanline-dark: transparent;
}

body[data-theme="chollian"] {
  --bg: #030b22;
  --panel: #081530;
  --panel-soft: #030d22;
  --line: #3f55a6;
  --text: #e8ebff;
  --muted: #9ea9d6;
  --accent: #8b9cff;
  --accent-strong: #d8dcff;
  --button: #101947;
  --cyan: #8fbfff;
  --red: #ff8585;
  --green: #9bdc9b;
  --fishing: #f1d36f;
  --fishing-strong: #fff2b4;
  --theme-top: #121a56;
  --theme-bar: #070d25;
  --theme-terminal: #020717;
  --theme-input: #020717;
  --theme-form: #070d25;
  --theme-scanline: rgba(160, 170, 255, 0.028);
  --theme-scanline-dark: rgba(0, 0, 0, 0.052);
}

body[data-theme="jijongwan"] {
  --bg: #061b97;
  --panel: #09209d;
  --panel-soft: #06178a;
  --line: #00eaff;
  --text: #eef2ff;
  --muted: #aebcff;
  --accent: #00f2ff;
  --accent-strong: #58ffff;
  --button: #0826aa;
  --cyan: #00f2ff;
  --red: #ff4a7d;
  --green: #24ff4d;
  --fishing: #fff33b;
  --fishing-strong: #fff98a;
  --theme-top: #0a2ab5;
  --theme-bar: #06125f;
  --theme-terminal: #061b97;
  --theme-input: #051276;
  --theme-form: #06125f;
  --theme-scanline: rgba(255, 255, 255, 0.035);
  --theme-scanline-dark: rgba(0, 0, 60, 0.045);
}

body[data-theme="cheongjeon"] {
  --bg: #050b18;
  --panel: #081022;
  --panel-soft: #0a1a38;
  --line: #315b9c;
  --text: #eaf3ff;
  --muted: #9ab0d0;
  --accent: #6fb6ff;
  --accent-strong: #dfeeff;
  --button: #10234a;
  --cyan: #8ac8ff;
  --red: #ff9a9a;
  --green: #a9ffd7;
  --fishing: #ffd982;
  --fishing-strong: #ffdf8b;
  --theme-top: #0b1b3d;
  --theme-bar: #071329;
  --theme-terminal: #00113f;
  --theme-input: #071329;
  --theme-form: #050b18;
  --theme-scanline: rgba(96, 170, 255, 0.03);
  --theme-scanline-dark: rgba(0, 17, 63, 0.055);
}

body[data-theme="cheongjeon2"] {
  --bg: #050b18;
  --panel: #081022;
  --panel-soft: #0a1a38;
  --line: #315b9c;
  --text: #eaf3ff;
  --muted: #9ab0d0;
  --accent: #6fb6ff;
  --accent-strong: #dfeeff;
  --button: #10234a;
  --cyan: #8ac8ff;
  --red: #ff9a9a;
  --green: #a9ffd7;
  --fishing: #ffd982;
  --fishing-strong: #ffdf8b;
  --theme-top: #0b1b3d;
  --theme-bar: #071329;
  --theme-terminal: #00113f;
  --theme-input: #071329;
  --theme-form: #050b18;
  --theme-scanline: rgba(96, 170, 255, 0.03);
  --theme-scanline-dark: rgba(0, 17, 63, 0.055);
}

body[data-theme="green"] {
  --bg: #020b05;
  --panel: #07150b;
  --panel-soft: #021008;
  --line: #2a7f44;
  --text: #dcffe4;
  --muted: #83c896;
  --accent: #58ff85;
  --accent-strong: #bdffca;
  --button: #0a2111;
  --cyan: #86ffd5;
  --red: #ff7777;
  --green: #58ff85;
  --fishing: #d6ff7a;
  --fishing-strong: #efffbd;
  --theme-top: #0b2f14;
  --theme-bar: #061108;
  --theme-terminal: #000703;
  --theme-input: #000703;
  --theme-form: #061108;
  --theme-scanline: rgba(120, 255, 150, 0.026);
  --theme-scanline-dark: rgba(0, 0, 0, 0.055);
}

body {
  background:
    linear-gradient(var(--theme-scanline) 50%, var(--theme-scanline-dark) 50%),
    radial-gradient(circle at 50% 0%, var(--theme-top) 0, var(--bg) 58%) !important;
  background-size: 100% 4px, auto !important;
}

body[data-theme="cheongjeon2"] {
  background:
    linear-gradient(var(--theme-scanline) 50%, var(--theme-scanline-dark) 50%),
    radial-gradient(circle at 18% 0%, rgba(36, 88, 190, 0.34), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(96, 170, 255, 0.15), transparent 24%),
    linear-gradient(180deg, #0b1b3d 0%, #050b18 62%) !important;
  background-size: 100% 4px, auto, auto, auto !important;
}

body[data-theme="hitelClassic"] {
  background: #080783 !important;
  background-size: auto !important;
}

.topbar,
.map-topbar,
.panel-head,
.room-toolbar {
  background: var(--theme-bar) !important;
  box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--line) 65%, transparent) !important;
}

body[data-theme="hitelClassic"] .topbar,
body[data-theme="hitelClassic"] .map-topbar,
body[data-theme="hitelClassic"] .panel-head,
body[data-theme="hitelClassic"] .room-toolbar {
  border-color: #aebcff !important;
  background: #080783 !important;
  box-shadow: none !important;
}

#terminal,
.graph-stage,
.compass-cell {
  background:
    linear-gradient(var(--theme-scanline) 50%, var(--theme-scanline-dark) 50%),
    var(--theme-terminal) !important;
  background-size: 100% 4px, auto !important;
}

body[data-theme="cheongjeon2"] #terminal,
body[data-theme="cheongjeon2"] .graph-stage,
body[data-theme="cheongjeon2"] .compass-cell {
  background:
    linear-gradient(var(--theme-scanline) 50%, var(--theme-scanline-dark) 50%),
    linear-gradient(180deg, rgba(0, 36, 98, 0.98), rgba(0, 17, 63, 0.99)) !important;
  background-size: 100% 4px, auto !important;
  box-shadow: inset 0 0 28px rgba(0, 0, 0, 0.22) !important;
}

body[data-theme="cheongjeon2"] .topbar,
body[data-theme="cheongjeon2"] .map-topbar,
body[data-theme="cheongjeon2"] .panel-head,
body[data-theme="cheongjeon2"] .room-toolbar {
  background: linear-gradient(180deg, rgba(10, 26, 58, 0.94), rgba(7, 19, 41, 0.92)) !important;
}

body[data-theme="hitelClassic"] #terminal,
body[data-theme="hitelClassic"] .graph-stage,
body[data-theme="hitelClassic"] .compass-cell {
  background: #080783 !important;
  background-size: auto !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body[data-theme="hitelClassic"] #terminal,
body[data-theme="hitelClassic"] #terminal *,
body[data-theme="hitelClassic"] h1,
body[data-theme="hitelClassic"] p,
body[data-theme="hitelClassic"] button,
body[data-theme="hitelClassic"] .top-link,
body[data-theme="hitelClassic"] .mode-badge,
body[data-theme="hitelClassic"] .badge,
body[data-theme="hitelClassic"] .theme-select,
body[data-theme="hitelClassic"] .font-family-select {
  text-shadow: none !important;
}

body[data-theme="hitelClassic"] #terminal {
  border-color: #aebcff !important;
  color: #ffffff !important;
}

body[data-theme="hitelClassic"] button,
body[data-theme="hitelClassic"] .top-link,
body[data-theme="hitelClassic"] .mode-badge,
body[data-theme="hitelClassic"] .badge,
body[data-theme="hitelClassic"] .theme-select,
body[data-theme="hitelClassic"] .font-family-select {
  border-color: #aebcff !important;
  background: #080783 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body[data-theme="hitelClassic"] button:hover,
body[data-theme="hitelClassic"] .top-link:hover,
body[data-theme="hitelClassic"] .mode-badge:hover {
  color: #ffff33 !important;
  border-color: #ffff33 !important;
}

#command,
.room-toolbar input {
  background: var(--theme-input) !important;
}

#command-form {
  background: var(--theme-form) !important;
}

.font-family-select,
.theme-select {
  min-height: 30px;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: var(--button);
  color: var(--text);
  padding: 0 28px 0 10px;
  font: 14px var(--terminal-font-family), var(--emoji-font-family), ui-monospace, monospace;
  outline: none;
}

.theme-select:focus {
  border-color: var(--accent);
  color: var(--accent-strong);
}

@media (max-width: 720px) {
  .font-family-select,
  .theme-select {
    font-size: 16px;
  }
}
