:root {
  --bg: #04060c;
  --panel: rgba(12, 19, 33, .55);
  --panel-border: rgba(120, 160, 210, .14);
  --cyan: #22d3ee;
  --cyan-soft: #67e8f9;
  --violet: #a855f7;
  --green: #4ade80;
  --amber: #fbbf24;
  --red: #f87171;
  --muted: #7d92b0;
  --text: #dbe9ff;
  --g1: #22d3ee;
  --g2: #3b82f6;
  --g3: #a855f7;
}
html[data-theme="violet"] {
  --cyan: #a855f7; --cyan-soft: #d8b4fe;
  --g1: #c084fc; --g2: #8b5cf6; --g3: #ec4899;
}
html[data-theme="amber"] {
  --cyan: #fbbf24; --cyan-soft: #fde68a;
  --g1: #fbbf24; --g2: #fb923c; --g3: #ef4444;
}

* { margin:0; padding:0; box-sizing:border-box; }

html { scrollbar-color:#1e3a5c var(--bg); }

body {
  font-family:'Rajdhani','Segoe UI',system-ui,sans-serif;
  color:var(--text); min-height:100vh; background:var(--bg);
  overflow-x:hidden;
}

#starfield { position:fixed; inset:0; z-index:0; transition:filter .4s ease; }
body.warp-active #starfield { filter:brightness(1.6) saturate(1.2); }

.space-decor { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.orbit-ring { position:absolute; border:1px solid rgba(140,180,230,.07); border-radius:50%; top:-340px; right:-260px; }
.ring-1 { width:900px; height:900px; }
.ring-2 { width:1240px; height:1240px; top:-480px; right:-420px; border-color:rgba(140,180,230,.05); }
.ring-3 { width:620px; height:620px; top:-220px; right:-140px; border-color:rgba(103,232,249,.09); }
.planet-earth {
  position:absolute; top:-190px; right:-150px; width:540px; height:540px; border-radius:50%;
  background:
    radial-gradient(circle at 28% 68%, rgba(96,165,250,.85) 0%, rgba(37,99,235,.75) 26%, rgba(30,58,138,.55) 46%, rgba(10,20,48,.9) 72%, #050a18 100%);
  box-shadow:
    inset -60px -40px 110px rgba(0,0,0,.85),
    inset 18px 14px 60px rgba(147,197,253,.25),
    0 0 90px rgba(59,130,246,.28);
}
.planet-earth::before {
  content:''; position:absolute; inset:-3px; border-radius:50%;
  background:radial-gradient(circle at 30% 65%, transparent 62%, rgba(125,211,252,.35) 66%, transparent 70%);
  filter:blur(1px);
}
.planet-earth::after {
  content:''; position:absolute; inset:0; border-radius:50%;
  background:
    radial-gradient(circle at 62% 38%, rgba(253,224,71,.16) 0%, transparent 8%),
    radial-gradient(circle at 45% 55%, rgba(253,224,71,.12) 0%, transparent 6%),
    radial-gradient(circle at 70% 60%, rgba(253,224,71,.10) 0%, transparent 5%);
  mix-blend-mode:screen;
}

.hud-frame { position:fixed; inset:10px; z-index:40; pointer-events:none; }
.hud-corner { position:absolute; width:34px; height:34px; opacity:.5; transition:opacity .3s ease; }
.hud-corner.tl { top:0; left:0; border-top:1.5px solid color-mix(in srgb, var(--cyan) 70%, transparent); border-left:1.5px solid color-mix(in srgb, var(--cyan) 70%, transparent); border-top-left-radius:6px; }
.hud-corner.tr { top:0; right:0; border-top:1.5px solid color-mix(in srgb, var(--cyan) 70%, transparent); border-right:1.5px solid color-mix(in srgb, var(--cyan) 70%, transparent); border-top-right-radius:6px; }
.hud-corner.bl { bottom:0; left:0; border-bottom:1.5px solid color-mix(in srgb, var(--cyan) 70%, transparent); border-left:1.5px solid color-mix(in srgb, var(--cyan) 70%, transparent); border-bottom-left-radius:6px; }
.hud-corner.br { bottom:0; right:0; border-bottom:1.5px solid color-mix(in srgb, var(--cyan) 70%, transparent); border-right:1.5px solid color-mix(in srgb, var(--cyan) 70%, transparent); border-bottom-right-radius:6px; }

.crt-overlay {
  position:fixed; inset:0; z-index:41; pointer-events:none;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.022) 0 1px, transparent 1px 3px),
    radial-gradient(ellipse at center, transparent 58%, rgba(2,5,12,.5) 100%);
  mix-blend-mode:overlay;
}

.site-header, main.container, .console-footer { position:relative; z-index:1; }

.mini-hud {
  position:fixed; top:0; left:0; right:0; z-index:50;
  display:flex; align-items:center; gap:.9rem;
  padding:.55rem clamp(1rem,4vw,2.4rem);
  background:rgba(6,11,21,.78); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(120,160,210,.16);
  transform:translateY(-110%); opacity:0;
  transition:transform .35s cubic-bezier(.2,.7,.3,1), opacity .3s ease;
}
.mini-hud.visible { transform:translateY(0); opacity:1; }
.mh-brand {
  font-family:'Orbitron',sans-serif; font-size:.68rem; letter-spacing:.28em;
  color:var(--cyan-soft); text-shadow:0 0 8px color-mix(in srgb, var(--cyan) 60%, transparent);
}
.mh-bar {
  flex:0 1 260px; height:6px; border-radius:99px;
  background:rgba(148,180,220,.1); border:1px solid rgba(148,180,220,.16);
  overflow:hidden;
}
.mh-fill {
  height:100%; width:0%; border-radius:99px;
  background:linear-gradient(90deg,var(--g1),var(--g2) 55%,var(--g3));
  box-shadow:0 0 10px color-mix(in srgb, var(--g2) 70%, transparent);
  transition:width .5s ease;
}
.mh-pct {
  font-family:'Orbitron',sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.1em;
  color:#cfe6ff; min-width:44px;
}
.mh-dots { margin-left:auto; display:flex; gap:.55rem; align-items:center; }
.mh-dot {
  width:11px; height:11px; border-radius:50%; cursor:pointer;
  border:1.5px solid currentColor; background:transparent; padding:0;
  position:relative; opacity:.75; transition:all .2s ease;
}
.mh-dot:hover { opacity:1; transform:scale(1.25); }
.mh-dot.complete { background:var(--green); border-color:var(--green); box-shadow:0 0 8px rgba(74,222,128,.7); opacity:1; }

.site-header { padding:1.4rem clamp(1.2rem,4vw,3rem) 2rem; text-align:center; }

.top-bar {
  display:flex; justify-content:space-between; align-items:center;
  max-width:1180px; margin:0 auto 3.2rem;
  font-size:.78rem; letter-spacing:.14em; color:var(--muted);
}
.brand { color:#e6f5ff; letter-spacing:.32em; display:flex; align-items:center; gap:.55rem; font-family:'Orbitron',sans-serif; font-weight:600; font-size:.82rem; }
.brand-mark { width:24px; height:24px; color:var(--cyan-soft); filter:drop-shadow(0 0 6px color-mix(in srgb, var(--cyan) 60%, transparent)); }
.top-actions { display:flex; gap:.4rem; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.icon-btn {
  background:none; border:none; color:var(--muted); cursor:pointer;
  width:34px; height:34px; border-radius:8px; display:grid; place-items:center;
  transition:color .15s ease, background .15s ease, transform .15s ease;
}
.icon-btn svg { width:17px; height:17px; }
.icon-btn:hover { color:var(--cyan-soft); background:color-mix(in srgb, var(--cyan) 9%, transparent); transform:translateY(-1px); }
.icon-btn:active { transform:translateY(0) scale(.94); }

.theme-dots { display:flex; gap:.45rem; margin:0 .35rem; align-items:center; }
.theme-dot {
  width:13px; height:13px; border-radius:50%; cursor:pointer; padding:0;
  border:1.5px solid transparent; position:relative;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.theme-dot[data-t="cyan"] { background:#22d3ee; box-shadow:0 0 8px rgba(34,211,238,.55); }
.theme-dot[data-t="violet"] { background:#a855f7; box-shadow:0 0 8px rgba(168,85,247,.55); }
.theme-dot[data-t="amber"] { background:#fbbf24; box-shadow:0 0 8px rgba(251,191,36,.55); }
.theme-dot:hover { transform:scale(1.25); }
.theme-dot.active { border-color:#fff; transform:scale(1.2); }

.operator-chip {
  margin-left:.6rem;
  border:1px solid rgba(120,180,240,.28); padding:.42rem 1rem; border-radius:99px;
  display:flex; align-items:center; gap:.6rem; letter-spacing:.22em; font-size:.66rem; font-weight:600;
  color:#d7e8fb; font-family:'Rajdhani',sans-serif;
  background:rgba(12,20,36,.6);
}
.status-led {
  width:7px; height:7px; border-radius:50%; display:inline-block; flex-shrink:0;
  animation:ledPulse 2.2s ease-in-out infinite;
}
.status-led.green { background:var(--green); box-shadow:0 0 8px rgba(74,222,128,.9), 0 0 2px rgba(74,222,128,1); }
@keyframes ledPulse { 0%,100% { opacity:1; } 50% { opacity:.45; } }

.mega-title {
  font-family:'Orbitron',sans-serif;
  font-size:clamp(3rem,10vw,6.4rem);
  font-weight:800; letter-spacing:.16em; text-indent:.16em;
  background:linear-gradient(180deg,#f0feff 0%,#9beaff 42%,#39c1e8 78%,#1178a0 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 0 26px color-mix(in srgb, var(--cyan) 40%, transparent)) drop-shadow(0 0 64px color-mix(in srgb, var(--cyan) 18%, transparent));
  cursor:default;
  transition:filter .25s ease;
}
.mega-title:hover {
  filter:drop-shadow(-2px 0 0 rgba(255,80,120,.55)) drop-shadow(2px 0 0 rgba(80,220,255,.6)) drop-shadow(0 0 30px color-mix(in srgb, var(--cyan) 50%, transparent));
}
.console-subtitle {
  letter-spacing:.62em; text-indent:.62em; text-transform:uppercase;
  color:#6fa3c4; font-size:.8rem; font-weight:600; margin-top:.8rem;
}

.overall-block { max-width:min(880px,94%); margin:2.6rem auto 0; }
.progress-meta {
  display:flex; justify-content:space-between;
  font-family:'Rajdhani',sans-serif;
  font-size:.72rem; letter-spacing:.3em; color:var(--muted); font-weight:600;
  margin-bottom:.6rem; text-transform:uppercase;
}
.overall-bar {
  position:relative;
  height:12px; border-radius:99px; background:rgba(148,180,220,.09);
  border:1px solid rgba(148,180,220,.16);
  box-shadow:inset 0 2px 6px rgba(0,0,0,.5);
}
.overall-fill {
  height:100%; width:0%; border-radius:99px;
  background:linear-gradient(90deg,var(--g1),var(--g2) 55%,var(--g3));
  box-shadow:0 0 18px color-mix(in srgb, var(--g2) 65%, transparent);
  transition:width .5s ease;
  position:relative; overflow:hidden;
}
.overall-fill::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  animation:sheen 2.6s linear infinite;
}
@keyframes sheen { from { transform:translateX(-100%);} to { transform:translateX(100%);} }
.progress-percent {
  position:absolute; left:0%; top:50%; transform:translate(-50%,-58%);
  font-family:'Rajdhani',sans-serif; font-size:.86rem; font-weight:700; letter-spacing:.06em;
  color:var(--cyan-soft); text-shadow:0 0 8px color-mix(in srgb, var(--cyan) 70%, transparent);
  padding-left:10px; transition:left .5s ease; white-space:nowrap;
}

.filter-bar {
  max-width:min(880px,94%); margin:1.3rem auto 0;
  display:flex; align-items:center; justify-content:center; gap:.55rem; flex-wrap:wrap;
}
.filter-group { display:flex; gap:.4rem; flex-wrap:wrap; }
.filter-sep { width:1px; height:20px; background:rgba(120,160,210,.22); margin:0 .3rem; }
.filter-chip {
  font-family:'Rajdhani',sans-serif; font-size:.64rem; font-weight:700; letter-spacing:.2em;
  padding:.38rem .85rem; border-radius:99px; cursor:pointer; white-space:nowrap;
  background:rgba(10,17,31,.7); border:1px solid rgba(140,190,250,.22); color:var(--muted);
  transition:all .18s ease;
}
.filter-chip:hover { color:#dbeafe; border-color:color-mix(in srgb, var(--cyan) 45%, transparent); }
.filter-chip.on.diff-Light { color:var(--green); border-color:rgba(74,222,128,.6); background:rgba(74,222,128,.09); box-shadow:0 0 10px rgba(74,222,128,.18); }
.filter-chip.on.diff-Medium { color:var(--amber); border-color:rgba(251,191,36,.6); background:rgba(251,191,36,.09); box-shadow:0 0 10px rgba(251,191,36,.18); }
.filter-chip.on.diff-Hard { color:var(--red); border-color:rgba(248,113,113,.6); background:rgba(248,113,113,.09); box-shadow:0 0 10px rgba(248,113,113,.18); }
.filter-chip.on.diff-VeryHard { color:#e879f9; border-color:rgba(232,121,249,.6); background:rgba(232,121,249,.09); box-shadow:0 0 10px rgba(232,121,249,.18); }
.filter-chip.on.st-notstarted { color:#93b4d8; border-color:rgba(147,180,216,.6); background:rgba(147,180,216,.08); }
.filter-chip.on.st-progress { color:var(--cyan); border-color:color-mix(in srgb, var(--cyan) 60%, transparent); background:color-mix(in srgb, var(--cyan) 9%, transparent); }
.filter-chip.on.st-done { color:var(--green); border-color:rgba(74,222,128,.6); background:rgba(74,222,128,.09); }
.filter-chip.toggle-wide.on { color:#dbeafe; border-color:color-mix(in srgb, var(--cyan) 55%, transparent); background:color-mix(in srgb, var(--cyan) 12%, transparent); box-shadow:0 0 12px color-mix(in srgb, var(--cyan) 22%, transparent); }
.filter-chip.ghost { border-style:dashed; opacity:.7; }
.filter-chip.ghost:hover { opacity:1; }

.container {
  max-width:1180px; margin:0 auto; padding:0 1.2rem 3.5rem;
  display:flex; flex-direction:column; gap:1.7rem;
}

.harness-section {
  --ac:#22d3ee;
  border-radius:18px; padding:1.2rem 1.4rem 1.35rem;
  background:linear-gradient(180deg, rgba(16,25,44,.62), rgba(9,14,26,.55));
  border:1px solid color-mix(in srgb, var(--ac) 26%, transparent);
  backdrop-filter:blur(10px);
  box-shadow:
    inset 0 1px 0 rgba(170,215,255,.05),
    0 0 0 1px rgba(0,0,0,.25),
    0 14px 40px rgba(0,0,0,.45),
    0 0 34px color-mix(in srgb, var(--ac) 9%, transparent);
  transition:border-color .25s ease;
}
.harness-section:hover { border-color:color-mix(in srgb, var(--ac) 42%, transparent); }
.harness-section.complete { border-color:color-mix(in srgb, var(--green) 42%, transparent); }
.harness-section.booting { animation:sectionBoot .6s ease; }
@keyframes sectionBoot {
  0% { box-shadow:inset 0 1px 0 rgba(170,215,255,.05), 0 0 0 1px rgba(0,0,0,.25), 0 14px 40px rgba(0,0,0,.45), 0 0 0 color-mix(in srgb, var(--ac) 0%, transparent); }
  40% { box-shadow:inset 0 1px 0 rgba(170,215,255,.05), 0 0 0 1px rgba(0,0,0,.25), 0 14px 40px rgba(0,0,0,.45), 0 0 60px color-mix(in srgb, var(--ac) 38%, transparent); }
  100% { box-shadow:inset 0 1px 0 rgba(170,215,255,.05), 0 0 0 1px rgba(0,0,0,.25), 0 14px 40px rgba(0,0,0,.45), 0 0 34px color-mix(in srgb, var(--ac) 9%, transparent); }
}

.harness-header { display:flex; align-items:center; gap:1.15rem; cursor:pointer; user-select:none; }

.orbit-system {
  --sys-size:76px;
  width:var(--sys-size); height:var(--sys-size); position:relative; flex-shrink:0;
}
.arc-svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.arc-track { stroke:rgba(148,180,220,.14); }
.arc-fill {
  stroke:var(--ac);
  filter:drop-shadow(0 0 5px color-mix(in srgb, var(--ac) 70%, transparent));
  transition:stroke-dashoffset .6s cubic-bezier(.2,.7,.3,1), stroke .3s ease;
}
.orbit-system.complete .arc-fill { stroke:var(--green); filter:drop-shadow(0 0 6px rgba(74,222,128,.8)); }

.planet-icon {
  position:absolute; inset:15px; border-radius:50%;
  box-shadow: inset -12px -9px 20px rgba(0,0,0,.6), 0 0 20px currentColor;
  transition:box-shadow .3s ease;
}
.orbit-system.complete .planet-icon { box-shadow: inset -12px -9px 20px rgba(0,0,0,.6), 0 0 26px currentColor, 0 0 46px rgba(74,222,128,.4); }
.orbit-system.charged .planet-icon { animation:planetCharge .45s ease; }
@keyframes planetCharge {
  0% { filter:brightness(1); } 45% { filter:brightness(1.9) saturate(1.3); } 100% { filter:brightness(1); }
}
.planet-icon::after {
  content:''; position:absolute; left:-16px; right:-16px; top:41%; height:32px;
  border:2px solid currentColor; border-radius:50%;
  transform:rotate(-18deg) scaleY(.32); opacity:.85;
  filter:drop-shadow(0 0 6px currentColor);
}
.planet-icon::before {
  content:''; position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.5), transparent 42%);
  mix-blend-mode:soft-light;
}

.moon-field { position:absolute; inset:-8px; animation:moonSpin 30s linear infinite; pointer-events:none; }
@keyframes moonSpin { to { transform:rotate(360deg); } }
.moon {
  position:absolute; left:50%; top:50%; width:6px; height:6px; margin:-3px;
  border-radius:50%; background:rgba(125,146,176,.5);
  transform:rotate(var(--ma)) translateX(41px) rotate(calc(-1 * var(--ma)));
  transition:background .4s ease, box-shadow .4s ease;
}
.moon.lit {
  background:var(--green); box-shadow:0 0 7px rgba(74,222,128,.95);
  transform:rotate(var(--ma)) translateX(41px) rotate(calc(-1 * var(--ma))) scale(1.3);
}

.harness-title h2 {
  font-family:'Orbitron',sans-serif;
  font-size:1.02rem; letter-spacing:.3em; font-weight:600; color:#eef7ff; text-transform:uppercase;
  text-shadow:0 0 14px color-mix(in srgb, var(--ac) 45%, transparent);
}
.task-count-label {
  font-size:.68rem; color:var(--muted); letter-spacing:.34em; text-transform:uppercase;
  margin-top:.3rem; display:block; font-weight:600;
}
.collapse-arrow { margin-left:auto; color:var(--muted); font-size:.8rem; transition:transform .25s ease; }
.harness-section:not(.collapsed) .collapse-arrow { transform:rotate(180deg); }

.harness-body { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; overflow:hidden; }
.harness-body.open { grid-template-rows:1fr; }
.harness-body-inner { overflow:hidden; min-height:0; display:flex; flex-direction:column; gap:.65rem; margin-top:1.1rem; }
.harness-body.open .harness-body-inner { animation:hangarIn .42s cubic-bezier(.2,.7,.3,1) both; }
@keyframes hangarIn {
  from { clip-path:inset(0 0 100% 0); transform:translateY(-8px); opacity:.4; }
  to { clip-path:inset(-2% 0 -2% 0); transform:translateY(0); opacity:1; }
}

.harness-sub {
  display:flex; align-items:center; gap:.55rem;
  margin:.55rem 0 0; padding-bottom:.35rem; padding-top:.35rem;
  cursor:pointer; user-select:none;
  border-bottom:1px solid color-mix(in srgb, var(--ac) 16%, transparent);
}
.harness-sub-dot { width:8px; height:8px; border-radius:50%; box-shadow:0 0 8px currentColor; flex-shrink:0; }
.harness-sub span:nth-child(2) {
  font-family:'Orbitron',sans-serif; font-size:.66rem; font-weight:600;
  letter-spacing:.28em; color:var(--muted); text-transform:uppercase;
}
.harness-sub-count {
  margin-left:.4rem; font-size:.66rem; letter-spacing:.14em; font-weight:600;
  color:color-mix(in srgb, var(--green) 75%, var(--muted)); font-family:'Rajdhani',sans-serif;
}
.harness-sub-bar {
  flex:0 1 90px; height:4px; border-radius:99px; margin-left:.6rem;
  background:rgba(148,180,220,.12); overflow:hidden;
}
.harness-sub-bar i {
  display:block; height:100%; width:0; border-radius:99px; background:var(--green);
  box-shadow:0 0 6px rgba(74,222,128,.6); transition:width .4s cubic-bezier(.2,.7,.3,1);
}
.harness-sub-reset {
  background:none; border:1px solid rgba(120,160,210,.22); border-radius:6px;
  color:var(--muted); cursor:pointer; width:22px; height:22px; font-size:12px; line-height:1;
  margin-left:.35rem; flex-shrink:0;
  transition:color .15s ease, border-color .15s ease, transform .15s ease;
}
.harness-sub-reset:hover { color:var(--red); border-color:rgba(248,113,113,.5); transform:rotate(-90deg); }
.harness-sub .collapse-arrow { margin-left:auto; margin-right:.2rem; }
.harness-sub:hover span:nth-child(2) { color:#eef7ff; }

/* ---------- notes ---------- */
.note-btn {
  background:none; border:1px solid rgba(120,160,210,.2); border-radius:7px;
  color:var(--muted); cursor:pointer; width:30px; height:30px; font-size:14px; flex-shrink:0;
  transition:color .15s ease, border-color .15s ease;
}
.note-btn:hover { color:var(--cyan-soft); border-color:rgba(34,211,238,.45); }
.note-btn.has-note { color:#fbbf24; border-color:rgba(251,191,36,.45); }
.note-area { display:none; padding:0 1.05rem .9rem; }
.note-area.open { display:block; }
.note-area textarea {
  width:100%; min-height:64px; resize:vertical;
  background:rgba(8,13,25,.8); color:#dbe9ff;
  border:1px solid rgba(251,191,36,.3); border-radius:8px;
  padding:8px 10px; font-family:'Rajdhani',sans-serif; font-size:14px;
}
.note-area textarea:focus { outline:none; border-color:rgba(251,191,36,.55); }

.harness-group { display:flex; flex-direction:column; gap:.55rem; }
.harness-group-body { display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s ease; overflow:hidden; }
.harness-group:not(.collapsed) .harness-group-body { grid-template-rows:1fr; }
.harness-group-inner { overflow:hidden; min-height:0; display:flex; flex-direction:column; gap:.5rem; }
.harness-group .harness-sub { margin:0; }
.harness-group.collapsed .harness-group-inner { display:none; }

.prompt-card {
  border-radius:12px; background:rgba(8,13,25,.72);
  border:1px solid rgba(150,195,245,.09);
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.prompt-card:hover { background:rgba(15,23,42,.85); border-color:color-mix(in srgb, var(--ac) 40%, transparent); box-shadow:0 6px 22px rgba(0,0,0,.35); }
.prompt-card.status-done { border-color:rgba(74,222,128,.32); background:rgba(20,40,30,.4); }
.prompt-card.status-progress { border-color:rgba(34,211,238,.3); }
.prompt-card.flash { animation:cardFlash 1s ease; }
@keyframes cardFlash {
  0%,100% { box-shadow:0 0 0 0 transparent; }
  25% { box-shadow:0 0 26px color-mix(in srgb, var(--ac) 55%, transparent); border-color:color-mix(in srgb, var(--ac) 80%, transparent); }
}

.card-row {
  display:grid; grid-template-columns:20px minmax(0,1fr) auto auto auto;
  align-items:center; gap:1.1rem; padding:.78rem 1.05rem; cursor:pointer; user-select:none;
  will-change:transform;
}

.checkwrap { position:relative; width:18px; height:18px; display:inline-block; flex-shrink:0; cursor:pointer; }
.checkwrap input[type=checkbox] {
  appearance:none; -webkit-appearance:none;
  width:18px; height:18px; border-radius:5px; cursor:pointer;
  border:1.5px solid rgba(148,180,220,.4); background:rgba(8,14,26,.6);
  display:block; transition:all .15s ease;
}
.checkwrap input[type=checkbox]:hover { border-color:var(--cyan-soft); box-shadow:0 0 8px color-mix(in srgb, var(--cyan) 35%, transparent); }
.checkwrap input[type=checkbox]:checked {
  background:linear-gradient(135deg,var(--cyan),var(--g2));
  border-color:var(--cyan-soft);
  box-shadow:0 0 10px color-mix(in srgb, var(--cyan) 50%, transparent);
}
.checkwrap svg {
  position:absolute; inset:-1px; width:20px; height:20px; pointer-events:none;
}
.checkwrap path {
  fill:none; stroke:#04121e; stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:24; stroke-dashoffset:24;
  transition:stroke-dashoffset .32s ease .06s;
}
.checkwrap input:checked ~ svg path { stroke-dashoffset:0; }

.prompt-title { font-size:.95rem; color:#ddeafc; font-weight:500; line-height:1.35; letter-spacing:.02em; }

.difficulty-tag {
  font-family:'Rajdhani',sans-serif;
  font-size:.66rem; letter-spacing:.22em; padding:.28rem .8rem .24rem; border-radius:6px;
  text-transform:uppercase; font-weight:700; white-space:nowrap;
  background:transparent; text-align:center; min-width:74px;
}
.difficulty-Light { color:var(--green); border:1px solid rgba(74,222,128,.55); background:rgba(74,222,128,.07); }
.difficulty-Medium { color:var(--amber); border:1px solid rgba(251,191,36,.55); background:rgba(251,191,36,.07); }
.difficulty-Hard { color:var(--red); border:1px solid rgba(248,113,113,.55); background:rgba(248,113,113,.07); }
.difficulty-VeryHard { color:#e879f9; border:1px solid rgba(232,121,249,.55); background:rgba(232,121,249,.07); }

.status-select {
  appearance:none; -webkit-appearance:none;
  font-family:'Rajdhani',sans-serif;
  font-size:.82rem; font-weight:600; letter-spacing:.04em;
  padding:.42rem 2.1rem .42rem .85rem; border-radius:8px;
  background:
    url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%237d92b0' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")
    no-repeat right .8rem center,
    rgba(8,14,26,.85);
  border:1px solid rgba(140,190,250,.22);
  color:#aebfd8; cursor:pointer; outline:none; white-space:nowrap;
  transition:border-color .15s ease;
}
.status-select:hover, .status-select:focus { border-color:color-mix(in srgb, var(--cyan) 55%, transparent); }
.status-select[data-status="progress"] { color:var(--cyan); }
.status-select[data-status="done"] { color:var(--green); }

.copy-btn {
  font-family:'Rajdhani',sans-serif;
  font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; font-weight:700;
  padding:.48rem .95rem; border-radius:8px;
  border:1px solid color-mix(in srgb, var(--cyan) 40%, transparent);
  background:color-mix(in srgb, var(--cyan) 5%, transparent); color:var(--cyan-soft); cursor:pointer;
  transition:all .15s ease; white-space:nowrap;
  display:inline-flex; align-items:center; gap:.5rem;
}
.copy-btn svg { width:13px; height:13px; flex-shrink:0; }
.copy-btn:hover { background:color-mix(in srgb, var(--cyan) 14%, transparent); color:#dff6ff; border-color:color-mix(in srgb, var(--cyan) 70%, transparent); box-shadow:0 0 12px color-mix(in srgb, var(--cyan) 25%, transparent); }
.copy-btn.copied { background:rgba(74,222,128,.12); color:var(--green); border-color:rgba(74,222,128,.5); }
.copy-btn span { pointer-events:none; }

.prompt-body { display:none; padding:.1rem 1.05rem 1rem; }
.prompt-body.open { display:block; }
.prompt-text {
  background:rgba(0,0,0,.45); border:1px solid var(--panel-border); border-radius:9px; padding:.95rem;
  font-family:'Cascadia Mono','Consolas',monospace; font-size:.78rem; line-height:1.55;
  white-space:pre-wrap; word-break:break-word; max-height:320px; overflow-y:auto; color:#9db8d8;
}

.console-footer {
  position:relative; z-index:1;
  max-width:1180px; margin:0 auto 1rem; padding:1.1rem clamp(1.2rem,3vw,2rem) .9rem;
  display:flex; flex-direction:column; gap:.7rem;
  border-top:1px solid rgba(120,160,210,.12);
  background:linear-gradient(180deg, rgba(10,16,29,.5), rgba(6,10,19,.75));
  backdrop-filter:blur(10px);
  border-radius:16px;
}
.footer-stats {
  display:flex; align-items:center; justify-content:space-between; gap:1.6rem; flex-wrap:wrap;
}
.radar {
  width:64px; height:64px; border-radius:50%; position:relative; flex-shrink:0;
  border:1px solid color-mix(in srgb, var(--cyan) 30%, transparent);
  background:
    radial-gradient(circle, color-mix(in srgb, var(--cyan) 16%, transparent) 0 8%, transparent 9%),
    repeating-radial-gradient(circle at center, transparent 0 10px, color-mix(in srgb, var(--cyan) 14%, transparent) 10px 11px);
  overflow:hidden;
}
.radar::before {
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(color-mix(in srgb, var(--cyan) 14%, transparent), color-mix(in srgb, var(--cyan) 14%, transparent)) center/100% 1px no-repeat,
    linear-gradient(color-mix(in srgb, var(--cyan) 14%, transparent), color-mix(in srgb, var(--cyan) 14%, transparent)) center/1px 100% no-repeat;
}
.radar::after {
  content:''; position:absolute; inset:0; border-radius:50%;
  background:conic-gradient(from 0deg, color-mix(in srgb, var(--cyan) 45%, transparent), transparent 70deg);
  animation:sweep 3.6s linear infinite;
}
@keyframes sweep { to { transform:rotate(360deg); } }
.radar-blip {
  position:absolute; width:6px; height:6px; margin:-3px; border-radius:50%;
  background:var(--green); box-shadow:0 0 8px rgba(74,222,128,1);
  animation:blipPing 1.4s ease-out forwards; z-index:2;
}
@keyframes blipPing {
  from { opacity:1; transform:scale(.6); }
  to { opacity:0; transform:scale(2.4); }
}
.stat-cell { display:flex; flex-direction:column; align-items:center; gap:.3rem; }
.stat-cell label { font-size:.62rem; letter-spacing:.32em; color:var(--muted); text-transform:uppercase; font-weight:600; }
.stat-cell strong {
  font-family:'Orbitron',sans-serif;
  color:#e4f1ff; letter-spacing:.1em; font-size:.98rem; font-weight:600;
  display:inline-flex; align-items:center; gap:.5rem;
}
.stat-cell strong.ok { color:var(--green); text-shadow:0 0 10px rgba(74,222,128,.4); }
.stat-cell strong svg { width:13px; height:13px; }
.stat-cell .sub { font-size:.58rem; letter-spacing:.26em; color:var(--muted); text-transform:uppercase; }
.version-line {
  text-align:center; font-size:.62rem; letter-spacing:.34em; text-transform:uppercase;
  color:rgba(125,146,176,.55); font-weight:600;
}

.toasts {
  position:fixed; bottom:1.4rem; right:1.4rem; z-index:80;
  display:flex; flex-direction:column; gap:.6rem; pointer-events:none;
}
.toast {
  font-family:'Rajdhani',sans-serif; font-weight:600; letter-spacing:.14em; font-size:.78rem;
  padding:.8rem 1.2rem; border-radius:10px; color:#dff3ff;
  background:rgba(9,15,28,.92); border:1px solid color-mix(in srgb, var(--cyan) 45%, transparent);
  box-shadow:0 8px 30px rgba(0,0,0,.5), 0 0 20px color-mix(in srgb, var(--cyan) 18%, transparent);
  animation:toastIn .3s cubic-bezier(.2,.7,.3,1) both;
  max-width:320px;
}
.toast.out { animation:toastOut .3s ease both; }
.toast.success { border-color:rgba(74,222,128,.55); color:#d2ffe3; }
@keyframes toastIn { from { transform:translateX(30px); opacity:0; } to { transform:none; opacity:1; } }
@keyframes toastOut { to { transform:translateX(30px); opacity:0; } }

.warp-flash {
  position:fixed; inset:0; z-index:90; pointer-events:none; opacity:0;
  background:radial-gradient(ellipse at center, rgba(200,240,255,.9) 0%, rgba(120,180,255,.35) 40%, transparent 75%);
}
.warp-flash.go { animation:warpFlash 1.4s ease-out both; }
@keyframes warpFlash {
  0% { opacity:0; } 12% { opacity:.95; } 100% { opacity:0; }
}

.cmdk-overlay {
  position:fixed; inset:0; z-index:100;
  background:rgba(3,6,12,.72); backdrop-filter:blur(6px);
  display:flex; align-items:flex-start; justify-content:center;
  padding:14vh 1rem 1rem;
  opacity:0; transition:opacity .18s ease;
}
.cmdk-overlay[hidden] { display:none; }
.cmdk-overlay.open { opacity:1; }
.cmdk-panel {
  width:min(680px,94vw); border-radius:16px; overflow:hidden;
  background:rgba(10,16,30,.96);
  border:1px solid color-mix(in srgb, var(--cyan) 35%, transparent);
  box-shadow:0 30px 80px rgba(0,0,0,.6), 0 0 40px color-mix(in srgb, var(--cyan) 14%, transparent);
  transform:translateY(-12px) scale(.98); transition:transform .2s cubic-bezier(.2,.7,.3,1);
}
.cmdk-overlay.open .cmdk-panel { transform:none; }
.cmdk-head {
  display:flex; align-items:center; gap:.8rem; padding:.95rem 1.15rem;
  border-bottom:1px solid rgba(120,160,210,.16);
}
.cmdk-caret { color:var(--cyan); font-family:'Cascadia Mono','Consolas',monospace; font-size:.95rem; animation:caretBlink 1.1s steps(2) infinite; text-shadow:0 0 8px color-mix(in srgb, var(--cyan) 70%, transparent); }
@keyframes caretBlink { 50% { opacity:.25; } }
.cmdk-head input {
  flex:1; background:none; border:none; outline:none;
  font-family:'Rajdhani',sans-serif; font-size:1.02rem; font-weight:500; letter-spacing:.04em;
  color:#e6f2ff;
}
.cmdk-head input::placeholder { color:#5b708f; }
.cmdk-head kbd {
  font-family:'Rajdhani',sans-serif; font-size:.62rem; letter-spacing:.16em; font-weight:700;
  color:var(--muted); border:1px solid rgba(140,190,250,.28); border-radius:5px; padding:.22rem .5rem;
}
.cmdk-results { list-style:none; max-height:46vh; overflow-y:auto; padding:.45rem; }
.cmdk-results li {
  display:flex; align-items:center; gap:.8rem;
  padding:.6rem .75rem; border-radius:9px; cursor:pointer;
  border:1px solid transparent;
}
.cmdk-results li:hover, .cmdk-results li.sel { background:color-mix(in srgb, var(--cyan) 8%, transparent); border-color:color-mix(in srgb, var(--cyan) 30%, transparent); }
.cmdk-swatch { width:9px; height:9px; border-radius:50%; flex-shrink:0; box-shadow:0 0 7px currentColor; }
.cmdk-label { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.92rem; color:#d9e8fc; font-weight:500; }
.cmdk-meta { font-size:.62rem; letter-spacing:.2em; color:var(--muted); text-transform:uppercase; font-weight:700; white-space:nowrap; }
.cmdk-copy {
  background:none; border:1px solid rgba(140,190,250,.25); color:var(--muted);
  width:26px; height:26px; border-radius:6px; cursor:pointer; display:grid; place-items:center; flex-shrink:0;
  transition:all .15s ease;
}
.cmdk-copy svg { width:12px; height:12px; }
.cmdk-copy:hover { color:var(--cyan-soft); border-color:color-mix(in srgb, var(--cyan) 55%, transparent); }
.cmdk-empty { padding:1.4rem; text-align:center; color:var(--muted); font-size:.86rem; letter-spacing:.14em; text-transform:uppercase; }
.cmdk-foot {
  display:flex; gap:1.4rem; padding:.6rem 1.15rem;
  border-top:1px solid rgba(120,160,210,.14);
  font-size:.6rem; letter-spacing:.22em; color:rgba(125,146,176,.7); text-transform:uppercase; font-weight:700;
}

.pulse-orb {
  position:fixed; width:10px; height:10px; border-radius:50%; z-index:60;
  pointer-events:none;
  background:radial-gradient(circle at 35% 35%, #fff, #4ade80 70%);
  box-shadow:0 0 12px rgba(74,222,128,.95), 0 0 26px rgba(74,222,128,.5);
}
.fx-particle {
  position:fixed; width:5px; height:5px; border-radius:50%; z-index:70;
  pointer-events:none;
}

@media (max-width:900px) {
  .card-row { grid-template-columns:20px minmax(0,1fr); row-gap:.7rem; }
  .difficulty-tag, .status-select, .copy-btn { grid-column:2; justify-self:start; }
  .orbit-system { --sys-size:62px; }
  .planet-icon { inset:12px; }
  .moon { width:5px; height:5px; margin:-2.5px; transform:rotate(var(--ma)) translateX(34px) rotate(calc(-1 * var(--ma))); }
  .moon.lit { transform:rotate(var(--ma)) translateX(34px) rotate(calc(-1 * var(--ma))) scale(1.3); }
}
@media (max-width:640px) {
  .top-bar { flex-direction:column; gap:1rem; }
  .footer-stats { justify-content:center; }
  .console-subtitle { letter-spacing:.34em; text-indent:.34em; }
  .mh-dots { display:none; }
  .operator-chip { margin-left:0; }
  .hud-frame { inset:6px; }
}

@media (prefers-reduced-motion: reduce) {
  .overall-fill::after,
  .radar::after,
  .status-led,
  .moon-field,
  .cmdk-caret { animation:none !important; }
  * { transition-duration:.01ms !important; }
}

/* ---- Live benchmark feed ---- */
.bench-feed {
  position: relative; z-index: 2;
  max-width: 1080px; margin: 18px auto 0;
  border: 1px solid var(--panel-border);
  background: linear-gradient(180deg, rgba(12,19,33,.72), rgba(8,13,24,.55));
  border-radius: 10px;
  backdrop-filter: blur(6px);
  overflow: hidden;
}
.bf-head {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 16px; cursor: pointer; user-select: none;
}
.bf-title { font-family:'Orbitron',sans-serif; font-size:11px; font-weight:700; letter-spacing:.22em; color:var(--cyan-soft); }
.bf-led { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green); animation:bf-blink 1.6s ease-in-out infinite; }
@keyframes bf-blink { 0%,100%{opacity:1} 50%{opacity:.35} }
.bf-summary { margin-left:auto; display:flex; gap:10px; align-items:center; font-size:12px; letter-spacing:.08em; color:var(--muted); text-transform:uppercase; }
.bf-summary b { font-weight:700; }
.bf-sep { width:1px; height:10px; background:var(--panel-border); }
.bf-c-running{color:var(--cyan)} .bf-c-pass{color:var(--green)} .bf-c-fail{color:var(--red)}
.bf-c-error{color:var(--amber)} .bf-c-skipped{color:var(--muted)}
.bf-toggle {
  font-family:'Orbitron',sans-serif; font-size:9px; letter-spacing:.18em; font-weight:700;
  color:var(--muted); background:transparent; border:1px solid var(--panel-border);
  border-radius:4px; padding:3px 9px; cursor:pointer; transition:.15s;
}
.bf-toggle:hover { color:var(--cyan-soft); border-color:rgba(103,232,249,.4); }
.bf-rows { list-style:none; max-height:0; transition:max-height .3s ease; overflow:hidden; }
.bf-rows.open { max-height:320px; overflow-y:auto; }
.bf-row {
  display:flex; align-items:center; gap:10px;
  padding:7px 16px; border-top:1px solid rgba(120,160,210,.08);
  font-size:13.5px; animation:bf-in .25s ease both;
}
@keyframes bf-in { from{opacity:0; transform:translateY(-3px)} to{opacity:1; transform:none} }
.bf-dot { width:6px; height:6px; border-radius:50%; flex:none; }
.st-running .bf-dot{background:var(--cyan); box-shadow:0 0 7px var(--cyan); animation:bf-blink 1s ease-in-out infinite;}
.st-pass .bf-dot{background:var(--green); box-shadow:0 0 7px var(--green);}
.st-fail .bf-dot{background:var(--red); box-shadow:0 0 7px var(--red);}
.st-error .bf-dot{background:var(--amber); box-shadow:0 0 7px var(--amber);}
.st-skipped .bf-dot{background:var(--muted);}
.bf-model { font-family:'Orbitron',sans-serif; font-size:10px; font-weight:600; letter-spacing:.1em; color:var(--text); text-transform:uppercase; flex:none; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bf-mission { color:var(--muted); font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; min-width:0; }
.bf-score { font-family:'Orbitron',sans-serif; font-size:11px; font-weight:700; color:var(--cyan-soft); flex:none; }
.bf-pill {
  flex:none; font-family:'Orbitron',sans-serif; font-size:8.5px; font-weight:800; letter-spacing:.14em;
  padding:2px 8px; border-radius:999px; border:1px solid;
}
.st-pass .bf-pill{color:var(--green); border-color:rgba(74,222,128,.45); background:rgba(74,222,128,.08);}
.st-fail .bf-pill{color:var(--red); border-color:rgba(248,113,113,.45); background:rgba(248,113,113,.08);}
.st-error .bf-pill{color:var(--amber); border-color:rgba(251,191,36,.45); background:rgba(251,191,36,.08);}
.st-running .bf-pill{color:var(--cyan-soft); border-color:rgba(34,211,238,.5); background:rgba(34,211,238,.08);}
.st-skipped .bf-pill{color:var(--muted); border-color:var(--panel-border); background:rgba(125,146,176,.06);}
.bf-ago { flex:none; font-size:11px; color:var(--muted); letter-spacing:.06em; width:58px; text-align:right; }
@media (max-width:720px){ .bf-model{display:none} .bf-summary{display:none} }
