
:root{
  --bg: #fff;
  --fg: #1c1c1c;
  --muted: #667085;
  --brand: #7c3aed;
  --accent: #a78bfa;
  --card: #faf7ff;
  --ring: #eadcff;
  --shadow: 0 10px 22px rgba(124,58,237,.12);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--fg);background:var(--bg)}
a{color:inherit;text-decoration:none}
.header{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 20px;background:rgba(255,255,255,.8);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid #f1eaff;position:sticky;top:0;z-index:50}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:42px}
.brand h1{font-size:18px;margin:0;font-weight:800;letter-spacing:.2px}
.tagline{font-size:13px;color:var(--muted)}
.container{max-width:1120px;margin:0 auto;padding:24px 16px 56px}
.hero{background:linear-gradient(180deg,#fbf7ff,#fff);border:1px solid #f1eaff;border-radius:18px;padding:24px 20px;box-shadow:var(--shadow)}
.hero h2{margin:0 0 8px 0;font-size:28px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:20px}
.card{background:var(--card);border:1px solid #f1eaff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .15s ease}
.card:hover{transform:translateY(-2px)}
.card .thumb{aspect-ratio:3/4;background:linear-gradient(135deg,#ffc8dd,#bde0fe);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;color:#fff}
.card .body{padding:14px}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#eef2ff; color:#4338ca;font-size:12px;font-weight:700;margin-right:8px}
.meta{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;margin-top:6px}
.footer{max-width:1120px;margin:0 auto;padding:22px 16px;border-top:1px solid #f1eaff;color:var(--muted);font-size:13px}
.button{display:inline-block;background:var(--brand);color:#fff;padding:10px 14px;border-radius:12px;font-weight:800;box-shadow:var(--shadow)}
.button:hover{opacity:.95;transform:translateY(-1px)}
.nav{display:flex;gap:8px;align-items:center}
.nav a{font-size:14px;padding:8px 10px;border-radius:10px;border:1px solid #f1eaff;background:#fff}
.nav a.active{border-color:var(--brand);color:var(--brand);background:#f9f5ff}
.issue-header{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.issue-embed{border:1px solid #f1eaff;border-radius:18px;overflow:hidden;background:#fff}
.note{background:#fffbec;border:1px solid #ffe8a3;padding:10px 12px;border-radius:12px;color:#8a6d00;margin:10px 0}
.toolbar{display:flex;gap:10px;align-items:center;margin:12px 0}
.toolbar button{padding:10px 14px;border:1px solid var(--ring);background:#fff;border-radius:12px;cursor:pointer;font-weight:700}
.toolbar button:hover{background:#faf7ff}
#viewer{ width:100%; height:80vh; background:#fff; display:flex; align-items:center; justify-content:center; }
canvas{ max-width:100%; height:auto; background:#fff}
@media (max-width:700px){
  .brand h1{display:none}
}
