.art-science { background: radial-gradient(circle at 70% 30%, rgba(170,195,210,.22), transparent 28%), linear-gradient(140deg, #0b1013, #171a1d); }
.art-psych { background: radial-gradient(circle at 35% 35%, rgba(200,169,107,.2), transparent 26%), linear-gradient(135deg, #17130f, #101012); }
.art-mystery { background: radial-gradient(circle at 50% 25%, rgba(116,133,151,.18), transparent 30%), linear-gradient(135deg, #101219, #0c0d10); }
.art-internet { background: radial-gradient(circle at 30% 40%, rgba(171,155,204,.18), transparent 28%), linear-gradient(135deg, #14111a, #0d0d11); }
.art-history { background: radial-gradient(circle at 65% 38%, rgba(180,144,101,.18), transparent 27%), linear-gradient(135deg, #15110e, #0f0f10); }
.art-strange { background: radial-gradient(circle at 25% 35%, rgba(140,164,131,.16), transparent 28%), linear-gradient(135deg, #101512, #0f1110); }
.art-coincidence { background: radial-gradient(circle at 60% 45%, rgba(190,160,186,.16), transparent 30%), linear-gradient(135deg, #151116, #0f1011); }
.visual-svg { width:100%; height:100%; min-height:inherit; display:block; }
.visual-svg text { fill:rgba(244,242,236,.44); font-family:Inter,system-ui,sans-serif; font-size:12px; letter-spacing:2px; }
.visual-svg .ghost { fill:none; stroke:rgba(244,242,236,.14); stroke-width:1; }
.visual-svg .warm { fill:none; stroke:rgba(200,169,107,.46); stroke-width:1.2; }
.visual-svg .dot { fill:#c8a96b; }

/* Story-specific cover language: one visual system, thirty distinct subjects. */
.visual-svg { background:#101012; }
.visual-svg .ink, .visual-svg .crowd, .visual-svg .choice, .visual-svg .memory,
.visual-svg .repeat, .visual-svg .loop, .visual-svg .chart, .visual-svg .lab,
.visual-svg .door, .visual-svg .phone, .visual-svg .ship, .visual-svg .mountain,
.visual-svg .signal, .visual-svg .manuscript, .visual-svg .map, .visual-svg .tv,
.visual-svg .cipher, .visual-svg .dance, .visual-svg .wave, .visual-svg .tank,
.visual-svg .climate, .visual-svg .impact, .visual-svg .gas, .visual-svg .micro,
.visual-svg .ice, .visual-svg .codex, .visual-svg .sound, .visual-svg .city,
.visual-svg .timeline, .visual-svg .ocean { color:#f4f2ec; }
.visual-svg path, .visual-svg rect, .visual-svg circle, .visual-svg ellipse { fill:none; stroke:rgba(244,242,236,.24); stroke-width:2; vector-effect:non-scaling-stroke; }
.visual-svg .accent, .visual-svg .accent-fill { stroke:#c8a96b; }
.visual-svg .accent-fill { fill:rgba(200,169,107,.18); }
.visual-svg .word { fill:#c8a96b; font:600 54px Inter,system-ui,sans-serif; letter-spacing:6px; }
.visual-svg .word.small { font-size:42px; fill:#f4f2ec; opacity:.82; }
.visual-svg .word.tiny { font-size:30px; fill:#c8a96b; opacity:.65; }
.visual-svg .code { fill:#c8a96b; font:500 27px ui-monospace,SFMono-Regular,monospace; letter-spacing:3px; }
.visual-svg .art-label { fill:rgba(244,242,236,.42); font:500 12px Inter,system-ui,sans-serif; letter-spacing:2px; }
.visual-svg .accent-fill + path { stroke:rgba(244,242,236,.28); }
