:root{color-scheme:dark;--base:#080f1b;--deep:#070b13;--panel:#0b1420;--panel-2:#101b2c;--line:#253342;--soft:#8b9dab;--text:#e6e7e4;--gold:#d9b987;--gold-strong:#f2d9a4;--cyan:#86c8c8;--serif:'Cinzel','Georgia',serif;--sans:'DM Sans','Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--deep);color:var(--text);font-family:var(--sans)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--gold-strong)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #ffd29c;outline-offset:3px}.skip-link{position:absolute;z-index:99;top:-80px;left:10px;padding:10px;background:#fff;color:#111}.skip-link:focus{top:10px}
.masthead{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #253444;padding:0 29px;background:linear-gradient(105deg,#09131e 0%,#0c1421 48%,#080c15 100%);gap:16px;position:relative;z-index:11}.brand{display:flex;align-items:center;gap:14px}.brand-sigil{font:48px Georgia;color:var(--gold);text-shadow:0 0 22px #a9875640}.brand strong{display:block;font:600 14px var(--serif);letter-spacing:2.4px;color:#e9d7b5}.brand small{display:block;font-size:9px;color:#89969f;letter-spacing:2.2px;margin-top:7px}.nav-top{display:flex;gap:28px;font-size:12px;color:#b2b8be}.edition-chip{font-size:10px;letter-spacing:1.7px;color:var(--gold);border:1px solid #b9985c64;padding:11px 14px;border-radius:2px;background:#d7b87710;white-space:nowrap}
.studio{display:grid;grid-template-columns:288px minmax(400px,1fr) 332px;height:calc(100vh - 78px);min-height:600px;overflow:hidden}.explore,.details{background:#0b141f;overflow-y:auto;scrollbar-color:#304253 transparent;scrollbar-width:thin}.explore{border-right:1px solid #293646}.details{border-left:1px solid #293646;background:linear-gradient(160deg,#0b1622,#0a121d)}.panel-opening{padding:30px 24px 16px}.eyebrow{display:inline-block;color:var(--gold);font-size:9px;letter-spacing:2.3px;font-weight:700}.panel-opening h1{font:500 24px/1.4 var(--serif);margin:13px 0 13px;letter-spacing:.2px}.panel-opening h1 em{font-weight:500;font-style:normal;color:#deb97e}.panel-opening p{line-height:1.65;color:#94a4b0;font-size:11px;max-width:240px}.small-stat-grid{display:grid;grid-template-columns:1fr 1fr 1fr;margin:6px 19px 23px;border:1px solid #314050;background:#0d1b2a;border-radius:5px}.small-stat-grid>div{padding:13px 5px 13px 9px;text-align:center;border-right:1px solid #314050}.small-stat-grid>div:last-child{border:0}.small-stat-grid strong{font:500 21px var(--serif);display:block;color:#e4c28a}.small-stat-grid span{font-size:9px;color:#9faeb6;white-space:nowrap}.search-zone{margin:0 18px 22px;position:relative}.control-label{font-size:10px;letter-spacing:1.4px;color:#bfcbd2;font-weight:600;display:block;margin-bottom:12px}.search-input{height:41px;border:1px solid #304459;display:flex;align-items:center;gap:8px;background:#091522;padding:0 11px;border-radius:4px}.search-input span{font-size:21px;color:#b4c6cc}.search-input input{min-width:0;flex:1;background:transparent;border:0;color:#e8eee9;font-size:11px;outline:none}.search-input kbd{color:#86949d;border:1px solid #314458;padding:2px 5px;border-radius:3px;font-size:10px}.search-results{z-index:9;background:#122235;border:1px solid #374b5d;box-shadow:0 13px 30px #0009;position:absolute;left:0;top:78px;width:100%;max-height:330px;overflow:auto;border-radius:5px}.search-hit{display:flex;align-items:center;padding:8px;gap:10px;width:100%;border:0;border-bottom:1px solid #ffffff0e;background:transparent;color:#e8edea;text-align:left;font-size:12px}.search-hit:hover{background:#263649}.search-hit img{height:37px;width:37px;object-fit:cover;border-radius:3px}.search-hit small{display:block;color:#83929f;font-size:9px;margin-top:4px}
.index-title{padding:11px 20px;display:flex;justify-content:space-between;border-top:1px solid #253546;border-bottom:1px solid #253546;background:#09131d;font-size:9px;letter-spacing:1.15px;color:#a5b8c3}.deities-index{padding:9px 12px 20px}.group-title{font-size:10px;text-transform:uppercase;letter-spacing:1.1px;font-weight:700;color:#d5b887;margin:15px 5px 9px;display:flex;justify-content:space-between}.group-title small{color:#7a91a6;font-weight:400}.portrait-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 2px}.portrait-btn{background:transparent;border:1px solid #283848;border-radius:6px;display:grid;gap:5px;padding:5px 2px 6px;color:#b7c4cc;min-width:0}.portrait-btn:hover,.portrait-btn.chosen{background:#2e3b4678;border-color:#c8a36f}.portrait-btn img{height:54px;width:54px;max-width:100%;margin:auto;object-fit:cover;border-radius:4px;filter:saturate(.86)}.portrait-btn span{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portrait-btn.missing img{opacity:.77}.aside-bottom{border-top:1px solid #233444;padding:10px 22px 26px;color:#8499aa;font-size:10px;line-height:1.55}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px}.bright{background:#c0a575}.muted{background:#798b9e}
.world{display:flex;flex-direction:column;min-width:0;background:#070f1a}.world-head{padding:22px 26px 14px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;background:#0b1420;border-bottom:1px solid #233448}.view-title h2{font:500 21px var(--serif);margin:8px 0 5px;letter-spacing:.2px}.view-title p{margin:0;color:#8a9daa;font-size:11px;max-width:460px;line-height:1.4}.view-tabs{display:flex;border:1px solid #2a3d50;border-radius:5px;flex-shrink:0;overflow:hidden}.view-tabs button{background:transparent;border:0;border-right:1px solid #293a4a;color:#9dabb7;font-size:11px;padding:12px 15px;white-space:nowrap}.view-tabs button:last-child{border:0}.view-tabs button:hover,.view-tabs button.active{color:#f6dfb5;background:#1c2a36}.toolbar{display:flex;align-items:center;gap:22px;padding:12px 23px;border-bottom:1px solid #1e3142;background:#091422}.toolbar label{color:#7fa1ac;font-size:9px;font-weight:700;letter-spacing:1.4px;display:flex;align-items:center;gap:8px}.toolbar select{background:#152335;color:#d6e0e4;border:1px solid #2b4053;border-radius:4px;padding:7px;font-size:10px;max-width:210px}.tool-actions{display:flex;gap:6px;margin-left:auto}.tool-actions button{background:#152335;border:1px solid #344658;border-radius:4px;color:#dbe6e8;min-width:32px;height:32px;font-size:16px}.tool-actions button:hover{border-color:#b9996d;color:#fce0a9}.tool-actions button span{font-size:9px;letter-spacing:1px}.canvas-outer{position:relative;min-height:200px;flex:1;overflow:hidden;touch-action:none;cursor:grab;background:radial-gradient(circle at 50% 30%,#15293a85 0,#091624 38%,#060d16 90%)}.canvas-outer:active{cursor:grabbing}.canvas-outer:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.25;background-image:radial-gradient(#c6d3d7 0.7px,transparent .9px),radial-gradient(#d5b883 .6px,transparent .9px);background-size:63px 63px,109px 109px;background-position:6px 15px,33px 44px}.canvas-outer canvas{width:100%;height:100%;display:block;position:relative;z-index:1}.canvas-hint{position:absolute;z-index:3;top:14px;left:50%;transform:translateX(-50%);white-space:nowrap;display:flex;align-items:center;gap:10px;background:#132537df;border:1px solid #466074;border-radius:50px;padding:9px 14px;color:#b4c8d5;font-size:10px;box-shadow:0 5px 30px #0008}.canvas-hint button{background:none;color:#ccd3d2;border:0;font-size:15px}.halo{color:#e3b97d}.canvas-position{position:absolute;z-index:2;bottom:16px;left:18px;background:#081624ca;padding:10px 12px;border:1px solid #2c4050;color:#94b8bd;border-radius:4px;font-size:9px;letter-spacing:1.7px}.canvas-loading{position:absolute;z-index:2;top:48%;left:50%;transform:translate(-50%,-50%);font:14px var(--serif);color:#d6b988;pointer-events:none}.world-foot{display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:49px;padding:11px 18px;border-top:1px solid #223243;background:#0a1420}.legend{display:flex;gap:11px;flex-wrap:wrap}.legend span{font-size:9px;color:#9eafbb;white-space:nowrap}.leg{width:10px;height:3px;display:inline-block;vertical-align:middle;margin-right:4px}.gold{background:#edc987}.cyan{background:#81cfda}.lavender{background:#b8a8e9}.violet{background:#a46ed3}.slate{background:#8b97aa}.world-counter{font-size:9px;letter-spacing:.4px;color:#8d9ea9;white-space:nowrap}
.details .detail-top{padding:22px 22px 16px;display:flex;align-items:center;gap:10px;justify-content:space-between}.glass-pill{font-size:9px;color:#d4b380;padding:5px 7px;border:1px solid #896f4b;border-radius:40px;white-space:nowrap}.portrait-frame{height:284px;position:relative;overflow:hidden;background:radial-gradient(circle,#1a2732,#0a1521)}.portrait-frame:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 65%,#0b141fe6)}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.91)}.image-credit{position:absolute;bottom:14px;left:19px;z-index:2;background:#0b161ecc;border:1px solid #c1b18a77;padding:7px 8px;font-size:9px;letter-spacing:1.1px;color:#e6cd9b}.detail-main{padding:18px 21px}.detail-main h2{font:500 25px/1.3 var(--serif);color:#f6e5c7;margin:0 0 7px;overflow-wrap:anywhere}.detail-title{font-size:12px;color:#bbcecf;margin:0 0 17px;line-height:1.5}.detail-notes{font-size:11px;color:#a1b3be;line-height:1.65;max-height:135px;overflow:auto;scrollbar-color:#314353 transparent}.detail-notes p{margin:0 0 9px}.tag-holder{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 20px}.tag-holder span{padding:6px 8px;background:#172536;border:1px solid #314457;border-radius:20px;color:#a6bec5;font-size:9px}.detail-links{display:grid;gap:8px}.detail-links a{border:1px solid #3f5463;padding:12px 13px;border-radius:4px;font-size:11px;color:#dfc592;display:flex;justify-content:space-between;gap:6px}.detail-links a:hover{border-color:#dfbd79;background:#213041}.relations-head{margin:29px 0 12px;padding-top:15px;border-top:1px solid #2b3946;font-size:10px;color:#dfc192;letter-spacing:1.4px;display:flex;justify-content:space-between}.relations-head small{color:#8fa3b2;font-size:10px;letter-spacing:0}.related-panel{display:grid;gap:7px}.relation-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:#142333bd;color:#e2e8e8;padding:8px;border:1px solid #263d50;border-radius:4px}.relation-item:hover{border-color:#a88b59;background:#1a2b3d}.relation-item img{width:36px;height:36px;object-fit:cover;border-radius:4px}.relation-item strong{font-size:10px;display:block}.relation-item small{font-size:9px;display:block;color:#90a7b5;line-height:1.4;margin-top:3px}.relation-overflow{font-size:10px;color:#91a3ad;border-top:1px solid #304251;margin-top:6px;padding-top:8px}.detail-footer{font-size:10px;color:#7c95a5;line-height:1.65;padding:14px 22px 28px;border-top:1px solid #1f3345}.mobile-bottom{display:none}
@media(max-width:1420px){.studio{grid-template-columns:258px minmax(360px,1fr) 288px}.masthead{padding:0 18px}.world-head{padding:18px}.view-tabs button{padding:11px 10px}.toolbar{gap:9px;padding:10px}.legend{gap:7px}.portrait-frame{height:250px}}
@media(max-width:1020px){.studio{grid-template-columns:230px minmax(320px,1fr)}.details{position:fixed;right:-350px;top:78px;bottom:0;width:350px;z-index:8;transition:right .2s;border-left:1px solid #516070;box-shadow:0 0 35px #0008}.details.mobile-open{right:0}.masthead{height:68px}.studio{height:calc(100vh - 68px)}.details{top:68px}.nav-top{gap:11px}.edition-chip{display:none}.world-head{display:block}.view-tabs{display:inline-flex;margin-top:9px}}
@media(max-width:700px){.masthead{padding:0 13px;height:60px}.brand-sigil{font-size:32px}.brand strong{font-size:11px;letter-spacing:1px}.brand small{font-size:7px;letter-spacing:1px}.nav-top{display:none}.studio{height:calc(100dvh - 108px);min-height:420px;display:block}.explore{position:fixed;top:60px;bottom:48px;left:-290px;z-index:9;width:290px;transition:left .2s;border-right:1px solid #465a70;box-shadow:0 0 20px #0008}.explore.mobile-open{left:0}.details{top:60px;bottom:48px;right:-320px;width:320px}.world{height:100%}.world-head{padding:11px 14px 9px}.view-title h2{font-size:15px;margin:3px 0}.view-title p{font-size:9px;max-width:100%}.eyebrow{font-size:8px}.view-tabs{margin-top:7px}.view-tabs button{padding:8px 14px;font-size:10px}.toolbar{padding:8px;flex-wrap:wrap;gap:6px}.toolbar label{letter-spacing:.3px;font-size:8px}.toolbar select{padding:6px;font-size:9px;max-width:130px}.tool-actions{margin-left:0;flex:1;justify-content:flex-end}.canvas-hint{white-space:normal;max-width:90%;width:90%;top:8px;font-size:9px}.world-foot{display:none}.mobile-bottom{height:48px;display:grid;grid-template-columns:1fr 1fr 1fr;background:#102030;border-top:1px solid #374657}.mobile-bottom button{background:none;border:0;border-right:1px solid #394b5b;color:#c2d1d5;font-size:11px}.mobile-bottom button:active{color:#e8c88d}.portrait-frame{height:258px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* V2 — Bibliothèque des références iconographiques et filiations de tout Perrara */
.collections{padding-bottom:15px;border-top:1px solid #263746}
.collection-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px 12px 5px}
.collection-tabs button{background:#101f2d;color:#b7cad0;text-align:left;font-size:10px;line-height:1.4;padding:10px 9px;border:1px solid #2b4357;border-radius:6px;display:flex;flex-direction:column;gap:3px;min-height:69px}
.collection-tabs button>span{font-size:17px;color:#d8bd85}
.collection-tabs button small{font-size:10px;color:#809dad}
.collection-tabs button:hover,.collection-tabs button.active{border-color:#d3b77b;background:#202c37;color:#fae7b7}
.collection-caption{font-size:10px;line-height:1.5;color:#98adb9;padding:0 15px;margin:9px 0 8px}
.collection-items{display:grid;grid-template-columns:1fr;gap:5px;padding:5px 12px}
.collection-person{display:flex;align-items:center;gap:8px;min-width:0;background:#0d1b2a;border:1px solid #293b4c;color:#e6e8e2;padding:5px;text-align:left;border-radius:5px}
.collection-person:hover{background:#203141;border-color:#c8a36f}
.collection-person img{width:37px;height:43px;object-fit:cover;border-radius:3px;flex:none}
.collection-person span{min-width:0}
.collection-person strong{display:block;font-size:11px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.collection-person small{display:block;font-size:9px;color:#849da9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.collection-person.placeholder img{opacity:.78}
.collection-more{display:block;margin:10px auto 2px;color:#e9d1aa;font-size:11px;letter-spacing:.15px;border:1px solid #6a5e4d;background:#17222a;border-radius:5px;padding:9px 12px}
.collection-more:hover{background:#293849}
.collection-more[hidden]{display:none}
.legacy-gallery{border-top:1px solid #2f4250}
.legacy-gallery summary{padding:13px 17px;background:#0a1825;letter-spacing:1px;text-transform:uppercase;font-size:10px;color:#ddc191;cursor:pointer;list-style-position:inside}
.legacy-gallery[open] summary{border-bottom:1px solid #324050}
