/* Authenticated Quest Board. Scoped, theme-aware, responsive, motion-safe. */
.gq-back{ position:fixed; inset:0; z-index:10080; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(11,9,18,.72); backdrop-filter:blur(10px); }
.gq-modal{ position:relative; width:min(1120px,100%); max-height:calc(100vh - 36px); overflow:auto; border:1px solid var(--hairline); border-radius:26px; color:var(--ink-hi); background:linear-gradient(145deg,var(--panel),var(--raised)); box-shadow:0 28px 90px rgba(0,0,0,.38); }
.gq-body{ padding:clamp(20px,4vw,42px); }
.gq-x{ position:sticky; z-index:4; top:12px; float:right; width:42px; height:42px; margin:12px 12px -54px 0; border:1px solid var(--hairline); border-radius:50%; color:var(--ink-hi); background:var(--raised); cursor:pointer; font:700 24px/1 var(--font-ui,system-ui,sans-serif); }
.gq-x:hover{ border-color:var(--p400); transform:rotate(4deg); }
.gq-x:focus-visible,.gq-go:focus-visible,.gq-signin:focus-visible{ outline:3px solid var(--p300); outline-offset:3px; }
.gq-intro,.gq-empty{ padding-right:54px; }
.gq-kicker{ color:var(--p600,#C9276F); font:900 10px/1.2 var(--font-ui,system-ui,sans-serif); letter-spacing:.14em; }
.gq-title{ margin:7px 0 0; color:var(--ink-hi); font:950 clamp(30px,5vw,54px)/.95 var(--font-ui,system-ui,sans-serif); letter-spacing:-.045em; }
.gq-lede{ max-width:72ch; margin:13px 0 0; color:var(--ink-mid); font:650 14px/1.55 var(--font-ui,system-ui,sans-serif); }
.gq-grid{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:16px; margin-top:24px; }
.gq-col{ min-width:0; padding:16px; border:1px solid var(--hairline); border-radius:20px; background:var(--well); }
.gq-colhead{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.gq-coltitle{ color:var(--ink-hi); font:950 20px/1 var(--font-ui,system-ui,sans-serif); }
.gq-colsub{ margin-top:6px; color:var(--ink-lo); font:750 10px/1.2 var(--font-ui,system-ui,sans-serif); letter-spacing:.04em; text-transform:uppercase; }
.gq-count{ display:inline-flex; align-items:center; justify-content:center; min-width:46px; min-height:40px; border-radius:999px; color:var(--on-accent,#fff); background:linear-gradient(120deg,var(--p500,#E0397A),var(--r500,#E0392B)); font:900 12px/1 var(--font-mono,ui-monospace,monospace); }
.gq-list{ display:grid; gap:10px; }
.gq-quest{ padding:13px; border:1px solid var(--hairline); border-radius:15px; background:var(--raised); }
.gq-quest.is-done{ border-color:var(--p400); background:var(--tint-weak); }
.gq-qtop{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.gq-check{ color:var(--ink-mid); font:900 11px/1 var(--font-mono,ui-monospace,monospace); }
.gq-quest.is-done .gq-check{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; color:#fff; background:var(--ok,#1fae72); }
.gq-xp{ color:var(--p600); font:900 10px/1 var(--font-ui,system-ui,sans-serif); letter-spacing:.05em; }
.gq-qtitle{ margin:8px 0 0; color:var(--ink-hi); font:900 15px/1.15 var(--font-ui,system-ui,sans-serif); }
.gq-qcopy{ margin:6px 0 0; color:var(--ink-lo); font:620 12px/1.42 var(--font-ui,system-ui,sans-serif); }
.gq-meter{ height:5px; margin-top:10px; overflow:hidden; border-radius:999px; background:var(--hairline); }
.gq-fill{ display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--p500),var(--r500)); transition:width .45s ease; }
.gq-go{ min-height:40px; margin-top:10px; padding:0 14px; border:1px solid var(--hairline); border-radius:11px; color:var(--ink-hi); background:var(--panel); cursor:pointer; font:850 11px/1 var(--font-ui,system-ui,sans-serif); }
.gq-go:hover{ border-color:var(--p400); transform:translateY(-1px); }
.gq-go:disabled{ cursor:default; opacity:.62; transform:none; }
.gq-reward{ margin-top:14px; padding:11px 13px; border:1px solid var(--p400); border-radius:13px; color:var(--p700,#A61F5D); background:var(--tint-weak); font:850 12.5px/1.45 var(--font-ui,system-ui,sans-serif); }
.gq-reward.is-pending{ color:var(--ink-mid); border-color:var(--hairline); }
.gq-foot{ margin-top:14px; color:var(--ink-lo); font:700 11px/1.45 var(--font-ui,system-ui,sans-serif); }
.gq-loading{ min-height:240px; display:flex; align-items:center; justify-content:center; color:var(--ink-mid); font:800 14px/1.4 var(--font-ui,system-ui,sans-serif); }
.gq-signin{ min-height:44px; margin-top:20px; padding:0 20px; border:0; border-radius:13px; color:#fff; cursor:pointer; background:linear-gradient(120deg,var(--p500,#E0397A),var(--r500,#E0392B)); box-shadow:0 8px 24px rgba(224,57,43,.25); font:900 14px/1 var(--font-ui,system-ui,sans-serif); }
:root[data-theme="dark"] .gq-back{ background:rgba(5,3,10,.82); }
:root[data-theme="dark"] .gq-reward{ color:var(--p300,#F7A8D8); }
@media (max-width:780px){
  .gq-back{ padding:0; align-items:stretch; }
  .gq-modal{ width:100%; max-height:100vh; border-radius:0; border-left:0; border-right:0; }
  .gq-body{ padding:20px 14px 30px; }
  .gq-grid{ grid-template-columns:1fr; }
  .gq-col{ padding:13px; border-radius:17px; }
  .gq-intro,.gq-empty{ padding-right:44px; }
  .gq-title{ font-size:34px; }
  .gq-go,.gq-signin{ min-height:44px; }
}
@media (prefers-reduced-motion:reduce){
  .gq-back *{ animation:none !important; transition:none !important; }
  .gq-x:hover,.gq-go:hover{ transform:none; }
}
