/* ============================================================================
   Revisionizer — result card share modal
   Loaded as a separate file so the page stays CSP-friendly (no injected
   <style> blocks). Sits above the app header, which carries z-index 20000.
   ========================================================================== */

.rv-card-modal{
  position:fixed; inset:0; z-index:2147483000;
  display:flex; align-items:flex-start; justify-content:center;
  padding:clamp(14px,4vh,40px) 16px;
  background:rgba(3,8,12,.86);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
}
body.rv-card-open{ overflow:hidden !important; }

.rv-card-panel{
  margin:auto; width:100%; max-width:420px;
  background:#0F1720; border:1px solid rgba(255,255,255,.12); border-radius:18px;
  padding:22px 22px 18px;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
  font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  animation:rvCardIn .18s ease-out;
}
@keyframes rvCardIn{ from{ opacity:0; transform:translateY(8px) } to{ opacity:1; transform:none } }

.rv-card-h{
  margin:0 0 14px; font-size:19px; font-weight:800; letter-spacing:-.01em; color:#fff;
}

.rv-card-preview{
  display:block; width:100%; height:auto; border-radius:12px;
  border:1px solid rgba(255,255,255,.10); background:#0B1014;
}

.rv-card-actions{
  display:flex; flex-wrap:wrap; gap:9px; margin-top:16px;
}

.rv-card-btn{
  flex:1 1 auto; min-width:104px;
  font:800 15px/1 inherit; font-family:inherit;
  padding:14px 16px; border-radius:999px; cursor:pointer;
  background:rgba(255,255,255,.07); color:#E6EEF3;
  border:1px solid rgba(255,255,255,.16);
  transition:background .15s, border-color .15s, transform .08s;
}
.rv-card-btn:hover{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.3) }
.rv-card-btn:active{ transform:translateY(1px) }
.rv-card-btn.primary{
  background:linear-gradient(135deg,#65F2B4,#3FCFC3); color:#04150E; border-color:transparent;
  flex:1 1 100%;
}
.rv-card-btn:focus-visible{ outline:2px solid #65F2B4; outline-offset:2px }

.rv-card-note{
  margin:12px 2px 0; font-size:12.5px; line-height:1.5; color:#8FA3B0;
}

.rv-card-toast{
  position:fixed; left:50%; bottom:26px; transform:translateX(-50%);
  z-index:2147483001; max-width:min(92vw,380px);
  background:#0F1720; color:#E6EEF3;
  border:1px solid rgba(255,255,255,.16); border-radius:999px;
  padding:12px 20px; font:700 14px/1.4 'DM Sans',system-ui,sans-serif;
  box-shadow:0 16px 40px rgba(0,0,0,.5);
}

/* trigger button, styled to sit with the existing game buttons */
.rv-share-btn{
  font-family:'DM Mono',ui-monospace,monospace; font-size:12.5px; font-weight:500;
  padding:9px 22px; margin-top:1rem; margin-left:6px;
  border-radius:4px; cursor:pointer;
  background:linear-gradient(135deg,#65F2B4,#3FCFC3); color:#04150E; border:none;
}
.rv-share-btn:hover{ filter:brightness(1.06) }
.rv-share-btn:focus-visible{ outline:2px solid #65F2B4; outline-offset:2px }

@media (max-width:560px){
  .rv-card-panel{ max-width:100%; padding:18px 16px 14px }
  .rv-card-btn{ flex:1 1 100% }
}
@media (prefers-reduced-motion:reduce){
  .rv-card-panel{ animation:none }
  .rv-card-btn{ transition:none }
}

/* ── social feature UI (challenge links, group boards) ─────────────────── */
.rv-linkbox,.rv-joinrow{margin-top:14px}
.rv-linkinput{width:100%;background:#0B1014;border:1px solid rgba(255,255,255,.16);color:#E6EEF3;
  border-radius:10px;padding:13px 14px;font:500 15px/1.4 'DM Mono',ui-monospace,monospace}
.rv-linkinput:focus-visible{outline:2px solid #65F2B4;outline-offset:2px}
.rv-grouplist{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px}
.rv-groupitem{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;
  background:#16222A;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:13px 16px;
  cursor:pointer;font-family:'DM Sans',sans-serif;color:#E6EEF3;text-align:left}
.rv-groupitem:hover{background:#1c2a34;border-color:rgba(255,255,255,.28)}
.rv-groupitem:focus-visible{outline:2px solid #65F2B4;outline-offset:2px}
.rv-groupname{font-weight:800;font-size:15px}
.rv-groupcode{font-family:'DM Mono',monospace;font-size:12px;color:#8FA3B0;letter-spacing:.08em;white-space:nowrap}
.rv-board{display:flex;flex-direction:column;gap:4px;margin:10px 0}
.rv-boardrow{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;
  padding:11px 14px;border-radius:10px;background:#131c23;font-size:15px}
.rv-boardrow.me{background:#0f3d2b;border:1px solid rgba(101,242,180,.4)}
.rv-boardpos{font-family:'DM Mono',monospace;color:#8FA3B0;font-size:13px}
.rv-boardname{font-weight:700;color:#E6EEF3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv-boardxp{font-family:'DM Mono',monospace;color:#65F2B4;font-size:13px;white-space:nowrap}
.rv-toast-error{border-color:rgba(255,107,107,.5)!important;color:#ffc9c9!important}
.rv-streak-pill{display:inline-flex;align-items:center;font-family:'DM Mono',monospace;font-size:12px;
  font-weight:500;color:var(--amber,#FFD166);letter-spacing:.06em;margin-left:10px;vertical-align:middle}
