/* Themes of the permanent page. Each block sets the tokens of landing.css and adds the details that give the theme its
   identity; accents (data-accent) only change colour tokens. Graphite is the platform's own look and the default. */

/* ---------- Graphite: the swapixai.pro look — graphite surfaces, Unbounded name, Telegram-blue main button. ---------- */
.theme-graphite .landing-bg { background: radial-gradient(70% 38% at 15% 0%, #26262a 0%, transparent 70%), var(--bg); }
.theme-graphite .landing-avatar { box-shadow: 0 18px 40px -22px rgb(0 0 0 / .9); }
/* On a wide screen the column becomes a panel, like the cards of the website. */
@media (min-width: 760px) {
  .theme-graphite:not(.is-preview) .landing-sheet { max-width: 480px; padding: 36px 32px 30px; border: 1px solid var(--line); border-radius: 30px; background: #202023; box-shadow: 0 40px 90px -50px rgb(0 0 0 / .9); }
}

/* ---------- Neon: a night stage — a spinning light ring around a round avatar, condensed capitals, glowing pills. ---------- */
.theme-neon {
  --accent: #3bd9ff; --accent-ink: #021a22;
  --bg: #04060c; --surface: rgb(255 255 255 / .035); --surface-2: rgb(255 255 255 / .065); --line: color-mix(in srgb, var(--accent) 32%, transparent);
  --line-strong: color-mix(in srgb, var(--accent) 70%, transparent); --text: #eef6ff; --text-2: #c2cfe2; --muted: #8696ae;
  --cta: var(--accent); --cta-hover: color-mix(in srgb, var(--accent) 86%, white); --cta-ink: var(--accent-ink);
  --chip: color-mix(in srgb, var(--accent) 15%, transparent); --chip-ink: var(--accent); --focus: var(--accent);
  --font-title: Oswald, "Arial Narrow", Onest, sans-serif; --title-weight: 600; --title-tracking: .025em; --title-leading: 1.02;
  --title-s: 48px; --title-m: 40px; --title-l: 31px; --title-xl: 26px;
  --avatar: 128px; --avatar-radius: 50%; --radius-cta: 999px; --radius-button: 999px; --icon-radius: 50%;
}
.theme-neon[data-accent="violet"] { --accent: #a78bfa; --accent-ink: #160b33; }
.theme-neon[data-accent="rose"] { --accent: #ff6fa3; --accent-ink: #2d0716; }
.theme-neon[data-accent="amber"] { --accent: #ffbe55; --accent-ink: #2b1800; }
.theme-neon .landing-bg { background:
  radial-gradient(55% 34% at 50% 14%, color-mix(in srgb, var(--accent) 26%, transparent) 0%, transparent 72%),
  radial-gradient(80% 50% at 50% 115%, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 70%), var(--bg); }
.theme-neon .landing-bg::after { content: ""; position: absolute; inset: 0; opacity: .5;
  background: radial-gradient(circle at 50% 50%, rgb(255 255 255 / .9) 0 .6px, transparent 1px) 0 0 / 46px 46px;
  mask-image: radial-gradient(70% 45% at 50% 20%, #000, transparent 75%); -webkit-mask-image: radial-gradient(70% 45% at 50% 20%, #000, transparent 75%); }
.theme-neon .landing-hero, .theme-neon .landing-description, .theme-neon .landing-save { text-align: center; }
.theme-neon .landing-hero { align-items: center; }
.theme-neon .landing-avatar { overflow: visible; padding: 7px; border: 0; background: transparent; margin-bottom: 22px; }
.theme-neon .landing-avatar::before { content: ""; position: absolute; inset: 0; border-radius: 50%;
  background: conic-gradient(from 0deg, var(--accent), transparent 28%, color-mix(in srgb, var(--accent) 60%, white) 50%, transparent 78%, var(--accent));
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2.5px)); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2.5px));
  animation: neon-spin 9s linear infinite; }
.theme-neon .landing-avatar::after { content: ""; position: absolute; inset: 4px; z-index: -1; border-radius: 50%; box-shadow: 0 0 34px 2px color-mix(in srgb, var(--accent) 55%, transparent); }
.theme-neon .landing-avatar img, .theme-neon .landing-initial { border-radius: 50%; background: #0b1020; }
.theme-neon .landing-initial { color: var(--accent); }
.theme-neon .landing-title { text-transform: uppercase; text-shadow: 0 0 28px color-mix(in srgb, var(--accent) 40%, transparent); }
.theme-neon .landing-handle { letter-spacing: .02em; }
.theme-neon .landing-status { padding: 0; background: transparent; color: var(--text-2); }
.theme-neon .landing-status .landing-dot { color: var(--ok); box-shadow: 0 0 10px 1px currentColor; }
.theme-neon .landing-status.is-paused .landing-dot { color: var(--warn); }
.theme-neon .landing-status.is-idle .landing-dot { color: var(--idle); box-shadow: none; }
.theme-neon .landing-description { font-size: 15.5px; }
.theme-neon .landing-cta { min-height: 64px; font: 600 19px/1.1 var(--font-title); letter-spacing: .07em; text-transform: uppercase;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 70%, white), 0 14px 38px -12px var(--accent), inset 0 1px 0 rgb(255 255 255 / .45); }
.theme-neon .landing-cta .landing-icon { width: 46px; height: 46px; background: var(--accent-ink); color: var(--accent); }
.theme-neon .landing-button { min-height: 62px; padding-inline-end: 18px; background: rgb(255 255 255 / .025); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.theme-neon .landing-text strong { font: 500 17px/1.15 var(--font-title); letter-spacing: .05em; text-transform: uppercase; }
.theme-neon .landing-chip { border-color: rgb(255 255 255 / .16); }
.theme-neon .landing-chip-icon { color: var(--accent); }
.theme-neon .landing-save { justify-content: center; border-color: rgb(255 255 255 / .14); }
@media (hover: hover) {
  .theme-neon .landing-cta:hover { box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 70%, white), 0 16px 48px -8px var(--accent), inset 0 1px 0 rgb(255 255 255 / .45); }
  .theme-neon .landing-button:hover { box-shadow: 0 0 24px -6px color-mix(in srgb, var(--accent) 70%, transparent); }
  .theme-neon .landing-chip:hover { border-color: var(--line-strong); }
}
@keyframes neon-spin { to { transform: rotate(1turn); } }

/* ---------- Aurora: frosted glass floating over slow northern lights; light, airy type. ---------- */
.theme-aurora {
  --a1: #2dd4bf; --a2: #7c5cff; --a3: #3b82f6;
  --bg: #0b0d1c; --surface: rgb(255 255 255 / .07); --surface-2: rgb(255 255 255 / .12); --line: rgb(255 255 255 / .15); --line-strong: rgb(255 255 255 / .32);
  --text: #f6f7ff; --text-2: rgb(236 240 255 / .8); --muted: rgb(226 232 255 / .6); --ok: #6ee7b7; --warn: #fcd34d; --idle: rgb(226 232 255 / .6);
  --cta: #fff; --cta-hover: #eef0ff; --cta-ink: #0e1022; --chip: rgb(255 255 255 / .1); --chip-ink: #fff; --focus: #fff;
  --font-title: Onest, system-ui, sans-serif; --title-weight: 300; --title-tracking: -.03em; --title-leading: 1.08;
  --title-s: 42px; --title-m: 35px; --title-l: 28px; --title-xl: 24px;
  --avatar: 104px; --avatar-radius: 50%; --radius-cta: 999px; --radius-button: 22px; --icon-radius: 50%; --sheet-max: 460px;
}
.theme-aurora[data-accent="dusk"] { --a1: #ff8fab; --a2: #ffb86b; --a3: #8b5cf6; }
.theme-aurora[data-accent="ocean"] { --a1: #22d3ee; --a2: #2563eb; --a3: #818cf8; }
.theme-aurora .landing-bg::before { content: ""; position: absolute; inset: -25%; opacity: .62; filter: blur(46px) saturate(125%);
  background: radial-gradient(38% 32% at 22% 22%, var(--a1), transparent 70%), radial-gradient(42% 36% at 82% 16%, var(--a2), transparent 70%),
    radial-gradient(48% 40% at 60% 82%, var(--a3), transparent 70%), radial-gradient(30% 26% at 12% 78%, var(--a2), transparent 70%);
  animation: aurora-drift 28s ease-in-out infinite alternate; }
.theme-aurora .landing-bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 80% at 50% 40%, transparent 40%, rgb(5 6 16 / .55)); }
.theme-aurora .landing-sheet { margin-top: 10px; padding: 30px 20px 22px; border: 1px solid rgb(255 255 255 / .16); border-radius: 34px;
  background: linear-gradient(180deg, rgb(255 255 255 / .11), rgb(255 255 255 / .04)); backdrop-filter: blur(26px) saturate(150%); -webkit-backdrop-filter: blur(26px) saturate(150%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .2), 0 40px 80px -40px rgb(0 0 0 / .7); }
.theme-aurora .landing-hero, .theme-aurora .landing-description { text-align: center; }
.theme-aurora .landing-hero { align-items: center; }
.theme-aurora .landing-avatar { border: 2px solid rgb(255 255 255 / .55); box-shadow: 0 16px 36px -14px rgb(0 0 0 / .6); background: rgb(255 255 255 / .1); }
.theme-aurora .landing-initial { color: #fff; font-weight: 300; }
.theme-aurora .landing-status { background: rgb(255 255 255 / .1); color: var(--text-2); }
.theme-aurora .landing-status .landing-dot { color: var(--ok); }
.theme-aurora .landing-status.is-paused .landing-dot { color: var(--warn); }
.theme-aurora .landing-status.is-idle .landing-dot { color: var(--idle); }
.theme-aurora .landing-cta { box-shadow: 0 18px 40px -18px rgb(0 0 0 / .65); }
.theme-aurora .landing-cta .landing-icon { background: linear-gradient(135deg, var(--a1), var(--a2)); color: #fff; }
.theme-aurora .landing-button { background: rgb(255 255 255 / .07); }
.theme-aurora .landing-chip { background: rgb(255 255 255 / .06); }
.theme-aurora .landing-chip-icon { color: #fff; }
.theme-aurora .landing-save { border: 0; background: rgb(255 255 255 / .06); border-radius: 18px; }
@keyframes aurora-drift { from { transform: translate3d(-4%, -2%, 0) rotate(0deg) scale(1); } to { transform: translate3d(5%, 4%, 0) rotate(8deg) scale(1.08); } }

/* ---------- Studio: a light photo-studio backdrop; the avatar is a taped print; a serif name like a caption. ---------- */
.theme-studio {
  --ink: #14233a;
  --bg: #eceef1; --surface: #fff; --surface-2: #fbfbfc; --line: #d8dce2; --line-strong: #aeb5bf;
  --text: #161a21; --text-2: #3b424e; --muted: #5c6371; --ok: #1d7f4f; --warn: #8a5800; --idle: #5c6371;
  --cta: var(--ink); --cta-hover: color-mix(in srgb, var(--ink) 86%, white); --cta-ink: #fff; --chip: #eff1f4; --chip-ink: var(--ink); --focus: var(--ink);
  --font-title: "Studio Serif", Georgia, "Times New Roman", serif; --title-weight: 600; --title-tracking: -.015em; --title-leading: 1.06;
  --title-s: 42px; --title-m: 35px; --title-l: 28px; --title-xl: 24px;
  --avatar: 132px; --avatar-radius: 2px; --radius-cta: 14px; --radius-button: 14px; --icon-radius: 10px;
  color-scheme: light;
}
.theme-studio[data-accent="crimson"] { --ink: #b4232c; }
.theme-studio[data-accent="cobalt"] { --ink: #1d4ed8; }
.theme-studio .landing-bg { background: radial-gradient(65% 42% at 50% -4%, #fff 0%, rgb(255 255 255 / 0) 72%), linear-gradient(180deg, #dcdfe4 0%, #eceef1 48%, #f7f7f8 100%); }
.theme-studio .landing-bg::after { content: ""; position: absolute; inset: auto 0 0; height: 38%; background: radial-gradient(90% 60% at 50% 100%, rgb(22 28 40 / .07), transparent 70%); }
.theme-studio .landing-avatar { overflow: visible; margin: 10px 0 28px 4px; padding: 8px 8px 9px; border: 0; border-radius: 3px; background: #fff; rotate: -3deg;
  box-shadow: 0 1px 1px rgb(16 20 30 / .1), 0 20px 34px -16px rgb(16 20 30 / .45); }
.theme-studio .landing-avatar::before { content: ""; position: absolute; top: -11px; left: 50%; width: 58px; height: 22px; transform: translateX(-50%) rotate(5deg);
  background: rgb(250 250 246 / .72); box-shadow: 0 1px 2px rgb(0 0 0 / .08); }
.theme-studio .landing-avatar img { border-radius: 1px; }
.theme-studio .landing-initial { border-radius: 1px; background: linear-gradient(160deg, #e7e9ed, #d9dce2); color: var(--ink); }
.theme-studio .landing-handle { font-size: 14.5px; }
.theme-studio .landing-status { background: #fff; box-shadow: 0 0 0 1px var(--line); }
.theme-studio .landing-description { font: 400 17.5px/1.6 "Studio Serif", Georgia, serif; }
.theme-studio .landing-cta { box-shadow: 0 14px 26px -16px color-mix(in srgb, var(--ink) 80%, transparent); }
.theme-studio .landing-button { box-shadow: 0 1px 2px rgb(16 24 40 / .05); }
.theme-studio .landing-chip { background: rgb(255 255 255 / .55); }
.theme-studio .landing-chip-icon { color: var(--ink); }
@media (hover: hover) { .theme-studio .landing-chip:hover { background: #fff; } }

/* ---------- Poster: a printed poster — huge black capitals, thick frames, hard offset shadows that press in. ---------- */
.theme-poster {
  --paper: #e8462f; --on: #111; --box: #fff; --box-ink: #111; --cta-shadow: #fff;
  --bg: var(--paper); --surface: var(--box); --surface-2: var(--box); --line: #111; --line-strong: #111;
  --text: var(--on); --text-2: var(--on); --muted: var(--on); --ok: var(--on); --warn: var(--on); --idle: var(--on);
  --cta: #111; --cta-hover: #111; --cta-ink: #fff; --chip: var(--paper); --chip-ink: #111; --focus: var(--on);
  --font-title: Unbounded, Onest, sans-serif; --title-weight: 900; --title-tracking: -.025em; --title-leading: .98;
  --title-s: 52px; --title-m: 40px; --title-l: 31px; --title-xl: 25px;
  --avatar: 112px; --avatar-radius: 0; --radius-cta: 0; --radius-button: 0; --radius-tile: 0; --icon-radius: 0;
  color-scheme: light;
}
.theme-poster[data-accent="cobalt"] { --paper: #2547f0; --on: #fff; --chip: #2547f0; --chip-ink: #fff; }
.theme-poster[data-accent="sun"] { --paper: #f5c12e; }
.theme-poster[data-accent="paper"] { --paper: #e7e7e4; --cta-shadow: #e8462f; --chip: #e8462f; --chip-ink: #fff; }
.theme-poster .landing-bg::before { content: ""; position: absolute; width: 300px; height: 300px; right: -150px; top: -150px; border: 3px solid var(--on); border-radius: 50%; }
.theme-poster .landing-bg::after { content: ""; position: absolute; width: 26px; height: 26px; right: 96px; top: 118px; border-radius: 50%; background: var(--on); }
.theme-poster .landing-avatar { margin-bottom: 24px; border: 3px solid #111; background: var(--box); box-shadow: 7px 7px 0 #111; rotate: -2.5deg; }
.theme-poster .landing-initial { background: var(--box); color: #111; font-weight: 900; }
.theme-poster .landing-title { text-transform: uppercase; }
.theme-poster .landing-handle { color: var(--on); font-weight: 700; }
.theme-poster .landing-status { padding: 5px 12px 5px 10px; border: 2px solid #111; border-radius: 0; background: var(--box); color: #111; font-weight: 700; }
.theme-poster .landing-status .landing-dot { color: #1f9d55; box-shadow: none; }
.theme-poster .landing-status.is-paused .landing-dot { color: #d97706; }
.theme-poster .landing-status.is-idle .landing-dot { color: #6b7280; }
.theme-poster .landing-description { font-weight: 600; font-size: 17px; line-height: 1.5; }
.theme-poster .landing-actions { gap: 14px; }
.theme-poster .landing-cta { min-height: 66px; border: 3px solid #111; box-shadow: 6px 6px 0 var(--cta-shadow); font: 800 18px/1.1 var(--font-title); text-transform: uppercase; letter-spacing: -.01em;
  transition: transform .12s ease-out, box-shadow .12s ease-out; }
.theme-poster .landing-cta .landing-icon { background: var(--paper); color: var(--on); }
.theme-poster .landing-button { border: 3px solid #111; color: #111; box-shadow: 5px 5px 0 #111; transition: transform .12s ease-out, box-shadow .12s ease-out; }
.theme-poster .landing-text strong { font-weight: 800; }
.theme-poster .landing-text small, .theme-poster .landing-chevron { color: #3d3d3d; }
.theme-poster .landing-chip { border: 2px solid var(--on); color: var(--on); font-weight: 700; }
.theme-poster .landing-chip-icon { color: var(--on); }
.theme-poster .landing-save { border: 2px dashed var(--on); border-radius: 0; color: var(--on); font-weight: 600; }
.theme-poster .landing-save .landing-glyph, .theme-poster .landing-footnote { color: var(--on); }
.theme-poster .landing-lang { border: 2px solid var(--on); border-radius: 0; background: var(--paper); color: var(--on); }
.theme-poster .landing-lang span, .theme-poster .landing-foot { color: var(--on); }
.theme-poster .landing-page :is(.landing-cta, .landing-button):active, .theme-poster :is(.landing-cta, .landing-button):active { transform: translate(5px, 5px); box-shadow: 0 0 0 transparent; }
@media (hover: hover) {
  .theme-poster .landing-cta:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--cta-shadow); }
  .theme-poster .landing-button:hover { background: var(--box); border-color: #111; transform: translate(-2px, -2px); box-shadow: 7px 7px 0 #111; }
  .theme-poster .landing-chip:hover { background: var(--on); color: var(--paper); border-color: var(--on); }
  .theme-poster .landing-chip:hover .landing-chip-icon { color: var(--paper); }
}
.theme-poster:not(.is-preview) .landing-hero > .landing-title { animation-name: poster-slam; animation-duration: .5s; }
@keyframes poster-slam { from { opacity: 0; transform: scale(1.12); } 60% { opacity: 1; transform: scale(.98); } to { opacity: 1; transform: none; } }

/* ---------- Terminal: a phosphor screen — monospaced, scanlines, a command prompt with a blinking cursor. ---------- */
.theme-terminal {
  --fg: #ffb547; --bg: #0f0b06;
  --text: var(--fg); --text-2: color-mix(in srgb, var(--fg) 84%, var(--bg)); --muted: color-mix(in srgb, var(--fg) 62%, var(--bg));
  --surface: color-mix(in srgb, var(--fg) 5%, transparent); --surface-2: color-mix(in srgb, var(--fg) 11%, transparent);
  --line: color-mix(in srgb, var(--fg) 46%, transparent); --line-strong: var(--fg); --ok: var(--fg); --warn: var(--fg); --idle: var(--muted);
  --cta: var(--fg); --cta-hover: color-mix(in srgb, var(--fg) 85%, white); --cta-ink: var(--bg); --chip: transparent; --chip-ink: var(--fg); --focus: var(--fg);
  --font-title: "JetBrains Mono", ui-monospace, Consolas, monospace; --font-text: var(--font-title); --font-ui: var(--font-title);
  --title-weight: 700; --title-tracking: -.01em; --title-leading: 1.2; --title-s: 30px; --title-m: 25px; --title-l: 21px; --title-xl: 18px;
  --avatar: 100px; --avatar-radius: 0; --radius-cta: 0; --radius-button: 0; --radius-tile: 0; --icon-radius: 0;
  text-shadow: 0 0 7px color-mix(in srgb, var(--fg) 42%, transparent);
}
.theme-terminal[data-accent="green"] { --fg: #7ff0a8; --bg: #06100a; }
.theme-terminal[data-accent="ice"] { --fg: #a5dcff; --bg: #060b12; }
.theme-terminal .landing-bg { background: radial-gradient(110% 75% at 50% 30%, color-mix(in srgb, var(--fg) 8%, var(--bg)) 0%, var(--bg) 72%); }
.theme-terminal .landing-bg::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(to bottom, rgb(0 0 0 / .26) 0 1px, transparent 1px 3px); }
.theme-terminal .landing-avatar { padding: 5px; border: 1px solid var(--line); background: transparent; }
.theme-terminal .landing-avatar img { filter: saturate(.8) contrast(1.06); }
.theme-terminal .landing-avatar::after { content: ""; position: absolute; inset: 5px; background: repeating-linear-gradient(to bottom, rgb(0 0 0 / .22) 0 1px, transparent 1px 3px), color-mix(in srgb, var(--fg) 10%, transparent); mix-blend-mode: multiply; }
.theme-terminal .landing-initial { background: var(--surface); color: var(--fg); }
.theme-terminal .landing-title::before { content: "> "; color: var(--muted); }
.theme-terminal .landing-title::after { content: ""; display: inline-block; width: .55em; height: .95em; margin-left: .15em; vertical-align: -.1em; background: var(--fg); animation: terminal-blink 1.1s steps(1) infinite; }
.theme-terminal .landing-handle { margin-top: 10px; font-size: 14px; }
.theme-terminal .landing-status { padding: 0; background: transparent; color: var(--text-2); font-size: 13.5px; }
.theme-terminal .landing-status .landing-dot { display: none; }
.theme-terminal .landing-status::before { content: "[  OK  ]"; color: var(--fg); font-weight: 700; white-space: pre; }
.theme-terminal .landing-status.is-paused::before { content: "[ WARN ]"; }
.theme-terminal .landing-status.is-idle::before { content: "[ ---- ]"; color: var(--muted); }
.theme-terminal .landing-description { font-size: 14.5px; line-height: 1.7; }
.theme-terminal .landing-cta { min-height: 58px; padding: 10px 18px; font: 700 16px/1.2 var(--font-ui); text-shadow: none; box-shadow: 0 0 22px -4px color-mix(in srgb, var(--fg) 60%, transparent); }
.theme-terminal .landing-cta .landing-icon { display: none; }
.theme-terminal .landing-label { padding: 0; }
.theme-terminal .landing-label::before { content: "[ "; }
.theme-terminal .landing-label::after { content: " ]"; }
.theme-terminal .landing-button { min-height: 60px; border-style: dashed; }
.theme-terminal .landing-icon { width: 38px; height: 38px; border: 1px solid var(--line); }
.theme-terminal .landing-text strong { font-size: 15px; font-weight: 700; }
.theme-terminal .landing-text small { font-size: 12.5px; }
.theme-terminal .landing-extras { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.theme-terminal .landing-chip { min-height: 40px; flex-direction: row; padding: 6px 2px; border: 0; color: var(--fg); font-size: 14px; }
.theme-terminal .landing-chip-icon { display: none; }
.theme-terminal .landing-chip > span:last-child::before { content: "[ "; color: var(--muted); }
.theme-terminal .landing-chip > span:last-child::after { content: " ]"; color: var(--muted); }
.theme-terminal .landing-save { border-style: dashed; border-color: var(--line); font-size: 13px; }
.theme-terminal .landing-lang { border-radius: 0; }
/* On a wide screen the page sits in a terminal window frame. */
@media (min-width: 760px) {
  .theme-terminal:not(.is-preview) .landing-sheet { max-width: 520px; padding: 46px 30px 28px; border: 1px solid var(--line); background: color-mix(in srgb, var(--fg) 3%, transparent); position: relative; }
  .theme-terminal:not(.is-preview) .landing-sheet::before { content: "swapix@link:~$ open"; position: absolute; inset: 0 0 auto; height: 30px; padding: 0 14px; display: flex; align-items: center;
    border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12.5px; }
}
@media (hover: hover) {
  .theme-terminal .landing-button:hover { border-style: solid; border-color: var(--fg); }
  .theme-terminal .landing-chip:hover { background: var(--fg); color: var(--bg); text-shadow: none; }
}
@keyframes terminal-blink { 50% { opacity: 0; } }

/* ---------- Velvet: wine velvet and champagne gold; an italic serif name framed by thin rings. ---------- */
.theme-velvet {
  --gold: #e9cfa4; --gold-ink: #2a0d17;
  --bg: #160910; --surface: rgb(255 255 255 / .025); --surface-2: color-mix(in srgb, var(--gold) 8%, transparent);
  --line: color-mix(in srgb, var(--gold) 38%, transparent); --line-strong: color-mix(in srgb, var(--gold) 75%, transparent);
  --text: #f7ede6; --text-2: rgb(247 237 230 / .78); --muted: rgb(247 237 230 / .56); --ok: #b9e4c4; --warn: #f3d08a; --idle: rgb(247 237 230 / .56);
  --cta: var(--gold); --cta-hover: color-mix(in srgb, var(--gold) 88%, white); --cta-ink: var(--gold-ink);
  --chip: color-mix(in srgb, var(--gold) 13%, transparent); --chip-ink: var(--gold); --focus: var(--gold);
  --font-title: "Velvet Serif", Georgia, serif; --title-weight: 500; --title-tracking: 0em; --title-leading: 1.08;
  --title-s: 48px; --title-m: 40px; --title-l: 31px; --title-xl: 26px;
  --avatar: 112px; --avatar-radius: 50%; --radius-cta: 999px; --radius-button: 999px; --icon-radius: 50%;
}
.theme-velvet[data-accent="rose"] { --gold: #f2b5a7; --gold-ink: #2b0f12; }
.theme-velvet[data-accent="pearl"] { --gold: #e6e2ee; --gold-ink: #1d1626; }
.theme-velvet .landing-bg { background: radial-gradient(95% 55% at 50% -8%, #4c1527 0%, rgb(76 21 39 / 0) 68%), radial-gradient(70% 45% at 100% 105%, #2c0c19 0%, transparent 70%), var(--bg); }
.theme-velvet .landing-bg::after { content: ""; position: absolute; inset: 0; opacity: .07; mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"); }
.theme-velvet .landing-hero, .theme-velvet .landing-description, .theme-velvet .landing-save, .theme-velvet .landing-footnote { text-align: center; }
.theme-velvet .landing-hero { align-items: center; }
.theme-velvet .landing-avatar { overflow: visible; margin: 14px 0 30px; border: 0; background: transparent; }
.theme-velvet .landing-avatar::before, .theme-velvet .landing-avatar::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.theme-velvet .landing-avatar::before { inset: -8px; border: 1px solid var(--gold); }
.theme-velvet .landing-avatar::after { inset: -16px; border: 1px solid color-mix(in srgb, var(--gold) 32%, transparent); }
.theme-velvet .landing-avatar img, .theme-velvet .landing-initial { border-radius: 50%; }
.theme-velvet .landing-initial { background: radial-gradient(circle at 35% 30%, #3a1322, #1d0a12); color: var(--gold); font-style: italic; }
.theme-velvet .landing-title { font-style: italic; }
.theme-velvet .landing-title::after { content: ""; display: block; width: 84px; height: 9px; margin: 16px auto 0; background: var(--gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='9'%3E%3Cpath d='M0 4.5h33M51 4.5h33' stroke='%23000'/%3E%3Cpath d='M42 .5l4 4-4 4-4-4z'/%3E%3C/svg%3E") center / 84px 9px no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='9'%3E%3Cpath d='M0 4.5h33M51 4.5h33' stroke='%23000'/%3E%3Cpath d='M42 .5l4 4-4 4-4-4z'/%3E%3C/svg%3E") center / 84px 9px no-repeat; }
.theme-velvet .landing-handle { margin-top: 12px; letter-spacing: .04em; font-size: 14px; }
.theme-velvet .landing-status { padding: 0; background: transparent; color: var(--text-2); font-size: 13px; }
.theme-velvet .landing-status .landing-dot { color: var(--ok); width: 6px; height: 6px; }
.theme-velvet .landing-status.is-paused .landing-dot { color: var(--warn); }
.theme-velvet .landing-status.is-idle .landing-dot { color: var(--idle); }
.theme-velvet .landing-description { font-size: 15.5px; font-weight: 300; line-height: 1.7; }
.theme-velvet .landing-cta { box-shadow: 0 16px 34px -18px color-mix(in srgb, var(--gold) 70%, transparent), inset 0 1px 0 rgb(255 255 255 / .5); }
.theme-velvet .landing-cta .landing-icon { background: color-mix(in srgb, var(--gold-ink) 12%, transparent); }
.theme-velvet .landing-button { min-height: 62px; padding-inline-end: 18px; background: transparent; }
.theme-velvet .landing-text strong { font-weight: 500; }
.theme-velvet .landing-chip { border-color: color-mix(in srgb, var(--gold) 26%, transparent); color: var(--text-2); }
.theme-velvet .landing-chip-icon { color: var(--gold); }
.theme-velvet .landing-save { justify-content: center; border: 1px solid color-mix(in srgb, var(--gold) 20%, transparent); border-radius: 18px; }
.theme-velvet:not(.is-preview) .landing-hero > * { animation-duration: .9s; }
