.atlas-hero{padding:78px 0 48px;background:radial-gradient(circle at 88% 10%,#ffc2dd44,transparent 30%),linear-gradient(180deg,#fff7fb,#fff)}.atlas-hero h1{font:clamp(72px,9vw,124px)/.82 var(--serif);letter-spacing:-.06em;color:var(--plum);margin:12px 0 22px}.atlas-hero h1 em{font-family:var(--script);font-weight:400;color:var(--pink)}.atlas-hero p{max-width:760px;color:var(--muted);font-size:17px}.atlas-search{display:grid;grid-template-columns:1fr 240px;gap:10px;margin-top:28px;max-width:780px}.atlas-search input,.atlas-search select{border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px}.atlas-main{padding:25px 0 100px}.atlas-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#9d637e}.atlas-meta a{color:#ef2f88}.atlas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.char-card{background:#fff;border:1px solid var(--border);border-radius:21px;padding:18px;min-height:210px;position:relative;overflow:hidden;box-shadow:0 9px 25px rgba(82,25,54,.045);cursor:pointer;transition:.2s}.char-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(82,25,54,.1)}.char-card:before{content:attr(data-initials);position:absolute;right:-5px;bottom:-17px;font:80px/1 var(--serif);color:#ef2f880b}.char-universe{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#b16388;font-weight:900}.char-card h2{font:29px/1 var(--serif);color:var(--plum);margin:9px 0 5px}.char-role{font-size:11px;color:#7b5266;font-weight:900}.char-meta{font-size:11px;color:var(--muted);margin:13px 0}.char-tags{display:flex;flex-wrap:wrap;gap:5px}.char-tags span{background:#fff0f7;border:1px solid #f2d4e2;border-radius:999px;padding:4px 6px;font-size:8px;color:#84536b}.spoiler-card{background:linear-gradient(135deg,#fff,#fff2f7)}.char-modal{width:min(680px,calc(100% - 28px));border:0;border-radius:26px;padding:0;box-shadow:0 30px 90px rgba(55,14,36,.3)}.char-modal::backdrop{background:#34152288;backdrop-filter:blur(5px)}.char-modal article{padding:32px;position:relative}.char-modal button{position:absolute;right:15px;top:15px;width:36px;height:36px;border-radius:50%;border:0;background:#fff0f7;font-size:20px}.char-file-head{display:flex;gap:18px;align-items:center}.char-avatar{width:90px;height:90px;border-radius:28px;background:linear-gradient(135deg,#ffc7df,#ef2f88);display:grid;place-items:center;color:#fff;font:32px var(--serif)}.char-file-head h2{font:42px/1 var(--serif);color:var(--plum);margin:2px 0}.char-file-body{margin-top:22px;border-top:1px solid var(--border);padding-top:20px}.char-file-body p{color:var(--muted)}.char-file-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}@media(max-width:1000px){.atlas-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:750px){.atlas-grid{grid-template-columns:repeat(2,1fr)}.atlas-search{grid-template-columns:1fr}.atlas-hero h1{font-size:74px}}@media(max-width:480px){.atlas-grid{grid-template-columns:1fr}.atlas-meta{display:block}.atlas-meta a{display:block;margin-top:6px}}
.universe-spotlight{margin:0 0 28px;padding:28px;border:1px solid var(--border);border-radius:28px;background:linear-gradient(145deg,#fff,#fff3f8);box-shadow:0 18px 45px rgba(82,25,54,.07)}.universe-spotlight[hidden]{display:none}.spotlight-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.spotlight-head h2{font:44px/1 var(--serif);color:var(--plum);margin:6px 0 10px}.spotlight-head p{margin:0;color:var(--muted);max-width:680px}.family-tree{margin-top:26px;padding:22px;border-radius:22px;background:linear-gradient(135deg,#301521,#6b2948);color:#fff}.family-generation{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.family-line{width:2px;height:28px;margin:4px auto;background:linear-gradient(#f6c6db,#fff0)}.family-person{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1);color:#fff;border-radius:16px;padding:13px 16px;min-width:150px;text-align:left;cursor:pointer;transition:.2s}.family-person:hover{transform:translateY(-2px);background:rgba(255,255,255,.16)}.family-person strong,.family-person small{display:block}.family-person strong{font:20px/1 var(--serif)}.family-person small{font-size:8px;letter-spacing:.1em;text-transform:uppercase;opacity:.72;margin-top:5px}.aod-orbit{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:12px;margin-top:12px}.aod-orbit>div{border:1px solid var(--border);background:#fff;border-radius:18px;padding:13px}.aod-orbit>div>span{display:block;font-size:8px;letter-spacing:.13em;font-weight:900;color:#a05f7e;margin:0 0 8px}.aod-orbit .family-person{width:100%;min-width:0;background:#fff7fb;color:var(--plum);border-color:#efd1df;margin-top:6px}.reference-chip{display:inline-flex;margin:8px 0 0;padding:4px 7px;border-radius:999px;background:#2f1522;color:#ffd8e9;font-size:7px;font-weight:900;letter-spacing:.12em}.char-photo.reference-ready{background:radial-gradient(circle at 50% 34%,#ffe0ef,#f5c5da 60%,#e6a8c6)}.char-photo.reference-ready em{display:block;margin-top:4px;font-size:7px;font-style:normal;letter-spacing:.09em;text-transform:uppercase;color:#7f4b65}.appearance-file{margin:16px 0 0;padding:14px;border-radius:14px;background:#fff4f9;border:1px solid #efd1df}.appearance-file small{font-size:8px;font-weight:900;letter-spacing:.13em;color:#9b5d79}.appearance-file p{margin:6px 0 0!important;font-size:12px!important;color:#6b4558!important}@media(max-width:780px){.spotlight-head{display:block}.spotlight-head .btn{margin-top:14px}.aod-orbit{grid-template-columns:1fr}.family-person{min-width:0;flex:1 1 180px}.spotlight-head h2{font-size:36px}}
/* richer visual character files */
.char-card{padding:0;min-height:345px;display:flex;flex-direction:column}.char-card:before{display:none}.char-photo{height:185px;flex:0 0 185px;background-size:cover;background-position:center 22%;position:relative;overflow:hidden}.char-photo:after{content:'';position:absolute;inset:auto 0 0;height:58%;background:linear-gradient(transparent,rgba(38,12,27,.25));pointer-events:none}.char-photo.placeholder{display:grid;place-items:center;align-content:center;gap:5px;background:radial-gradient(circle at 35% 25%,#fff 0 5%,transparent 6%),linear-gradient(145deg,#ffe8f3,#f4cddd 58%,#dca6c0);color:#6b2948}.char-photo.placeholder:after{background:linear-gradient(transparent,rgba(107,41,72,.08))}.char-photo.placeholder b{font:52px/1 var(--serif);position:relative;z-index:1}.char-photo.placeholder small{font-size:7px;font-weight:950;letter-spacing:.13em;text-transform:uppercase;position:relative;z-index:1;color:#9e607e}.char-card-copy{padding:16px 18px 19px;display:flex;flex:1;flex-direction:column}.char-card-copy .char-tags{margin-top:auto;padding-top:11px}.char-card.has-photo{border-color:#e4b5cb;box-shadow:0 12px 34px rgba(82,25,54,.09)}.char-card.has-photo:hover .char-photo{filter:saturate(1.04) contrast(1.02)}.char-modal{width:min(820px,calc(100% - 28px));max-height:min(90vh,900px);overflow:auto}.char-file-hero{display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:stretch}.char-photo.large{height:285px;border-radius:22px;background-position:center top;box-shadow:0 16px 38px rgba(76,25,52,.13)}.char-photo.placeholder.large{height:285px}.char-file-title{display:flex;flex-direction:column;justify-content:center}.char-file-title h2{font:clamp(43px,6vw,66px)/.88 var(--serif);letter-spacing:-.035em;color:var(--plum);margin:8px 0 9px}.char-file-title .char-tags{margin-top:15px}.character-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.character-fact-grid>div{border:1px solid var(--border);border-radius:15px;background:#fff8fc;padding:13px}.character-fact-grid small{display:block;font-size:7px;letter-spacing:.15em;font-weight:950;color:#b05a84}.character-fact-grid b{display:block;font:18px/1.1 var(--serif);color:var(--plum);margin:4px 0}.character-fact-grid p{margin:0!important;font-size:9px!important;color:var(--muted)!important}.character-bio{margin-top:14px;padding:17px;border-radius:17px;background:linear-gradient(135deg,#fff4f9,#fff);border:1px solid #efd4e1}.character-bio>p{font-size:13px;line-height:1.65;color:#674759}.character-note{margin-top:10px;padding:10px 12px;border-radius:11px;background:#fff;border:1px solid var(--border);font-size:10px;color:#89566e}.spoiler-card .char-photo{filter:saturate(.7)}
@media(max-width:650px){.char-file-hero{grid-template-columns:1fr}.char-photo.large{height:350px}.character-fact-grid{grid-template-columns:1fr}.char-modal article{padding:22px}.char-file-title h2{font-size:47px}}
@media(max-width:480px){.char-photo{height:240px;flex-basis:240px}.atlas-grid{gap:15px}}
/* universe-aware cinematic dossiers */
.char-modal[data-universe-skin="aod"] article{background:radial-gradient(circle at 16% 12%,rgba(146,72,128,.14),transparent 28%),linear-gradient(145deg,#09090d,#131019 58%,#0b0a0f);color:#eadde8}.char-modal[data-universe-skin="aod"] .char-file-title h2,.char-modal[data-universe-skin="aod"] .character-fact-grid b{color:#e2c7dc}.char-modal[data-universe-skin="aod"] .char-role,.char-modal[data-universe-skin="aod"] .character-bio>p,.char-modal[data-universe-skin="aod"] .character-note{color:#c4afbf}.char-modal[data-universe-skin="aod"] .character-fact-grid>div,.char-modal[data-universe-skin="aod"] .character-bio,.char-modal[data-universe-skin="aod"] .appearance-file,.char-modal[data-universe-skin="aod"] .character-note{background:#141019;border-color:#3a2b38}.char-modal[data-universe-skin="aod"] .eyebrow,.char-modal[data-universe-skin="aod"] .character-fact-grid small,.char-modal[data-universe-skin="aod"] .appearance-file small{color:#bd7aae}
.char-modal[data-universe-skin="blood-ties"] article{background:radial-gradient(circle at 12% 8%,rgba(147,105,68,.15),transparent 30%),linear-gradient(145deg,#17120f,#241915 58%,#110d0b);color:#f0e5d8}.char-modal[data-universe-skin="blood-ties"] .char-file-title h2,.char-modal[data-universe-skin="blood-ties"] .character-fact-grid b{color:#f0dfc3}.char-modal[data-universe-skin="blood-ties"] .char-role,.char-modal[data-universe-skin="blood-ties"] .character-bio>p,.char-modal[data-universe-skin="blood-ties"] .character-note{color:#cdb9a3}.char-modal[data-universe-skin="blood-ties"] .character-fact-grid>div,.char-modal[data-universe-skin="blood-ties"] .character-bio,.char-modal[data-universe-skin="blood-ties"] .appearance-file,.char-modal[data-universe-skin="blood-ties"] .character-note{background:#201713;border-color:#4b382d}.char-modal[data-universe-skin="blood-ties"] .eyebrow,.char-modal[data-universe-skin="blood-ties"] .character-fact-grid small,.char-modal[data-universe-skin="blood-ties"] .appearance-file small{color:#c79b6f}
.char-modal[data-universe-skin="his-desire"] article{background:radial-gradient(circle at 14% 10%,rgba(148,73,73,.12),transparent 30%),linear-gradient(145deg,#f6eee9,#efe3db 55%,#ead8cf);color:#442927}.char-modal[data-universe-skin="his-desire"] .char-file-title h2,.char-modal[data-universe-skin="his-desire"] .character-fact-grid b{color:#5b302e}.char-modal[data-universe-skin="his-desire"] .character-fact-grid>div,.char-modal[data-universe-skin="his-desire"] .character-bio,.char-modal[data-universe-skin="his-desire"] .appearance-file,.char-modal[data-universe-skin="his-desire"] .character-note{background:#fff9f5;border-color:#d8beb4}.char-modal[data-universe-skin="his-desire"] .eyebrow,.char-modal[data-universe-skin="his-desire"] .character-fact-grid small,.char-modal[data-universe-skin="his-desire"] .appearance-file small{color:#a15f58}
.char-modal[data-universe-skin="whispers"] article{background:radial-gradient(circle at 18% 10%,rgba(183,162,205,.22),transparent 28%),linear-gradient(145deg,#f7f3fb,#eee8f5 58%,#e8e0ef);color:#43384b}.char-modal[data-universe-skin="whispers"] .char-file-title h2,.char-modal[data-universe-skin="whispers"] .character-fact-grid b{color:#5a4668}.char-modal[data-universe-skin="whispers"] .character-fact-grid>div,.char-modal[data-universe-skin="whispers"] .character-bio,.char-modal[data-universe-skin="whispers"] .appearance-file,.char-modal[data-universe-skin="whispers"] .character-note{background:#fcfaff;border-color:#d9cee3}.char-modal[data-universe-skin="whispers"] .eyebrow,.char-modal[data-universe-skin="whispers"] .character-fact-grid small,.char-modal[data-universe-skin="whispers"] .appearance-file small{color:#8c6ca0}
.char-modal[data-universe-skin="icebound"] article{background:radial-gradient(circle at 16% 8%,rgba(160,195,220,.2),transparent 30%),linear-gradient(145deg,#f2f7fa,#e7eff4 58%,#dce8ef);color:#2f3f49}.char-modal[data-universe-skin="icebound"] .char-file-title h2,.char-modal[data-universe-skin="icebound"] .character-fact-grid b{color:#36515f}.char-modal[data-universe-skin="icebound"] .character-fact-grid>div,.char-modal[data-universe-skin="icebound"] .character-bio,.char-modal[data-universe-skin="icebound"] .appearance-file,.char-modal[data-universe-skin="icebound"] .character-note{background:#f9fcfd;border-color:#c9dce7}.char-modal[data-universe-skin="icebound"] .eyebrow,.char-modal[data-universe-skin="icebound"] .character-fact-grid small,.char-modal[data-universe-skin="icebound"] .appearance-file small{color:#6a94aa}
.char-modal[data-universe-skin="twisted"] article{background:radial-gradient(circle at 18% 10%,rgba(131,73,102,.14),transparent 28%),linear-gradient(145deg,#efe6eb,#e4d6de 58%,#d8c6d0);color:#422f39}.char-modal[data-universe-skin="my-man"] article{background:radial-gradient(circle at 14% 10%,rgba(235,190,169,.2),transparent 30%),linear-gradient(145deg,#fff7f1,#f7e8df 58%,#f2ddd1);color:#5d4035}.char-modal[data-universe-skin="editorial"] article{background:linear-gradient(145deg,#fffafc,#f7f1f4);color:#4f3342}
/* v153 cinematic character dossier — inspired by the approved Angelina layout */
.char-modal{width:min(1180px,calc(100vw - 28px));max-height:94vh;border-radius:28px;background:linear-gradient(145deg,#09080b,#171019);color:#f7eef4;box-shadow:0 36px 120px rgba(0,0,0,.55);overflow:auto}.char-modal::backdrop{background:rgba(5,4,7,.82);backdrop-filter:blur(10px)}.char-modal article{padding:34px 38px 38px}.char-modal button#closeChar{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.12);z-index:10}.char-file-hero{grid-template-columns:minmax(320px,42%) 1fr;gap:42px;min-height:560px;align-items:stretch}.char-photo.large{height:auto;min-height:560px;border-radius:22px;border:1px solid color-mix(in srgb,var(--pink) 52%,#fff0);box-shadow:0 22px 70px rgba(0,0,0,.42);background:#111}.char-file-title{padding:34px 0;justify-content:center}.char-file-title .eyebrow{color:color-mix(in srgb,var(--pink) 72%,#fff);letter-spacing:.18em}.char-file-title h2{font-size:clamp(64px,7vw,108px);color:#ead8e5;line-height:.82;text-shadow:0 0 35px color-mix(in srgb,var(--pink) 18%,transparent)}.char-file-title .char-role{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#caa8bd}.char-file-title .char-tags span{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12);color:#d9b9cd}.char-file-body{border-top:1px solid rgba(255,255,255,.11);padding-top:26px}.character-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid rgba(255,255,255,.12);border-radius:18px;overflow:hidden}.character-fact-grid>div{border:0;border-right:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09);border-radius:0;background:rgba(255,255,255,.025);padding:18px 20px}.character-fact-grid small{color:color-mix(in srgb,var(--pink) 70%,#fff);font-size:8px}.character-fact-grid b{color:#f2e6ee;font-size:21px}.character-fact-grid p{color:#bfa9b7!important}.character-bio{background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border-color:rgba(255,255,255,.1);padding:22px;margin-top:18px}.character-bio>p,.appearance-file p{color:#d4c1cc!important}.appearance-file,.character-note{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.09);color:#d5c0cd}.appearance-file small{color:color-mix(in srgb,var(--pink) 75%,#fff)}.char-file-actions{padding-top:4px}.char-file-actions .btn-primary{background:linear-gradient(135deg,var(--wine),var(--pink));border-color:transparent;color:#fff}.char-file-actions .btn-secondary{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);color:#fff}
@media(max-width:820px){.char-modal article{padding:24px 20px 28px}.char-file-hero{grid-template-columns:1fr;min-height:0;gap:20px}.char-photo.large{min-height:0;height:520px}.char-file-title{padding:6px 0 12px}.char-file-title h2{font-size:60px}.character-fact-grid{grid-template-columns:1fr}}