/* Vibe96 — live demo bar (package 336). Views/Demo/Frame.cshtml. Dark bar, demo fills the rest of the screen. */
html,body.dm-body{height:100%}
.dm-body{margin:0;display:flex;flex-direction:column;overflow:hidden;background:#17121F;font-family:"Manrope",system-ui,sans-serif;-webkit-font-smoothing:antialiased;
  --bar:#1E1828;--bar-2:#2A2236;--bar-line:#362D44;--bar-ink:#F4F1FA;--bar-soft:#B9AFC8;--accent:#7624F4;--accent-2:#8C46F6;--ok:#34C27A}
.dm-body *{box-sizing:border-box}
.dm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── bar ── */
.dm-bar{flex:none;position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;
  min-height:60px;padding:8px 16px;background:var(--bar);border-bottom:1px solid var(--bar-line);color:var(--bar-ink)}
.dm-left,.dm-right,.dm-mid{display:flex;align-items:center;gap:10px;min-width:0}
.dm-right{justify-content:flex-end}
.dm-logo{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:10px}
.dm-logo img{display:block;border-radius:7px}
.dm-back{display:flex;align-items:center;gap:6px;min-width:0;min-height:40px;padding:0 10px 0 4px;border-radius:9px;color:var(--bar-ink);text-decoration:none}
.dm-back:hover{background:var(--bar-2);color:#fff}
.dm-back svg{flex:none;color:var(--bar-soft)}
.dm-name{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-score{flex:none;font-size:13px;font-weight:800;color:var(--ok);background:rgba(52,194,122,.12);border:1px solid rgba(52,194,122,.3);border-radius:999px;padding:3px 9px}
.dm-score small{font-size:11px;font-weight:600;opacity:.8}

.dm-devices{display:flex;gap:2px;padding:3px;background:var(--bar-2);border-radius:10px}
.dm-dev{display:grid;place-items:center;width:38px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--bar-soft);cursor:pointer}
.dm-dev:hover{color:#fff}
.dm-dev[aria-pressed="true"]{background:var(--bar-line);color:#fff}

.dm-login{position:relative}
.dm-chip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid var(--bar-line);border-radius:10px;background:transparent;color:var(--bar-ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.dm-chip:hover,.dm-chip[aria-expanded="true"]{background:var(--bar-2)}
.dm-pop{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);width:min(360px,calc(100vw - 24px));padding:16px;border-radius:14px;background:#fff;color:var(--v96-ink);box-shadow:0 24px 60px -20px rgba(0,0,0,.6)}
.dm-pop[hidden]{display:none}
.dm-pop-h{margin:0 0 12px;font-size:15px;font-weight:800}
.dm-pop-sub{margin:14px 0 6px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--v96-faint)}
.dm-cred{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--v96-line)}
.dm-cred:first-of-type{border-top:0}
.dm-cred span{font-size:13px;color:var(--v96-body)}
.dm-cred code{font-size:14px;font-family:"IBM Plex Mono",ui-monospace,monospace;color:var(--v96-ink);overflow-wrap:anywhere}
.dm-copy{min-height:32px;padding:0 12px;border:1px solid var(--v96-line-2);border-radius:8px;background:#fff;color:var(--accent);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.dm-copy:hover{border-color:var(--accent)}
.dm-copy.is-done{background:#EEF9F2;border-color:#BFE6CF;color:#1E7A48}
.dm-roles{margin:0;padding:0 0 0 18px;font-size:13.5px;line-height:1.55;color:var(--v96-body)}
.dm-pop-note{margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--v96-faint)}

.dm-ghost{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--bar-soft);font:inherit;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap}
.dm-ghost:hover{background:var(--bar-2);color:#fff}
.dm-vee img{border-radius:50%;background:#fff}
.dm-price{font-size:17px;font-weight:800;color:#fff;white-space:nowrap}
.dm-price s{margin-right:6px;font-size:13px;font-weight:600;color:var(--bar-soft)}
.dm-buyform{margin:0}
.dm-buy{height:42px;padding:0 20px;border:0;border-radius:10px;background:var(--ok);color:#fff;font:inherit;font-size:15px;font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:0 8px 20px -10px rgba(52,194,122,.8)}
.dm-buy:hover{background:#2BAE6C}

.dm-body :is(a,button):focus-visible{outline:2px solid #fff;outline-offset:2px}
.dm-pop :is(a,button):focus-visible{outline-color:var(--accent)}

/* ── demo area ── */
.dm-stage{flex:1;min-height:0;display:flex;justify-content:center;background:#17121F;overflow:auto}
.dm-frame{position:relative;width:100%;height:100%;background:#fff;transition:width .25s ease}
.dm-stage[data-device="tablet"],.dm-stage[data-device="phone"]{padding:18px 0}
.dm-stage[data-device="tablet"] .dm-frame{width:820px;max-width:calc(100% - 24px);border-radius:16px;overflow:hidden;box-shadow:0 0 0 10px #2A2236}
.dm-stage[data-device="phone"] .dm-frame{width:390px;max-width:calc(100% - 24px);max-height:844px;border-radius:24px;overflow:hidden;box-shadow:0 0 0 10px #2A2236}
.dm-frame iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.dm-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#fff;color:var(--v96-body);font-size:15px;text-align:center;padding:20px}
.dm-loading[hidden]{display:none}
.dm-loading p{margin:0}
.dm-slow a{color:var(--accent);font-weight:700}
.dm-spin{width:34px;height:34px;border-radius:50%;border:3px solid #EEE8FB;border-top-color:var(--accent);animation:dm-spin 1s linear infinite}
@keyframes dm-spin{to{transform:rotate(360deg)}}

/* the chat launcher would sit over the demo: Ask Vee in the bar opens it instead */
.dm-body .vc-launcher{display:none}

/* ── smaller screens ── */
@media (max-width:1100px){
  .dm-devices{display:none}
  .dm-out span,.dm-vee span{display:none}
}
@media (max-width:760px){
  .dm-bar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:6px 10px;min-height:56px}
  .dm-mid{display:none}
  .dm-score,.dm-out{display:none}
  .dm-price{font-size:15px}
  .dm-price s{display:none}
  .dm-buy{height:40px;padding:0 14px;font-size:14px}
  .dm-logo{width:34px}
}
@media (max-width:760px){
  /* the login stays reachable on phones: it moves under the bar as a thin strip */
  .dm-body.has-login .dm-mid{display:flex;position:absolute;left:0;right:0;top:100%;justify-content:center;padding:6px;background:var(--bar);border-bottom:1px solid var(--bar-line)}
  .dm-body.has-login .dm-stage{padding-top:52px}
  .dm-chip{height:36px}
}
@media (prefers-reduced-motion:reduce){.dm-spin{animation:none}.dm-frame{transition:none}}
