/* Fort Knox Board — ATA Vault Gold theme (board-wide) */
:root {
  --fk-bg: #070b10;
  --fk-panel: #0e1218;
  --fk-panel2: #121820;
  --fk-gold: #c9a227;
  --fk-gold-deep: #8a6b12;
  --fk-cream: #f3e7c7;
  --fk-green: #1db954;
  --fk-text: #e8eaed;
  --fk-muted: #8aa0b5;
  --fk-danger: #ff6b6b;
  --fk-danger-bg: #2a1212;
  --fk-ok-bg: #12301c;
  --fk-shell-h: 52px;
  --fk-border: rgba(201, 162, 39, 0.35);
  --fk-radius: 14px;
  --fk-radius-lg: 18px;
  --fk-glow: 0 0 24px rgba(201, 162, 39, 0.18);
  --fk-btn-fg: #140f00;
}
html, body {
  background: var(--fk-bg);
  color: var(--fk-text);
}
.fk-shell {
  position: sticky;
  top: 0;
  z-index: 8800; /* ladder: sticky shell */
  background: var(--fk-bg);
  border-bottom: 1px solid var(--fk-border);
  box-shadow: var(--fk-glow);
  font-family: system-ui, -apple-system, Segoe UI, sans-serif;
  color: var(--fk-text);
  padding-top: env(safe-area-inset-top, 0px);
}
.fk-shell-inner {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  padding: 8px 12px;
  padding-left: max(12px, env(safe-area-inset-left, 0px));
  padding-right: max(12px, env(safe-area-inset-right, 0px));
  min-height: var(--fk-shell-h);
  max-width: 1400px;
  margin: 0 auto;
  box-sizing: border-box;
}
.fk-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--fk-text);
  flex-shrink: 0;
}
.fk-mark {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  background: linear-gradient(145deg, #2a2010, #0c1f14);
  border: 1.5px solid var(--fk-gold);
  box-shadow: 0 0 14px rgba(201, 162, 39, 0.45);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
  overflow: hidden;
}
.fk-ata-logo {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: cover;
  object-position: center;
  border-radius: 9px;
  border: 1px solid rgba(201, 162, 39, 0.35);
  background: var(--fk-bg);
}
.fk-word {
  display: flex;
  flex-direction: column;
  gap: 0;
  line-height: 1.1;
}
.fk-word strong {
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  color: var(--fk-gold);
  text-shadow: 0 0 12px rgba(201, 162, 39, 0.35);
}
.fk-word span {
  font-size: 0.62rem;
  color: var(--fk-muted);
  font-weight: 600;
  letter-spacing: 0.02em;
}
.fk-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding: 2px 4px;
  mask-image: linear-gradient(90deg, transparent 0, #000 8px, #000 calc(100% - 12px), transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8px, #000 calc(100% - 12px), transparent 100%);
  z-index: 1;
}
.fk-group {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.fk-group-label {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fk-muted);
  padding: 0 4px;
  white-space: nowrap;
}
.fk-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--fk-text);
  background: var(--fk-panel2);
  border: 1px solid rgba(138, 160, 181, 0.25);
  white-space: nowrap;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.fk-pill:hover {
  border-color: rgba(201, 162, 39, 0.55);
  box-shadow: 0 0 10px rgba(201, 162, 39, 0.2);
}
.fk-pill.is-active {
  background: linear-gradient(135deg, #2a2010, #121820);
  border-color: var(--fk-gold);
  color: var(--fk-cream);
  box-shadow: 0 0 12px rgba(201, 162, 39, 0.32);
  position: relative;
  box-shadow: 0 0 12px rgba(201, 162, 39, 0.32), inset 0 -2px 0 var(--fk-gold);
}
.fk-pill.is-active::after {
  content: "";
  position: absolute;
  left: 12px; right: 12px; bottom: -1px;
  height: 2px;
  border-radius: 2px;
  background: var(--fk-gold);
  box-shadow: 0 0 8px rgba(201, 162, 39, 0.55);
}
.fk-right {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  margin-right: 8px;
  max-width: min(42vw, 420px);
  justify-content: flex-end;
  z-index: 2;
}
.fk-ver {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  text-decoration: none;
  color: #ffe9a8;
  background: #1a1520;
  border: 1px solid rgba(201, 162, 39, 0.55);
  white-space: nowrap;
}
.fk-ver:hover {
  box-shadow: 0 0 10px rgba(201, 162, 39, 0.35);
}
.fk-burger {
  display: none;
  appearance: none;
  border: 1px solid var(--fk-border);
  background: var(--fk-panel2);
  color: var(--fk-gold);
  border-radius: var(--fk-radius);
  padding: 8px 12px;
  font-weight: 800;
  font-size: 0.72rem;
  cursor: pointer;
  position: relative;
  z-index: 8920;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  min-height: 44px;
  min-width: 52px;
}

/* DEF-MOBILE-NAV-001: fixed left side rail + backdrop (mobile drawer) */
.fk-side-rail-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 8900;
  background: rgba(7, 11, 16, 0.62);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  pointer-events: auto;
  border: 0;
  padding: 0;
  margin: 0;
}
.fk-side-rail {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(86vw, 320px);
  z-index: 8910;
  background: linear-gradient(180deg, #0e1218 0%, #0a0e14 100%);
  border-right: 1px solid var(--fk-border);
  box-shadow: 8px 0 40px rgba(0,0,0,.55), var(--fk-glow);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  pointer-events: auto;
  padding:
    max(12px, env(safe-area-inset-top, 0px))
    14px
    max(16px, env(safe-area-inset-bottom, 0px))
    max(14px, env(safe-area-inset-left, 0px));
  box-sizing: border-box;
  transform: translateX(-105%);
  transition: transform 0.22s ease;
  font-family: system-ui, -apple-system, Segoe UI, sans-serif;
  color: var(--fk-text);
}
.fk-side-rail.is-open,
.fk-shell.is-open ~ .fk-side-rail,
body.fk-rail-open .fk-side-rail {
  transform: translateX(0);
}
.fk-shell.is-open ~ .fk-side-rail-backdrop,
body.fk-rail-open .fk-side-rail-backdrop,
.fk-side-rail-backdrop.is-open {
  display: block;
}
.fk-side-rail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(201, 162, 39, 0.28);
}
.fk-side-rail-title {
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fk-gold);
}
.fk-side-rail-close {
  appearance: none;
  border: 1px solid var(--fk-border);
  background: var(--fk-panel2);
  color: var(--fk-cream);
  border-radius: var(--fk-radius);
  width: 44px;
  height: 44px;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.fk-rail-console {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 14px;
  padding: 14px 16px;
  border-radius: var(--fk-radius);
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-decoration: none;
  color: #140f00;
  background: linear-gradient(135deg, var(--fk-gold), var(--fk-gold-deep));
  border: 1px solid #ffe9a8;
  box-shadow: 0 0 18px rgba(201, 162, 39, 0.35);
  min-height: 48px;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.fk-rail-console.is-active {
  box-shadow: 0 0 22px rgba(201, 162, 39, 0.55);
}
.fk-rail-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
  padding-top: 8px;
  border-top: 1px solid rgba(138, 160, 181, 0.15);
}
.fk-rail-group-label {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fk-muted);
  padding: 2px 4px 4px;
}
.fk-rail-link {
  display: flex;
  align-items: center;
  padding: 12px 14px;
  border-radius: var(--fk-radius);
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--fk-text);
  background: var(--fk-panel2);
  border: 1px solid rgba(138, 160, 181, 0.22);
  min-height: 44px;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.fk-rail-link.is-active {
  border-color: var(--fk-gold);
  color: var(--fk-cream);
  background: linear-gradient(135deg, #2a2010, #121820);
  box-shadow: 0 0 12px rgba(201, 162, 39, 0.28);
}
.fk-rail-link-buy {
  background: linear-gradient(135deg, #c9a227, #8a6b12) !important;
  color: #140f00 !important;
  border-color: #ffe9a8 !important;
  font-weight: 900 !important;
}
body.fk-rail-open {
  overflow: hidden;
  touch-action: none;
}
/* Shared ATA button / card helpers for chrome pages */
.fk-btn, .btn-ata {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: var(--fk-radius);
  border: 0;
  cursor: pointer;
  font-weight: 900;
  text-decoration: none;
  background: var(--fk-green);
  color: #04140a;
  box-shadow: 0 0 14px rgba(29, 185, 84, 0.22);
  min-height: 44px;
}
.fk-btn.gold, .btn-ata.gold {
  background: linear-gradient(135deg, var(--fk-gold), var(--fk-gold-deep));
  color: var(--fk-btn-fg);
  box-shadow: 0 0 16px rgba(201, 162, 39, 0.22);
}
.fk-btn.secondary, .btn-ata.secondary {
  background: transparent;
  color: var(--fk-cream);
  border: 1px solid rgba(201, 162, 39, 0.55);
  box-shadow: none;
}
.fk-card, .ata-card {
  background: var(--fk-panel);
  border: 1px solid var(--fk-border);
  border-radius: var(--fk-radius);
  box-shadow: 0 12px 40px rgba(0,0,0,.45);
}
.fk-title-cream, h1.ata-title {
  color: var(--fk-cream);
}
body.embedded .fk-shell { font-size: 0.9em; }
body.embedded .fk-right { margin-right: 4px; }
/* ESPN strip sits below sticky brand bar */
.espn-strip { top: var(--fk-shell-h) !important; }
@media (max-width: 900px) {
  /* DEF-MOBILE-NAV-001: hide horizontal pills; use side rail drawer */
  .fk-shell-inner { flex-wrap: nowrap; }
  .fk-burger { display: inline-flex; align-items: center; justify-content: center; }
  .fk-nav { display: none !important; }
  .fk-side-rail { display: block; }
  .fk-shell.is-open ~ .fk-side-rail,
  body.fk-rail-open .fk-side-rail,
  .fk-side-rail.is-open { transform: translateX(0); }
  .fk-right { margin-right: 0; margin-left: auto; }
}
@media (min-width: 901px) {
  .fk-burger { display: none !important; }
  .fk-side-rail,
  .fk-side-rail-backdrop { display: none !important; }
  .fk-nav { display: flex; }
}

/* DEF self-heal UX — BE PATIENT - MAGIC IS HAPPENING */
#fk-magic-heal{
  position:fixed;inset:0;z-index:100100;display:none;align-items:center;justify-content:center;
  background:rgba(7,11,16,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  padding:24px;box-sizing:border-box;
}
#fk-magic-heal.is-on{display:flex}
#fk-magic-heal .fk-magic-card{
  max-width:420px;width:100%;text-align:center;padding:28px 22px;
  border-radius:var(--fk-radius-lg);border:1px solid rgba(201,162,39,.55);
  background:linear-gradient(160deg,var(--fk-panel),#132018 60%,#0c1a12);
  box-shadow:0 20px 60px rgba(0,0,0,.55),0 0 40px rgba(201,162,39,.18);
  color:var(--fk-text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;
}
#fk-magic-heal .fk-magic-title{
  font-size:1.15rem;font-weight:900;letter-spacing:.06em;color:var(--fk-gold);
  text-shadow:0 0 18px rgba(201,162,39,.35);margin:0 0 10px;
}
#fk-magic-heal .fk-magic-sub{font-size:.85rem;color:var(--fk-muted);margin:0 0 14px;line-height:1.4}
#fk-magic-heal .fk-magic-spin{
  width:28px;height:28px;margin:0 auto;border-radius:50%;
  border:3px solid rgba(29,185,84,.25);border-top-color:var(--fk-green);
  animation:fk-magic-spin .8s linear infinite;
}
@keyframes fk-magic-spin{to{transform:rotate(360deg)}}

/* BUY ATA TOKENS emphasis */
.fk-pill-buy {
  background: linear-gradient(135deg, #c9a227, #8a6b12) !important;
  color: #140f00 !important;
  border-color: #ffe9a8 !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em;
}
.fk-pill-buy.is-active {
  box-shadow: 0 0 16px rgba(201, 162, 39, 0.55);
}

/* ---- ATA soft-advertise coins (optional now · $1 · required later) ---- */
.fk-ata-ticker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-decoration: none;
  color: #140f00;
  background: linear-gradient(135deg, #ffe9a8, #c9a227);
  border: 1px solid #8a6b12;
  box-shadow: 0 0 12px rgba(201, 162, 39, 0.35);
  white-space: nowrap;
  animation: fk-ata-pulse 2.8s ease-in-out infinite;
}
.fk-ata-ticker:hover { filter: brightness(1.06); }
.fk-ata-ticker .fk-ata-coin-mini {
  width: 14px; height: 14px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff6c8, #c9a227 55%, #8a6b12);
  border: 1px solid #6a5210;
  box-shadow: inset 0 0 2px #fff8;
  animation: fk-ata-spin 2.2s linear infinite;
}
@keyframes fk-ata-pulse {
  0%, 100% { box-shadow: 0 0 10px rgba(201,162,39,.3); }
  50% { box-shadow: 0 0 18px rgba(201,162,39,.55); }
}
@keyframes fk-ata-spin {
  from { transform: rotateY(0deg); }
  to { transform: rotateY(360deg); }
}
.fk-ata-stage {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 8600;
  overflow: hidden;
}
.fk-ata-roll {
  position: absolute;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 28%, #fff8d0 0%, #ffe08a 28%, #c9a227 62%, #8a6b12 100%);
  border: 1.5px solid #6a5210;
  box-shadow: 0 4px 14px rgba(0,0,0,.35), inset 0 0 6px rgba(255,255,255,.35);
  display: grid;
  place-items: center;
  font: 800 9px/1 system-ui, sans-serif;
  color: #3a2a00;
  letter-spacing: -0.02em;
  pointer-events: auto;
  cursor: pointer;
  text-decoration: none;
  animation: fk-ata-roll-x 9s linear forwards, fk-ata-roll-spin 1.1s linear infinite;
}
.fk-ata-roll::after {
  content: "ATA";
}
@keyframes fk-ata-roll-x {
  0% { transform: translateX(-40px) translateY(0); opacity: 0; }
  8% { opacity: 1; }
  50% { transform: translateX(50vw) translateY(-12px); }
  92% { opacity: 1; }
  100% { transform: translateX(calc(100vw + 40px)) translateY(8px); opacity: 0; }
}
@keyframes fk-ata-roll-spin {
  from { filter: brightness(1); }
  50% { filter: brightness(1.15); }
  to { filter: brightness(1); }
}
.fk-ata-toast {
  position: fixed;
  right: 14px;
  bottom: 18px;
  z-index: 8700;
  max-width: 280px;
  padding: 10px 12px;
  border-radius: var(--fk-radius);
  background: linear-gradient(145deg, #1a1520, #0e1218);
  border: 1px solid rgba(201,162,39,.55);
  color: #f3e7c7;
  font: 600 12px/1.35 system-ui, sans-serif;
  box-shadow: 0 8px 28px rgba(0,0,0,.4);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .25s, transform .25s;
  pointer-events: auto;
  text-decoration: none;
}
.fk-ata-toast.is-on { opacity: 1; transform: translateY(0); }
.fk-ata-toast b { color: #ffe9a8; }


/* DEF-BTN-HOURGLASS-001 — instant press + lag hourglass wait */
.fk-pressing{
  transform:scale(.96) !important;
  filter:brightness(1.18);
  transition:transform 60ms ease-out, filter 60ms ease-out, box-shadow 60ms ease-out !important;
  box-shadow:0 0 0 2px rgba(29,185,84,.55), inset 0 0 12px rgba(29,185,84,.18) !important;
}
.fk-control-busy{
  opacity:.72 !important;
  cursor:wait !important;
}
.fk-press-flash{
  outline:2px solid rgba(29,185,84,.7);
  outline-offset:1px;
}
#fk-hourglass-wait{
  position:fixed;inset:0;z-index:100080;display:none;align-items:center;justify-content:center;
  background:rgba(7,11,16,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  padding:20px;box-sizing:border-box;pointer-events:auto;
}
#fk-hourglass-wait.is-on{display:flex}
#fk-hourglass-wait .fk-hg-card{
  min-width:200px;max-width:320px;padding:18px 20px 16px;border-radius:var(--fk-radius);text-align:center;
  border:1px solid rgba(201,162,39,.55);
  background:linear-gradient(165deg,var(--fk-panel),#132018 55%,#0c1a12);
  box-shadow:0 16px 48px rgba(0,0,0,.5),0 0 28px rgba(201,162,39,.16);
  color:var(--fk-text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;
}
#fk-hourglass-wait .fk-hg-title{
  font-size:.95rem;font-weight:800;letter-spacing:.02em;margin:10px 0 4px;color:var(--fk-cream);
}
#fk-hourglass-wait .fk-hg-sub{font-size:.75rem;color:var(--fk-muted);margin:0;opacity:.9}
#fk-hourglass-wait .fk-hg-glass{
  width:42px;height:56px;margin:0 auto;position:relative;
}
#fk-hourglass-wait .fk-hg-frame{
  position:absolute;inset:0;
  border:2px solid var(--fk-gold);border-radius:6px 6px 8px 8px / 10px 10px 14px 14px;
  clip-path:polygon(8% 0,92% 0,58% 48%,92% 100%,8% 100%,42% 48%);
  background:linear-gradient(180deg,rgba(201,162,39,.14),transparent 40%,rgba(201,162,39,.1));
  animation:fk-hg-tilt .55s ease-in-out infinite alternate;
}
#fk-hourglass-wait .fk-hg-sand-top,
#fk-hourglass-wait .fk-hg-sand-bot,
#fk-hourglass-wait .fk-hg-stream{
  position:absolute;pointer-events:none;
}
#fk-hourglass-wait .fk-hg-sand-top{
  left:22%;right:22%;top:10%;height:28%;
  background:linear-gradient(180deg,#ffe08a,#c9a227);
  border-radius:2px;
  animation:fk-hg-drain .45s linear infinite;
  transform-origin:center bottom;
}
#fk-hourglass-wait .fk-hg-stream{
  left:50%;top:42%;width:3px;height:18%;
  margin-left:-1.5px;
  background:repeating-linear-gradient(180deg,#ffe08a 0 3px,transparent 3px 5px);
  animation:fk-hg-stream .18s linear infinite;
  opacity:.95;
}
#fk-hourglass-wait .fk-hg-sand-bot{
  left:24%;right:24%;bottom:8%;height:8%;
  background:linear-gradient(180deg,#c9a227,#8a6b12);
  border-radius:50% 50% 2px 2px;
  animation:fk-hg-fill .45s linear infinite;
}
@keyframes fk-hg-tilt{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}
@keyframes fk-hg-drain{
  0%{transform:scaleY(1);opacity:1}
  70%{transform:scaleY(.35);opacity:.85}
  100%{transform:scaleY(1);opacity:1}
}
@keyframes fk-hg-stream{
  from{background-position:0 0}
  to{background-position:0 10px}
}
@keyframes fk-hg-fill{
  0%{transform:scaleX(.55);opacity:.7}
  50%{transform:scaleX(1);opacity:1}
  100%{transform:scaleX(.55);opacity:.7}
}
#fk-hourglass-wait .fk-hg-check{
  display:none;width:36px;height:36px;margin:0 auto;border-radius:50%;
  border:2px solid #1db954;background:#0c1f14;color:#1db954;
  align-items:center;justify-content:center;font-weight:900;font-size:1.1rem;
}
#fk-hourglass-wait.is-done .fk-hg-glass{display:none}
#fk-hourglass-wait.is-done .fk-hg-check{display:flex}
#fk-hourglass-wait.is-done .fk-hg-title{color:#1db954}
@media (prefers-reduced-motion: reduce){
  #fk-hourglass-wait .fk-hg-frame,
  #fk-hourglass-wait .fk-hg-sand-top,
  #fk-hourglass-wait .fk-hg-stream,
  #fk-hourglass-wait .fk-hg-sand-bot,
  .fk-ata-ticker, .fk-ata-roll{animation:none !important}
  #fk-hourglass-wait .fk-hg-stream{opacity:.4}
  .fk-pressing{transition:none !important}
}


/* ---- DEF-SHARE-SCROLL-001 — Share view-only scroll copy ---- */
.fk-share-view{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:36px;
  padding:6px 14px;
  border-radius:999px;
  border:2px solid rgba(255,233,168,.85);
  background:linear-gradient(135deg,#f3e7c7,#c9a227 55%,#8a6b12);
  color:#140f00;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.03em;
  cursor:pointer;
  white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  box-shadow:0 0 16px rgba(201,162,39,.4);
  flex-shrink:0;
}
.fk-share-view:hover{
  border-color:#ffe9a8;
  filter:brightness(1.06);
  box-shadow:0 0 20px rgba(201,162,39,.55);
}
.fk-share-view:active{ transform:scale(.96); }
.fk-share-view.is-busy{ opacity:.7; cursor:wait; }
.fk-share-view:focus-visible{
  outline:2px solid var(--fk-gold);
  outline-offset:2px;
  box-shadow:0 0 0 3px rgba(201,162,39,.28);
}
@media (max-width:900px){
  .fk-share-view{
    min-height:44px;
    min-width:44px;
    padding:8px 10px;
    font-size:.68rem;
  }
}
body.embedded .fk-share-view{
  min-height:32px; padding:4px 8px; font-size:0.65rem;
}
.fk-share-toast{
  position:fixed; left:50%; bottom:max(24px, env(safe-area-inset-bottom));
  transform:translateX(-50%) translateY(12px);
  z-index:9250; max-width:min(92vw,420px);
  padding:12px 16px; border-radius:14px;
  background:#121820ee; border:1px solid rgba(201,162,39,.55);
  color:var(--fk-cream); font-size:.78rem; font-weight:700;
  box-shadow:0 10px 28px #000a; opacity:0; transition:opacity .2s, transform .2s;
  pointer-events:auto; text-align:center; line-height:1.35;
}
.fk-share-toast.is-on{ opacity:1; transform:translateX(-50%) translateY(0); }
.fk-share-toast a{ color:#ffe9a8; word-break:break-all; }
.fk-share-toast .fk-share-toast-actions{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:8px; }
.fk-share-toast button{
  appearance:none; border:1px solid rgba(201,162,39,.45); background:#2a2010;
  color:#ffe9a8; border-radius:999px; padding:6px 12px; font-weight:800; font-size:.7rem; cursor:pointer;
}

/* ---- DEF-UI-POLISH-001 + DEF-HARD-REFRESH-001 ---- */
.fk-hard-refresh{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:36px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(201,162,39,.55);
  background:linear-gradient(135deg,#2a2010,#121820);
  color:var(--fk-cream);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  box-shadow:0 0 10px rgba(201,162,39,.18);
  flex-shrink:0;
}
.fk-hard-refresh:hover{
  border-color:var(--fk-gold);
  box-shadow:0 0 14px rgba(201,162,39,.35);
}
.fk-hard-refresh:active{ transform:scale(.96); }
.fk-hard-refresh.is-busy{ opacity:.7; cursor:wait; }
@media (max-width:900px){
  .fk-hard-refresh{
    min-height:44px;
    min-width:44px;
    padding:8px 12px;
    font-size:.7rem;
  }
}

/* Focus-visible gold ring (a11y) */
.fk-pill:focus-visible,
.fk-ver:focus-visible,
.fk-burger:focus-visible,
.fk-share-view:focus-visible,
.fk-hard-refresh:focus-visible,
.fk-rail-link:focus-visible,
.fk-rail-console:focus-visible,
.fk-side-rail-close:focus-visible,
.fk-btn:focus-visible,
.btn-ata:focus-visible,
.fk-brand:focus-visible,
a.fk-ata-ticker:focus-visible{
  outline:2px solid var(--fk-gold);
  outline-offset:2px;
  box-shadow:0 0 0 3px rgba(201,162,39,.28);
}

/* Shared type / card helpers for pages that opt in */
.fk-page-title{ color:var(--fk-cream); font-weight:900; letter-spacing:.03em; }
.fk-section-label{
  color:var(--fk-muted); font-size:.72rem; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase;
}
.fk-money, .fk-tabular{
  color:var(--fk-cream); font-variant-numeric:tabular-nums; font-weight:900;
}
.fk-body{ color:var(--fk-text); }

/* Legal foot — quiet, never compete with CTAs (also in inject CSS) */
.fk-legal-foot{
  position:sticky; bottom:0; z-index:30; margin:0;
  padding:12px 16px max(14px, env(safe-area-inset-bottom, 0px));
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
  background:#070b10f0;
  border-top:1px solid rgba(201,162,39,.22);
  color:#6e7f90;
  font:10px/1.4 system-ui,sans-serif;
  letter-spacing:.01em;
}
.fk-legal-foot b{ font-weight:700; color:#7a8a9a; }
.fk-legal-foot a{ color:#a89050; text-decoration:underline; }

/* Filter / period chips — shell pill language */
.fk-chip, .period-tabs button, .fk-filter-chip{
  appearance:none;
  display:inline-flex; align-items:center; gap:5px;
  min-height:36px; padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(138,160,181,.25);
  background:var(--fk-panel2);
  color:var(--fk-text);
  font-size:.78rem; font-weight:700;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.fk-chip.on, .fk-chip.is-active, .period-tabs button.on,
.fk-filter-chip.on{
  background:linear-gradient(135deg,#2a2010,#121820);
  border-color:var(--fk-gold);
  color:var(--fk-cream);
  box-shadow:0 0 12px rgba(201,162,39,.32);
}
@media (max-width:900px){
  .fk-chip, .period-tabs button, .fk-filter-chip{ min-height:44px; padding:10px 14px; }
}

/* DEF-QUADRO-MOBILE-001: Quadro omitted from mobile side rail in fk_shell.py;
   desktop .fk-nav still shows Quadro pill. Hub at /quadro for ≤900px. */


/* ---- DEF-UI-POLISH-001 extras (nav / safe-area / embedded / status / z / motion) ---- */

/* 1) Stronger current-route already on .fk-pill.is-active; rail matches */
.fk-rail-link.is-active{
  box-shadow: 0 0 12px rgba(201,162,39,.28), inset 3px 0 0 var(--fk-gold);
}

/* 3) Quadro iframe panes — tighten sticky + hero */
body.embedded .fk-shell{
  --fk-shell-h: 44px;
  box-shadow: none;
}
body.embedded .fk-shell-inner{
  padding: 4px 8px;
  gap: 8px;
  min-height: 40px;
}
body.embedded .fk-word span{ display: none; }
body.embedded .fk-word strong{ font-size: 0.78rem; }
body.embedded .fk-mark, body.embedded .fk-ata-logo{ width: 22px; height: 22px; }
body.embedded .fk-hard-refresh{
  min-height: 32px; padding: 4px 8px; font-size: 0.65rem;
}
body.embedded .fk-ver{ padding: 3px 8px; font-size: 0.6rem; }
body.embedded .fk-ata-ticker{ display: none !important; }
body.embedded .fk-legal-foot{ display: none !important; }
body.embedded .hero,
body.embedded .fkc-hero,
body.embedded header.hero{
  padding: 8px 10px !important;
  margin-bottom: 8px !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

/* 4) Status triad */
.fk-status-empty, .status-empty, [data-fk-status="empty"]{
  color: var(--fk-muted); opacity: 0.85;
}
.fk-status-loading, .status-loading, [data-fk-status="loading"]{
  color: var(--fk-gold);
  animation: fk-status-pulse 1.2s ease-in-out infinite;
}
.fk-status-error, .status-error, [data-fk-status="error"]{
  color: var(--fk-danger);
  background: var(--fk-danger-bg);
  border: 1px solid rgba(255,107,107,.35);
  border-radius: var(--fk-radius);
  padding: 8px 10px;
}
@keyframes fk-status-pulse{
  0%,100%{ opacity: .55; }
  50%{ opacity: 1; text-shadow: 0 0 10px rgba(201,162,39,.35); }
}

/* 5) Z-index ladder (sticky 8800 already)
   zoom HUD 9000 · detail/ESPN 9100 · toast 9200 · panic 9300 · magic/hourglass 100080+ */
.fk-zoom-hud, [data-fk-zoom-hud], .zoom-hud{ z-index: 9000 !important; }
.fk-detail-pane, .detail-pane, #espnTvBox, .espn-tv-box, .espn-strip{ z-index: 9100; }
.fk-toast, .toast, #toast, .fk-ata-toast{ z-index: 9200 !important; }
.fk-panic, .panic, button.panic, .panic-bar, [data-fk-panic]{ z-index: 9300 !important; position: relative; }

/* 6) prefers-reduced-motion board-wide */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .fk-status-loading, .status-loading, [data-fk-status="loading"]{
    animation: none !important; opacity: 1;
  }
  .fk-pill:hover, .lite-btn:hover, .fkc-card:hover{
    transform: none !important;
  }
}


/* DEF-SHARE-SCROLL-001 */
.fk-share-btn{
  appearance:none;border:1px solid rgba(201,162,39,.55);
  background:linear-gradient(165deg,#1a1810,#121820);
  color:#f3e7c7;border-radius:999px;padding:8px 12px;min-height:36px;
  font-weight:800;font-size:.78rem;cursor:pointer;white-space:nowrap;
}
.fk-share-btn:hover{border-color:#c9a227;box-shadow:0 0 12px rgba(201,162,39,.2)}
.fk-share-btn.is-busy{opacity:.65;pointer-events:none}
.fk-share-btn:focus-visible{outline:2px solid #c9a227;outline-offset:2px}
.fk-share-toast{
  position:fixed;left:50%;transform:translateX(-50%);
  bottom:max(20px,env(safe-area-inset-bottom));z-index:9600;
  display:none;max-width:min(92vw,440px);padding:12px 14px;border-radius:14px;
  background:linear-gradient(165deg,#0e1218,#132018);
  border:1px solid rgba(201,162,39,.55);color:#f3e7c7;font-weight:750;font-size:.82rem;
  box-shadow:0 8px 28px rgba(0,0,0,.45);
}
.fk-share-toast.is-on{display:block}
.fk-share-toast a{color:#c9a227;font-weight:900}
.fk-share-toast .fk-share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
@media(max-width:900px){
  .fk-share-btn{min-height:44px}
}


/* DEF-ATA-BRAND-ICON-001 — subtle ATA trading-floor watermark */
body::before{
  content:"";
  position:fixed;
  left:50%;
  top:48%;
  width:70vmin;
  height:70vmin;
  transform:translate(-50%,-50%);
  background:url("/static/fk-ata-icon.png") center / contain no-repeat;
  opacity:0.055;
  pointer-events:none;
  z-index:0;
}
/* Keep in-flow page content above watermark; do NOT reset .fk-shell z-index (sticky 8800). */
body > *:not(.fk-shell):not(.fk-side-rail):not(.fk-side-rail-backdrop){
  position:relative;
  z-index:1;
}
.fk-shell{ z-index:8800; }
.fk-side-rail-backdrop{ z-index:8900; }
.fk-side-rail{ z-index:8910; }
/* Stronger on Console / Creators / Lite empty-ish heroes */
body:has(.fkc-hero)::before,
body:has(header.hero)::before,
body:has(.creators-wrap)::before{
  opacity:0.075;
  width:78vmin;
  height:78vmin;
}
/* Login: keep light; don't fight password fields */
body:has(input[type="password"])::before{
  opacity:0.035;
  width:55vmin;
  height:55vmin;
}
body:has(input[type="password"]:focus)::before{
  opacity:0.02;
}
@media (prefers-reduced-motion: reduce){
  body::before{ opacity:0.04; }
}


/* DEF-PROFILE-QUICK-002 — compact Profile chip (never cover nav) */
.fk-profile-quick{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:28px; min-width:0; height:28px; padding:0 10px;
  border-radius:999px; font-weight:800; font-size:.62rem; letter-spacing:.03em;
  text-decoration:none; touch-action:manipulation;
  color:#140f00; white-space:nowrap; line-height:1;
  background:linear-gradient(135deg,#f3e7c7,#c9a227 50%,#8a6b12);
  border:1px solid #ffe9a8;
  box-shadow:0 0 8px rgba(201,162,39,.25);
  flex:0 0 auto;
  position:relative; z-index:2;
}
.fk-profile-quick:hover{ filter:brightness(1.05); box-shadow:0 0 12px rgba(201,162,39,.4); }
.fk-profile-quick.is-active{ box-shadow:0 0 0 2px #ffe9a8; }
.fk-profile-quick:focus-visible{ outline:2px solid #c9a227; outline-offset:2px; }
/* iPhone: 44px tap without eating the bar — compact width */
@media (max-width:900px){
  .fk-profile-quick{
    min-height:44px; height:44px; padding:0 12px; font-size:.68rem;
  }
  .fk-right{
    max-width:none; gap:4px; margin-right:max(4px, env(safe-area-inset-right, 0px));
  }
  /* Share/Refresh can shrink; Profile stays reachable */
  .fk-share-view, .fk-hard-refresh{ padding:6px 8px; font-size:.65rem; }
  .fk-ver{ display:none; } /* free space — version still on /health */
}
body.embedded .fk-profile-quick{ min-height:26px; height:26px; padding:0 8px; font-size:.58rem; }
@media (min-width:901px) and (max-width:1200px){
  .fk-profile-quick{ padding:0 8px; font-size:.58rem; }
  .fk-share-view{ font-size:.62rem; padding:4px 8px; }
}


/* DEF-PROFILE-PILL-OVERLAP-001: Profile pill must not collide with top nav (desktop + narrow) */
.fk-shell-inner{
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 8px;
  overflow: visible;
}
.fk-nav{
  flex: 1 1 auto;
  flex-wrap: nowrap !important;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  align-self: center;
  z-index: 1;
}
.fk-nav .fk-group{
  flex-wrap: nowrap !important;
  flex-shrink: 0;
}
.fk-right{
  flex: 0 0 auto;
  flex-shrink: 0 !important;
  margin-left: 8px;
  z-index: 5;
  position: relative;
  max-width: none;
  align-self: center;
  /* keep chrome clear of scrolled nav pills */
  background: var(--fk-bg, #070b10);
  box-shadow: -8px 0 12px -4px var(--fk-bg, #070b10);
}
.fk-profile-quick{
  position: relative;
  z-index: 6;
  flex-shrink: 0 !important;
  white-space: nowrap;
}
@media (max-width: 900px){
  .fk-right{
    margin-left: auto;
    gap: 4px;
    max-width: calc(100vw - 120px);
  }
  .fk-share-view, .fk-share-view[data-fk-share], button.fk-share-view{ display: none !important; }
  .fk-hard-refresh{ min-width: 36px; padding: 0 8px; }
  .fk-profile-quick{
    min-height: 44px;
    height: 44px;
    padding: 0 12px;
    font-size: .72rem;
  }
}
@media (min-width: 901px){
  .fk-profile-quick{
    min-height: 32px;
    height: 32px;
  }
}



/* DEF-SHELL-RESPONSIVE-001 — phone / tablet / desktop headers */
@media (max-width:600px){
  .fk-shell{ --fk-shell-h: 48px; }
  .fk-shell-inner{ gap:6px; padding:6px 8px; }
  .fk-word span{ display:none; } /* keep FORT KNOX strong; drop subtitle on tiny */
  .fk-group-label{ display:none; }
}
@media (min-width:601px) and (max-width:1100px){
  .fk-shell-inner{ gap:8px; }
  .fk-nav{ gap:6px; }
  .fk-pill{ padding:6px 10px; font-size:.68rem; }
  .fk-group{ gap:2px; }
  /* tablet: prefer burger+rail so all options reachable without overlap */
  .fk-burger{ display:inline-flex !important; align-items:center; justify-content:center; min-height:44px; min-width:44px; }
  .fk-nav{ display:none !important; }
  .fk-side-rail, .fk-side-rail-backdrop{ display:block; }
}
@media (min-width:1101px){
  .fk-burger{ display:none !important; }
  .fk-nav{ display:flex !important; }
}
/* Rail expand/contract affordance */
.fk-side-rail{
  transition: transform .2s ease, opacity .2s ease;
}
.fk-shell.is-open ~ .fk-side-rail{ transform:translateX(0); }
.fk-burger[aria-expanded="true"]{ border-color:#c9a227; box-shadow:0 0 12px rgba(201,162,39,.35); }
@media (prefers-reduced-motion:reduce){
  .fk-side-rail{ transition:none !important; }
}


/* DEF-RBAC-UI-001 — never show admin-only chrome unless server marked session admin */
header.fk-shell:not([data-fk-is-admin="1"]) [data-fk-admin-only],
body:not(.fk-is-admin) [data-fk-admin-only] {
  display: none !important;
}
