:root{--nav:#111925;--nav2:#172231;--bg:#e9e2d4;--paper:#f5efe3;--paper2:#ede4d3;--ink:#332e2c;--muted:#807566;--gold:#a77e49;--gold2:#e2c58e;--line:#d6c7ad;--teal:#497e78;--red:#ad6c65;--radius:14px;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--fontmult:1;}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #cca15d;outline-offset:2px}button:disabled{opacity:.45;cursor:default}a{color:inherit}h1,h2,h3,h4,p{margin-top:0}img{display:block;max-width:100%}small{font-size:12px}.hidden{display:none!important}
.app{display:flex;min-height:100vh}.sidebar{width:255px;min-height:100vh;position:fixed;z-index:20;left:0;top:0;background:linear-gradient(170deg,#182535,#111823 70%);color:#dfd4be;border-right:1px solid #4c4639;padding:26px 19px 24px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:13px;padding:5px 8px 29px;border-bottom:1px solid #49463e}.brand img{width:52px;height:60px;object-fit:contain}.brand small{font-size:10px;letter-spacing:2.1px;color:#b49c73;font-weight:700}.brand strong{display:block;color:#f1e6d0;font:24px/1.03 var(--serif);margin-top:5px}.side-label{font-size:10px;color:#8e9aaa;letter-spacing:1.8px;text-transform:uppercase;margin:30px 12px 12px;font-weight:800}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;color:#c8c5bf;text-align:left;padding:13px 14px;border-radius:10px;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:650}.nav button:hover{background:#2b3541}.nav button.active{background:linear-gradient(90deg,#594932,#263442);color:#f9ebd0;box-shadow:inset 3px 0 #d2a96e}.nav button .symbol{font:18px var(--serif);width:22px;text-align:center;color:#c6a46c}.side-bottom{margin-top:auto;border-top:1px solid #414746;padding:18px 10px 0;display:grid;gap:8px}.edition-label{font-size:11px;letter-spacing:1px;color:#d2ba8e;font-weight:800}.side-muted{font-size:11px;color:#99a5ad;line-height:1.65}.main{margin-left:255px;width:calc(100% - 255px);min-height:100vh}.topbar{position:sticky;top:0;z-index:10;background:rgba(245,239,227,.93);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,3vw,55px);gap:14px}.crumb{font-size:12px;letter-spacing:1px;color:#97866b;text-transform:uppercase;font-weight:800}.top-actions{display:flex;gap:10px;align-items:center}.tiny-btn{border:1px solid #cfbea3;background:rgba(255,255,255,.38);color:#695944;border-radius:9px;padding:9px 12px;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.tiny-btn:hover{background:#fdf8ee}.icon-btn{border:1px solid #cfbea3;color:#806c50;background:#f8f1e5;padding:9px 12px;border-radius:10px;min-width:38px}.content{max-width:1360px;margin:0 auto;padding:38px clamp(20px,4vw,70px) 90px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:29px}.eyebrow{font:800 11px/1.45 var(--sans);color:#9c7745;letter-spacing:2.3px;text-transform:uppercase}.section-title{font:clamp(34px,4vw,53px)/1.04 var(--serif);color:#2d2c2c;letter-spacing:-1.1px;margin:9px 0 10px}.section-subtitle{font:17px/1.65 var(--serif);color:#766d60;max-width:660px;margin:0}.thin-rule{height:1px;background:linear-gradient(90deg,#b68c55,transparent);margin:14px 0 28px}.btn{border-radius:9px;background:#2e3b42;border:1px solid #2e3b42;color:#f6e9d5;padding:12px 17px;font-size:13px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:9px}.btn:hover{background:#43515a}.btn.secondary{background:transparent;color:#705b3f;border-color:#c8b697}.btn.secondary:hover{background:#fbf5eb}.btn.gold{background:#a9814b;border-color:#aa854f;color:white}.btn.gold:hover{background:#957044}.btn.textonly{background:transparent;border:0;color:#846d50;padding:8px}.btn.small{font-size:12px;padding:8px 12px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:850;letter-spacing:1.3px;text-transform:uppercase;border:1px solid #cdb992;color:#8d714a;padding:7px 10px;border-radius:99px;background:#f6edda}.chip.dark{background:#233141;color:#d7bd8e;border-color:#6b604d}.chip.danger{color:#915c59;border-color:#e3bdb3;background:#fff0eb}.chip.green{color:#48786e;border-color:#b6d6ca;background:#ebf5ed}
.cover{position:relative;overflow:hidden;border-radius:18px;background:#172332;color:#eee2cb;min-height:540px;display:grid;grid-template-columns:1fr 1.05fr;box-shadow:0 22px 48px rgba(40,34,24,.18)}.cover-art{position:absolute;right:0;top:0;height:100%;width:55%;object-fit:cover;opacity:.9;filter:saturate(.78)}.cover:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#172332 0%,#172332 29%,rgba(23,35,50,.90) 46%,rgba(23,35,50,.32) 80%,rgba(23,35,50,.10))}.cover-content{position:relative;z-index:2;padding:clamp(32px,5vw,70px) 0 clamp(35px,5vw,62px) clamp(32px,5vw,68px);width:130%;display:flex;flex-direction:column;align-items:start}.cover .eyebrow{color:#d8bc84}.cover-title{font:clamp(46px,5.3vw,86px)/.95 var(--serif);letter-spacing:-2.4px;color:#f1e5cf;margin:27px 0 20px;max-width:650px}.cover-title em{color:#e2c690;font-weight:400}.cover-copy{font:17px/1.7 var(--serif);color:#d6c9b5;max-width:445px}.cover-line{height:2px;width:110px;background:#b5945f;margin-bottom:23px}.cover-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:23px}.cover-buttons .btn{border-color:#b09163}.cover-buttons .btn.secondary{color:#e8d9be;border-color:#8d7a5d;background:rgba(20,25,32,.45)}
.notice{margin:20px 0 30px;border:1px solid #d6bb8d;padding:12px 17px;background:#f4e8d1;color:#806344;border-radius:9px;font-size:12px;line-height:1.6}.mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:26px 0}.stat{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:21px 21px;min-height:110px}.stat strong{font:36px/1.05 var(--serif);display:block;color:#3b3731;margin-bottom:11px}.stat small{text-transform:uppercase;letter-spacing:1.1px;color:#8a7a66;font-size:10px;font-weight:800}.stat.accent{background:#263745;border-color:#3c4e58}.stat.accent strong{color:#e5c797}.stat.accent small{color:#c6bcaa}.two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);gap:24px;margin-top:30px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:26px}.panel h3{font:27px var(--serif);margin:0 0 18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.panel-head h3{margin:0}.latest-card{display:flex;gap:19px;align-items:center;cursor:pointer;padding:13px 0;border-top:1px solid #e1d6c3}.latest-card:first-of-type{border-top:0}.latest-icon{width:57px;height:66px;border-radius:6px;background:#303e46;color:#e9c990;display:grid;place-items:center;font:30px var(--serif);flex-shrink:0}.latest-card b{font:20px var(--serif);display:block}.latest-card span{font-size:12px;color:#8a785c}.latest-card:hover b{color:#9a713b}.inline-list{display:grid;gap:14px}.quiet-event{padding-left:15px;border-left:2px solid #c4ad87}.quiet-event strong{font:16px var(--serif);color:#4c4036}.quiet-event p{font-size:12px;line-height:1.55;color:#807466;margin:5px 0}
.chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.chapter-tile{position:relative;text-align:left;min-height:210px;overflow:hidden;border:1px solid #d1c1a6;background:var(--paper);padding:26px;border-radius:12px;display:flex;flex-direction:column;align-items:start}.chapter-tile:hover{transform:translateY(-2px);box-shadow:0 14px 24px rgba(48,36,28,.10)}.chapter-tile .eyebrow{font-size:10px}.chapter-tile h3{font:31px/1.09 var(--serif);margin:18px 0 7px;max-width:400px}.chapter-tile p{font:15px/1.5 var(--serif);color:#7e7266;flex:1}.chapter-tile footer{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:11px;color:#9d875f;border-top:1px solid #e0d4c2;padding-top:13px;margin-top:9px;font-weight:800}.reader{background:var(--paper);border:1px solid #d5c3a7;box-shadow:0 10px 42px #675a4421;border-radius:13px;overflow:hidden}.reader-hero{height:290px;position:relative;overflow:hidden;background:linear-gradient(140deg,#253540,#795943);display:flex;align-items:end;padding:34px 46px}.reader-hero::before{content:'✦';position:absolute;font:250px var(--serif);color:#f3d9a4;opacity:.10;top:-70px;right:45px}.reader-hero .eyebrow{color:#e0bb86}.reader-hero h2{color:#faebd3;font:clamp(40px,4vw,64px)/1.04 var(--serif);margin:9px 0 8px}.reader-hero p{font:16px var(--serif);color:#d5c8b4;margin:0}.reading{max-width:810px;margin:0 auto;padding:38px clamp(25px,5vw,72px) 60px}.reading .lead{font:italic 23px/1.5 var(--serif);text-align:center;color:#8d704a;margin:0 0 43px}.reading .divider-ornament{text-align:center;font:27px var(--serif);color:#b49768;margin:0 0 35px}.prose p{font:calc(17.5px * var(--fontmult))/1.76 var(--serif);color:#38332d;margin:0 0 18px;text-align:left;max-width:72ch}.prose p.dialogue{margin:0 0 11px 15px;padding-left:12px;text-indent:-12px;max-width:65ch;color:#312a24}.prose p.dialogue + p.narration{margin-top:19px}.prose p:first-child:not(.dialogue):first-letter{float:left;font:64px/.85 var(--serif);color:#a17d4c;padding:6px 10px 0 0}.reading-end{margin-top:42px;border-top:1px solid #d6c8b2;padding-top:20px}.fact-note{background:#efe5d2;border-left:3px solid #ae8a53;padding:18px 21px;margin-top:25px;border-radius:0 7px 7px 0}.fact-note strong{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#94764d}.fact-note p,.fact-note li{font:13px/1.65 var(--sans);color:#6a5d50}.fact-note ul{padding-left:18px;margin-bottom:0}.reader-tools{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px solid var(--line);padding:18px 25px;background:#f0e7d7}.small-controls{display:flex;align-items:center;gap:7px;color:#877359;font-size:12px}
.tool-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}.searchbox{display:flex;align-items:center;border:1px solid #cebea6;background:#faf5eb;border-radius:10px;gap:9px;max-width:380px;width:100%;padding:0 12px;color:#b08f61}.searchbox input{background:transparent;border:0;outline:0;padding:13px 0;flex:1;width:100%;font-size:13px;color:#3d352f}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{font-size:11px;font-weight:750;padding:10px 12px;border:1px solid #cdbfa9;border-radius:20px;background:transparent;color:#8c785d}.filter.active{background:#263745;border-color:#263745;color:#f4e9d5}.hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.hero-card{border-radius:12px;overflow:hidden;border:1px solid #cfc0a7;background:#f6eee1;text-align:left;padding:0;display:flex;flex-direction:column;min-width:0;transition:transform .15s,box-shadow .15s}.hero-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #3a2e231b}.hero-card img{width:100%;height:260px;object-fit:cover;background:#29333b}.hero-card main{padding:17px 15px 19px;flex:1}.hero-card .overline{font-size:10px;color:#a38657;letter-spacing:1.5px;font-weight:800;text-transform:uppercase}.hero-card h3{font:22px/1.15 var(--serif);margin:7px 0 8px}.hero-card p{font:12px/1.55 var(--sans);color:#786d60;margin:7px 0}.hero-card footer{padding-top:12px;border-top:1px solid #ded1be;display:flex;justify-content:space-between;gap:7px;color:#9b8566;font-size:10px;font-weight:750}.hero-detail-top{display:grid;grid-template-columns:minmax(230px,340px) 1fr;gap:29px;margin-bottom:25px}.portrait-large{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border:8px solid #f7f0e3;border-radius:10px;box-shadow:0 7px 25px #56463320}.detail-head{padding:18px 0}.detail-head h2{font:clamp(36px,4.3vw,67px)/1.02 var(--serif);letter-spacing:-1.5px;margin:10px 0 15px}.detail-head .tagline{font:italic 21px/1.45 var(--serif);color:#9d7e54;margin:13px 0 22px}.detail-head .intro{font:17px/1.75 var(--serif);color:#6d6155}.info-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.info-pill{background:#f5edde;border:1px solid #d9c9ae;padding:10px 13px;font-size:12px;color:#75654f;border-radius:8px}.detail-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);gap:22px}.bio-text{font:17px/1.85 var(--serif);color:#4a4036}.milestone{display:flex;gap:16px;padding:13px 0;border-bottom:1px solid #e1d5c4}.milestone:last-child{border-bottom:0}.date-chip{color:#9d7c4e;font-size:10px;letter-spacing:.8px;font-weight:850;white-space:nowrap;min-width:50px;padding-top:4px}.milestone strong{font:17px var(--serif)}.milestone p{font-size:12px;color:#82766b;line-height:1.6;margin:4px 0 0}.stat-list{display:grid;gap:11px}.statrow{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed #d7c8b1;padding-bottom:9px;font-size:12px;color:#8c7a62}.statrow strong{color:#43392e;font-size:14px}.person-rel{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e3d9c9}.person-rel img{width:40px;height:49px;object-fit:cover;border-radius:5px}.person-rel b{font:16px var(--serif)}.person-rel small{display:block;color:#857768;font-size:11px;line-height:1.4;margin-top:3px}.person-rel button{background:none;border:0;color:#9c784f;font-size:12px}
.bond-main{background:#172433;color:#f1e3c8;border-radius:15px;padding:38px;text-align:center;border:1px solid #445262;position:relative;overflow:hidden}.bond-main:before{content:'✧';font:190px var(--serif);position:absolute;right:-10px;top:-65px;opacity:.06}.bond-main h3{font:30px var(--serif);margin:0 0 16px}.bond-main p{color:#baae9e;max-width:570px;margin:0 auto 18px;font:14px/1.6 var(--sans)}.bond-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px}.bond-card{background:var(--paper);border:1px solid #d8c9ae;border-radius:11px;padding:17px;display:grid;gap:10px}.bond-pair{display:flex;gap:10px;align-items:center}.bond-pair img{height:69px;width:53px;object-fit:cover;border-radius:6px;border:2px solid #d7be99}.bond-pair strong{font:19px var(--serif);line-height:1.2}.bond-year{color:#a28760;font-weight:800;text-transform:uppercase;font-size:10px;letter-spacing:1px}.bond-card p{font-size:12px;line-height:1.65;color:#7d7164;margin:0}.bond-card .btn{justify-self:start}
.timeline{position:relative;margin-top:21px;padding-left:26px;border-left:2px solid #c7ad84}.event{position:relative;margin:0 0 21px;padding-left:12px}.event:before{content:'';position:absolute;left:-33px;top:5px;width:12px;height:12px;border:3px solid var(--paper);border-radius:100%;background:#b2915a;box-shadow:0 0 0 1px #ba9a70}.event.loss:before{background:#aa6c64}.event.win:before{background:#4a8377}.event small{color:#a38559;font-weight:800;letter-spacing:1px}.event h4{font:20px var(--serif);margin:6px 0}.event p{font-size:13px;color:#786e63;line-height:1.6}.legacy-feature{display:grid;grid-template-columns:230px 1fr;gap:30px;padding:22px;border:1px solid #c8b496;background:linear-gradient(125deg,#f4ead8,#e5d6bc);border-radius:13px;margin-bottom:26px}.legacy-feature img{width:230px;height:310px;object-fit:cover;border-radius:8px}.legacy-feature h3{font:40px var(--serif);margin:7px 0 15px}.legacy-feature p{font:16px/1.75 var(--serif);color:#655949}.legacy-feature .big-number{font:38px var(--serif);color:#94754b}.archive-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:21px;margin:22px 0}.history-table{width:100%;border-collapse:collapse;font-size:12px;color:#6f6456}.history-table th{text-align:left;padding:10px 12px;color:#9a794a;text-transform:uppercase;font-size:10px;letter-spacing:1px;border-bottom:2px solid #c9b99c}.history-table td{padding:11px 12px;border-bottom:1px solid #e5daca}.history-table td:last-child,.history-table th:last-child{text-align:right}.chart{width:100%;height:230px}.source-note{font-size:11px;line-height:1.7;color:#95836d}.empty-state{text-align:center;padding:50px 30px;border:1px dashed #cab997;border-radius:13px;background:#f6efe3}.empty-state h3{font:29px var(--serif)}.empty-state p{font:15px/1.6 var(--serif);color:#776b5e}.footer{margin:80px 0 0;padding:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#94856e;font-size:11px}.loading{display:grid;place-items:center;min-height:50vh}.bmobile{display:none}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);white-space:nowrap;overflow:hidden}.sep{color:#bd9e6e;margin:0 10px}
@media(max-width:1150px){.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cover-title{font-size:62px}.content{padding-left:32px;padding-right:32px}.hero-detail-top{grid-template-columns:280px 1fr}}
@media(max-width:900px){.sidebar{width:75px;padding:20px 10px}.brand{justify-content:center;padding:3px 2px 20px}.brand strong,.brand small,.side-label,.nav button .text,.side-bottom{display:none}.brand img{width:49px}.nav button{justify-content:center;padding:14px 7px}.nav button .symbol{width:auto;font-size:23px}.main{margin-left:75px;width:calc(100% - 75px)}.cover{min-height:500px}.cover-content{padding:48px 27px;width:175%}.hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.detail-body{grid-template-columns:1fr}}
@media(max-width:650px){.sidebar{display:none}.main{margin-left:0;width:100%;padding-bottom:64px}.bmobile{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:#162230;box-shadow:0 -6px 18px #141c2459;border-top:1px solid #5d584f;justify-content:space-around;padding:7px 3px max(7px,env(safe-area-inset-bottom))}.bmobile button{border:0;background:transparent;color:#b3b8ba;font-size:9px;font-weight:800;letter-spacing:.2px;display:flex;align-items:center;gap:4px;flex-direction:column;padding:8px 6px;min-width:57px}.bmobile button b{font:21px var(--serif)}.bmobile button.active{color:#e4c78e}.topbar{height:59px;padding:0 16px}.top-actions .tiny-btn span{display:none}.content{padding:22px 16px 75px}.cover{min-height:495px;display:block}.cover-art{width:100%;height:100%;opacity:.66}.cover:after{background:linear-gradient(90deg,rgba(18,28,40,.91),rgba(18,28,40,.55))}.cover-content{height:495px;max-width:100%;width:100%;padding:34px 28px 30px}.cover-title{font-size:clamp(44px,12vw,65px);margin:25px 0 20px}.cover-copy{font-size:16px}.cover-buttons{padding:16px 0 0}.mini-stats{grid-template-columns:repeat(2,1fr)}.two-col{margin-top:20px}.chapter-grid,.bond-grid,.archive-grid{grid-template-columns:1fr}.hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hero-card img{height:220px}.hero-card h3{font-size:18px}.hero-card main{padding:12px}.section-title{font-size:37px}.section-head{align-items:start}.section-subtitle{font-size:16px}.hero-detail-top{grid-template-columns:1fr}.portrait-large{max-width:350px;margin:auto}.detail-head{text-align:left}.reading{padding:40px 24px}.reader-hero{height:265px;padding:26px}.reader-hero h2{font-size:40px}.reader-tools{padding:15px}.legacy-feature{grid-template-columns:1fr}.legacy-feature img{width:100%;height:250px;object-position:center 28%}.cover .btn{font-size:12px;padding:11px}.panel{padding:20px}}
@media(max-width:385px){.hero-grid{grid-template-columns:1fr 1fr}.hero-card img{height:185px}.cover-title{font-size:45px}.mini-stats{gap:9px}.stat{padding:15px}.topbar .crumb{font-size:10px}.top-actions{gap:4px}}
@media print{body{background:white}.sidebar,.bmobile,.topbar,.footer,.reader-tools,.section-head .btn,.notice,.hero-card,.tool-row{display:none!important}.main{margin:0;width:100%}.content{padding:0}.reader{border:0;box-shadow:none}.reading{max-width:none;padding:30px 45px}.prose p{font-size:17px}.reader-hero{print-color-adjust:exact;-webkit-print-color-adjust:exact}.cover{box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* El Libro de la Casa v0.2 — Códice claro: ornamento solo donde tiene función narrativa */
:root{--nav:#293d39;--nav2:#354b45;--bg:#e6dbc5;--paper:#fbf5e7;--paper2:#f0e4cc;--ink:#342f29;--muted:#7c6e5c;--gold:#aa813f;--gold2:#dbbd7e;--line:#d4bfa0;--teal:#547666;--red:#a34840;--radius:10px}
body{background-color:var(--bg);background-image:radial-gradient(circle at 10% 3%,#f7eed9 0,transparent 31%),radial-gradient(circle at 89% 67%,#cdb48c4d,transparent 35%),repeating-linear-gradient(92deg,transparent 0,transparent 13px,rgba(101,77,48,.012) 14px,transparent 15px)}
.sidebar{background:linear-gradient(160deg,#324843,#263b37 63%,#1f2f2e);border-right:3px double #b5945f;box-shadow:6px 0 20px #41321c21}
.brand{border-bottom:1px solid #978365}.brand small,.side-label{color:#d5bd88}.side-label{font-size:9px}.nav button{border-radius:5px}.nav button.active{background:#e7d9b8;color:#302f2b;box-shadow:inset 4px 0 #a3463b}.nav button.active .symbol{color:#9b473a}.nav button:hover{background:#4e665c}.nav button.active:hover{background:#e7d9b8}
.side-bottom{border-color:#7e7e65}.side-muted{color:#c1b8a7}.edition-label{color:#ebd5a9}
.topbar{background:rgba(249,242,224,.93);border-bottom:1px solid #c7a97d}.crumb{letter-spacing:1.35px;color:#8a5a43}
.content{max-width:1360px}
.eyebrow{color:#9d4138;letter-spacing:2px}.section-title{font-weight:400;letter-spacing:-1.2px}.section-head{padding-bottom:15px;border-bottom:1px solid #cdbb9c}.section-head:after{content:'✣';position:absolute;color:#bc9862;right:clamp(30px,5vw,70px);font-size:25px;opacity:.85}.section-subtitle{font-family:var(--serif)}
.panel,.stat,.hero-card,.chapter-tile,.reader,.bond-card,.empty-state{background:var(--paper);border-color:#d3bd97;border-radius:8px;box-shadow:0 5px 15px #6c4a2620}
.panel{position:relative}.panel:before{content:'';position:absolute;top:7px;left:7px;right:7px;bottom:7px;border:1px solid #cbb58f59;pointer-events:none;border-radius:4px}
.btn{border-radius:5px}.btn.gold{background:#a44b3d;border-color:#a44b3d}.btn.gold:hover{background:#853d35}.btn.secondary{color:#724d3b;border-color:#a98b65}.chip{border-radius:5px;background:#f7e9d0;border-color:#c7ae85;color:#8b5c43}
.cover{background:#f3e6cb;min-height:510px;border:3px double #b69a6b;outline:7px solid #f4ead5;outline-offset:-15px;border-radius:5px;color:#352b23;box-shadow:0 16px 40px #5b442a33}
.cover::before{content:'✣   ✦   ✣';position:absolute;z-index:5;top:14px;left:34px;color:#b17d4c;letter-spacing:12px;opacity:.9}
.cover-art{width:59%;object-position:center;opacity:.91;filter:sepia(.52) saturate(.75) contrast(.96)}
.cover:after{background:linear-gradient(90deg,#f3e6cb 0%,#f3e6cb 40%,rgba(243,230,203,.84) 53%,rgba(243,230,203,.08) 90%)}
.cover-content{padding-top:75px;padding-bottom:46px}.cover .eyebrow{color:#9e453c}.cover-title{font-size:clamp(48px,5vw,82px);color:#34322d;font-weight:400;letter-spacing:-2px;line-height:.97}.cover-title em{color:#a2493f}.cover-copy{color:#5e5445;font-size:18px}.cover-line{background:#b0443a}.cover-buttons .btn.secondary{color:#744d37;background:#efe2c9;border-color:#a99069}
.notice{background:#f6e8cf;color:#795e43;border:1px solid #ceb38a;border-left:4px solid #a3493c}
.stat{background:#f8f0df}.stat.accent{background:#354a45;border-color:#354a45}.stat.accent strong{color:#e4cc8a}.stat.accent small{color:#f0e7d4}.stat strong{color:#3d352d}
.chapter-tile{border-top:3px solid #ab5b4d;position:relative;overflow:hidden}.chapter-tile:after{content:'❧';position:absolute;top:12px;right:14px;font:32px var(--serif);color:#b8a07a;opacity:.55}.chapter-tile .eyebrow{color:#aa493f}.chapter-tile h3{font-weight:400}
.reader{border:2px solid #c7ac80;outline:1px solid #e7d6b9;outline-offset:-11px;background:var(--paper)}
.reader-hero{height:275px;background-color:#f0dfbd;background-image:radial-gradient(circle at 82% 24%,#caa56d55,transparent 39%),linear-gradient(145deg,#f8eed6,#e5cfa9);border-bottom:4px double #b59468;position:relative}.reader-hero:before{content:'❦';color:#a45140;opacity:.18;font-size:220px;top:-37px;right:55px}
.reader-hero .eyebrow{color:#a3453b}.reader-hero h2{color:#3c3029;font-weight:400}.reader-hero p{color:#695748;max-width:640px}
.reading{background:transparent}.reading .lead{color:#9e5142;font-size:21px}.reading .divider-ornament{color:#a34940}
.prose p{color:#3a342c;font-size:calc(19px * var(--fontmult));line-height:1.82;max-width:68ch}.prose p:first-child:first-letter{color:#a34840;font:82px/.77 Georgia,var(--serif);border:2px solid #c6a56f;background:#f3e2c0;padding:10px 16px 9px;margin:5px 15px 0 0;box-shadow:inset 0 0 0 3px #f5ebd4;float:left}
.fact-note{background:#f2e7d1;border-color:#a54e40}.fact-note strong{color:#a34840}.reader-tools{background:#ead8b7}
.hero-card{overflow:hidden}.hero-card img{filter:sepia(.12)}.hero-card h3{color:#372f28}.hero-card .overline{color:#994b3e}
.detail-head h2{color:#3c3028}.detail-head .tagline{color:#975c4b}.legacy-feature{background:#f3e5cc;border-color:#c6a77a;border-radius:5px}.legacy-feature h3{color:#352b25}
.empty-state{background:#f7efdf}.source-note{color:#776a58}
.footer{color:#826d55}
/* Chronist's marginalia and compact frequent updates */
.scribe-band{margin:30px 0;display:grid;grid-template-columns:1.1fr 1.9fr;gap:15px;align-items:stretch}
.scribe-intro{background:#354d47;color:#f4e9d4;padding:23px;border-radius:6px;border:1px solid #a58c62}.scribe-intro .eyebrow{color:#ddbd84}.scribe-intro h3{font:29px/1.13 var(--serif);margin:14px 0 8px;font-weight:400}.scribe-intro p{font:14px/1.6 var(--serif);color:#ecdfc7;margin:0}
.scribe-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scribe-note{background:#f7efd9;border:1px solid #d1b996;border-radius:5px;text-align:left;padding:17px 17px 18px;position:relative;display:flex;flex-direction:column;gap:8px}.scribe-note:before{content:'❧';color:#ac5c43;position:absolute;top:9px;right:13px;font-size:20px}.scribe-note:hover{background:#fff6e3;transform:translateY(-1px)}.scribe-note small{font:800 10px var(--sans);letter-spacing:1.25px;text-transform:uppercase;color:#ab4b3f}.scribe-note strong{font:19px var(--serif);color:#473529}.scribe-note span{font:13px/1.5 var(--serif);color:#766653}
/* Relationship atlas */
.link-legend{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 18px}.link-filter{display:inline-flex;align-items:center;gap:7px;border:1px solid #cdbd9e;border-radius:5px;background:#fbf3df;color:#5a5147;padding:8px 10px;font-size:12px;font-weight:700}.link-filter.active{background:#394c47;color:#fff0d4;border-color:#394c47}.tone-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--tone)}.link-filter.active .tone-dot{box-shadow:0 0 0 2px #efe0c0a6}
.atlas-panel{position:relative;border:2px solid #c3a578;border-radius:6px;background:linear-gradient(0deg,#f6ead0db,#faf3e4ed),repeating-linear-gradient(70deg,#a5814730 0 1px,transparent 1px 32px);padding:22px;box-shadow:0 12px 25px #7c644532}.atlas-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.atlas-header h3{font:32px var(--serif);margin:6px 0 8px;color:#402e27}.atlas-header p{font-size:13px;color:#7d6755;line-height:1.55;max-width:500px;margin:0}.atlas-select{background:#fff7e7;color:#453829;border:1px solid #bb9e77;border-radius:5px;padding:10px 12px;max-width:315px;min-width:220px}
.atlas-canvas{height:580px;margin-top:20px;position:relative;overflow:hidden;border:1px solid #d6bd95;background:radial-gradient(ellipse at center,#fff8e8 0,#f5e8ce 70%,#efdec0 100%);border-radius:6px}
.atlas-canvas:before{content:'✥';position:absolute;inset:auto 0 8px 0;text-align:center;color:#ba93604d;font:26px var(--serif);pointer-events:none}
.atlas-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.atlas-svg path{fill:none;stroke-linecap:round;opacity:.81}.atlas-svg path.past{stroke-dasharray:8 9;opacity:.6}
.atlas-node{position:absolute;transform:translate(-50%,-50%);width:125px;border:0;background:transparent;display:flex;align-items:center;flex-direction:column;gap:6px;color:#3e352c;padding:8px;border-radius:9px;transition:background .15s,transform .15s;z-index:2}.atlas-node:hover{background:#f6e3baaa;transform:translate(-50%,-50%) scale(1.03)}.atlas-node:focus-visible{background:#fae0a4}.atlas-node img{height:68px;width:61px;object-fit:cover;border-radius:50%;background:#dac79f;border:3px solid var(--tone,#bd9665);box-shadow:0 4px 10px #49321c42}.atlas-node.focus img{height:96px;width:84px;border:4px double #a34a3e;background:#f7e4c2}.atlas-node strong{font:600 14px/1.22 var(--serif);text-align:center;background:#fff5e0d6;padding:4px 6px;border-radius:4px;max-width:132px}.atlas-node small{background:#e6d4b7dd;padding:3px 6px;color:#755e47;border-radius:10px;font-size:9px;font-weight:750;max-width:125px}.atlas-node.focus{width:153px}.atlas-node.focus strong{font-size:17px}.atlas-node .death{color:#8a4140}
.atlas-details{background:#fcf4e4;border:1px solid #d0b68a;padding:17px 18px;margin-top:14px;border-radius:5px}.atlas-details h4{font:24px var(--serif);color:#43362a;margin:0 0 8px}.atlas-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.atlas-item{display:flex;gap:10px;padding:11px 9px;border-top:1px solid #e6d4b7;align-items:start}.atlas-item .tone-dot{margin-top:5px;flex:0 0 10px}.atlas-item strong{font:15px var(--serif);color:#3f342b}.atlas-item p{margin:3px 0 0;color:#716453;font-size:12px;line-height:1.55}.atlas-note{font-size:12px;color:#796f62;line-height:1.5;margin-top:10px}
.atlas-empty{position:absolute;inset:0;display:grid;place-items:center;font:15px var(--serif);color:#8b7159;text-align:center;padding:20px}
/* Lowering cognitive load for dense categories */
@media(max-width:1050px){.scribe-band{grid-template-columns:1fr}.atlas-header{flex-wrap:wrap}.atlas-canvas{height:520px}}
@media(max-width:650px){.cover{min-height:480px}.cover-content{height:480px;padding:56px 24px 28px;width:100%}.cover-art{width:100%;opacity:.24}.cover:after{background:rgba(247,233,206,.66)}.cover-title{font-size:clamp(42px,11vw,61px)}.cover-copy{color:#4d4035}.cover .eyebrow{font-size:10px}.scribe-lines{grid-template-columns:1fr}.atlas-panel{padding:13px}.atlas-header h3{font-size:26px}.atlas-select{width:100%;max-width:none}.atlas-canvas{height:480px}.atlas-node{width:84px;padding:3px;gap:3px}.atlas-node img{width:48px;height:54px;border-width:2px}.atlas-node.focus{width:105px}.atlas-node.focus img{width:67px;height:74px}.atlas-node strong{font-size:10px;max-width:89px}.atlas-node.focus strong{font-size:11px}.atlas-node small{font-size:8px}.atlas-list{grid-template-columns:1fr}.link-filter{padding:7px 8px;font-size:11px}.reader-hero{height:260px;padding:27px}.prose p{font-size:calc(17px * var(--fontmult))}.prose p:first-child:first-letter{font-size:61px;padding:8px 11px 7px}.section-head:after{right:18px}}
@media print{.atlas-panel,.scribe-band{break-inside:avoid}.atlas-canvas{height:450px}}


/* La Corona de Barro · edición 0.3, manuscrito legible con retratos reales */
:root{--bg:#e8dfcf;--paper:#f8f0e0;--paper2:#f0e4cf;--gold:#ac8346;--line:#d1b991;--ink:#302b27}
body{background:radial-gradient(ellipse at top right,#f1e5cf 0%,#e5dbcb 60%,#e1d3bd 100%);}
.sidebar{background:linear-gradient(150deg,#1f332f,#172728 70%,#132024);border-right:2px solid #998357}
.topbar{border-bottom-color:#d1b991}
.cover{background:#1c2d2a;min-height:560px}.cover:after{background:linear-gradient(90deg,#152622 0%,#162922 37%,rgba(20,42,37,.89) 53%,rgba(20,42,37,.35) 83%,rgba(20,42,37,.15))}
.cover-art{width:68%;filter:saturate(.82) contrast(.96);opacity:.95}.cover-title{font-size:clamp(53px,5.6vw,91px);line-height:.98}.cover-title em{color:#deb776}
.cover-content{padding-top:70px;padding-bottom:64px}.cover-copy{color:#eddfc9}.brand strong{font-size:23px}
.folio-banner{position:relative;overflow:hidden;border:1px solid #cfb183;border-radius:12px;margin:25px 0 34px;padding:clamp(22px,4vw,38px);background:repeating-linear-gradient(90deg,#ede2cf 0px,#ede2cf 48px,#eddfc9 49px,#ede2cf 50px)}
.folio-banner:before{content:'❦';position:absolute;font:105px Georgia,serif;top:-22px;right:24px;color:#c3a97d;opacity:.3;pointer-events:none}
.folio-banner .eyebrow{color:#995b3c}.folio-banner h2{font:clamp(28px,3vw,42px)/1.1 Georgia,serif;color:#4e3626;margin:10px 0 19px}
.folio-banner p{font:italic 17px/1.72 Georgia,serif;white-space:normal;color:#554536;max-width:780px;margin:0}
.section-heading-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:28px 0 14px}.section-heading-row h2{font:32px/1.1 Georgia,serif;color:#43372b;margin:7px 0}
.more-codex{display:flex;gap:8px;flex-wrap:wrap;margin:-10px 0 32px}.more-codex .btn{background:#f1e2cb;color:#61492f;border-color:#ccac78}
.founders-strip{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:7px;margin-bottom:33px}
.founders-strip button{min-width:0;text-align:center;padding:0;border:1px solid #bca078;background:#f2e4ce;border-radius:7px;overflow:hidden;transition:transform .15s,box-shadow .15s}
.founders-strip button:hover{transform:translateY(-4px);box-shadow:0 7px 15px #5d452f44}.founders-strip img{width:100%;height:155px;object-fit:cover;object-position:50% 24%}
.founders-strip span{display:block;padding:7px 3px;font:11px/1.15 Georgia,serif;color:#463729;height:42px;overflow:hidden}
.hero-card{background:#f7efdf;border-color:#cbb58e}.hero-card img{height:277px;object-fit:cover;object-position:50% 25%;filter:saturate(.95)}
.hero-card .overline{color:#925c42}.hero-card h3{font-size:21px}.hero-card footer{font-size:11px}
.hero-core-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:25px}
.hero-core-stats>div{background:#f2e5ce;border:1px solid #dbc9a7;border-radius:8px;padding:12px 10px}
.hero-core-stats small{display:block;font-size:9px;color:#81694c;letter-spacing:.75px;font-weight:800;line-height:1.5}
.hero-core-stats strong{font:24px/1.3 Georgia,serif;color:#6d472e;display:block;margin-top:8px}
.detail-head .tagline{font-size:23px}.detail-head .intro{font-size:16px}
.fact-signature{font:italic 11px/1.6 Georgia,serif;color:#917960;border-top:1px solid #e1d3bd;padding-top:13px;margin-top:20px}
.story-fact{border-bottom:1px dashed #ddcdb4;padding:12px 0;display:flex;justify-content:space-between;gap:15px;align-items:baseline}.story-fact span{font:11px/1.5 sans-serif;color:#957657;font-weight:700;text-transform:uppercase}.story-fact strong{font:15px/1.5 Georgia,serif;color:#41352b;text-align:right}
.vow-paper{background:#efe2c9;padding:16px;border:1px solid #d9be93;margin-top:17px;border-radius:5px;color:#523c2a}.vow-paper small{display:block;font-size:10px;letter-spacing:1.1px;color:#9b6243;font-weight:800}.vow-paper p{font:15px/1.65 Georgia,serif;margin:8px 0 0}
.attr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:17px 0}.attr{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center}.attr span{color:#7b6b59;font-size:11px}.attr b{font-size:14px;color:#63452d}.attr .meter{height:6px;background:#e1d3bd;border-radius:50px;grid-column:span 2;overflow:hidden}.attr .meter span{display:block;height:100%;background:#6c9182;border-radius:50px}
.attrs-detail{margin-top:22px;border-top:1px solid #dcc8a9;padding-top:14px}.attrs-detail summary{color:#9b643d;font-size:12px;font-weight:750;cursor:pointer}.attrs-detail .attr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.equip-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.equipment-card{background:#f5ead7;border:1px solid #dfc9a5;border-radius:8px;padding:11px;min-width:0}.equipment-card strong{display:block;font:15px/1.4 Georgia,serif;color:#45352a;margin:8px 0}.equipment-card small{display:block;font-size:10px;color:#92795e}.gear-mods{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.gear-mods span{font:10px sans-serif;color:#576f52;background:#e8e8d2;padding:5px;border-radius:4px}
.patrol-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:26px 0}
.patrol-panel{margin-bottom:34px}.patrol-list{border:1px solid #d4bd94;border-radius:10px;overflow:hidden;box-shadow:0 5px 20px #70553712}
.patrol-row{width:100%;border:none;border-bottom:1px solid #dbc6a4;background:#f7efdf;display:grid;grid-template-columns:56px 1.7fr 110px 65px minmax(150px,.7fr) 25px;gap:13px;align-items:center;padding:10px 15px;text-align:left}.patrol-row:last-child{border-bottom:0}.patrol-row:nth-child(even){background:#f3e7d4}.patrol-row:hover{background:#eadbbf}.patrol-row>img{width:54px;height:66px;object-fit:cover;object-position:50% 25%;border-radius:4px;border:2px solid #c1a77d}.patrol-name strong{display:block;font:19px Georgia,serif;color:#3c3129}.patrol-name span{display:block;font-size:11px;color:#806b56;margin-top:4px}.role-tag{border-radius:50px;text-align:center;padding:7px 9px;font-size:11px;font-weight:800}.role-tag.tank{background:#d9e1e3;color:#496c75}.role-tag.dps{background:#f0d5c7;color:#9c503a}.role-tag.healer{background:#dce8d5;color:#5e8153}.patrol-rating b{display:block;font:24px Georgia,serif;color:#9a7643}.patrol-rating small{font-size:10px;color:#7a6a58}.patrol-bars{display:grid;grid-template-columns:1fr;gap:3px}.patrol-bars span{font-size:10px;color:#776653}.patrol-bars i{display:block;height:5px;border-radius:10px;background:linear-gradient(90deg,#6b936f var(--fill),#e0d2bd var(--fill));margin-bottom:3px}.patrol-go{color:#996d3d}
.archive-number-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:22px}.archive-number-grid .stat{min-height:95px;padding:16px}.archive-number-grid .stat strong{font-size:26px}
.rule-list{display:flex;flex-wrap:wrap;gap:8px}.rule-list span{padding:9px 10px;background:#efe2cf;border:1px solid #dac59f;border-radius:6px;color:#654b32;font-size:12px}
.oath-block{font:italic 15px/1.67 Georgia,serif;color:#583c2d;border-left:3px solid #a76f43;padding:15px;background:#efe3cf;margin:13px 0}
.board-desc{display:block;font-size:10px;color:#9a836b;margin-top:5px}
.external-rival{margin-top:18px;padding:15px;background:#f2e4d5;border-left:3px solid #a95347;color:#624438;border-radius:4px}.external-rival b{font:16px Georgia,serif}.external-rival p{font:12px/1.6 sans-serif;margin:8px 0 0}.external-rival small{color:#8d766a}
.legacy-opening{background:#e9dbc6;border:1px solid #c9ac7e;border-radius:10px;padding:34px;margin:25px 0}.legacy-opening h2{font:36px Georgia,serif;color:#563b2c;margin:10px 0}.legacy-opening p{font:16px/1.65 Georgia,serif;max-width:690px}.empty-slim{padding:25px;margin-top:15px}.empty-slim p{margin:8px 0 0}
.atlas-smallnote{position:absolute;bottom:7%;left:50%;width:75%;transform:translateX(-50%);padding:12px;text-align:center;font-size:12px;background:#f6ebd9bb;z-index:1}
@media(max-width:1170px){.founders-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.founders-strip img{height:170px}}
@media(max-width:850px){.patrol-row{grid-template-columns:48px 1.7fr 80px 50px 20px;gap:9px}.patrol-bars{display:none}.patrol-name strong{font-size:16px}.role-tag{font-size:10px}}
@media(max-width:650px){.cover-art{width:100%;opacity:.55}.cover:after{background:linear-gradient(90deg,#172b27ea 0%,#172b27cc 58%,#172b2780)}.cover-content{width:100%;padding:65px 24px}.cover-title{font-size:53px}.founders-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.founders-strip img{height:140px}.mini-stats,.patrol-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-core-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.hero-core-stats>div{padding:9px 6px}.hero-core-stats strong{font-size:18px}.hero-core-stats small{font-size:8px}.attrs-detail .attr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patrol-row{grid-template-columns:42px 1fr auto 20px;padding:9px 7px}.patrol-row>img{width:42px;height:52px}.patrol-row .patrol-rating{display:none}.patrol-name strong{font-size:15px}.patrol-name span{font-size:10px}.role-tag{font-size:9px;padding:5px}.folio-banner{padding:22px}.folio-banner p{font-size:15px}}
@media print{.patrol-row{break-inside:avoid}.cover{break-inside:avoid}}
.cover-title{color:#f1e5cf!important}.cover .eyebrow{color:#dfba7e!important}.cover-copy{color:#e8d5b9!important}.cover-line{background:#c4a26b!important}.cover-buttons .btn.secondary{color:#ead5b5!important;background:#203630bb!important;border-color:#c6aa79!important}

.prose .scene-break{text-align:center;color:#9f744a;font:30px/1.4 Georgia,serif;margin:30px 0 36px;letter-spacing:12px}.prose p.dialogue{margin-bottom:13px}.prose p.dialogue + p.dialogue{margin-top:4px}.prose p.narration + p.dialogue{margin-top:11px} 
/* E0003 — Voces ilustradas: las miniaturas viven en el margen, no interrumpen el texto. */
.reading-settings{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 27px;padding-bottom:15px;border-bottom:1px solid #ddcdb4}
.reading-settings .setting-hint{font:12px/1.4 var(--sans);color:#8a745d}
.portrait-toggle{padding:9px 13px;border:1px solid #ba9d70;border-radius:7px;background:#e9d7b6;color:#704c35;cursor:pointer;font:700 12px var(--sans)}
.portrait-toggle[aria-pressed="true"]{background:#29453c;border-color:#29453c;color:#f9edd8}
.portrait-toggle:hover{filter:brightness(.96)}
.prose .dialogue-entry{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:start;column-gap:13px;margin:13px 0 17px;max-width:73ch;clear:both}
.dialogue-entry .dialogue-avatar{width:46px;height:52px;border:2px solid #a7885c;border-radius:5px;background:#ead7b5;box-shadow:0 2px 5px #4b342027;padding:0;overflow:hidden;display:block}
.dialogue-entry button.dialogue-avatar{cursor:pointer;transition:border-color .15s,transform .15s}
.dialogue-entry button.dialogue-avatar:hover,.dialogue-entry button.dialogue-avatar:focus-visible{border-color:#9e4d3e;transform:translateY(-1px);outline-offset:2px}
.dialogue-entry .dialogue-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%}
.dialogue-entry .dialogue-avatar.is-master img{object-fit:contain;padding:5px;background:#ddd0ae}
.dialogue-entry .dialogue-copy{min-width:0;padding-top:0}
.dialogue-entry .dialogue-speaker{display:block;color:#925b44;font:750 10px/1.1 var(--sans);letter-spacing:.75px;text-transform:uppercase;margin:2px 0 6px}
.prose .dialogue-entry p.dialogue-text{font:calc(17.5px * var(--fontmult))/1.72 var(--serif);color:#39302a;text-align:left;margin:0;max-width:65ch;overflow-wrap:break-word}
.prose .dialogue-entry + p.narration{margin-top:20px}
.prose p.narration + .dialogue-entry{margin-top:13px}
.prose .dialogue-entry + .dialogue-entry{margin-top:10px}
.prose .dialogue-entry + .dialogue-entry .dialogue-avatar{width:42px;height:48px;margin:2px}
.prose .dialogue-entry + .dialogue-entry .dialogue-speaker{margin-top:4px}
.reading-night .reading-settings{border-color:#5d5e5a}
.reading-night .reading-settings .setting-hint{color:#c4b29a}
.reading-night .dialogue-entry .dialogue-speaker{color:#d9b888}
.reading-night .prose .dialogue-entry .dialogue-text{color:#ebdfce}
.reading-night .portrait-toggle:not([aria-pressed="true"]){background:#344151;color:#f2e4cc;border-color:#86909b}
@media(max-width:650px){
 .reading-settings{gap:9px;margin-bottom:21px}
 .reading-settings .setting-hint{font-size:11px}
 .portrait-toggle{font-size:11px;padding:8px 11px}
 .prose .dialogue-entry{grid-template-columns:38px minmax(0,1fr);column-gap:10px;margin:12px 0 16px}
 .dialogue-entry .dialogue-avatar{width:38px;height:45px}
 .prose .dialogue-entry + .dialogue-entry .dialogue-avatar{width:38px;height:45px;margin:0}
 .dialogue-entry .dialogue-speaker{font-size:9px;letter-spacing:.42px}
 .prose .dialogue-entry p.dialogue-text{font-size:calc(17px * var(--fontmult));line-height:1.64}
}
@media print{.reading-settings,.dialogue-entry button.dialogue-avatar{print-color-adjust:exact;-webkit-print-color-adjust:exact}.reading-settings{display:none}.dialogue-entry{break-inside:avoid}}

/* E0004 · Los vínculos y el primer certamen */
/* E0006 · Segunda victoria de liga y crónica de los días 10 a 20 */
.build-progress{background:#e7f0e8;border:1px solid #bcd5bc;border-radius:9px;padding:11px 13px;margin:12px 0;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:#38634d}.build-progress strong{font-weight:750}.build-progress span{opacity:.85}.atlas-item small,.person-rel small{line-height:1.5}.chapter-tile:hover,.hero-card:hover{transform:translateY(-2px)}

/* E0005 - Identidades visuales individuales */
.maestre-codex{display:grid;grid-template-columns:minmax(180px,265px) 1fr;gap:28px;align-items:center;margin:27px 0 37px;border:1px solid #c8ad7f;border-radius:12px;padding:19px;background:linear-gradient(115deg,#eee0c4,#f9f2e5 72%);box-shadow:0 8px 25px rgba(69,49,25,.07)}
.maestre-codex>img{display:block;width:100%;height:305px;object-fit:cover;object-position:center 18%;border-radius:6px;border:5px solid #dfc9a4;box-shadow:0 2px 13px #53412b20}
.maestre-codex h2{font:clamp(26px,3vw,41px)/1.13 var(--serif);margin:11px 0;color:#49392b}
.maestre-codex p{max-width:700px;font:16px/1.72 var(--serif);color:#716352;margin:0 0 21px}
.aspirant-head{margin-top:40px}
.aspirants-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:28px}
.aspirants-strip button{border:1px solid #d2bb94;background:#f5ecdb;padding:10px;display:flex;align-items:center;gap:14px;text-align:left;border-radius:9px;cursor:pointer;transition:transform .15s,box-shadow .15s}
.aspirants-strip button:hover{transform:translateY(-2px);box-shadow:0 9px 18px #49372416}
.aspirants-strip img{width:90px;height:112px;object-fit:cover;border-radius:5px;flex-shrink:0}
.aspirants-strip strong{display:block;font:23px/1.18 var(--serif);color:#453529}
.aspirants-strip small{display:block;margin-top:6px;font-size:12px;color:#967b5c}
.dialogue-avatar.is-master{background:#ead5b3;border-color:#8c6841}
@media(max-width:700px){.maestre-codex{grid-template-columns:1fr;padding:14px;gap:14px}.maestre-codex>img{height:260px;max-width:220px;margin:auto}.maestre-codex h2{font-size:30px}.aspirants-strip{grid-template-columns:1fr}.aspirants-strip img{width:82px;height:96px}.aspirants-strip strong{font-size:21px}}

/* E0007 · Rostros sin recortes: prioridad al rostro y al marco superior */
.hero-card img{height:306px;object-fit:cover;object-position:50% 0%}
.founders-strip img{object-fit:cover;object-position:50% 0%}
.patrol-row>img,.person-rel img,.bond-pair img,.atlas-node img,.aspirants-strip img{object-position:50% 0%}
.dialogue-entry .dialogue-avatar img{object-position:50% 0%}
.portrait-large{object-position:50% 0%}
.legacy-feature img{object-position:50% 0%}
@media(max-width:700px){.hero-card img{height:234px;object-position:50% 0%}}
@media(max-width:385px){.hero-card img{height:205px;object-position:50% 0%}}

/* E0008 — códice dorado */
:root{
  --nav:#0d2627;--nav2:#193b36;--bg:#e8d7b7;--paper:#f8ecd2;--paper2:#ead8b4;
  --ink:#32281e;--muted:#78664e;--gold:#bb8a37;--gold2:#f2d18a;--line:#c9a974;
  --teal:#315e52;--red:#9b4938;--radius:11px;
  --shadow-book:0 14px 33px rgba(51,31,11,.17),inset 0 1px rgba(255,248,226,.9);
}
html{scroll-padding-top:85px}
body{background:#0c2423;color:var(--ink);background-image:radial-gradient(ellipse at 90% 4%,#21443c 0,transparent 48%),linear-gradient(135deg,#091c1e,#15352c 62%,#102725)}
.app{isolation:isolate}
.sidebar{width:269px;background:radial-gradient(circle at 52% 3%,#285147 0,#142e2d 38%,#0b2226 86%);color:#f0dbac;border-right:2px solid #b48743;box-shadow:inset -7px 0 12px #0815147a,6px 0 26px #080f1180;padding:27px 15px 22px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#816538 #102725}
.sidebar:before{content:'✧  ❦  ✧';position:absolute;top:10px;left:0;right:0;text-align:center;pointer-events:none;color:#cc9d57;opacity:.6;font:12px var(--serif);letter-spacing:4px}
.brand{align-items:center;padding:18px 7px 25px;margin-bottom:10px;border-bottom:1px solid #bb8b4b80;gap:11px}
.brand img{width:51px;height:57px;filter:drop-shadow(0 2px 5px #030a09a1)}
.brand small{color:#e2bd74;font-size:10px;letter-spacing:2.1px}
.brand strong{font:29px/1.03 var(--serif);color:#f9e9c4;text-shadow:0 2px 10px #080d0c}
.side-label{color:#cba772;margin:24px 11px 12px;font-size:10px}
.nav{gap:6px}
.nav button{min-height:51px;border:1px solid transparent;border-bottom:1px solid #d8ac5025;border-radius:7px;padding:12px 13px;letter-spacing:.2px;color:#f0e1c2;font:600 14px var(--sans);background:linear-gradient(90deg,transparent,rgba(223,186,105,.02));transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.nav button .symbol{width:28px;font:25px/1 var(--serif);color:#d4a950;filter:drop-shadow(0 1px 3px #180c05)}
.nav button:hover{background:linear-gradient(90deg,#315b50,#1c3934);border-color:#c79a5085;color:#fff0c7;transform:translateX(3px);box-shadow:inset 0 1px #ffdf9c22,0 5px 14px #0d1e19a1}
.nav button.active,.nav button.active:hover{background:linear-gradient(130deg,#c99c52 0%,#f5d58c 22%,#b67c30 64%,#80591f 100%);color:#322512;border-color:#ffe2a0;box-shadow:0 0 0 1px #7a4e1f,inset 0 1px #fff5ce,0 5px 17px #d6aa4550;transform:none;text-shadow:0 1px #fff0bf64}
.nav button.active .symbol{color:#694319}
.nav button.active:after{content:'❧';font:22px var(--serif);margin-left:auto;color:#5f3f19}
.side-bottom{border-color:#ae844769;margin-top:auto}
.edition-label{color:#d7ba7b;letter-spacing:1.1px}
.side-muted{color:#d7cba7}
.sidebar .side-bottom:after{content:'♜   ❦   ♜';font:22px var(--serif);letter-spacing:8px;color:#c79d5780;text-align:center;margin-top:13px}
.main{margin-left:269px;width:calc(100% - 269px);background-color:#e9dabb;background-image:radial-gradient(circle at 5% 6%,rgba(255,250,227,.9) 0,transparent 30%),radial-gradient(circle at 90% 32%,#ae844725 0,transparent 36%),repeating-linear-gradient(88deg,#68491a06 0 1px,transparent 1px 39px),linear-gradient(155deg,#f1e5cb,#e6d3b3 74%,#dfc8a5);box-shadow:inset 11px 0 25px #62401d13}
.topbar{height:66px;background:linear-gradient(90deg,rgba(22,53,47,.97),rgba(16,42,42,.96));border-bottom:1px solid #b79054;color:#f3dfb0;box-shadow:0 6px 17px #3d341e24;backdrop-filter:blur(14px);padding:0 clamp(16px,2.8vw,43px)}
.header-leading{display:flex;align-items:center;gap:13px;min-width:0}
.crumb{color:#ebc88c;letter-spacing:1.5px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-actions .tiny-btn,.top-actions .icon-btn{border:1px solid #cfa4609c;color:#f6e3b9;background:linear-gradient(160deg,#31554c,#193530);border-radius:6px;box-shadow:inset 0 1px #ffffff16,0 2px 8px #06171255;transition:transform .16s,background .16s,border-color .16s}
.top-actions .tiny-btn:hover,.top-actions .icon-btn:hover{background:linear-gradient(160deg,#4c7560,#25463b);border-color:#ffd995;transform:translateY(-1px)}
.content{max-width:1460px;padding:32px clamp(15px,2.6vw,43px) 85px}
.section-title{color:#3b2c1c;font-weight:500;text-shadow:0 1px #fff2d1}
.section-head{border-bottom:1px solid #c49e62;margin-bottom:28px;position:relative}
.section-subtitle{color:#70604d}
.eyebrow{color:#94412e;font-size:10px;letter-spacing:2.1px}
.section-head:after{color:#a87a30}
.footer{border-top:1px solid #caa56a!important;color:#806642}
.btn,.tiny-btn,.icon-btn,.rail-arrow,.filter,.portrait-toggle{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,filter .18s ease}
.btn{border:1px solid #214f46;border-radius:7px;background:linear-gradient(170deg,#32594e,#163b37);color:#fae9c5;box-shadow:0 4px 0 #10252130,inset 0 1px #ffffff24,0 5px 17px #46311c1d;padding:12px 19px;letter-spacing:.2px}
.btn:hover{background:linear-gradient(170deg,#447364,#1d5146);transform:translateY(-2px);box-shadow:0 6px 0 #10252125,inset 0 1px #ffffff3d,0 9px 18px #46311c33}
.btn:active,.rail-arrow:active,.filter:active{transform:translateY(1px);box-shadow:inset 0 3px 8px #1b100b57}
.btn.gold{background:linear-gradient(180deg,#ffe6a0 0%,#dba952 39%,#b97c30 78%,#965b22 100%);color:#382713;border-color:#f6cf76;box-shadow:inset 0 1px #fff3ca,0 4px 0 #734716,0 7px 18px #8b542f52;text-shadow:0 1px #ffecb785;font-weight:800}
.btn.gold:hover{background:linear-gradient(180deg,#fff0b9 0%,#e9b663 40%,#c48a3b 85%);box-shadow:inset 0 1px #fff5dc,0 5px 0 #734716,0 9px 22px #9f5b2d7a;filter:saturate(1.06)}
.btn.secondary{color:#62411d;border:1px solid #bd985d;background:linear-gradient(180deg,#f8e8c9,#e7d2a8);box-shadow:inset 0 1px #fff9e9,0 3px 8px #6f522a21}
.btn.secondary:hover{background:linear-gradient(180deg,#fff1d6,#ead1a1);border-color:#9b702d}
.btn.textonly{box-shadow:none;background:transparent;color:#735023;border:0}
.btn.textonly:hover{background:#eddab482}
.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e4b35e;outline-offset:3px}
button:disabled{opacity:.48;transform:none!important;box-shadow:none!important}
/* Hero: the group image is supplied by the user and shown in full */
.cover.cover-epic{display:block;min-height:0;border-radius:15px;background:#0c2829;outline:none;border:3px solid #b68b40;overflow:hidden;box-shadow:0 0 0 3px #413321,0 17px 32px #4a2b1752}
.cover-epic::before,.cover-epic::after{display:none!important}
.cover-epic .epic-paint{width:100%;background:#142b28;position:relative;border-bottom:3px double #d3a656}
.cover-epic .epic-paint:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 7px #f5d8881c,inset 0 -18px 25px #0f241e42}
.cover-epic .cover-art{position:static;display:block;width:100%;height:auto;max-height:none;object-fit:contain;opacity:1;filter:none}
.cover-epic .cover-content{display:flex;position:relative;z-index:2;align-items:center;flex-direction:row;justify-content:space-between;gap:25px;width:100%;min-height:150px;height:auto;padding:21px 29px 24px;background:radial-gradient(ellipse at 65% 0,#355a4a,#102b2c 70%);color:#fae6b9}
.cover-epic .cover-intro{flex:1;min-width:240px}
.cover-epic .eyebrow{color:#e1b46f!important;font-size:10px}
.cover-epic .cover-title{font:clamp(28px,3.2vw,43px)/1.05 var(--serif);color:#fae4ba!important;letter-spacing:-.5px;margin:8px 0 6px;max-width:none;text-shadow:0 3px 12px #040a08}
.cover-epic .cover-copy{color:#d9cba9!important;font:14px/1.48 var(--serif);margin:0;max-width:610px}
.cover-epic .cover-buttons{margin:0;padding:0;display:flex;justify-content:flex-end;align-items:center;gap:9px;flex:0 0 auto}
.cover-epic .cover-buttons .btn.secondary{color:#f0d7a4;background:linear-gradient(180deg,#284a41,#14352f);border-color:#af8549}
.cover-epic .cover-buttons .btn.secondary:hover{color:#fff1c7;background:#305c4d}
.mini-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:23px 0 38px;gap:15px}
.stat{min-height:112px;background:radial-gradient(circle at top left,#fff9e9,#f4e6c9 73%);border:1px solid #c29d64;box-shadow:var(--shadow-book),inset 0 0 0 5px #fffbef70;padding:20px;border-radius:9px;position:relative;overflow:hidden}
.stat:before{content:'✦';position:absolute;right:13px;top:10px;color:#caa46169;font:22px var(--serif)}
.stat strong{color:#5c3a22;font-size:34px;margin:0 0 10px}
.stat small{color:#775a38}
.stat.accent{background:linear-gradient(130deg,#284d44,#13332f);border-color:#b88a43;box-shadow:0 7px 21px #18362840,inset 0 0 0 4px #deb56b21}
.stat.accent strong{color:#f5d389}.stat.accent small{color:#e7d9bd}
.section-heading-row{margin-top:38px;margin-bottom:19px;align-items:center}
.section-heading-row h2{font:clamp(29px,3vw,39px)/1.16 var(--serif);margin:7px 0 0;color:#432c1c}
.gallery-section{position:relative;margin-bottom:30px}
.gallery-section:before{content:'';position:absolute;top:4px;left:0;width:82px;height:2px;background:linear-gradient(90deg,#b47d37,transparent)}
.rail-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rail-arrow{height:36px;width:36px;border-radius:6px;border:1px solid #b58a4b;background:linear-gradient(180deg,#f6e4bd,#dbbd85);color:#55361c;box-shadow:inset 0 1px #fff2d8,0 3px 8px #75512e30;font:28px/1 var(--serif);display:grid;place-items:center}
.rail-arrow:hover{background:linear-gradient(180deg,#fff2d4,#e3bf7b);transform:translateY(-2px)}
.featured-rail{display:flex;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a87a42 #ebd4a9;padding:8px 5px 22px;scroll-behavior:smooth}
.featured-rail:focus-visible{outline:2px solid #8f652b;outline-offset:1px}
.featured-card{flex:0 0 165px;width:165px;text-align:left;padding:0;display:flex;flex-direction:column;scroll-snap-align:start;overflow:hidden;border-radius:9px;border:1px solid #bb9458;background:linear-gradient(#fff4de,#f0dcba);box-shadow:0 6px 13px #5d3c1e24;position:relative;color:#372818}
.featured-card:before{content:'';position:absolute;inset:4px;border:1px solid #cba66e81;pointer-events:none;z-index:3;border-radius:5px}
.featured-card:hover{transform:translateY(-5px);border-color:#a77734;box-shadow:0 12px 22px #76502d45}
.featured-image{height:196px;display:block;overflow:hidden;background:#ccb58f;border-bottom:2px solid #d6ae65}
.featured-image img{width:100%;height:100%;object-fit:cover;object-position:center 0%;transition:transform .32s ease}
.featured-card:hover img{transform:scale(1.045)}
.featured-card-body{padding:12px 12px 15px;display:flex;flex-direction:column;gap:6px;min-height:114px}
.featured-card-body small{font:800 9px/1.35 var(--sans);letter-spacing:1.1px;text-transform:uppercase;color:#965532}
.featured-card-body strong{font:21px/1.1 var(--serif);color:#34261a}
.featured-card-body em{font:12px/1.3 var(--serif);color:#816548}
.history-panels{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(270px,.83fr);gap:19px;margin:24px 0 34px}
.panel,.reader,.chapter-tile,.hero-card,.bond-card,.empty-state{border:1px solid #bb9a62;border-radius:9px;background-color:#f7ead1;background-image:radial-gradient(circle at 10% 0,rgba(255,255,239,.85),transparent 60%),repeating-linear-gradient(92deg,#69461605 0 1px,transparent 1px 25px);box-shadow:var(--shadow-book);position:relative}
.panel:before{inset:7px;border-color:#caa56e59}
.panel h3{color:#473221}
.history-panels .panel{padding:24px}
.panel-head h3{font-size:29px;margin:7px 0 0}
.chapter-peek{display:grid;gap:1px}
.latest-card{background:transparent;border:0;border-top:1px solid #c9a77869;min-height:94px;text-align:left;width:100%;padding:14px 4px;margin:0;display:flex;align-items:center;gap:14px}
.latest-card:first-of-type{border-top:0}
.latest-card:hover{background:#fff3d47d}
.latest-icon{border:1px solid #c79c53;background:linear-gradient(145deg,#284c44,#16352f);border-radius:7px;color:#f1d083;font-size:26px}
.latest-card b{font:24px/1.2 var(--serif);color:#453122}
.latest-card span{font-size:11px}
.latest-card .peek-arrow{margin-left:auto;color:#9c662e;font:30px var(--serif)}
.quiet-event{border-left:2px solid #b98c4d}.quiet-event strong{color:#554032}.quiet-event p{color:#6b5a49}
.oath-panel{display:grid;grid-template-columns:100px 1fr;gap:24px;align-items:center;padding:29px 33px;margin:31px 0;border:2px solid #a97b3c;border-radius:9px;background:linear-gradient(115deg,#1d4039,#102d2c 72%),#122f2a;color:#f5e4be;box-shadow:0 9px 26px #34221141,inset 0 0 0 5px #c9a76531}
.oath-insignia{font:76px var(--serif);color:#edca7d;text-shadow:0 3px 5px #071716;line-height:1;text-align:center}
.oath-panel .eyebrow{color:#e1bb74}.oath-panel h2{font:clamp(27px,3vw,38px)/1.12 var(--serif);margin:7px 0 12px;color:#ffedc7}.oath-panel p{font:italic 16px/1.7 var(--serif);color:#e6d5b4;max-width:860px;margin:0}
.maestre-codex{border-color:#bc9560;border-width:2px;box-shadow:var(--shadow-book);background:linear-gradient(110deg,#e8d5b2,#f8eeda 76%);border-radius:10px}
.maestre-codex img{border-color:#b98a51;box-shadow:0 7px 13px #49371d50}
.notice{background:#f7e8c8;border:1px solid #c9a772;border-left:4px solid #9c5b37;color:#775438;box-shadow:0 3px 12px #4d32121d;margin:29px 0}
/* Chapters, characters and maps share the visual language but leave reading space calm */
.chapter-tile{border-top:3px solid #bd8c49;min-height:225px;transition:transform .2s,box-shadow .2s}
.chapter-tile:hover{transform:translateY(-5px);box-shadow:0 17px 29px #69412142}
.chapter-tile h3{color:#46301e}
.hero-grid{gap:19px}
.hero-card{border:1px solid #bd965c;transition:transform .2s,box-shadow .2s}
.hero-card:before{content:'';position:absolute;inset:5px;border:1px solid #d7b68088;pointer-events:none;z-index:2;border-radius:5px}
.hero-card:hover{transform:translateY(-5px);box-shadow:0 18px 30px #573a1c40}
.hero-card img{height:278px;object-fit:cover;object-position:center 0%;filter:none}
.hero-card .overline{color:#995632}.hero-card h3{color:#3e2d20}
.hero-card main{background:linear-gradient(#fff4dd,#f2e0be)}
.hero-card footer{border-color:#d1af7a}
.searchbox,.filter,.atlas-select,.link-filter{border-color:#b89a69;background:linear-gradient(#fff6e5,#f2e2c6)}
.filter:hover,.link-filter:hover{background:#ecdbb8;transform:translateY(-1px)}
.filter.active,.link-filter.active{background:linear-gradient(#315b50,#193d36);color:#f9e9c4;border-color:#315c4d;box-shadow:inset 0 1px #ffffff2c}
.reader{background:#f8ecd5;border:2px solid #c29b61;outline:1px solid #eedcb7;outline-offset:-10px;box-shadow:0 14px 35px #6a472b40}
.reader-hero{background:linear-gradient(130deg,#f8ebcd,#dfc49a);border-bottom:3px double #b28b4e}
.reader-hero h2{color:#4a3125}
.reading{max-width:850px;background:transparent}
.prose p{font-size:calc(18.4px * var(--fontmult));line-height:1.83;color:#352b22}
.prose .dialogue-entry p.dialogue-text{color:#352b22}
.dialogue-entry .dialogue-avatar{border-color:#a7834e;box-shadow:0 3px 7px #55331745}
.dialogue-entry button.dialogue-avatar:hover{border-color:#cb9b3f;box-shadow:0 5px 11px #6e3e2680}
.dialogue-entry .dialogue-speaker{color:#8d4d33}
.portrait-toggle[aria-pressed=true]{background:#255449;border-color:#c2a16c;color:#f9e8c9}
.reader-tools{background:linear-gradient(#f0dfbf,#e6d0a6);border-top:1px solid #c29a65}
.atlas-panel{background:radial-gradient(ellipse at center,#fff7e4,#eed9b3);box-shadow:0 12px 24px #6c442a29}
.atlas-canvas{background:radial-gradient(ellipse at center,#fff8e9,#ebd9b8)}
.atlas-node:hover{background:#fff2d5e3}
.atlas-details,.bond-card{background:#f8ecd5}
.bmobile{box-shadow:0 -6px 19px #0a151480}
.mobile-menu-button,.mobile-drawer{display:none}
/* breakpoint handling */
@media(max-width:1150px){
 .cover-epic .cover-content{flex-direction:column;align-items:flex-start;gap:13px;padding:21px 25px}
 .cover-epic .cover-buttons{justify-content:flex-start;width:100%}
 .history-panels{grid-template-columns:1fr}
 .featured-card{flex-basis:157px;width:157px}
}
@media(max-width:900px) and (min-width:651px){
 .sidebar{width:76px;padding:25px 8px}
 .sidebar .nav button{padding:11px 8px}
 .main{margin-left:76px;width:calc(100% - 76px)}
 .brand strong,.brand small,.sidebar .side-label,.sidebar .nav button .text,.sidebar .side-bottom{display:none}
 .brand{justify-content:center}
 .nav button.active:after{display:none}
 .mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .sidebar{display:none}
 .main{margin:0;width:100%;padding-bottom:72px}
 .topbar{height:59px;padding:0 13px}
 .mobile-menu-button{display:grid;place-items:center;background:linear-gradient(#375f4f,#173d36);border:1px solid #c79c58;color:#f7d991;box-shadow:inset 0 1px #ffffff36;border-radius:7px;width:36px;height:36px;font-size:20px}
 .crumb{letter-spacing:.55px;font-size:10px;max-width:180px}
 .top-actions .tiny-btn span{display:none}
 .top-actions .tiny-btn,.top-actions .icon-btn{min-height:36px;padding:8px 10px}
 .content{padding:16px 12px 65px}
 .cover.cover-epic{border-width:2px;border-radius:10px;box-shadow:0 0 0 2px #48351a,0 12px 22px #3a261c4d;min-height:0}
 .cover-epic .cover-art{width:100%;height:auto;max-height:none;opacity:1;filter:none}
 .cover-epic .cover-content{padding:18px 15px 21px;min-height:auto;height:auto;width:100%;background:linear-gradient(#1d4039,#102e2c);gap:13px}
 .cover-epic .cover-title{font-size:clamp(28px,8vw,36px);margin:7px 0}
 .cover-epic .cover-copy{font-size:13px;line-height:1.55}
 .cover-epic .eyebrow{font-size:9px;letter-spacing:1.4px}
 .cover-epic .cover-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
 .cover-epic .cover-buttons .btn{font-size:11px;padding:11px 8px;min-height:46px}
 .mini-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0 30px}
 .stat{padding:15px 12px;min-height:92px}
 .stat strong{font-size:27px;margin-bottom:7px}
 .stat small{font-size:9px}
 .section-heading-row{align-items:flex-start;gap:12px;margin-top:21px;flex-wrap:wrap}
 .section-heading-row h2{font-size:29px}
 .rail-controls .btn{font-size:11px}
 .featured-card{flex:0 0 156px;width:156px}
 .featured-image{height:183px}
 .featured-card-body{min-height:104px}
 .history-panels{grid-template-columns:1fr;gap:13px}
 .history-panels .panel{padding:19px 14px}
 .panel-head{flex-wrap:wrap}
 .panel-head h3{font-size:26px}
 .latest-icon{width:47px;height:54px}
 .latest-card b{font-size:21px}
 .oath-panel{grid-template-columns:1fr;gap:5px;text-align:center;padding:26px 18px}
 .oath-insignia{font-size:47px}
 .oath-panel h2{font-size:29px}.oath-panel p{font-size:15px}
 .maestre-codex{grid-template-columns:1fr}
 .reader-hero{min-height:215px;height:auto;padding:28px 23px}
 .reader-hero h2{font-size:36px}
 .reading{padding:27px 19px 39px}
 .prose p{font-size:calc(17px * var(--fontmult));line-height:1.76}
 .hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .hero-card img{height:215px;object-position:center 0%}
 .hero-card h3{font-size:19px}
 .bmobile{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:25;background:linear-gradient(#1a3b37,#0c292b);border-top:2px solid #c0924d;padding:5px 2px calc(5px + env(safe-area-inset-bottom));gap:1px;min-height:65px}
 .bmobile button{border:1px solid transparent;border-radius:5px;background:transparent;color:#e6d6b9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:10px var(--sans);min-width:0;min-height:48px;padding:4px 1px}
 .bmobile button b{font:22px var(--serif);color:#dbaf5a}
 .bmobile button.active{background:linear-gradient(#dfb976,#ac7534);color:#281d10;border-color:#f7d497}
 .bmobile button.active b{color:#4b3011}
 .mobile-drawer{display:block;position:fixed;inset:0;z-index:45;pointer-events:none;visibility:hidden}
 .drawer-backdrop{position:absolute;inset:0;background:#061513b8;opacity:0;transition:opacity .22s}
 .drawer-sheet{position:absolute;right:0;bottom:0;top:0;width:min(89vw,360px);background:radial-gradient(circle at top,#31564d,#102d2b 70%);border-left:2px solid #d1a059;box-shadow:-17px 0 40px #030b0a9e;transform:translateX(105%);transition:transform .24s;display:flex;flex-direction:column;padding:28px 18px}
 body.menu-open{overflow:hidden}
 body.menu-open .mobile-drawer{pointer-events:auto;visibility:visible}
 body.menu-open .drawer-backdrop{opacity:1}
 body.menu-open .drawer-sheet{transform:translateX(0)}
 .drawer-heading{color:#f2dfb5;border-bottom:1px solid #ac884b;display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:19px;margin-bottom:20px}
 .drawer-heading span{display:block;color:#d9aa62;font:800 10px var(--sans);letter-spacing:1.4px}
 .drawer-heading strong{display:block;font:29px var(--serif);margin-top:10px}
 .drawer-close{border:1px solid #ac844b;color:#ffe3a5;background:#315448;width:39px;height:39px;border-radius:7px;font-size:24px}
 .drawer-nav{display:grid;gap:7px}
 .drawer-nav button{display:flex;align-items:center;gap:13px;text-align:left;border:1px solid #be965444;background:#1a3935;color:#f2dfbb;border-radius:7px;padding:15px 13px;font:17px var(--serif)}
 .drawer-nav .symbol{width:26px;color:#e2bb73;font:23px var(--serif);text-align:center}
 .drawer-nav button.active{background:linear-gradient(#efd09a,#b88742);border-color:#fad899;color:#2b1b0e}
 .drawer-nav button.active .symbol{color:#543310}
 .drawer-nav button .text{display:block}
}
@media(max-width:385px){
 .hero-card img{height:190px}
 .featured-card{flex-basis:148px;width:148px}
 .cover-epic .cover-buttons{grid-template-columns:1fr}
 .cover-epic .cover-buttons .btn{min-height:42px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}
@media print{
 body,.main{background:#fff!important}.sidebar,.mobile-drawer,.bmobile,.topbar,.rail-controls,.footer{display:none!important}
 .main{margin:0!important;width:100%!important}.content{max-width:none;padding:0}
 .cover-epic,.panel,.reader,.oath-panel{box-shadow:none!important}
 .cover-epic{break-inside:avoid}.featured-rail{display:none}
}


/* E0009 · Ajustes tácticos y portada full-bleed */
.cover-epic.cover-fullbleed{padding:0;background:linear-gradient(180deg,#163735,#0f2727);border-radius:22px;overflow:hidden}
.cover-epic.cover-fullbleed .epic-paint{border-bottom:0;background:#102928}
.cover-epic.cover-fullbleed .epic-paint:after{box-shadow:inset 0 0 0 8px rgba(245,216,136,.10),inset 0 -18px 28px rgba(15,36,30,.35)}
.cover-epic.cover-fullbleed .cover-art{display:block;width:100%;height:auto;max-height:none;object-fit:cover;object-position:center 24%}
.cover-quickstats{margin-top:18px}
@media(min-width:1300px){.cover-epic.cover-fullbleed .cover-art{max-height:min(76vh,980px)}}
@media(max-width:760px){.cover-epic.cover-fullbleed{border-radius:18px}.cover-epic.cover-fullbleed .cover-art{min-height:260px;object-fit:cover;object-position:center top}}
.bond-meter{margin-top:8px;height:8px;border-radius:999px;background:#e8dcc6;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px rgba(69,43,20,.18)}
.bond-meter span{display:block;height:100%;width:var(--bond-fill,0%);background:linear-gradient(90deg,var(--bond-tone,#417c63),color-mix(in srgb,var(--bond-tone,#417c63) 58%,#f5ebda));box-shadow:0 0 8px color-mix(in srgb,var(--bond-tone,#417c63) 45%, transparent)}
.bond-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.bond-score{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.bond-score strong{font:18px/1 var(--serif)!important;color:#382f29}
.bond-tier{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 8px;border:1px solid #d4c0a0;background:#f7f0e2;color:#665645;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.bond-tier.tier-light{background:#f5efe4}
.bond-tier.tier-warm{background:#f1ead9}
.bond-tier.tier-strong{background:#efe3c8}
.bond-tier.tier-epic{background:#ead9b0;color:#4e3a19;border-color:#caa15f}
.atlas-strength-legend{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}
.atlas-strength-legend .legend-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:999px;border:1px solid #d9c6a8;background:#f8f1e5;color:#675746;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.atlas-strength-legend .swatch{width:22px;height:8px;border-radius:999px;background:linear-gradient(90deg,#bca17a,#6f5b43)}
.atlas-item{gap:12px;align-items:flex-start}
.atlas-item-body{flex:1;min-width:0}
.atlas-item.strength-heavy{background:linear-gradient(90deg,rgba(234,217,176,.42),transparent 72%)}
.atlas-item.strength-medium{background:linear-gradient(90deg,rgba(240,229,203,.55),transparent 72%)}
.atlas-item.strength-light{background:linear-gradient(90deg,rgba(248,241,229,.7),transparent 72%)}
.atlas-node img{box-shadow:0 4px 10px #49321c42,0 0 0 5px color-mix(in srgb,var(--tone,#bd9665) calc(var(--strength-scale,0)*22%), transparent)}
.atlas-node:not(.focus){transform:translate(-50%,-50%) scale(calc(.94 + (var(--strength-scale,0) * .16)))}
.atlas-node:not(.focus):hover{transform:translate(-50%,-50%) scale(calc(.98 + (var(--strength-scale,0) * .16)))}
.atlas-node.focus img{box-shadow:0 6px 18px rgba(73,50,28,.28),0 0 0 6px rgba(179,138,78,.18)}
.atlas-node small.negative{background:#f1d7d4;color:#8c413e}
.atlas-node small.positive{background:#e7ddc8;color:#6d5a44}
.patrol-row .role-tag{justify-self:center}


/* E0010 — Mesa del Escriba: papel, escritor y ficha en el mismo códice */
.studio-opening{background:linear-gradient(135deg,#24483e,#112c2b);border:2px solid #b38b50;border-radius:14px;color:#ead7aa;padding:27px;box-shadow:0 12px 28px rgba(51,37,16,.18);margin-bottom:24px}
.studio-opening h2{font:clamp(28px,3vw,42px)/1.1 var(--serif);margin:8px 0 10px;color:#f5dba5}
.studio-opening p{line-height:1.65;color:#e1cfac;max-width:900px}
.studio-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(275px,.8fr);gap:20px}
.studio-panel{background:linear-gradient(125deg,#fcf4e4,#f0e0bd);border:1px solid #c8a876;box-shadow:0 9px 28px #6d49281c,inset 0 1px #fff8eb;border-radius:13px;padding:24px}
.studio-panel h3{font:29px var(--serif);color:#633a28;margin:0 0 13px}
.studio-panel p{font-size:13px;line-height:1.6;color:#655443}
.studio-label{font:800 10px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#8e5837;display:block;margin:20px 0 9px}
.studio-select,.studio-textarea{display:block;width:100%;border-radius:8px;border:1px solid #bd9870;background:#fff9ee;color:#382b21;box-shadow:inset 0 1px 4px #523d1b0d;font:14px/1.55 var(--sans);padding:12px 14px}
.studio-textarea{min-height:155px;resize:vertical}
.studio-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px}
.studio-status{font:12px/1.5 var(--sans);min-height:22px;margin:10px 0 0!important;color:#366449!important}
.studio-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}
.studio-data div{border-radius:9px;border:1px solid #dec4a2;background:#fff8e9;padding:12px 14px}
.studio-data strong{display:block;font:22px var(--serif);color:#654324}
.studio-data small{font:10px var(--sans);color:#8a7458;letter-spacing:.08em;text-transform:uppercase}
.studio-pill{display:inline-block;border:1px solid #dabd80;border-radius:20px;padding:5px 9px;background:#f4e7cc;color:#674e2e;font:700 10px var(--sans);margin:0 7px 8px 0}
.studio-voices{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:14px;margin-top:18px}
.studio-voice{border:1px solid #d3b98e;background:linear-gradient(145deg,#fdf6e8,#f1e3c9);border-radius:12px;padding:13px;box-shadow:0 5px 15px #4f33150d}
.studio-voice-top{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.studio-voice img{width:55px;height:64px;object-fit:cover;object-position:center 23%;border-radius:7px;border:1px solid #ae824c}
.studio-voice h4{font:19px/1.1 var(--serif);color:#523b28;margin:0 0 4px}
.studio-voice small{font:10px var(--sans);color:#887257}
.studio-voice p{font:12px/1.55 var(--sans);color:#614e3b;margin:8px 0}
.studio-voice summary{cursor:pointer;color:#6f4b2d;font-weight:750;font-size:12px;padding:6px 0}
.studio-voice details{border-top:1px solid #dfcfb1;margin-top:9px}
.studio-rels{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px}
.studio-rel{border:1px solid #dac49e;background:#fff7e9;border-radius:9px;padding:14px;font:12px/1.55 var(--sans)}
.studio-rel strong{font:17px var(--serif);color:#5c3f2a}
.studio-rel p{margin:6px 0 0;color:#66523d}
.studio-hr{height:1px;background:linear-gradient(to right,transparent,#bea278,transparent);margin:28px 0}
@media(max-width:850px){.studio-layout{grid-template-columns:1fr}.studio-panel{padding:17px}.studio-voices{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.studio-opening{padding:19px}}
@media(max-width:420px){.studio-voices{grid-template-columns:1fr}.studio-actions .btn{width:100%;justify-content:center}.studio-data{grid-template-columns:1fr 1fr}}


/* E0012 · Lazos literarios: sentimientos y amistades, sin alterar estadísticas del juego */
.literary-thread{margin:19px 0 22px;background:linear-gradient(145deg,#fff4df,#ead5b1 85%);border:1px solid #ba905e;border-radius:13px;padding:18px 20px;box-shadow:0 7px 19px #65411e18,inset 0 0 0 3px #fff7e45e;position:relative;overflow:hidden}
.literary-thread::before{content:'❦';position:absolute;right:16px;top:4px;font:44px var(--serif);color:#d5ad79;opacity:.27;pointer-events:none}
.literary-thread h3{font:27px var(--serif);color:#674028;margin:4px 0 7px}
.literary-thread .eyebrow{color:#8b6135;font-weight:800}
.literary-thread p{color:#644d37;font:14px/1.6 var(--serif);margin:8px 0}
.literary-badge{display:inline-flex;align-items:center;gap:6px;font:800 11px var(--sans);color:#863e43;background:#f5e1d7;border:1px solid #cea39b;border-radius:50px;padding:5px 10px;margin-right:8px}
.literary-content{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0}
.literary-pair{display:inline-flex;align-items:center;gap:9px;font:16px var(--serif);color:#523d2b}
.literary-pair img{width:47px;height:52px;object-fit:cover;object-position:center 24%;border:2px solid #b28a58;border-radius:50%;background:#dfc69c}
.literary-thread .btn{margin-top:8px}
.literary-hint{color:#805f3e!important;font:12px/1.45 var(--sans)!important}
.atlas-node .novel-bond-mark{font:800 10px var(--sans);padding:3px 6px;border-radius:999px;color:#8d3545;background:#f4d8d2d9;border:1px solid #bb8781}
@media(max-width:600px){.literary-thread{padding:14px}.literary-pair{font-size:14px}.literary-pair img{width:38px;height:43px}}
body.reading-night .literary-thread{background:linear-gradient(145deg,#46362e,#293e35);border-color:#aa8760;color:#f7e4ca}
body.reading-night .literary-thread h3,body.reading-night .literary-thread p{color:#f4d7b9}


/* Edición 1.0 · Atlas de Lazos Vivos */
.rel-intro-panel{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 26px;margin:10px 0 24px;border:1px solid #b98e54;border-radius:13px;background:radial-gradient(circle at 80% 0,#426458,#173733 80%);box-shadow:inset 0 0 0 3px #d2b77524,0 10px 23px #3321131a;color:#e8ddc2}
.rel-intro-panel h2{font:clamp(25px,2.9vw,37px)/1.1 var(--serif);color:#f5deb1;margin:8px 0}
.rel-intro-panel p{max-width:680px;line-height:1.65;font-size:14px;margin:4px 0}
.rel-intro-panel .eyebrow{color:#f6c17b}.rel-counts{display:flex;gap:10px;flex-shrink:0}.rel-counts>div{min-width:83px;padding:11px 12px;border:1px solid #e9c1845c;border-radius:9px;background:#09282677;text-align:center}.rel-counts b{display:block;font:26px var(--serif);color:#f5d18f}.rel-counts small{display:block;font-size:10px;color:#e5d6ae;line-height:1.35}
.rel-view-switch{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 10px}.rel-view-btn{background:#f6ead3;color:#5b4533;border:1px solid #c9ae83;padding:10px 13px;border-radius:999px;cursor:pointer;font:800 11px var(--sans);letter-spacing:.02em;transition:.2s}.rel-view-btn:hover{background:#edd7b3;transform:translateY(-1px)}.rel-view-btn.active{background:linear-gradient(145deg,#f5d89b,#bf8e45);color:#3d2716;border-color:#976425;box-shadow:0 2px 8px #9b703b3b}.rel-view-btn:focus-visible{outline:3px solid #ad7647;outline-offset:2px}
.rel-family-filter{gap:7px;padding:4px 0 10px}.rel-family-filter .link-filter{white-space:normal;font-size:11px}
.rel-map-note{font:11px/1.65 var(--sans);color:#806c55;margin:10px 0}
.rel-map-canvas{margin-top:6px}.rel-v1-node{width:122px;z-index:2;gap:5px;--strength-scale:.7}.rel-v1-node strong{font-size:14px;max-width:136px}.rel-v1-node small{padding:4px 7px;font-size:10px}
.rel-node-label{display:block;font:800 10px/1.25 var(--sans);padding:5px 7px;color:#452f27;background:#f3e5d2;border:1px solid #bda178;border-radius:9px;box-shadow:0 3px 7px #644a342e;max-width:135px;text-align:center}
.rel-node-status{font:700 9px var(--sans);padding:3px 8px;border-radius:100px;background:#f2e6c9;color:#625137}.rel-node-status.st-semilla{background:#f8eddb;color:#947445;border:1px dashed #b49a6b}.rel-node-status.st-vivido{background:#e3e6d5;color:#456c4b}.rel-node-status.st-anclado{background:#e7e7df;color:#665b48}
.family-romance{--lit-color:#a14e65}.family-conflicto{--lit-color:#ab6042}.family-proteccion{--lit-color:#59788e}.family-complicidad{--lit-color:#7b668b}.family-amistad{--lit-color:#437963}.family-intriga{--lit-color:#837049}
.rel-node-label.family-romance{background:#f9e3e4;color:#853d54;border-color:#bf8b9b}.rel-node-label.family-conflicto{background:#f8e7da;color:#9b5636;border-color:#c59a79}.rel-node-label.family-proteccion{background:#e7edf2;color:#536d85;border-color:#adc0ce}.rel-node-label.family-complicidad{background:#ece3ee;color:#6f5582;border-color:#bfa9ca}.rel-node-label.family-amistad{background:#e0ebe1;color:#3e7351;border-color:#acc4ad}.rel-node-label.family-intriga{background:#f2e8d0;color:#746238;border-color:#c6b07c}
.rel-record-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.rel-record{border:1px solid #dbc5a0;border-radius:10px;display:flex;gap:12px;padding:13px;background:linear-gradient(135deg,#fff7e8,#f3e6d0);align-items:start;border-left:4px solid var(--lit-color,#ad9675)}.rel-record-face{background:transparent;border:0;padding:0;flex-shrink:0;cursor:pointer}.rel-record-face img{width:52px;height:67px;object-fit:cover;object-position:center 18%;border:2px solid #c2a275;border-radius:5px}.rel-record-body{min-width:0;flex:1}.rel-record-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.rel-person-name{background:none;border:0;cursor:pointer;padding:0;text-align:left;color:#513823;font:700 19px var(--serif)}.rel-person-name:hover{text-decoration:underline}.game-mech-pill{font:800 10px var(--sans);color:#6d604e;background:#e7dac1;border-radius:14px;padding:5px 7px;white-space:nowrap}.rel-chipline{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:9px}.novel-tag{display:inline-flex;gap:5px;align-items:center;padding:5px 9px;border:1px solid color-mix(in srgb,var(--lit-color,#947654) 45%,white);background:color-mix(in srgb,var(--lit-color,#947654) 14%,#fff5e4);color:var(--lit-color,#795b43);font:800 11px/1.3 var(--sans);border-radius:999px;max-width:100%}.novel-tag.compact{font-size:10px;padding:4px 7px}.status-pill{display:inline-flex;padding:4px 7px;border-radius:999px;font:700 10px var(--sans);border:1px solid #c7b693;color:#68583c;background:#efe5cd}.status-pill.st-vivido{background:#e6eddf;border-color:#b2c39d;color:#476d40}.status-pill.st-anclado{background:#e0e9ef;border-color:#b0c0c9;color:#536979}.status-pill.st-semilla{background:#f5e8d5;border:1px dashed #ba9c69;color:#846633}.status-pill.st-game{background:#ede3d1;color:#685b47}.rel-subtag{font:11px var(--serif);color:#7c6a55}.rel-intensity{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:9px 0}.rel-intensity small{color:#81715d;font:11px var(--sans)}.rel-bars{display:flex;gap:3px;align-items:center}.rel-bars i{display:block;width:17px;height:7px;border-radius:9px;background:#ded3bd}.rel-bars i.on{background:var(--rel-tone,#8d7852);box-shadow:0 1px 3px #4a382a38}.rel-record p{font:13px/1.55 var(--serif);color:#56483c;margin:6px 0}.rel-record .rel-hook{color:#826443;font-style:italic;border-top:1px dotted #dbc5a4;padding-top:6px}.rel-record button:focus-visible,.lit-face:focus-visible{outline:3px solid #b08443;outline-offset:2px}
.rel-glossary{margin:25px 0 35px;background:#f1e6d1;border:1px solid #c6a97f;border-radius:11px;padding:15px 20px;color:#544738}.rel-glossary summary{cursor:pointer;font:700 20px var(--serif);color:#735537}.rel-glossary>p{font-size:13px}.rel-glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.rel-glossary-group{background:#fff4e1;border-left:4px solid var(--lit-color,#a38352);border-radius:8px;padding:11px}.rel-glossary-group h4{font:700 17px var(--serif);margin:0 0 7px;color:#624b35}.rel-glossary-group>div{display:flex;flex-wrap:wrap;gap:5px}.rel-glossary-group span{font:10px var(--sans);color:#675542;border:1px solid #dcc4a0;background:#fff9ed;border-radius:16px;padding:4px 7px}
.lit-person-row{display:flex;gap:12px;padding:11px 0;border-top:1px solid #d9bd92}.lit-person-copy{min-width:0}.lit-person-copy>b{color:#60452f;font:700 19px var(--serif)}.lit-person-copy p{margin:6px 0 0;color:#705c47;font:13px/1.5 var(--serif)}.lit-person-labels{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:7px 0}.lit-mini-tags{font:11px var(--sans);color:#866846}.lit-face{border:0;padding:0;flex-shrink:0;background:none;cursor:pointer}.lit-face img{width:50px;height:63px;object-fit:cover;object-position:50% 15%;border:2px solid #b99661;border-radius:7px}.lit-more{margin-top:10px;border-top:1px solid #c5a475;padding-top:12px}.lit-more summary{cursor:pointer;color:#805d36;font:700 14px var(--serif)}
body.reading-night .rel-intro-panel{background:radial-gradient(circle at 80% 0,#426458,#16332f 80%)}body.reading-night .rel-record{background:linear-gradient(135deg,#f4e8d1,#e2cda9)}body.reading-night .rel-glossary{background:#e9d7b9}body.reading-night .rel-record p{color:#554635}
@media(max-width:1050px){.rel-intro-panel{flex-direction:column;align-items:stretch}.rel-counts{flex-wrap:wrap}.rel-record-list{grid-template-columns:1fr}}
@media(max-width:650px){.rel-intro-panel{padding:17px}.rel-intro-panel h2{font-size:27px}.rel-counts>div{flex:1}.rel-v1-node{width:89px}.rel-v1-node img{width:49px;height:56px}.rel-v1-node strong{font-size:10px;max-width:94px}.rel-node-label{font-size:8px;padding:4px;max-width:105px}.rel-node-status{font-size:8px;padding:3px 5px}.rel-view-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.rel-view-btn{padding:11px 7px}.rel-record{padding:10px;gap:8px}.rel-record-face img{width:42px;height:55px}.rel-person-name{font-size:17px}.rel-glossary-grid{grid-template-columns:1fr}}


/* E0014 — Identidad narrativa legible en la galería de portada */
.featured-card-body{min-height:174px;gap:7px}
.featured-card-body .featured-home-line{display:block;font:normal 13px/1.4 var(--serif);color:#6e553c;letter-spacing:0;overflow-wrap:break-word}
body.reading-night .featured-card-body .featured-home-line{color:#e2cba6}
@media(max-width:650px){.featured-card-body{min-height:186px}.featured-card-body .featured-home-line{font-size:12.5px;line-height:1.42}}


/* E0015 · portada y atlas sereno · ajustes sobre el códice dorado */
.maestre-codex{grid-template-columns:minmax(285px,40%) 1fr;gap:clamp(18px,2vw,30px);padding:0;overflow:hidden;align-items:stretch;border-radius:14px;background:linear-gradient(115deg,#f2e2c4,#fff2d9 92%)}
.maestre-codex>img{height:100%;min-height:390px;max-height:500px;width:100%;object-fit:cover;object-position:center 19%;border:none;border-right:3px solid #c39d5b;border-radius:0;box-shadow:none;display:block}
.maestre-codex>div{padding:clamp(20px,3vw,38px) clamp(18px,2.6vw,34px) clamp(20px,3vw,38px) 0;align-self:center}
.maestre-codex h2{font-size:clamp(29px,3vw,44px)}
.hero-detail-top{grid-template-columns:minmax(260px,380px) 1fr;gap:clamp(18px,3vw,36px)}
.portrait-large{border-width:4px}
/* Atlas: minimal controls, fewer lines of text, no future hypothesis visible here */
.rel-simple-panel{margin-top:7px}
.rel-simple-header{padding-bottom:12px}
.rel-simple-header h3{margin-bottom:5px}
.rel-simple-header p{max-width:660px}
.rel-simple-canvas{margin-top:8px}
.rel-calm-node{gap:4px;z-index:2}
.rel-calm-node .rel-node-label{font-size:10px;padding:5px 8px;max-width:140px}
.rel-calm-node small{font-size:10px;padding:4px 7px}
.rel-simple-details-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.rel-simple-details-head h4{margin:4px 0 0}
.rel-simple-total{font:700 11px var(--sans);color:#867257;text-transform:uppercase;letter-spacing:.08em}
.rel-simple-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}
.rel-simple-row{margin:0!important;border:1px solid #d7bd95;border-left:3px solid var(--linkcolor)!important;display:flex;align-items:flex-start;gap:11px;padding:11px 12px;background:linear-gradient(120deg,#fff5df,#f4e8d4);border-radius:9px}
.rel-simple-row .rel-record-face img{width:45px;height:56px;object-position:center 12%;border-radius:6px}
.rel-simple-main{min-width:0;flex:1}
.rel-simple-main .rel-person-name{font:700 17px/1.1 var(--serif);color:#63482d}
.rel-simple-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:7px 0 6px}
.rel-simple-chips .novel-tag{font-size:10px;padding:5px 7px}
.rel-simple-num{color:#775f3f;font:700 11px var(--sans);letter-spacing:.025em}
.rel-simple-track{width:100%;height:4px;overflow:hidden;background:#dfd0b6;border-radius:10px}
.rel-simple-track i{height:100%;display:block;border-radius:10px}
.rel-simple-main p{font:13px/1.5 var(--serif);color:#705b42;margin:8px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rel-simple-footnote{font:12px/1.5 var(--serif);color:#8d7658;margin-top:15px}
/* Biography: clearly separate what is happening from future author ideas */
.literary-thread .lit-future{margin-top:18px;border-top:1px solid #c8a375;padding-top:12px}
.literary-thread .lit-future summary{font:700 17px var(--serif);color:#6d5033;cursor:pointer}
.literary-thread .lit-future[open] summary{margin-bottom:8px}
.lit-future-note{color:#8a7356;font:13px/1.5 var(--serif)}
.lit-person-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.lit-person-copy .lit-game-num{font:700 11px var(--sans);color:#987956}
.lit-story-power{font:12px var(--sans);color:#9f7744;letter-spacing:1px;white-space:nowrap}
.lit-possible{opacity:.94}
.lit-possible-hook{font-style:italic;color:#715438}
@media(max-width:930px){.rel-simple-list{grid-template-columns:1fr}.maestre-codex{grid-template-columns:minmax(210px,42%) 1fr}}
@media(max-width:700px){.maestre-codex{display:block;padding:0}.maestre-codex>img{width:100%;height:390px;min-height:0;max-height:none;max-width:none;margin:0;border:0;border-bottom:3px solid #c39d5b;object-position:center 16%}.maestre-codex>div{padding:22px 20px 24px}.hero-detail-top{grid-template-columns:1fr}.rel-simple-row{padding:10px}.rel-simple-main p{-webkit-line-clamp:3}}
@media(max-width:390px){.maestre-codex>img{height:310px}.rel-simple-canvas .rel-calm-node{max-width:105px}.rel-simple-header select{max-width:100%}}
body.reading-night .rel-simple-row{background:linear-gradient(115deg,#294a41,#1d3935);border-color:#9f8353}
body.reading-night .rel-simple-main .rel-person-name,body.reading-night .rel-simple-details-head h4{color:#f3dab2}
body.reading-night .rel-simple-main p,body.reading-night .rel-simple-footnote,body.reading-night .rel-simple-num{color:#dec6a0}
body.reading-night .rel-simple-track{background:#526154}
body.reading-night .maestre-codex>img{border-color:#a4875a}


/* E0016 — El pulso de la Casa */
.pulse-head{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:29px 0 15px;padding:0 3px}
.pulse-head .eyebrow{margin-bottom:7px}
.pulse-head h2{font:clamp(25px,3.4vw,37px)/1.07 var(--serif);margin:0;color:#3a3026}
.pulse-head p{font:13px/1.5 var(--sans);color:#816d54;margin:7px 0 0}
.pulse-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.pulse-stat{min-width:0;position:relative;text-align:left;cursor:pointer;min-height:104px;padding:17px 16px 14px;border:1px solid #caa86b;border-radius:11px;color:#382e23;background:linear-gradient(155deg,#fff8e9 0%,#eaddbb 100%);box-shadow:0 4px 10px #5a3e1716,inset 0 1px #fff6db;transition:transform .19s,box-shadow .19s,border-color .19s}
.pulse-stat:first-child{background:linear-gradient(145deg,#284e42,#113a37);color:#f8e9c3;border-color:#c39957}
.pulse-stat strong{display:block;font:clamp(24px,3vw,31px)/1.1 var(--serif);margin-bottom:8px}
.pulse-stat small{display:block;font:bold 10px/1.4 var(--sans);letter-spacing:.09em;text-transform:uppercase;opacity:.86}
.pulse-stat .pulse-go{position:absolute;right:12px;top:9px;opacity:.56;font-size:15px}
.pulse-stat:hover,.pulse-stat:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px #5a3e1729;border-color:#9d7131;outline-offset:3px}
.pulse-columns{display:grid;grid-template-columns:1.25fr 1fr 1.08fr;gap:14px;align-items:stretch}
.pulse-panel{background:linear-gradient(156deg,#fdf1d8 0%,#e9d9b5 100%);border:1px solid #c8a670;border-radius:13px;padding:19px 17px 14px;box-shadow:inset 0 1px #fff8e9,0 6px 18px #5140221a;min-width:0}
.pulse-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #cfb58a}
.pulse-panel-title{font:22px/1.15 var(--serif);color:#453322;margin:0}
.pulse-panel-mark{font:10px/1.3 var(--sans);color:#916939;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.pulse-panel-list{display:grid;gap:7px}
.pulse-entry{display:flex;width:100%;gap:10px;align-items:center;text-align:left;min-width:0;border:1px solid transparent;border-radius:9px;padding:9px 7px;background:transparent;cursor:pointer;color:#3c3023;transition:background .2s,border-color .2s,transform .2s}
.pulse-entry:hover,.pulse-entry:focus-visible{background:rgba(255,255,255,.53);border-color:#c8a876;transform:translateX(2px);outline-offset:2px}
.pulse-face,.pulse-face-stack{flex:0 0 45px;width:45px;height:49px;display:flex;align-items:center;position:relative}
.pulse-face img{display:block;width:44px;height:48px;object-fit:cover;object-position:center 14%;border-radius:5px;border:1px solid #a88c5c;box-shadow:0 3px 7px #513d2a23}
.pulse-face-stack img{position:absolute;left:0;top:4px;width:26px;height:37px;object-fit:cover;object-position:center 14%;border:2px solid #f1ddaf;border-radius:5px;box-shadow:0 2px 5px #33271744}
.pulse-face-stack img:nth-child(2){left:10px;top:0}.pulse-face-stack img:nth-child(3){left:20px;top:5px}
.pulse-copy{flex:1;min-width:0;display:block}
.pulse-copy strong{display:block;font:700 13px/1.27 var(--sans);color:#403123;margin-bottom:4px}
.pulse-copy small{display:block;font:12px/1.32 var(--sans);color:#7b6650}
.pulse-arrow{color:#ac7e3f;opacity:.75;font-size:18px;flex:none;transition:transform .15s}
.pulse-entry:hover .pulse-arrow{transform:translateX(2px)}
.pulse-footer{display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:space-between;margin-top:14px;padding:11px 15px;border:1px solid #ccb080;border-radius:10px;background:linear-gradient(95deg,#e7d1a6,#faedcf);color:#59452d;font:12px/1.5 var(--sans)}
.pulse-footer button{font-weight:800;border:0;border-bottom:1px solid #ae7d3e;color:#674320;background:transparent;padding:3px 0;cursor:pointer}
.pulse-footer button:hover{text-decoration:underline;color:#362b21}
/* El retrato del maestre llevaba una regla antigua de contain + padding. */
.prose .dialogue-entry .dialogue-avatar.is-master{padding:0!important;overflow:hidden!important;background:#ead7b5!important}
.prose .dialogue-entry .dialogue-avatar.is-master img{display:block!important;object-fit:cover!important;object-position:51% 19%!important;padding:0!important;margin:0!important;width:100%!important;height:100%!important;background:transparent!important;max-width:none!important;border:0!important}
@media (max-width:1040px){.pulse-columns{grid-template-columns:1fr 1fr}.pulse-panel:first-child{grid-column:1/-1}.pulse-stats{gap:9px}}
@media (max-width:700px){.pulse-columns{grid-template-columns:1fr;gap:10px}.pulse-panel:first-child{grid-column:auto}.pulse-panel{padding:15px 13px 12px}.pulse-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pulse-stat{min-height:90px;padding:14px 12px}.pulse-head{margin-top:20px}.pulse-head h2{font-size:29px}.pulse-entry{padding:7px 6px}.pulse-footer{flex-direction:column;align-items:start}}
body.reading-night .pulse-panel{background:linear-gradient(145deg,#2b443b,#1f342e);border-color:#9c8054}
body.reading-night .pulse-panel-title,body.reading-night .pulse-copy strong{color:#f4dfb7}
body.reading-night .pulse-copy small,body.reading-night .pulse-head p{color:#c8b89b}
body.reading-night .pulse-head h2{color:#f3deb7}
body.reading-night .pulse-entry:hover,body.reading-night .pulse-entry:focus-visible{background:#365548}
body.reading-night .pulse-footer{background:#2a453b;color:#ead8b5;border-color:#ac8753}
body.reading-night .pulse-stat:not(:first-child){background:linear-gradient(145deg,#2d4b41,#1d362f);color:#f3ddb7;border-color:#9c8154}
/* Retratos de aventureros: mostrar ilustraciones verticales completas (3:4).
 * No recortar cabezas ni los marcos ornamentales originales. */
.hero-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: contain;
  object-position: center top;
  background: #e7d6b6;
}
.portrait-large {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: contain;
  object-position: center top;
}
