:root{color-scheme:dark;--bg:#10191d;--panel:#172329;--panel2:#203038;--line:#3d5054;--text:#f2eee4;--muted:#c6c9c0;--accent:#dbb775;--green:#9dd3af;--yellow:#f0d18a;--red:#f1aaa3;--blue:#aad3e6}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 92% -10%,#27434a 0,transparent 34%),var(--bg);color:var(--text);font:1.05rem/1.55 Palatino,'Palatino Linotype','Book Antiqua',Georgia,serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.shell{max-width:1450px;margin:auto;padding:20px clamp(15px,3vw,45px) 60px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(60px,env(safe-area-inset-bottom))}
h1,h2,h3,.brand-mark,.section-title{font-family:Papyrus,'Palatino Linotype',Palatino,serif;font-weight:400}
h1{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.1;margin:0}
h2{font-size:clamp(1.6rem,2.9vw,2.1rem);line-height:1.3;margin:0 0 7px}
h3{font-size:1.3rem;line-height:1.35;margin:0 0 8px}
p{margin:7px 0 13px}
.masthead{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;min-height:126px;margin-bottom:15px;padding:16px 18px;border:1px solid #6b6559;border-radius:13px;background-color:#162229;background-image:linear-gradient(90deg,rgba(10,18,22,.97) 0%,rgba(10,18,22,.91) 30%,rgba(10,18,22,.33) 63%,rgba(10,18,22,.73) 100%),url('./images/ashen-marauder.webp');background-size:cover;background-position:center 43%;box-shadow:inset 0 0 0 3px rgba(15,20,22,.35),0 10px 28px rgba(0,0,0,.2)}
.brand{display:flex;gap:14px;align-items:center;text-shadow:0 2px 5px #0b161a}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border:2px solid var(--accent);border-radius:50%;color:var(--accent);font-size:2rem;line-height:1;background:rgba(12,22,26,.78)}
.kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.9rem;font-family:Papyrus,Palatino,serif}
.mast-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.86rem}
.tabs{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:5px 0 10px;margin-bottom:18px}
.tabs button,.subtle,.ghost{border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);padding:8px 11px;min-height:42px}
.tabs button[aria-current="page"],.tabs button:hover,.subtle:hover,.ghost:hover{background:var(--panel2);border-color:var(--line);color:var(--text)}
button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.primary{background:var(--accent);color:#17232a;border:1px solid var(--accent);border-radius:8px;padding:9px 14px;min-height:42px;font-weight:bold}.primary:hover{background:#f0ce91}.danger{border:1px solid #c88780;background:transparent;color:var(--red);border-radius:8px;padding:9px 14px}
.layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:18px;align-items:start}
.panel,.tile{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:18px;min-width:0}
.side{position:sticky;top:12px;max-height:calc(100vh - 25px);overflow:hidden;display:flex;flex-direction:column}
.muted,.note{color:var(--muted)}.small,.note{font-size:.91rem}.tiny{font-size:.81rem;color:var(--muted)}
label{display:block;color:var(--muted);font-size:.95rem;margin:0 0 6px}
input,select,textarea{width:100%;border:1px solid #6e8180;background:#0e1a1e;color:var(--text);border-radius:8px;padding:10px 12px;min-height:42px}
textarea{min-height:96px;resize:vertical}.field{margin:0 0 13px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row>*{flex:0 0 auto}.row input,.row select{flex:1 1 160px}
.archive-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:14px}
.archive-categories button{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:40px;min-width:0;text-align:left;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:#142125;color:var(--text);font-size:.88rem;line-height:1.2}
.archive-categories button:hover,.archive-categories button[aria-pressed="true"]{border-color:var(--accent);background:var(--panel2)}
.archive-categories button[aria-pressed="true"]{color:var(--accent)}
.category-count{flex-shrink:0;color:var(--muted);font-size:.75rem}
.entry-list{display:flex;flex:1;min-height:0;overflow-y:auto;flex-direction:column;gap:3px;margin:8px 0 12px}.entry-list button{text-align:left;padding:10px;border-radius:8px;border:1px solid transparent;color:var(--text);background:transparent;width:100%}.entry-list button.active,.entry-list button:hover{background:var(--panel2);border-color:var(--line)}.entry-list small{display:block;color:var(--muted)}
.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.eyebrow{font: .9rem/1.45 Papyrus,Palatino,serif;color:var(--accent);letter-spacing:.06em;text-transform:uppercase}
.card{border-top:1px solid var(--line);padding:16px 0}.card:first-child{border-top:0}.card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}.card-head strong{font-size:1.08rem}.value{font-size:1.08rem;overflow-wrap:anywhere;margin:5px 0}.citation{border-left:2px solid #789799;background:#122025;padding:9px 12px;margin:8px 0;color:var(--muted);overflow-wrap:anywhere}.citation b{color:var(--text)}
.badge{display:inline-block;border:1px solid;border-radius:30px;padding:2px 9px;font:700 .78rem/1.5 Palatino,serif;letter-spacing:.03em;white-space:nowrap}.CONFIRMED{color:var(--green);border-color:#628e73;background:#20352a}.PROVISIONAL{color:var(--yellow);border-color:#ad9460;background:#393122}.CONFLICTED{color:var(--red);border-color:#a6746e;background:#3b2828}.OPEN{color:var(--blue);border-color:#668696;background:#21343f}
details{margin:9px 0;color:var(--muted)}summary{cursor:pointer;color:var(--accent)}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.tile p{color:var(--muted)}.spaced{margin-top:17px}.notice{border-left:3px solid var(--accent);background:#2b2a25;padding:12px 16px;border-radius:4px;margin:13px 0}.success{border-color:var(--green);background:#1e3028}.warn{border-color:var(--yellow)}.error{border-color:var(--red);background:#372526}
.stats{display:flex;gap:12px;flex-wrap:wrap;margin:7px 0 17px}.stat{border:1px solid var(--line);background:#1c2b30;border-radius:8px;padding:5px 10px;color:var(--muted);font-size:.88rem}.stat b{color:var(--accent);font-size:1.1rem}
.packet{border:1px solid var(--line);background:#101b1f;border-radius:10px;padding:18px;white-space:pre-wrap;overflow-wrap:anywhere;font:1rem/1.55 Palatino,Georgia,serif}
.entry-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;margin:12px 0 22px}.entry-figure{margin:0;min-width:0}.image-expand{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#101b1f}.entry-figure img{display:block;width:100%;height:210px;object-fit:contain;background:#101b1f}.entry-figure figcaption{margin-top:7px;line-height:1.4}.entry-figure small{display:block;color:var(--muted);line-height:1.35}.image-dialog{max-width:min(95vw,1100px);max-height:94vh;padding:16px;border:1px solid var(--accent);border-radius:10px;background:var(--panel);color:var(--text)}.image-dialog::backdrop{background:rgba(1,8,11,.88)}.image-dialog img{display:block;max-width:100%;max-height:76vh;object-fit:contain;margin:9px auto}.image-dialog p{margin-bottom:0}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.hidden{display:none!important}footer{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;color:var(--muted);font-size:.88rem}
/* An entry reads as one illustrated dossier. Its sources stay in one drawer. */
.profile-panel{padding:clamp(16px,2.2vw,28px)}.dossier{min-width:0}
.dossier-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px 18px;flex-wrap:wrap;margin:0 0 12px}.dossier-title h2{margin:0}.dossier-title .badge{font-size:.73rem}
.dossier-lead{border-top:1px solid var(--line);padding:12px 0 15px;min-width:0}
.dossier-lead.with-image{display:grid;grid-template-columns:minmax(125px,220px) minmax(0,1fr);gap:18px;align-items:start}
.dossier-leadtext{font-size:1rem;line-height:1.45;max-width:70ch;min-width:0}.dossier-leadtext p{margin:0 0 9px}.dossier-leadtext dl{margin:0}
.profile-images .entry-images{display:flex;flex-direction:column;gap:8px;margin:0}.profile-images .entry-figure{margin:0}.profile-images .entry-figure img{height:auto;max-height:260px;object-fit:contain}.profile-images .entry-figure figcaption{font-size:.8rem;line-height:1.26;margin-top:4px}.profile-images .entry-figure small{font-size:.72rem}
.dossier-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin-top:4px}.dossier-columns.single{grid-template-columns:1fr}.dossier-column{min-width:0;border-top:1px solid var(--line);padding-top:8px}
.dossier-column h3{font-size:1.08rem;margin:0 0 5px;color:var(--accent)}.dossier-column dl{margin:0}
.dossier-field{padding:5px 0;border-bottom:1px solid #314247;min-width:0}.dossier-field:last-child{border-bottom:0}.dossier-field dt{font-size:.87rem;line-height:1.2;color:var(--accent);font-weight:700}.dossier-field dd{font-size:1rem;line-height:1.3;margin:1px 0 0;overflow-wrap:anywhere}.dossier-field small,.private-mark{font-size:.8rem;color:var(--muted);font-weight:400}
.dossier-connections{margin-top:12px}.dossier-connections h4,.evidence-group h4{margin:0 0 3px;font-size:.99rem}.dossier-connections p{margin:2px 0;font-size:.92rem}
.inline-entry-link{display:inline;border:0;border-bottom:1px dotted var(--accent);border-radius:0;padding:0;background:transparent;color:var(--accent);font-size:inherit;text-align:left}.inline-entry-link:hover{border-bottom-style:solid;color:var(--text)}
.dossier-missing{margin:12px 0 4px}.dossier-missing summary{font-size:.85rem}.dossier-missing p{font-size:.88rem;margin:5px 0;line-height:1.4}
.dossier-actions{display:flex;gap:12px 20px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px;margin-top:12px}
.dossier-evidence{margin:0}.dossier-evidence summary{font-size:.84rem;line-height:1.4}.dossier-evidence[open]{order:3;flex-basis:100%;border-top:1px solid var(--line);padding-top:8px}
.evidence-content{max-width:72ch}.evidence-group{margin:0 0 15px;border-bottom:1px solid var(--line);padding:4px 0 10px}.evidence-group:last-child{border:0}.evidence-group h4{color:var(--accent)}.evidence-group p{font-size:.92rem;line-height:1.4;margin:2px 0}.evidence-group .citation{font-size:.87rem;padding:6px 9px;margin:6px 0}.evidence-status{font-size:.76rem;color:var(--muted);font-weight:400}
.dossier-actions .subtle{font-size:.82rem;min-height:32px;padding:4px 7px}.entry-list button{padding:6px 10px;line-height:1.35}
.event-dossier{margin-top:16px}.event-dossier .dossier-columns{margin-bottom:12px}.event-tile .open-event-dossier{font-size:.82rem;padding:4px 7px;min-height:32px}.event-tile h3{margin:3px 0 7px}
@media(max-width:850px){.layout{grid-template-columns:1fr}.side{position:static;max-height:410px}.grid2,.grid3,.formgrid{grid-template-columns:1fr}.mast-actions{width:100%;justify-content:space-between}}
@media(max-width:520px){.shell{padding-left:14px;padding-right:14px}.masthead{min-height:142px;padding:14px;background-image:linear-gradient(90deg,rgba(10,18,22,.96) 0%,rgba(10,18,22,.8) 46%,rgba(10,18,22,.54) 100%),url('./images/ashen-marauder.webp');background-position:58% center}.brand-mark{width:42px;height:42px;font-size:1.6rem}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.tabs button{font-size:.93rem;padding:7px 4px}.panel,.tile{padding:15px}.card-head strong{max-width:70%}}
@media(max-width:520px){.side{max-height:385px}}
@media(max-width:600px){.dossier-columns{grid-template-columns:1fr;gap:10px}.dossier-lead.with-image{grid-template-columns:minmax(95px,130px) minmax(0,1fr);gap:11px}.profile-images .entry-figure img{max-height:155px}.profile-images .entry-figure figcaption,.profile-images .entry-figure small{display:none}}
.dossier-rpg,.dossier-directory,.dossier-source-pages{margin:12px 0;border:1px solid var(--line);border-radius:9px;padding:8px 12px;background:#142125}
.dossier-rpg summary,.dossier-directory summary,.dossier-source-pages summary{font-size:.92rem;font-weight:bold}
.dossier-rpg>p,.dossier-source-pages>p{margin:8px 0}
.rpg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;margin-top:12px}
.rpg-group{min-width:0}.rpg-group h4{color:var(--accent);margin:3px 0 5px}.rpg-group dl{margin:0}.rpg-group dl>div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #314247;padding:3px 0}.rpg-group dd{margin:0;color:var(--text);text-align:right}
.dossier-directory label{margin-top:12px}.directory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;margin-top:12px;max-height:380px;overflow:auto}
.directory-item{display:flex;text-align:left;align-items:baseline;gap:12px;border:1px solid var(--line);border-radius:7px;padding:6px 9px;background:var(--panel2);color:var(--text);min-width:0}
.directory-item:hover{border-color:var(--accent)}.directory-item[hidden]{display:none}.directory-item small{display:block;color:var(--muted);line-height:1.2}.map-key{display:inline-block;min-width:24px;color:var(--accent);font-weight:bold}
.source-page-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin:12px 0}.source-page-images .entry-figure img{height:220px}
.additional-art summary{font-size:.85rem}.additional-art .entry-images{margin:8px 0}.additional-art .entry-figure img{max-height:230px}
@media(max-width:600px){.rpg-grid,.directory-list{grid-template-columns:1fr}.directory-list{max-height:340px}.source-page-images{grid-template-columns:repeat(2,minmax(0,1fr))}.source-page-images .entry-figure img{height:165px}}
.dossier-back{display:inline-block;color:var(--accent);background:transparent;border:1px solid var(--line);border-radius:7px;padding:4px 9px;margin-bottom:10px;font-size:.9rem;min-height:36px}
.dossier-back:hover{background:var(--panel2);border-color:var(--accent)}
.version-stat{font-size:.85rem;align-self:center}.entry-search-help{font-size:.85rem;margin:5px 0;color:var(--muted)}
