/* Keep the desktop palette aligned with theme-tokens.css for companions. */
/* Orbit: shared with the phone and workers companions; no downloadable fonts. */
html[data-theme="orbit"] {
  color-scheme:dark;
  --tint:#214852; --accent:#ed9563; --accent-2:#65d1c0; --accent-3:#d4b688;
  --font:"Trebuchet MS","Avenir Next",system-ui,sans-serif;
  --bg:#0c1824; --panel:#172936; --panel-2:#203746; --border:#47606c;
  --text:#f4eee5; --muted:#b0c4cd; --input-bg:#101f2c; --link:#81dfcf;
  --radius:24px 8px; --radius-btn:12px 5px; --radius-input:10px;
  --surface:linear-gradient(155deg,var(--panel-2),var(--panel) 65%);
  --grad-primary:linear-gradient(135deg,#aa421b,#853c26);
  --grad-primary-hover:linear-gradient(135deg,#963817,#74311f);
  --app-bg:radial-gradient(ellipse at 100% 0%,#24414c,transparent 55%),linear-gradient(var(--bg),var(--bg));
  --orbit-rim:#76909b; --orbit-under:#07121c; --orbit-shade:rgba(0,0,0,.3);
}
html[data-theme="orbit"][data-mode="light"] {
  color-scheme:light;
  --accent:#ae451c; --accent-2:#006e64; --accent-3:#866122;
  --bg:#f4eee5; --panel:#fffaf2; --panel-2:#eee4d6; --border:#b3aa99;
  --text:#242c37; --muted:#5b625e; --input-bg:#fffdf9; --link:#006e64;
  --app-bg:radial-gradient(ellipse at 100% 0%,#d2e6df,transparent 55%),linear-gradient(var(--bg),var(--bg));
  --orbit-rim:#ffffff; --orbit-under:#c7baa5; --orbit-shade:rgba(67,57,36,.16);
}

/* Orbit: one short ambient animation, then interaction-only motion; no animation runtime. */
html[data-theme="orbit"] body { background:var(--app-bg); }
html[data-theme="orbit"] .brand::after {
  content:""; display:inline-block; vertical-align:middle; margin-left:10px;
  width:22px; height:22px; border:1px solid var(--accent-2); border-radius:50%;
  background:radial-gradient(circle at 50% 0%,var(--accent) 0 3px,transparent 4px),
    radial-gradient(circle at 50% 100%,var(--accent-2) 0 2px,transparent 3px);
  pointer-events:none;
}
html[data-theme="orbit"] :is(.topbar,.sidebar) {
  background:var(--panel); border-color:var(--border); backdrop-filter:none;
}
html[data-theme="orbit"] :is(h1,h2,h3,h4) { font-style:normal; letter-spacing:-.035em; }
html[data-theme="orbit"] :is(.card,.stat,.modal,.login-card),
html[data-theme="orbit"] .cal .day:not(.empty) {
  background:var(--surface) !important; border:1px solid var(--border) !important;
  border-radius:24px 8px !important;
  box-shadow:inset 0 1px 0 var(--orbit-rim),inset 0 -2px 0 var(--orbit-under),
    0 4px 0 -1px var(--orbit-under),0 12px 20px -15px var(--orbit-shade) !important;
  backdrop-filter:none !important;
}
html[data-theme="orbit"] .card.station-card {
  border-radius:42px 12px 42px 12px !important;
  border-top:3px solid var(--accent-2) !important;
}
html[data-theme="orbit"] .station-card .sc-balance {
  background:var(--input-bg); border-radius:18px 6px; border:1px solid var(--border);
}
html[data-theme="orbit"] .cal .day:not(.empty) { border-radius:18px 5px !important; }
html[data-theme="orbit"] .cal .day.today { outline:2px solid var(--accent-2); outline-offset:2px; }
html[data-theme="orbit"] :is(.btn,.tab,.seg button,.pill,.chip) {
  border-radius:12px 5px !important; backdrop-filter:none !important;
}
html[data-theme="orbit"] :is(.btn,.tab,.seg button) {
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--orbit-rim) 55%,transparent),0 2px 0 var(--orbit-under);
}
html[data-theme="orbit"] :is(.btn.primary,.tab.active,.seg button.active) {
  color:#fff; background:var(--grad-primary); border-color:transparent;
}
html[data-theme="orbit"] :is(input,select,textarea) {
  border-radius:10px; background:var(--input-bg); color:var(--text); border-color:var(--border);
  box-shadow:inset 0 2px 2px var(--orbit-shade);
}
html[data-theme="orbit"] :is(button,a,input,select,textarea,[tabindex]):focus-visible {
  outline:2px solid var(--accent-2); outline-offset:3px;
}
html[data-theme="orbit"] :is(th,.muted,.meta) { color:var(--muted); }
html[data-theme="orbit"] tbody tr:hover { background:var(--tint-08); }
html[data-theme="orbit"] :is(.sc-bal-num,.stat .value,td) { font-variant-numeric:tabular-nums; }
/* Gallery art is preview-only, so orbital rings never overlay operational card content. */
.theme-showcase[data-preset="orbit"] .theme-showcase-pane {
  border-radius:25px 5px; border-top:2px solid var(--preview-b);
  box-shadow:inset 0 1px 0 #ffffff65,0 4px 0 color-mix(in srgb,var(--preview-panel) 70%,#000);
}
.theme-showcase[data-preset="orbit"] .theme-showcase-orbit { border:2px dashed var(--preview-a); border-radius:50%; }
@keyframes orbit-arrival { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@keyframes orbit-revolve { from { transform:rotate(-35deg); } to { transform:rotate(325deg); } }
@media (prefers-reduced-motion:no-preference) {
  html[data-theme="orbit"][data-mode] .brand::after { animation:orbit-revolve 4.8s cubic-bezier(.2,.7,.25,1) both !important; }
  html[data-theme="orbit"][data-mode] .card.station-card { animation:orbit-arrival .45s cubic-bezier(.2,.7,.25,1) backwards !important; }
  html[data-theme="orbit"][data-mode] .card.station-card:nth-child(2) { animation-delay:.06s !important; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  html[data-theme="orbit"] :is(.station-card,.cal .day:not(.empty),.btn,.tab) { transition:transform .2s cubic-bezier(.2,.7,.25,1); }
  html[data-theme="orbit"] :is(.station-card,.cal .day:not(.empty)):hover { transform:translateY(-3px) !important; }
  html[data-theme="orbit"] :is(.btn,.tab):hover { transform:translateY(-1px); }
  html[data-theme="orbit"] :is(.btn,.tab):active { transform:translateY(1px); }
  .theme-swatch:hover .theme-showcase[data-preset="orbit"] .theme-showcase-orbit { animation:orbit-revolve 1.2s ease-out; }
}
@media (pointer:fine) {
  html[data-theme="orbit"],html[data-theme="orbit"] body {
    cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M3 2L8 24L12 15L22 12Z' fill='%23ed9563' stroke='%230c1824' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M5 5L12 15' stroke='%23fffaf2' stroke-width='2'/%3E%3C/svg%3E") 3 2,auto;
  }
  html[data-theme="orbit"] :is(button,a,[role="button"]) {
    cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='10' fill='%230c1824' stroke='%2365d1c0' stroke-width='2'/%3E%3Ccircle cx='14' cy='14' r='3' fill='%23ed9563'/%3E%3C/svg%3E") 14 14,pointer;
  }
  html[data-theme="orbit"] :is(button:disabled,[aria-disabled="true"]) { cursor:not-allowed; }
  html[data-theme="orbit"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,[contenteditable="true"]) { cursor:text; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-theme="orbit"] *,html[data-theme="orbit"] *::before,html[data-theme="orbit"] *::after,
  .theme-showcase[data-preset="orbit"] * { animation:none !important; transition:none !important; }
}
@media print { html[data-theme="orbit"] .brand::after { display:none; } }
html[data-theme="orbit"] .card.station-card { position:relative; }
html[data-theme="orbit"] .card.station-card::before {
  content:""; position:absolute; left:auto; right:20px; top:8px; width:38px; height:3px;
  background:repeating-linear-gradient(90deg,var(--accent) 0 7px,transparent 7px 11px);
  pointer-events:none; opacity:.8;
}
html[data-theme="orbit"] .card.station-card::after {
  content:""; position:absolute; right:5px; bottom:5px; width:26px; height:26px;
  border:2px solid var(--accent-2); border-left:0; border-top:0; border-radius:0 0 30px;
  background:none; pointer-events:none; opacity:.6;
}
html[data-theme="orbit"] .health-hb .hb-dot,
html[data-theme="orbit"] .health-hb .hb-dot::after { animation:none; }
@media (max-width:700px) {
  html[data-theme="orbit"] .cal { grid-template-columns:repeat(7,minmax(90px,1fr)); overflow-x:auto; overscroll-behavior-inline:contain; }
}
