/* Sylin Card Foundry - an immersive, simulated QA surface for the Ghostlight demo. */
.foundry-shell { margin: 0; overflow: hidden; background: #09090c; }
.foundry-shell .nav, .foundry-shell .foot { display: none; }
.foundry-app {
  --foundry-amber: #fbbf24;
  --foundry-amber-rgb: 251, 191, 36;
  --foundry-teal: #5eead4;
  --foundry-teal-rgb: 94, 234, 212;
  --foundry-mint: #4ade80;
  --foundry-coral: #fb7185;
  min-height: 100dvh;
  color: var(--ink-2);
  background:
    radial-gradient(ellipse 48% 72% at 18% 38%, rgba(251, 191, 36, 0.08), transparent 72%),
    radial-gradient(ellipse 42% 62% at 92% 18%, rgba(94, 234, 212, 0.06), transparent 68%),
    #09090c;
}

.foundry-topbar {
  height: 64px; padding: 0 18px; box-sizing: border-box; display: grid;
  grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08); background: rgba(15, 14, 18, 0.92);
  backdrop-filter: blur(14px); position: relative; z-index: 20;
}
.foundry-brand, .foundry-top-status, .foundry-release { display: flex; align-items: center; }
.foundry-brand { gap: 11px; }
.foundry-brand-mark {
  display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid rgba(var(--foundry-amber-rgb), 0.5);
  border-radius: 8px; color: var(--foundry-amber); font: 700 15px/1 var(--mono);
  box-shadow: inset 0 0 18px rgba(var(--foundry-amber-rgb), 0.08), 0 0 18px rgba(var(--foundry-amber-rgb), 0.08);
}
.foundry-brand strong, .foundry-brand small { display: block; }
.foundry-brand strong { color: var(--ink); font: 650 12px/1.1 var(--mono); letter-spacing: 0.17em; }
.foundry-brand small { margin-top: 4px; color: var(--faint); font: 9px/1 var(--sans); letter-spacing: 0.12em; text-transform: uppercase; }
.foundry-release { flex-direction: column; text-align: center; line-height: 1.15; }
.foundry-release strong { margin-top: 4px; color: var(--ink); font-size: 15px; font-weight: 600; }
.foundry-top-status { justify-content: flex-end; gap: 12px; }
.foundry-sim, .foundry-env { border-radius: 999px; padding: 6px 9px; font: 600 9px/1 var(--mono); letter-spacing: 0.08em; }
.foundry-sim { color: var(--foundry-amber); border: 1px solid rgba(var(--foundry-amber-rgb), 0.28); background: rgba(var(--foundry-amber-rgb), 0.06); }
.foundry-env { color: var(--ink-3); border: 1px solid rgba(255, 255, 255, 0.08); }
.foundry-env i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--foundry-mint); box-shadow: 0 0 10px rgba(74, 222, 128, 0.7); }

.foundry-main {
  height: calc(100dvh - 110px); min-height: 540px; box-sizing: border-box; padding: 14px;
  display: grid; grid-template-columns: minmax(340px, 380px) minmax(440px, 1fr) 276px; gap: 12px;
}
.foundry-card-bay, .foundry-workbench, .foundry-evidence {
  min-width: 0; border: 1px solid rgba(255, 255, 255, 0.075); border-radius: 16px;
  background: linear-gradient(180deg, rgba(24, 24, 31, 0.76), rgba(12, 12, 16, 0.9));
  box-shadow: 0 28px 60px -42px rgba(0, 0, 0, 0.95); overflow: hidden;
}
.foundry-card-bay, .foundry-workbench { padding: 16px 18px; box-sizing: border-box; }
.foundry-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.foundry-panel-head h1, .foundry-panel-head h2 { margin: 3px 0 0; color: var(--ink); line-height: 1.2; }
.foundry-panel-head h1 { font-size: 20px; }
.foundry-panel-head h2 { font-size: 15px; }
.foundry-kicker { color: var(--faint); font: 600 9.5px/1.2 var(--mono); letter-spacing: 0.14em; }
.foundry-rarity, .foundry-severity {
  flex: none; padding: 5px 8px; border-radius: 5px; font: 650 9px/1 var(--mono); letter-spacing: 0.1em;
}
.foundry-rarity { color: #f5d0fe; border: 1px solid rgba(232, 121, 249, 0.36); background: rgba(232, 121, 249, 0.07); }
.foundry-severity { color: var(--foundry-coral); border: 1px solid rgba(251, 113, 133, 0.34); background: rgba(251, 113, 133, 0.07); }
.foundry-severity.is-resolved { color: var(--foundry-mint); border-color: rgba(74, 222, 128, 0.34); background: rgba(74, 222, 128, 0.07); }

/* Two-sided TCG proof. Its front inherits the site's foil vocabulary without reusing link semantics. */
.foundry-card-bay { display: flex; flex-direction: column; }
.foundry-card-scene { flex: 1; display: grid; place-items: center; min-height: 0; perspective: 1200px; }
.foundry-card {
  --a: var(--foundry-teal); --al: #99f6e4; --argb: var(--foundry-teal-rgb);
  position: relative; width: 276px; height: 396px; transform-style: preserve-3d; border-radius: 18px;
  outline: none; will-change: transform; filter: drop-shadow(0 25px 24px rgba(0, 0, 0, 0.56));
}
.foundry-card:focus-visible { box-shadow: 0 0 0 3px rgba(var(--foundry-teal-rgb), 0.5); }
.foundry-card.is-spinning { animation: foundry-card-spin 3s cubic-bezier(0.3, 0.02, 0.16, 1) both; }
.foundry-card.is-showing-back { transform: rotateY(180deg); }
@keyframes foundry-card-spin {
  0% { transform: rotateX(0) rotateY(0) scale(1); }
  18% { transform: rotateX(5deg) rotateY(78deg) scale(1.035); }
  43% { transform: rotateX(-2deg) rotateY(180deg) scale(1.055); }
  57% { transform: rotateX(-2deg) rotateY(180deg) scale(1.055); }
  82% { transform: rotateX(5deg) rotateY(282deg) scale(1.035); }
  100% { transform: rotateX(0) rotateY(360deg) scale(1); }
}
.foundry-card-face {
  position: absolute; inset: 0; overflow: hidden; border-radius: 18px; backface-visibility: hidden;
  border: 1px solid rgba(var(--foundry-teal-rgb), 0.35); background: #0d1115;
  box-shadow: inset 0 0 0 4px #101318, inset 0 0 0 5px rgba(var(--foundry-teal-rgb), 0.24);
}
.foundry-card-back { transform: rotateY(180deg); }
.foundry-card-cap { height: 28px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; color: #9ff7eb; font: 650 8px/1 var(--mono); letter-spacing: 0.12em; }
.foundry-card-art {
  position: relative; height: 204px; margin: 0 8px; display: grid; place-items: center; overflow: hidden;
  border-radius: 10px 10px 4px 4px; background:
    linear-gradient(160deg, rgba(94, 234, 212, 0.06), rgba(129, 140, 248, 0.08)),
    radial-gradient(circle at 50% 42%, rgba(94, 234, 212, 0.28), transparent 60%), #070b0e;
  box-shadow: inset 0 0 0 1px rgba(var(--foundry-teal-rgb), 0.2);
}
.foundry-mascot-halo { position: absolute; width: 188px; height: 188px; border-radius: 50%; background: radial-gradient(circle, rgba(94, 234, 212, 0.2), transparent 66%); animation: foundry-breathe 4s ease-in-out infinite; }
@keyframes foundry-breathe { 50% { transform: scale(1.08); opacity: 0.7; } }
.foundry-mascot { position: relative; z-index: 1; width: 188px; height: 188px; image-rendering: pixelated; }
.foundry-stars { position: absolute; inset: 12px; color: rgba(255, 255, 255, 0.34); font: 10px/1 var(--mono); word-spacing: 32px; letter-spacing: 11px; }
.foundry-card-rule { height: 4px; margin: 6px 8px 0; border-radius: 2px; background: linear-gradient(90deg, var(--foundry-teal), #818cf8 60%, #e879f9); box-shadow: 0 0 16px rgba(var(--foundry-teal-rgb), 0.28); }
.foundry-card-copy { padding: 10px 15px 12px; }
.foundry-card-name { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.foundry-card-name strong { color: var(--ink); font-size: 16px; }
.foundry-card-name span { color: var(--foundry-teal); font: 650 9px/1 var(--mono); }
.foundry-card-copy p { min-height: 46px; margin: 8px 0 10px; color: #a1a1aa; font-size: 10.5px; line-height: 1.48; }
.foundry-card-stats { padding-top: 8px; display: flex; justify-content: space-between; border-top: 1px solid rgba(255, 255, 255, 0.07); color: #71717a; font: 650 7.5px/1 var(--mono); letter-spacing: 0.04em; }
.foundry-defect { position: absolute; z-index: 8; right: 1px; bottom: 27px; width: 68px; height: 68px; border: 1px solid rgba(251, 113, 133, 0.72); border-radius: 50%; box-shadow: 0 0 0 5px rgba(251, 113, 133, 0.08), 0 0 22px rgba(251, 113, 133, 0.22); }
.foundry-defect i { position: absolute; width: 50px; height: 7px; right: -12px; top: 14px; transform: rotate(-38deg); background: linear-gradient(90deg, transparent, rgba(255, 70, 150, 0.82), rgba(255, 214, 0, 0.9)); filter: blur(0.4px); }
.foundry-defect b { position: absolute; right: 4px; bottom: -7px; padding: 3px 5px; border-radius: 4px; color: #fecdd3; background: #2b1117; font: 650 8px/1 var(--mono); }
.foundry-app[data-revision="b"] .foundry-defect { display: none; }
.foundry-card.is-spinning .holo, .foundry-card.is-spinning .holo2 { opacity: 0.52; animation: foundry-foil-sweep 1.05s linear infinite; }
@keyframes foundry-foil-sweep { 0% { background-position: 0% 0%; } 100% { background-position: 100% 100%; } }

.foundry-card-back { display: grid; place-items: center; background: radial-gradient(circle at center, #252034 0%, #111018 46%, #09090d 100%); border-color: rgba(var(--foundry-amber-rgb), 0.46); box-shadow: inset 0 0 0 4px #0c0b0f, inset 0 0 0 6px rgba(var(--foundry-amber-rgb), 0.28), inset 0 0 0 11px #15131b; }
.foundry-back-grid { position: absolute; inset: 18px; border: 1px solid rgba(var(--foundry-amber-rgb), 0.2); border-radius: 11px; background-image: linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px); background-size: 17px 17px; }
.foundry-back-ring { position: absolute; border: 1px solid rgba(var(--foundry-amber-rgb), 0.32); border-radius: 50%; }
.foundry-back-ring-a { width: 224px; height: 224px; }
.foundry-back-ring-b { width: 176px; height: 176px; border-style: dashed; animation: foundry-ring 20s linear infinite; }
@keyframes foundry-ring { to { transform: rotate(360deg); } }
.foundry-back-seal { position: relative; z-index: 2; display: grid; justify-items: center; }
.foundry-back-seal img { width: 128px; height: 128px; image-rendering: pixelated; filter: drop-shadow(0 0 18px rgba(var(--foundry-amber-rgb), 0.18)); }
.foundry-back-seal span { margin-top: 6px; color: #fff7d6; font: 800 23px/1 var(--sans); letter-spacing: 0.28em; text-indent: 0.28em; }
.foundry-back-seal small { margin-top: 8px; color: rgba(251, 191, 36, 0.72); font: 650 7.5px/1 var(--mono); letter-spacing: 0.2em; }
.foundry-back-foot { position: absolute; left: 25px; right: 25px; bottom: 25px; display: flex; justify-content: space-between; color: rgba(255,255,255,0.35); font: 600 7.5px/1 var(--mono); }
.foundry-back-foil { position: absolute; inset: 0; background: linear-gradient(112deg, transparent 15%, rgba(255,70,150,0.1), rgba(255,214,0,0.15), rgba(0,255,170,0.12), rgba(0,170,255,0.13), transparent 85%); mix-blend-mode: color-dodge; background-size: 220% 220%; }
.foundry-card.is-spinning .foundry-back-foil { animation: foundry-foil-sweep 0.9s linear infinite; }

.foundry-card-controls { min-height: 38px; display: flex; align-items: center; gap: 12px; }
.foundry-card-status { flex: 1; color: var(--faint); font: 10px/1.35 var(--mono); }
.foundry-button { min-height: 36px; padding: 0 14px; border-radius: 8px; cursor: pointer; font: 650 11px/1 var(--sans); transition: transform 0.15s ease, border-color 0.18s ease, background 0.18s ease; }
.foundry-button:hover { transform: translateY(-1px); }
.foundry-button-primary { border: 1px solid var(--foundry-amber); background: var(--foundry-amber); color: #18130a; box-shadow: 0 10px 24px -15px rgba(var(--foundry-amber-rgb), 0.9); }
.foundry-button:focus-visible, .foundry-publish:focus-visible { outline: 2px solid var(--foundry-teal); outline-offset: 2px; }

/* Review and packet workbench. */
.foundry-workbench { position: relative; }
.foundry-summary { margin: 12px 0 13px; padding: 10px 12px; border-left: 2px solid var(--foundry-coral); background: rgba(251, 113, 133, 0.045); color: #b9b9c2; font-size: 11.5px; line-height: 1.48; }
.foundry-checks { margin: 0; padding: 0; border: 0; }
.foundry-checks legend { margin-bottom: 7px; color: var(--faint); font: 650 9px/1 var(--mono); letter-spacing: 0.11em; text-transform: uppercase; }
.foundry-checks label { min-height: 38px; margin-bottom: 6px; padding: 6px 9px; box-sizing: border-box; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,0.065); border-radius: 8px; background: rgba(255,255,255,0.018); cursor: pointer; }
.foundry-checks label:has(input:checked) { border-color: rgba(251, 113, 133, 0.34); background: rgba(251, 113, 133, 0.055); }
.foundry-final-checks label:has(input:checked) { border-color: rgba(74, 222, 128, 0.32); background: rgba(74, 222, 128, 0.05); }
.foundry-checks input { flex: none; width: 17px; height: 17px; accent-color: var(--foundry-coral); }
.foundry-final-checks input { accent-color: var(--foundry-mint); }
.foundry-checks b, .foundry-checks small { display: block; }
.foundry-checks b { color: #d4d4d8; font-size: 11px; font-weight: 550; line-height: 1.15; }
.foundry-checks small { margin-top: 3px; color: var(--faint); font-size: 9.5px; line-height: 1.15; }
.foundry-field { display: block; }
.foundry-field > span { display: block; margin-bottom: 5px; color: var(--ink-3); font-size: 10.5px; font-weight: 550; }
.foundry-field textarea, .foundry-field input[type="text"] { width: 100%; box-sizing: border-box; border: 1px solid rgba(255,255,255,0.09); border-radius: 8px; outline: none; color: var(--ink); background: #09090c; font: 11.5px/1.4 var(--sans); transition: border-color 0.18s ease, box-shadow 0.18s ease; }
.foundry-field textarea:focus, .foundry-field input[type="text"]:focus { border-color: rgba(var(--foundry-teal-rgb), 0.65); box-shadow: 0 0 0 3px rgba(var(--foundry-teal-rgb), 0.07); }
.foundry-field textarea { height: 54px; padding: 8px 10px; resize: none; }
.foundry-field input[type="text"] { height: 34px; padding: 0 10px; }
.foundry-review-panel > .foundry-field { margin-top: 9px; }
.foundry-disposition { height: 65px; margin-top: 10px; display: grid; grid-template-columns: 112px 1fr 140px; align-items: center; gap: 10px; }
.foundry-ticket, .foundry-drop-target { height: 56px; box-sizing: border-box; border-radius: 9px; }
.foundry-ticket { position: relative; z-index: 5; padding: 7px 10px; display: flex; flex-direction: column; justify-content: center; border: 1px solid rgba(251,113,133,0.4); background: linear-gradient(135deg, rgba(251,113,133,0.13), rgba(255,255,255,0.025)); cursor: grab; user-select: none; touch-action: none; }
.foundry-ticket.is-dragging { cursor: grabbing; box-shadow: 0 14px 30px rgba(0,0,0,0.46), 0 0 22px rgba(251,113,133,0.16); }
.foundry-ticket span { color: var(--foundry-coral); font: 650 8px/1 var(--mono); }
.foundry-ticket strong { margin-top: 4px; color: var(--ink); font-size: 11px; }
.foundry-ticket small { margin-top: 2px; color: var(--faint); font-size: 8.5px; }
.foundry-drag-path { display: flex; align-items: center; justify-content: space-around; }
.foundry-drag-path i { width: 4px; height: 4px; border-radius: 50%; background: rgba(251,113,133,0.35); }
.foundry-drop-target { padding: 7px 10px; display: flex; flex-direction: column; justify-content: center; border: 1px dashed rgba(var(--foundry-amber-rgb),0.38); background: rgba(var(--foundry-amber-rgb),0.035); }
.foundry-drop-target.is-ready { border-color: var(--foundry-amber); background: rgba(var(--foundry-amber-rgb),0.09); box-shadow: inset 0 0 20px rgba(var(--foundry-amber-rgb),0.05); }
.foundry-drop-target span { color: rgba(251,191,36,0.82); font: 650 8px/1 var(--mono); letter-spacing: 0.08em; }
.foundry-drop-target strong { margin-top: 5px; color: var(--ink-2); font-size: 10.5px; }
.foundry-alert { margin: 6px 0 0; color: var(--faint); font: 9.5px/1.35 var(--mono); }
.foundry-alert.is-error { color: var(--foundry-coral); }
.foundry-layer-map { margin-top: 14px; padding: 12px 14px 10px; border: 1px solid rgba(255,255,255,0.055); border-radius: 10px; background: linear-gradient(135deg, rgba(255,255,255,0.018), rgba(var(--foundry-teal-rgb),0.018)), repeating-linear-gradient(90deg, transparent 0 38px, rgba(255,255,255,0.018) 38px 39px); }
.foundry-layer-map > div { margin-bottom: 10px; display: flex; justify-content: space-between; }
.foundry-layer-map > div small { color: var(--faint); font: 7.5px/1 var(--mono); }
.foundry-layer { height: 19px; display: grid; grid-template-columns: 64px 1fr 38px; align-items: center; gap: 8px; }
.foundry-layer b { color: var(--faint); font: 650 7.5px/1 var(--mono); }
.foundry-layer i { position: relative; display: block; height: 5px; border-radius: 999px; background: rgba(255,255,255,0.07); }
.foundry-layer i::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; border-radius: inherit; }
.foundry-layer-art i::after { width: 88%; background: #818cf8; }
.foundry-layer-mask i::after { width: calc(88% + 18px); background: linear-gradient(90deg, #f472b6, #facc15, #34d399, #38bdf8); box-shadow: 0 0 12px rgba(244,114,182,0.22); }
.foundry-layer-safe i { border-right: 1px dashed rgba(251,113,133,0.8); }
.foundry-layer-safe i::after { width: 88%; background: rgba(94,234,212,0.4); }
.foundry-layer em { color: var(--foundry-coral); font: 650 7.5px/1 var(--mono); font-style: normal; }

.foundry-revision-ready { margin: 14px 0 11px; padding: 9px 11px; display: flex; align-items: center; gap: 10px; border: 1px solid rgba(74,222,128,0.25); border-radius: 9px; background: rgba(74,222,128,0.045); }
.foundry-ready-mark { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; color: #072912; background: var(--foundry-mint); font: 750 12px/1 var(--mono); }
.foundry-revision-ready strong, .foundry-revision-ready small { display: block; }
.foundry-revision-ready strong { color: #dcfce7; font-size: 11.5px; }
.foundry-revision-ready small { margin-top: 3px; color: #75927f; font-size: 9.5px; }
.foundry-final-checks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.foundry-final-checks legend { grid-column: 1 / -1; }
.foundry-final-checks label { min-width: 0; margin: 0; }
.foundry-form-grid { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px 10px; }
.foundry-form-actions { margin-top: 12px; display: flex; align-items: center; gap: 12px; }
.foundry-form-actions .foundry-alert { margin: 0; }
.foundry-complete { height: calc(100% - 52px); align-items: center; justify-content: center; gap: 20px; }
.foundry-complete:not([hidden]) { display: flex; }
.foundry-complete img { flex: none; width: 96px; height: 96px; image-rendering: pixelated; }
.foundry-complete h2 { margin: 7px 0 8px; color: var(--ink); font-size: 22px; line-height: 1.2; }
.foundry-complete p { max-width: 360px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }

/* Evidence rail stays visible as the work accumulates. */
.foundry-evidence { padding: 14px; box-sizing: border-box; display: flex; flex-direction: column; }
.foundry-readiness .foundry-panel-head h2 { font-size: 13px; }
.foundry-readiness .foundry-panel-head strong { color: var(--foundry-amber); font: 700 18px/1 var(--mono); }
.foundry-meter { height: 4px; margin-top: 10px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,0.06); }
.foundry-meter i { display: block; width: 18%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--foundry-amber), var(--foundry-teal)); box-shadow: 0 0 12px rgba(var(--foundry-amber-rgb),0.35); transition: width 0.6s cubic-bezier(0.22,1,0.36,1); }
.foundry-state { display: block; margin-top: 7px; color: var(--faint); font: 9px/1 var(--mono); }
.foundry-evidence-stack { margin-top: 13px; }
.foundry-proof-slot, .foundry-replay-slot { position: relative; margin-top: 7px; display: grid; place-items: center; overflow: hidden; border: 1px dashed rgba(255,255,255,0.11); border-radius: 9px; background: radial-gradient(circle at center, rgba(var(--foundry-teal-rgb),0.04), transparent 65%), #09090c; cursor: pointer; }
.foundry-proof-slot { height: 88px; }
.foundry-replay-slot { height: 112px; }
.foundry-proof-slot:has(img:not([hidden])), .foundry-replay-slot:has(img:not([hidden])) { border-style: solid; border-color: rgba(var(--foundry-teal-rgb),0.24); }
.foundry-file-input { position: absolute; width: 1px; height: 1px; left: 0; bottom: 0; opacity: 0; overflow: hidden; }
.foundry-slot-empty { display: grid; justify-items: center; text-align: center; }
.foundry-slot-empty[hidden] { display: none; }
.foundry-slot-empty > i:not(.foundry-orbit) { display: grid; place-items: center; width: 25px; height: 25px; margin-bottom: 5px; border: 1px solid rgba(var(--foundry-teal-rgb),0.28); border-radius: 50%; color: var(--foundry-teal); font: 400 15px/1 var(--sans); }
.foundry-slot-empty b { color: var(--ink-3); font-size: 10px; font-weight: 550; }
.foundry-slot-empty small { margin-top: 2px; color: var(--faint); font-size: 8.5px; }
.foundry-proof-slot img, .foundry-replay-slot img { display: block; width: 100%; height: 100%; object-fit: cover; }
.foundry-proof-slot img[hidden], .foundry-replay-slot img[hidden] { display: none; }
.foundry-orbit { position: relative; width: 26px; height: 26px; margin-bottom: 5px; border: 1px solid rgba(var(--foundry-teal-rgb),0.28); border-radius: 50%; }
.foundry-orbit::after { content: ""; position: absolute; width: 4px; height: 4px; left: 50%; top: -2px; margin-left: -2px; border-radius: 50%; background: var(--foundry-teal); box-shadow: 0 0 8px rgba(var(--foundry-teal-rgb),0.8); animation: foundry-orbit 2.2s linear infinite; transform-origin: 2px 15px; }
@keyframes foundry-orbit { to { transform: rotate(360deg); } }
.foundry-proof-meta { min-height: 12px; margin: 4px 0 6px; color: var(--faint); font: 8px/1.3 var(--mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.foundry-activity { flex: 1; min-height: 0; margin-top: 2px; overflow: hidden; }
.foundry-activity ol { max-height: 70px; margin: 7px 0 0; padding: 0; list-style: none; overflow: hidden; }
.foundry-activity li { height: 21px; display: flex; align-items: center; gap: 7px; color: var(--faint); font: 8.5px/1 var(--mono); }
.foundry-activity li i { width: 5px; height: 5px; border-radius: 50%; background: #3f3f46; }
.foundry-activity li.is-current { color: var(--ink-3); }
.foundry-activity li.is-current i { background: var(--foundry-teal); box-shadow: 0 0 8px rgba(var(--foundry-teal-rgb),0.65); }
.foundry-publish { min-height: 45px; padding: 7px 10px; display: grid; grid-template-columns: 1fr auto; text-align: left; border: 1px solid rgba(255,255,255,0.08); border-radius: 9px; color: var(--faint); background: rgba(255,255,255,0.018); }
.foundry-publish span { grid-column: 1; font: 650 7.5px/1 var(--mono); letter-spacing: 0.1em; }
.foundry-publish strong { grid-column: 1; margin-top: 4px; font-size: 10.5px; font-weight: 550; }
.foundry-publish i { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--foundry-coral); font: 650 8px/1 var(--mono); font-style: normal; }
.foundry-publish:not(:disabled) { cursor: pointer; border-color: rgba(251,113,133,0.36); color: var(--ink-2); background: rgba(251,113,133,0.045); }

.foundry-stage-rail { height: 46px; padding: 0 22px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; gap: 10px; border-top: 1px solid rgba(255,255,255,0.075); background: #0d0c10; }
.foundry-stage-rail span { display: flex; align-items: center; gap: 6px; color: #52525b; font: 650 8.5px/1 var(--mono); letter-spacing: 0.07em; transition: color 0.25s ease; }
.foundry-stage-rail span i { display: grid; place-items: center; width: 21px; height: 21px; border: 1px solid #2f2f36; border-radius: 50%; font-style: normal; font-size: 7px; }
.foundry-stage-rail span.is-active { color: var(--ink-2); }
.foundry-stage-rail span.is-active i { color: #101014; border-color: var(--foundry-amber); background: var(--foundry-amber); box-shadow: 0 0 13px rgba(var(--foundry-amber-rgb),0.25); }
.foundry-stage-rail span.is-complete { color: #86efac; }
.foundry-stage-rail span.is-complete i { color: #06230f; border-color: var(--foundry-mint); background: var(--foundry-mint); }
.foundry-stage-rail b { width: min(5vw, 62px); height: 1px; background: rgba(255,255,255,0.08); }

@media (max-height: 700px) and (min-width: 981px) {
  .foundry-card { width: 250px; height: 359px; }
  .foundry-card-art { height: 184px; }
  .foundry-mascot, .foundry-mascot-halo { width: 168px; height: 168px; }
  .foundry-card-copy p { min-height: 38px; margin: 6px 0 7px; }
  .foundry-summary { margin: 8px 0; padding: 7px 10px; }
  .foundry-checks label { min-height: 34px; padding: 4px 8px; }
  .foundry-disposition { margin-top: 6px; }
}

@media (max-width: 980px) {
  .foundry-shell { overflow: auto; }
  .foundry-topbar { height: auto; min-height: 64px; grid-template-columns: 1fr auto; }
  .foundry-release { display: none; }
  .foundry-main { height: auto; grid-template-columns: 1fr; }
  .foundry-card-bay, .foundry-workbench, .foundry-evidence { min-height: 540px; }
  .foundry-evidence { min-height: 620px; }
  .foundry-stage-rail { position: sticky; bottom: 0; overflow-x: auto; justify-content: flex-start; }
}

@media (max-width: 560px) {
  .foundry-topbar { padding: 10px 12px; }
  .foundry-top-status { display: none; }
  .foundry-main { padding: 8px; }
  .foundry-card-bay, .foundry-workbench { padding: 14px; }
  .foundry-final-checks, .foundry-form-grid { grid-template-columns: 1fr; }
  .foundry-disposition { height: auto; grid-template-columns: 1fr; }
  .foundry-drag-path { height: 16px; }
  .foundry-card { width: 250px; height: 359px; }
  .foundry-card-art { height: 184px; }
  .foundry-mascot, .foundry-mascot-halo { width: 168px; height: 168px; }
}

@media (prefers-reduced-motion: reduce) {
  .foundry-card, .foundry-card *, .foundry-meter i { animation: none !important; transition-duration: 0.01ms !important; }
}
