/* Antigravity-inspired palette: restrained surfaces with spectrum accents. */
html[data-theme="antigravity"] {
  color-scheme:dark;
  --tint:#a9b8ff; --accent:#a9b8ff; --accent-2:#90caf9; --accent-3:#f5a9bb;
  --font:"Google Sans","Outfit","Avenir Next",system-ui,sans-serif;
  --bg:#111114; --panel:#1d1e23; --panel-2:#292a30; --border:#45464e;
  --text:#f3f3f5; --muted:#b3b4be; --input-bg:#17181c; --link:#a9b8ff;
  --green:#65d38e; --red:#ff7c80; --amber:#ffc069; --orange:#ffb178;
  --radius:32px; --radius-btn:999px; --radius-input:16px;
  --surface:var(--panel); --surface-border-color:var(--border);
  --grad-brand:linear-gradient(var(--text),var(--text));
  --grad-primary:linear-gradient(var(--text),var(--text));
  --grad-primary-hover:linear-gradient(#d2d3d9,#d2d3d9);
  --btn-soft:linear-gradient(var(--panel-2),var(--panel-2));
  --btn-soft-hover:linear-gradient(var(--border),var(--border));
  --app-bg:var(--bg); --shadow:0 6px 22px #0002; --shadow-glow:var(--shadow);
  --ag-surface:radial-gradient(ellipse at 100% 0%,#7799ff18,transparent 48%),radial-gradient(ellipse at 85% 0%,#ed89b111,transparent 35%),var(--panel);
}
html[data-theme="antigravity"][data-mode="light"] {
  color-scheme:light;
  --accent:#3358bd; --accent-2:#4285f4; --accent-3:#d95076;
  --bg:#ffffff; --panel:#f8f9fb; --panel-2:#eceef2; --border:#d9dce3;
  --text:#121216; --muted:#585b66; --input-bg:#ffffff; --link:#3358bd;
  --green:#137333; --red:#c62828; --amber:#8a5100; --orange:#a94200;
  --grad-primary-hover:linear-gradient(#33343b,#33343b);
  --shadow:0 6px 22px #151b3106;
  --ag-surface:radial-gradient(ellipse at 100% 0%,#4285f414,transparent 48%),radial-gradient(ellipse at 85% 0%,#ef719c0d,transparent 35%),var(--panel);
}

/* Reuse the shared quiet controls; keep the reference's roomy, soft form. */
html[data-theme="antigravity"][data-mode] body { letter-spacing:-.015em; }
html[data-theme="antigravity"][data-mode] .topbar { background:var(--bg) !important; border-bottom-color:transparent; }
html[data-theme="antigravity"][data-mode] .brand { font-weight:500; letter-spacing:-.035em; }
html[data-theme="antigravity"][data-mode] :is(h1,h2,h3,h4) { font-weight:400; letter-spacing:-.045em; }
html[data-theme="antigravity"][data-mode] .section-head h2 { font-size:clamp(32px,4vw,54px); }
/* The reference hero types its headline with a blinking blue cursor. */
html[data-theme="antigravity"][data-mode] .section-head h2::after { content:""; display:inline-block; width:3px; height:.82em; margin-left:.12em; vertical-align:-.06em; background:#4285f4; animation:ag-blink 1s steps(1) infinite !important; }
@media (prefers-reduced-motion:reduce) { html[data-theme="antigravity"][data-mode] .section-head h2::after { animation:none !important; } }
html[data-theme="antigravity"][data-mode] .section-head { margin-block:8px 32px; }
html[data-theme="antigravity"][data-mode][data-style] :is(.card,.stat,.modal,.login-card,.status-strip) { border-radius:32px !important; }
html[data-theme="antigravity"][data-mode][data-style] .station-card { background:var(--ag-surface) !important; padding:32px; }
html[data-theme="antigravity"][data-mode] .station-card h3 { font-size:28px; font-weight:400; }
html[data-theme="antigravity"][data-mode] .station-card .sc-bal-num { font-weight:400; }
html[data-theme="antigravity"][data-mode] :is(.btn.primary,.btn.info) { background:var(--grad-primary); color:var(--bg); }
html[data-theme="antigravity"][data-mode] :is(.btn.primary,.btn.info):hover { background:var(--grad-primary-hover); }
html[data-theme="antigravity"][data-mode] .station-tabs-v .tab.active { background:var(--text); color:var(--bg); }
html[data-theme="antigravity"][data-mode] .station-tabs-v .tab { border-radius:999px !important; font-weight:400; }
html[data-theme="antigravity"][data-mode] :is(.station-rail-left,.station-rail-right) { border-radius:24px; }
html[data-theme="antigravity"][data-mode] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea) { border-radius:16px; }
html[data-theme="antigravity"][data-mode] :is(input[type="checkbox"],input[type="radio"]) { accent-color:var(--accent); }
html[data-theme="antigravity"][data-mode] .cal .day:not(.empty) { border-radius:20px !important; }
html[data-theme="antigravity"][data-mode] .cal .day .num { font-weight:500; }
html[data-theme="antigravity"][data-mode] .station-submenu { background:var(--panel-2); border:0; border-radius:20px; }
.theme-showcase[data-preset="antigravity"] .theme-showcase-pane { border-radius:28px; background:radial-gradient(ellipse at 100% 0%,#4285f430,transparent 55%),radial-gradient(ellipse at 80% 0%,#f28ba835,transparent 40%),var(--preview-panel); box-shadow:0 8px 20px #0001; }
.theme-showcase[data-preset="antigravity"] .theme-showcase-orbit { border:0; width:44px; height:5px; border-radius:999px; background:linear-gradient(90deg,#4285f4,#8b7bdf,#e66a8b,#fbbc04); opacity:.8; }
.theme-showcase[data-preset="antigravity"] .theme-showcase-mini-button { background:var(--preview-text); border-radius:999px; }
@media (max-width:700px) {
  html[data-theme="antigravity"][data-mode][data-style] .station-card { padding:24px; }
}

/* Switch primary and selected colors together to preserve contrast across modes. */
html[data-theme="antigravity"][data-mode] :is(.btn.primary,.btn.info,.station-tabs-v .tab.active) { transition-property:transform,opacity !important; }

/* ---------- antigravity.google: ink-pill nav, floating icon chips, spectrum caret, pale panels ---------- */
html[data-theme="antigravity"] {
  --ag-spectrum:linear-gradient(180deg,#4285f4,#8b7bdf 35%,#e66a8b 70%,#fbbc04);
  --ag-spectrum-x:linear-gradient(90deg,#4285f4,#8b7bdf 33%,#e66a8b 66%,#fbbc04);
  --ag-ghost:rgba(183,191,217,.1); --ag-hair:rgba(255,255,255,.08);
  --ag-ease:cubic-bezier(.2,.8,.2,1);
}
html[data-theme="antigravity"][data-mode="light"] { --ag-hair:rgba(33,34,38,.06); }
@keyframes ag-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }
@keyframes ag-caret { 0%,49% { opacity:1; } 50%,100% { opacity:0; } }
@keyframes ag-rise { from { opacity:0; transform:translateY(14px); } }
/* Header: clean bar; Log out becomes the ink "Download" pill; icons become floating round chips. */
html[data-theme="antigravity"][data-mode][data-style] .topbar { min-height:56px; border-bottom:1px solid var(--ag-hair) !important; }
html[data-theme="antigravity"][data-mode][data-style] .topbar #logout-btn { background:var(--text) !important; color:var(--bg) !important; border:0 !important; border-radius:9999px; padding:8px 18px; font-weight:500; }
html[data-theme="antigravity"][data-mode][data-style] .topbar :is(#theme-toggle,#themes-btn,#settings-btn) {
  width:40px; height:40px; padding:0; display:inline-grid; place-items:center; border-radius:50% !important;
  background:var(--panel) !important; border:1px solid var(--ag-hair) !important; box-shadow:0 4px 14px -8px #151b3140 !important;
  animation:ag-float 5s ease-in-out infinite;
}
html[data-theme="antigravity"][data-mode][data-style] .topbar #themes-btn { animation-duration:6.2s; animation-delay:-1.4s; }
html[data-theme="antigravity"][data-mode][data-style] .topbar #settings-btn { animation-duration:5.6s; animation-delay:-2.8s; }
html[data-theme="antigravity"][data-mode] .topbar .chip { background:var(--ag-ghost); border:1px solid var(--ag-hair); color:var(--text); border-radius:9999px; font-weight:400; }
/* Headings get the spectrum typing caret, and a hairline section divider below. */
html[data-theme="antigravity"][data-mode] .section-head { padding-bottom:20px; border-bottom:1px solid var(--ag-hair); }
html[data-theme="antigravity"][data-mode] .section-head h2::after {
  content:""; display:inline-block; width:4px; height:.9em; margin-left:.12em; vertical-align:-.06em; border-radius:2px;
  background:var(--ag-spectrum); animation:ag-caret 1.1s steps(1) infinite;
}
/* Secondary buttons: pale ghost pills like "Explore Product". */
html[data-theme="antigravity"][data-mode][data-style] #content .btn:not(.primary):not(.info):not(.danger) { background:var(--ag-ghost); border:1px solid var(--ag-hair); color:var(--text); border-radius:9999px; box-shadow:none; font-weight:400; }
html[data-theme="antigravity"][data-mode][data-style] #content .btn:not(.primary):not(.info):not(.danger):hover { background:color-mix(in srgb,var(--ag-ghost) 100%,var(--panel-2)); }
/* Pale panels with faint edges; a spectrum rim fades in on hover like the product panels. */
html[data-theme="antigravity"][data-mode][data-style] :is(.card,.stat,.station-rail-left,.station-rail-right) { border:1px solid var(--ag-hair) !important; box-shadow:none !important; }
html[data-theme="antigravity"][data-mode][data-style] .card { transition:transform .5s var(--ag-ease) !important; }
html[data-theme="antigravity"][data-mode][data-style] .card:hover { transform:translateY(-3px); }
html[data-theme="antigravity"][data-mode] .station-card::after {
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px; pointer-events:none;
  background:var(--ag-spectrum-x); opacity:0; transition:opacity .5s var(--ag-ease);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
}
html[data-theme="antigravity"][data-mode] .station-card:hover::after { opacity:.9; }
/* Vertical side bar: ghost hover pill, ink selected pill. */
html[data-theme="antigravity"][data-mode][data-style] .station-tabs-v .tab:not(.active):hover { background:var(--ag-ghost); }
html[data-theme="antigravity"][data-mode] .station-tabs-v .tab.active { background:var(--text) !important; color:var(--bg) !important; }
html[data-theme="antigravity"][data-mode] .stat .value { font-weight:400; letter-spacing:-.035em; }
/* Content lifts in softly. */
html[data-theme="antigravity"][data-mode] #content > * { animation:ag-rise .7s var(--ag-ease) backwards; }
html[data-theme="antigravity"][data-mode] #content > :nth-child(2) { animation-delay:.07s; }
html[data-theme="antigravity"][data-mode] #content > :nth-child(n+3) { animation-delay:.14s; }
@media (prefers-reduced-motion:reduce) {
  html[data-theme="antigravity"][data-mode] :is(#content > *,.topbar .btn,.section-head h2::after) { animation:none !important; }
}
