body[data-public-demo] [hidden] { display: none !important; }
body[data-public-demo] .locale-picker { display: none !important; }
.competition-guide-trigger { border-color: #42d8a7; color: #baf4db; background: #14352a; min-height:44px; white-space:nowrap; }
.competition-guide { position:fixed; z-index:45; top:82px; right:20px; width:360px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 110px); overflow-y:auto; overscroll-behavior:contain; padding:24px; border:1px solid #54816a; border-radius:14px; background:#10271e; color:#edf2e9; box-shadow:0 20px 70px #0009; font-size:13px; line-height:1.65; word-break:keep-all; overflow-wrap:anywhere; }
/* Above activity/launcher (50), below the modal Watch panel (60). */
.competition-guide { z-index:55; }
.competition-guide-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.competition-guide-eyebrow { font-size:12px; color:#74e2b8; letter-spacing:.04em; }
#competition-guide-close { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; margin:-12px -12px -6px 0; border:1px solid transparent; border-radius:8px; background:transparent; color:#dfece3; font-size:26px; cursor:pointer; }
#competition-guide-close:hover { background:#234333; }
.competition-guide h2 { font-size:23px; line-height:1.4; letter-spacing:-.04em; margin:12px 0; font-weight:650; }
.competition-guide-intro { margin:0 0 22px; color:#b9cbbf; }
.competition-guide-steps { padding:0; margin:0; list-style:none; }
.competition-guide-steps li { display:grid; grid-template-columns:26px minmax(0,1fr); gap:12px; padding:18px 0; border-top:1px solid #345241; }
.competition-guide-number { color:#7fe7bd; font-size:12px; font-variant-numeric:tabular-nums; padding-top:3px; }
.competition-guide h3 { font-size:15px; margin:0 0 6px; color:#f1f3eb; }
.competition-guide-steps p { color:#c5d1c8; margin:0 0 8px; }
.competition-guide-steps button { display:flex; justify-content:space-between; gap:10px; align-items:center; width:100%; border:1px solid #496955; border-radius:6px; background:#1b382b; color:#dff5e7; padding:8px 12px; min-height:44px; font:inherit; text-align:left; cursor:pointer; }
.competition-guide-steps button:hover { background:#29533e; border-color:#7ad7ad; }
.competition-guide-legend { display:flex; flex-wrap:wrap; gap:4px 10px; font-size:11px; margin:8px 0; }
.competition-guide-legend span:first-child { color:#ff9da6; }
.competition-guide-legend span:last-child { color:#c1cad4; }
.competition-guide-safety { border-left:2px solid #79d2aa; padding-left:12px; margin:8px 0 16px; color:#c4d8ca; font-size:12px; }
.competition-guide-reopen { margin:0; font-size:11px; color:#abc2b2; }
.competition-guide:focus-visible,.competition-guide button:focus-visible,.competition-guide-trigger:focus-visible { outline:2px solid #efffca; outline-offset:3px; }
@media(max-width:700px) {
 .competition-guide { top:auto; right:12px; bottom:12px; width:calc(100vw - 24px); max-height:75dvh; padding:20px; }
 .competition-guide h2 { font-size:22px; }
 body[data-public-demo] .topbar-actions { flex-shrink:0; }
}
.demo-fault-open { grid-column: 2; margin-top: 10px; padding: 10px 16px; border: 1px solid #e79791; border-radius: 8px; color: #ffcbc7; background: #352522; cursor: pointer; font: inherit; }
.fault-demo { padding: 14px 18px; border-bottom: 1px solid #556052; background: #172920; font-size: 12px; overflow-wrap: anywhere; }
.fault-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 6px; }
.fault-heading h2 { margin: 0; font-size: 16px; color: #f0eee5; }
.fault-tag { border: 1px solid #947856; border-radius: 4px; padding: 2px 6px; color: #ecd3a6; font-size: 10px; }
.fault-status { color: #d8e1db; font-size: 16px; display: block; }
.fault-demo[data-status="broken"] { background: #302122; border-bottom: 2px solid #ff7882; }
.fault-demo[data-status="broken"] .fault-status { color: #ff9099; }
.fault-detail { margin: 5px 0 8px; color: #d4d8d2; }
.fault-chain { margin-top: 8px; }
.fault-more { color:#bec9c1; margin-top:5px; font-size:11px; }
.fault-more summary { cursor:pointer; }
.fault-hidden,.fault-action-error { margin:4px 0; color:#ffd3a2; }
body[data-public-demo]:not(.home-mode) .canvas-shell { overflow-y:auto; }
body[data-public-demo] .graph-frame { min-height:380px; }
.fault-controls { display: inline-flex; flex-wrap: wrap; gap: 6px; margin: 8px 10px 4px 0; }
.fault-controls .watch-btn { min-height: 36px; padding: 6px 10px; font-size: 12px; }
#fault-inject:not(:disabled) { border-color: #ff8991; color: #ffafb5; }
.fault-chain { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.fault-chip { padding: 4px 12px; border: 1px solid #5b7967; border-radius: 5px; color: #e4eee7; }
.fault-chip.unverified { border-style: dashed; border-color: #96a0aa; color: #bbc3cb; background: #30373d; }
.fault-gap { color: #ff8894; font-weight: 700; }
.fault-link,.fault-count { color: #b7c5ba; }
.fault-scope,.fault-legend,.fault-history { margin: 4px 0 0; color: #aebbb1; font-size: 11px; }
.fault-legend { color: #e5bdba; }
.fault-demo button:focus-visible,.demo-fault-open:focus-visible { outline: 2px solid #fff2c3; outline-offset: 3px; }
@media(max-width:700px) { .demo-fault-open { grid-column:1; } .fault-demo { padding:12px; } .fault-controls .watch-btn { min-height:44px; } }
body[data-public-demo].home-mode { grid-template-rows: auto auto minmax(0, 1fr) auto; }
body[data-public-demo].home-mode nav.main-navigation { grid-row: 2 / 4; }
body[data-public-demo].home-mode section#workspace-home { grid-row: 3; }
body[data-public-demo].home-mode footer.statusbar { grid-row: 4; }
body[data-public-demo].home-mode .demo-banner { grid-column: 2; grid-row: 2; margin: 16px 24px 0; max-width: none; }
body[data-public-demo]:not(.home-mode) .demo-banner { display: none; }
.demo-banner { margin: 20px auto 0; padding: 18px 24px; max-width: 1240px; border: 1px solid #355b49; border-radius: 12px; background: #10291f; color: #eef7ef; display: grid; grid-template-columns: 1fr auto; column-gap: 24px; align-items: center; }
.demo-banner-title { margin: 0; font-size: 21px; }
.demo-banner-summary { margin: 8px 0; color: #d0dfd5; }
.demo-banner-scope { margin: 0; font-size: 12px; color: #aabeb2; }
.demo-banner-open { grid-column: 2; grid-row: 1 / 4; border: 1px solid #e9b75b; border-radius: 8px; padding: 13px 20px; background: #efc16c; color: #17251d; font: inherit; font-weight: 700; cursor: pointer; }
.demo-banner-open:hover { background: #f6d292; }
.demo-banner-open:focus-visible { outline: 3px solid #f8f4db; outline-offset: 3px; }
body[data-public-demo] .watch-shell { max-width: 740px; }
body[data-public-demo] .watch-help, body[data-public-demo] .watch-note, body[data-public-demo] .watch-finding-path { overflow-wrap: anywhere; }
.demo-guide { margin: 16px 0; padding: 16px; border: 1px solid #37634f; border-left: 4px solid #38dfad; border-radius: 8px; background: #132b21; }
.demo-guide h3 { margin: 5px 0 8px; font-size: 19px; color: #f2f3ee; }
.demo-guide p { margin: 0; line-height: 1.6; }
.demo-guide .demo-guide-kicker { font-size: 12px; color: #b6c9bd; }
.demo-guide[data-stage="alert"] { border-color: #d6a858; background: #302619; }
.demo-guide[data-stage="error"] { border-color: #df827b; background: #33201f; }
.demo-guide[data-stage="complete"] { border-color: #38dfad; }
body[data-public-demo] .demo-next-action { border-color: #38dfad; box-shadow: 0 0 0 1px #38dfad; }
body[data-public-demo] .watch-btn { min-height: 44px; }
.demo-evidence { margin-bottom: 8px; text-align: left; }
.demo-privacy { grid-column: 1 / -1; margin-top: 10px; font-size: 12px; color: #b6c9bd; }
.demo-privacy summary { cursor: pointer; }
.demo-privacy p { max-width: 80ch; margin-bottom: 0; line-height: 1.6; }
@media (max-width: 1000px) {
  body[data-public-demo].home-mode { grid-template-rows: auto auto auto minmax(0, 1fr) auto; }
  body[data-public-demo].home-mode nav.main-navigation { grid-row: 2; }
  body[data-public-demo].home-mode .demo-banner { grid-column: 1; grid-row: 3; }
  body[data-public-demo].home-mode section#workspace-home { grid-row: 4; }
  body[data-public-demo].home-mode footer.statusbar { grid-row: 5; }
}
@media (max-width: 700px) {
  .demo-banner { margin: 12px; padding: 16px; grid-template-columns: 1fr; gap: 8px; }
  .demo-banner-open { grid-column: 1; grid-row: auto; min-height: 44px; }
  .demo-banner-title { font-size: 19px; }
  body[data-public-demo] #watch-activity { left: 12px; right: 12px; bottom: 38px; width: auto; padding: 8px 12px; }
  body[data-public-demo] #watch-activity .watch-activity-stats { display: none; }
  body[data-public-demo] #watch-activity .watch-activity-header { border: 0; padding: 0; }
  body[data-public-demo] #workspace-home .view-home { padding-bottom: 150px; }
}
