/* Quantrex Archive — class/category PDF library (Kindle chrome). Isolated from question banks. */
.qx-arch { --arch-navy:#071428; --arch-gold:#d4af37; --arch-ink:#0f172a; --arch-muted:#64748b; --arch-card:#fff; --arch-line:rgba(7,20,40,.1); }
html[data-theme="dark"] .qx-arch { --arch-ink:#e8eef7; --arch-muted:#94a3b8; --arch-card:#0f1b33; --arch-line:rgba(212,175,55,.18); }

.qx-arch-brand { display:flex; align-items:center; gap:10px; margin:0 0 14px; }
.qx-arch-brand img { width:36px; height:36px; border-radius:10px; }
.qx-arch-brand strong { display:block; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--arch-gold); }
.qx-arch-brand span { font-size:12px; color:var(--arch-muted); }

.qx-arch-search { width:100%; padding:12px 14px; border-radius:12px; border:1px solid var(--arch-line); background:var(--arch-card); color:var(--arch-ink); font-size:15px; margin:0 0 14px; }
.qx-arch-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.qx-arch-chips button { border:1px solid var(--arch-line); background:var(--arch-card); color:var(--arch-ink); border-radius:999px; padding:8px 12px; font-weight:700; font-size:13px; cursor:pointer; }
.qx-arch-chips button.on { background:var(--arch-navy); color:#fff; border-color:var(--arch-navy); }

.qx-arch-folders { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.qx-arch-folder { display:flex; flex-direction:column; gap:6px; text-align:left; padding:16px; border-radius:16px; border:1px solid var(--arch-line); background:linear-gradient(180deg, var(--arch-card), rgba(212,175,55,.06)); cursor:pointer; min-height:120px; }
.qx-arch-folder em { font-style:normal; font-size:22px; }
.qx-arch-folder strong { font-size:15px; color:var(--arch-ink); }
.qx-arch-folder small { color:var(--arch-muted); font-size:12px; }

.qx-arch-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(148px,1fr)); gap:14px; }
.qx-arch-card { cursor:pointer; background:transparent; border:0; padding:0; text-align:left; color:inherit; }
.qx-arch-card .qx-arch-cover { position:relative; border-radius:10px; overflow:hidden; box-shadow:0 10px 24px rgba(7,20,40,.22); aspect-ratio:3/4; background:#12243f; }
.qx-arch-card img { width:100%; height:100%; object-fit:cover; display:block; }
.qx-arch-fallback { display:flex; flex-direction:column; justify-content:flex-end; gap:6px; padding:12px; height:100%; color:#fff; background:linear-gradient(160deg,#071428,#1e3a8a 55%,#d4af37); }
.qx-arch-fallback b { font-size:13px; line-height:1.25; }
.qx-arch-fallback i { font-style:normal; font-size:10px; letter-spacing:.08em; text-transform:uppercase; opacity:.85; }
.qx-arch-card figcaption { margin-top:8px; }
.qx-arch-card figcaption strong { display:block; font-size:13px; line-height:1.3; color:var(--arch-ink); }
.qx-arch-card figcaption small { color:var(--arch-muted); font-size:11px; }
.qx-arch-ribbon { position:absolute; top:8px; left:8px; background:#b45309; color:#fff; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:3px 7px; border-radius:6px; }
.qx-arch-ribbon.gold { background:var(--arch-gold); color:#071428; }
.qx-arch-ribbon.miss { background:#64748b; }

.qx-arch-sec { margin:18px 0 8px; display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.qx-arch-sec h3 { margin:0; font-size:16px; }
.qx-arch-sec small { color:var(--arch-muted); }

.qx-arch-book { display:grid; grid-template-columns:minmax(140px,220px) 1fr; gap:20px; align-items:start; }
@media (max-width:720px) { .qx-arch-book { grid-template-columns:1fr; } }
.qx-arch-hero { border-radius:14px; overflow:hidden; box-shadow:0 16px 40px rgba(7,20,40,.28); background:#12243f; }
.qx-arch-hero img { width:100%; display:block; }
.qx-arch-meta h2 { margin:0 0 8px; font-size:22px; }
.qx-arch-meta p { color:var(--arch-muted); line-height:1.55; }
.qx-arch-actions { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.qx-arch-actions button { border:0; border-radius:12px; padding:12px 16px; font-weight:800; cursor:pointer; }
.qx-arch-actions .pri { background:var(--arch-navy); color:#fff; }
.qx-arch-actions .key { background:linear-gradient(90deg,#b45309,#d4af37); color:#071428; }
.qx-arch-actions .ghost { background:transparent; border:1px solid var(--arch-line); color:var(--arch-ink); }

.qx-arch-ch { display:flex; gap:12px; align-items:center; width:100%; text-align:left; padding:12px; border-radius:12px; border:1px solid var(--arch-line); background:var(--arch-card); cursor:pointer; margin:0 0 8px; }
.qx-arch-ch.on-key { border-color:rgba(212,175,55,.55); background:linear-gradient(90deg,rgba(212,175,55,.12),transparent); }
.qx-arch-ch strong { display:block; font-size:14px; }
.qx-arch-ch small { color:var(--arch-muted); }
.qx-arch-ch .n { width:28px; height:28px; border-radius:8px; background:var(--arch-navy); color:#fff; display:grid; place-items:center; font-size:12px; font-weight:800; flex:none; }

/* Kindle overlay */
#qxArchReader { position:fixed; inset:0; z-index:100000; background:#071428; display:flex; flex-direction:column; color:#f8fafc; height:100%; height:100dvh; }
.qx-k-bar { display:flex; align-items:center; gap:8px; padding:8px 10px; background:#071428; border-bottom:1px solid rgba(212,175,55,.35); min-height:52px; flex-wrap:wrap; }
.qx-k-bar img { width:28px; height:28px; border-radius:8px; }
.qx-k-title { flex:1; min-width:140px; }
.qx-k-title strong { display:block; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.qx-k-title small { display:block; font-size:11px; color:#d4af37; }
.qx-k-tools { display:flex; flex-wrap:wrap; gap:6px; }
.qx-k-bar button { background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(212,175,55,.25); border-radius:8px; padding:7px 10px; font-weight:700; font-size:12px; cursor:pointer; }
.qx-k-bar button[disabled] { opacity:.35; cursor:default; }
.qx-k-stage { flex:1; position:relative; overflow:hidden; background:#0b1a30; min-height:0; }
.qx-k-framewrap { position:absolute; inset:0; transform-origin:center center; }
.qx-k-framewrap iframe { width:100%; height:100%; border:0; background:#111; }
.qx-k-framewrap.night iframe { filter:invert(1) hue-rotate(180deg); }
.qx-k-framewrap.sepia iframe { filter:sepia(.28) contrast(1.04); }
.qx-k-drawer { position:absolute; top:0; right:0; bottom:0; width:min(320px,92vw); background:#071428; border-left:1px solid rgba(212,175,55,.35); overflow:auto; z-index:3; padding:12px; }
.qx-k-drawer h3 { margin:0 0 10px; font-size:13px; color:#d4af37; letter-spacing:.08em; text-transform:uppercase; }
.qx-k-ditem { display:block; width:100%; text-align:left; background:rgba(255,255,255,.06); color:#fff; border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:10px; margin:0 0 8px; cursor:pointer; font-weight:700; font-size:13px; }
.qx-k-ditem.on { border-color:#d4af37; background:rgba(212,175,55,.16); }
.qx-k-ditem.key { border-color:#b45309; }
.qx-k-foot { display:flex; align-items:center; gap:10px; padding:8px 12px; border-top:1px solid rgba(212,175,55,.25); font-size:12px; flex:none; }
.qx-k-foot .bar { flex:1; height:6px; border-radius:99px; background:rgba(255,255,255,.12); overflow:hidden; }
.qx-k-foot .bar > i { display:block; height:100%; background:var(--arch-gold,#d4af37); width:0; }
.qx-k-mega { padding:28px 18px; text-align:center; max-width:420px; margin:40px auto; }
.qx-k-mega a, .qx-k-mega button.pri { display:inline-block; margin-top:12px; background:#d4af37; color:#071428; font-weight:800; padding:12px 18px; border-radius:12px; text-decoration:none; border:0; cursor:pointer; }
