:root{--bg: #0a0810;--bg-2: #120d1f;--panel: rgba(30, 22, 48, .55);--panel-solid: #18112a;--border: rgba(167, 139, 250, .18);--border-strong: rgba(167, 139, 250, .42);--text: #ece8f5;--text-dim: #b3a9cc;--text-faint: #7d7396;--accent: #a78bfa;--accent-2: #f0abfc;--accent-3: #67e8f9;--gold: #e8c477;--radius: 16px;--shadow: 0 18px 50px -22px rgba(124, 58, 237, .55);--maxw: 1120px;--font-body: "Be Vietnam Pro", system-ui, sans-serif;--font-display: "Playfair Display", Georgia, serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:var(--font-body);color:var(--text);background:radial-gradient(1200px 600px at 80% -10%,rgba(167,139,250,.16),transparent 60%),radial-gradient(900px 500px at 0% 10%,rgba(240,171,252,.1),transparent 55%),radial-gradient(700px 700px at 50% 120%,rgba(103,232,249,.08),transparent 60%),var(--bg);background-attachment:fixed;line-height:1.55;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 70% 60%,rgba(255,255,255,.35),transparent),radial-gradient(1px 1px at 40% 80%,rgba(255,255,255,.3),transparent),radial-gradient(1.5px 1.5px at 85% 25%,rgba(240,171,252,.4),transparent),radial-gradient(1px 1px at 10% 70%,rgba(103,232,249,.4),transparent);opacity:.6;pointer-events:none;z-index:0}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;position:relative;z-index:1}.hero{padding:72px 0 32px;text-align:center}.hero .eyebrow{font-family:var(--font-display);letter-spacing:.42em;text-transform:uppercase;color:var(--accent-2);font-size:.72rem;margin:0 0 14px}.hero h1{font-family:var(--font-display);font-weight:700;font-size:clamp(2.4rem,6vw,4.2rem);margin:0;line-height:1.05;background:linear-gradient(120deg,#fff 10%,var(--accent) 45%,var(--accent-2) 80%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 60px rgba(167,139,250,.35)}.hero .sub{color:var(--text-dim);max-width:620px;margin:16px auto 0;font-size:1.02rem}.hero .stats{display:flex;gap:28px;justify-content:center;margin-top:26px;flex-wrap:wrap}.hero .stat{display:flex;flex-direction:column}.hero .stat b{font-family:var(--font-display);font-size:1.7rem;color:var(--gold)}.hero .stat span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.toolbar{position:sticky;top:0;z-index:20;margin:8px 0 28px;padding:12px 0;backdrop-filter:blur(14px);background:linear-gradient(180deg,#0a0810eb,#0a081099);border-bottom:1px solid var(--border)}.search{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border-strong);border-radius:999px;padding:11px 18px;box-shadow:var(--shadow)}.search:focus-within{border-color:var(--accent)}.search svg{width:18px;height:18px;color:var(--accent);flex:none}.search input{flex:1;background:transparent;border:0;outline:0;color:var(--text);font-size:1rem;font-family:var(--font-body)}.search input::placeholder{color:var(--text-faint)}.search kbd{font-size:.7rem;color:var(--text-faint);border:1px solid var(--border);border-radius:6px;padding:2px 7px}.controls{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}.btn{font-family:var(--font-body);font-size:.82rem;color:var(--text-dim);background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:7px 15px;cursor:pointer;transition:.15s}.btn:hover{color:#fff;border-color:var(--border-strong)}.result-count{font-size:.82rem;color:var(--text-faint);margin-left:auto}.result-count b{color:var(--accent-2)}.arc-nav{display:flex;gap:8px;flex-wrap:wrap}.arc-nav a{font-size:.78rem;text-decoration:none;color:var(--text-dim);background:var(--panel);border:1px solid var(--border);padding:6px 12px;border-radius:999px;transition:.15s}.arc-nav a:hover{color:#fff;border-color:var(--accent);transform:translateY(-1px)}.arc{margin:16px 0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;scroll-margin-top:96px}.arc[open]{border-color:var(--border-strong)}.arc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:18px;padding:20px 24px;user-select:none}.arc>summary::-webkit-details-marker{display:none}.arc-badge{flex:none;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:#fff;background:linear-gradient(140deg,var(--accent),#7c3aed);box-shadow:0 8px 24px -8px #7c3aedcc}.arc-badge.side{background:linear-gradient(140deg,var(--accent-3),#0891b2)}.arc-meta{flex:1;min-width:0}.arc-meta .vi{font-family:var(--font-display);font-size:1.32rem;font-weight:600;color:#fff}.arc-meta .en{font-size:.86rem;color:var(--text-faint);font-style:italic}.arc-count{flex:none;font-size:.78rem;color:var(--accent-2);background:#f0abfc14;border:1px solid var(--border);padding:5px 12px;border-radius:999px}.chevron{flex:none;width:20px;height:20px;color:var(--text-faint);transition:transform .2s}.arc[open] .chevron{transform:rotate(180deg)}.arc-body{padding:4px 24px 22px}.phase-title{font-family:var(--font-display);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:22px 0 12px;padding-bottom:8px;border-bottom:1px dashed var(--border);display:flex;gap:10px;align-items:baseline}.phase-title .pen{color:var(--text-faint);font-style:italic;letter-spacing:0;text-transform:none;font-size:.72rem}.chapters{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}.chapter{display:block;text-decoration:none;padding:12px 15px;border-radius:11px;background:#ffffff05;border:1px solid var(--border);transition:.15s;position:relative}.chapter:hover{background:#a78bfa1a;border-color:var(--accent);transform:translateY(-2px)}.chapter .cvi{color:var(--text);font-weight:500;font-size:.96rem}.chapter .cen{color:var(--text-faint);font-size:.78rem;margin-top:3px;font-style:italic}.chapter:hover .cvi{color:#fff}.no-results{text-align:center;color:var(--text-faint);padding:60px 0;display:none}.no-results.show{display:block}.arc.hidden,.chapter.hidden,.phase.hidden{display:none}mark{background:#f0abfc47;color:#fff;border-radius:3px;padding:0 2px}footer{margin:56px 0 40px;padding-top:28px;border-top:1px solid var(--border);text-align:center;color:var(--text-faint);font-size:.85rem}footer a{color:var(--accent);text-decoration:none}footer a:hover{text-decoration:underline}@media (max-width: 560px){.arc>summary{padding:16px;gap:12px}.arc-badge{width:44px;height:44px;font-size:1rem}.arc-meta .vi{font-size:1.1rem}.arc-count{display:none}.chapters{grid-template-columns:1fr}}
