/* GRIMWOOD V20 · Tinta del Juramento
   Dirección visual: grabado oscuro, alto contraste y color narrativo selectivo.
   Los modelos y geometría 3D se conservan; esta capa afecta presentación/UI. */
:root{--v20-ink:#050505;--v20-paper:#e8e3d7;--v20-bone:#cfc8b8;--v20-gold:#b9904a;--v20-crimson:#781c20;--v20-eclipse:#563778;--v20-smoke:#171717}
html,body,#game{background:#050505!important}
#world{background:#050505}
#vignette{background:radial-gradient(circle at 50% 46%,transparent 46%,#0004 76%,#0009 100%)!important;mix-blend-mode:multiply;opacity:.38;pointer-events:none}
#game:after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.16;background-image:radial-gradient(circle at 9% 17%,#fff 0 1px,transparent 1.7px),radial-gradient(circle at 82% 12%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 71% 83%,#fff 0 1px,transparent 1.8px),linear-gradient(104deg,transparent 0 46%,#fff1 46.15%,transparent 46.4%);background-size:91px 83px,137px 111px,173px 149px,100% 100%;mix-blend-mode:soft-light}

/* Inicio: composición como portada de grabado, sin modificar el arte fuente. */
#title-screen{background:#050505!important;isolation:isolate;overflow:hidden}
.title-art{filter:grayscale(1) contrast(1.78) brightness(.54)!important;opacity:.92;background-position:70% 42%!important;transform:scale(1.015)}
.title-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#020202 0 28%,#020202e8 36%,#02020266 58%,#0000 78%),linear-gradient(0deg,#020202e8 0,#0000 42%,#0007 100%),radial-gradient(circle at 72% 44%,transparent 0 18%,#0008 68%);mix-blend-mode:multiply}
#title-screen:after{display:block!important;content:''!important;position:absolute!important;inset:-10%!important;z-index:-1!important;pointer-events:none;background:radial-gradient(circle at 87% 22%,#ece6d9 0 2px,transparent 3px),radial-gradient(circle at 89% 25%,#ece6d9 0 4px,transparent 5px),radial-gradient(circle at 84% 28%,#781c20 0 3px,transparent 5px),radial-gradient(circle at 92% 31%,#781c20 0 7px,transparent 9px);background-size:121px 113px,173px 151px,227px 193px,311px 277px;opacity:.35;filter:contrast(2)}
#title-screen .title-content{z-index:2}
#title-screen .eyebrow{color:#d7d0c1!important;letter-spacing:.31em!important;font-weight:700}
#title-screen h1{color:#f3eee4!important;text-shadow:0 2px 0 #000,0 0 22px #000!important;letter-spacing:.075em!important}
#title-screen .subtitle{color:#c8b27f!important;font-style:normal!important;letter-spacing:.035em!important}
#title-screen .intro{color:#bdb8ae!important;border-left:2px solid #7d622e;padding-left:16px}
#title-screen #enter,#title-screen #continue{background:linear-gradient(100deg,#111,#070707)!important;border:1px solid #b9904a!important;box-shadow:inset 4px 0 #b9904a,0 0 0 1px #000!important;color:#eee8dc!important;text-transform:uppercase;font-size:15px!important;letter-spacing:.16em!important}
#title-screen #enter:hover,#title-screen #continue:hover{background:linear-gradient(100deg,#291719,#0a0a0a)!important;color:#fff!important}
#title-screen .text-button{color:#aaa49a!important;text-transform:uppercase!important;letter-spacing:.12em!important}
#title-screen .text-button:hover{color:#d5b66f!important}
#title-screen .edition{color:#766c5a!important}.title-runes{opacity:.25!important;filter:grayscale(1)}

/* Pantalla de carga: página de códice en negativo. */
#load-screen{background:#050505!important;color:#e8e3d7!important}
.loading-landscape{filter:grayscale(1) contrast(1.9) brightness(.36)!important;opacity:.88!important;inset:0 0 0 36%!important}
.loading-landscape:after{background:linear-gradient(90deg,#050505 0 18%,#050505ef 30%,transparent 73%),linear-gradient(0deg,#050505 0,transparent 55%,#0008 100%)!important}
#load-screen:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 80%,#781c20 0 3px,transparent 4px),radial-gradient(circle at 16% 76%,#781c20 0 7px,transparent 9px),radial-gradient(circle at 19% 83%,#d8d0c0 0 2px,transparent 3px);background-size:191px 173px,283px 241px,137px 123px;opacity:.33;filter:contrast(1.7)}
.loading-copy>small{color:#b9904a!important;font-weight:800}#load-screen h2{color:#eee9de!important;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 2px 14px #000}.load-lore{color:#bbb5aa!important;border-left:1px solid #7c622e;padding-left:18px}.load-divider{color:#781c20!important;font-size:27px!important}.loading-footer .load-emblem{color:#b9904a!important}#load-screen progress{accent-color:#8b2228;background:#1b1b1b!important}#load-screen footer{color:#77716a!important;text-transform:uppercase;letter-spacing:.08em;font-size:10px!important}

/* HUD de lectura: casi monocromo; los pocos colores significan algo. */
#hud{--gold:#b9904a;--red:#781c20;--blue:#6a596f}
.player-vitals,.top-actions .currency,#objective,#abilities .ability{background:linear-gradient(110deg,#070707eF,#151515e5)!important;border-color:#48443c!important;backdrop-filter:blur(5px) grayscale(.7)}
.health-track{background:#19090a!important}.health-track>div,#hp-fill{background:linear-gradient(90deg,#5e1216,#9a2e31)!important}.stamina-track>div,#stamina-fill{background:linear-gradient(90deg,#5e5848,#b9974f)!important}
.room-heading h2,.room-heading p{filter:grayscale(.35)}
#boss-hud{background:linear-gradient(100deg,#090909f2,#241013ef)!important;border:1px solid #8c6d3c!important;box-shadow:0 0 0 1px #000,inset 0 -2px #5c1519!important}
#boss-hud:before{content:'JURAMENTO HOSTIL';position:absolute;top:-17px;left:14px;font:700 9px/1 Arial;letter-spacing:.22em;color:#b9904a}
#boss-name{color:#eee8dd!important;text-transform:uppercase;letter-spacing:.08em}.boss-track{background:#16090a!important}.boss-track i{background:linear-gradient(90deg,#72191f,#b9904a)!important}
#room-banner{filter:grayscale(.35) contrast(1.15)}

/* Diálogos y paneles: hoja negra impresa, no ventana web. */
#panel{background:linear-gradient(135deg,#080808f8,#151515f8)!important;border-color:#655b47!important;color:#d7d1c5!important;box-shadow:0 20px 80px #000!important}
#panel::backdrop{background:#000b!important;backdrop-filter:blur(3px) grayscale(.8)!important}
#panel .panel-header{background:linear-gradient(90deg,#15110e,#090909)!important;border-bottom:1px solid #5a4a30!important}
#panel-title{color:#eee7da!important}.eyebrow,#panel-eyebrow{color:#b9904a!important}
#panel[data-kind=dialogue]{background:linear-gradient(105deg,#060606f8,#171717f4)!important;border-color:#806a40!important}
#panel[data-kind=dialogue] #panel-portrait{filter:grayscale(.88) contrast(1.42) brightness(.83)!important}
#panel[data-kind=dialogue] .spoken{color:#e7e1d6!important}

/* Selecciones y tarjetas. */
.choice,.profile-card,.save-slot,.menu-grid button,.archive-tabs button{background:linear-gradient(145deg,#111,#080808)!important;border-color:#49443a!important;color:#d8d2c7!important}.choice:hover,.profile-card:hover,.menu-grid button:hover{border-color:#b9904a!important}.selected{box-shadow:inset 3px 0 #8e2529!important;border-color:#8e6e39!important}

/* Tinte abstracto en impactos: sin tapar lectura del combate. */
#world.flash-impact{filter:contrast(1.12)}
body:not(.mobile-layout) #game[data-boss='true'] #vignette{opacity:.52}

@media(max-width:820px),(pointer:coarse){
 #game:after{opacity:.09}.title-art{opacity:.62!important;filter:grayscale(1) contrast(1.65) brightness(.42)!important}.title-art:after{background:linear-gradient(90deg,#020202ed,#02020277)!important}
 #title-screen .intro{max-width:270px}.loading-landscape{inset:0!important;opacity:.45!important}.loading-copy{width:82vw!important}
}
@media(prefers-reduced-motion:reduce){.title-art{animation:none!important;transform:none!important}}


/* V20.2 · DEMO */
.demo-splash{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:24px;background:
radial-gradient(circle at 50% 35%,#241b14 0,#0b0908 35%,#030303 78%);color:#eee8dc;font-family:Arial,sans-serif}
.demo-splash[hidden]{display:none}
.demo-splash:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background:
linear-gradient(115deg,transparent 0 48%,#b9904a22 48.2%,transparent 48.5%),
radial-gradient(circle at 20% 18%,#781c20 0 2px,transparent 3px);background-size:100% 100%,117px 103px}
.demo-splash-card{position:relative;width:min(680px,92vw);padding:42px 44px 34px;border:1px solid #765f3b;background:linear-gradient(145deg,#11100ff2,#060606f5);box-shadow:0 35px 120px #000,inset 0 0 0 1px #000;text-align:center}
.demo-splash-mark,.title-demo-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #8f2d32;background:#190b0d;color:#e6c7aa;padding:7px 12px;font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.demo-splash-card h1{margin:18px 0 2px;font:900 clamp(42px,8vw,76px)/.95 Georgia,serif;letter-spacing:.09em;color:#f3eee4;text-shadow:0 0 25px #000}
.demo-splash-sub{margin:0;color:#c19d59;text-transform:uppercase;letter-spacing:.24em;font-size:12px;font-weight:800}
.demo-splash-copy{max-width:520px;margin:24px auto;color:#bdb6aa;line-height:1.6;font-size:14px}
.demo-dev{display:flex;justify-content:center;gap:9px;align-items:baseline;margin:20px 0 14px;text-transform:uppercase}
.demo-dev span{color:#716a60;font-size:9px;letter-spacing:.18em}.demo-dev strong{color:#e3d3ad;letter-spacing:.07em}
.discord-join{display:flex;align-items:center;gap:13px;width:min(410px,100%);margin:0 auto 14px;padding:13px 16px;border:1px solid #6d73d9;background:linear-gradient(100deg,#24284a,#141629);color:#f4f5ff;text-decoration:none;text-align:left;transition:.18s transform,.18s border-color}
.discord-join:hover{transform:translateY(-2px);border-color:#9ea3ff}.discord-join svg{width:34px;height:34px;fill:#c8cbff;flex:0 0 auto}.discord-join span{display:flex;flex-direction:column}.discord-join b{letter-spacing:.13em}.discord-join small{margin-top:2px;color:#aaaed8}
.demo-enter{width:min(410px,100%);margin:0 auto;padding:15px 18px;border:1px solid #b9904a;background:linear-gradient(100deg,#231616,#0c0b09);color:#f3eee4;font-weight:900;letter-spacing:.14em;cursor:pointer}
.demo-enter:hover{background:linear-gradient(100deg,#3a1d20,#15110d)}.demo-build{display:block;margin-top:16px;color:#675f55;letter-spacing:.15em}
.title-demo-badge{margin-bottom:12px}.developer-credit{color:#8f8067;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.title-discord{display:inline-flex;align-items:center;gap:7px;color:#aaaee5;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:11px}
.title-discord:hover{color:#d7d9ff}.title-discord span{font-size:14px}
.demo-locked{opacity:.5;filter:grayscale(.85)}.demo-lock-note{display:block;color:#bd8d67!important;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:620px){.demo-splash-card{padding:30px 20px 24px}.demo-splash-copy{font-size:13px}.demo-dev{flex-direction:column;gap:4px}.title-demo-badge{font-size:8px}}

/* V20.3 · selector de dispositivo, prólogo demo e interfaz refinada */
.demo-step[hidden]{display:none!important}.device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px auto 12px;max-width:560px}.device-card{position:relative;display:flex;min-height:190px;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px;padding:22px 20px;border:1px solid #4d473d;background:linear-gradient(150deg,#151412,#090909);color:#e9e2d6;text-align:left;cursor:pointer;overflow:hidden;transition:transform .18s ease,border-color .18s ease,background .18s ease}.device-card:after{content:'';position:absolute;inset:auto -25% -45% 15%;height:120px;background:radial-gradient(circle,#b9904a21,transparent 70%);pointer-events:none}.device-card:hover,.device-card:focus-visible{transform:translateY(-3px);border-color:#b9904a;background:linear-gradient(150deg,#1e1914,#0b0a09);outline:none}.device-card.recommended{box-shadow:inset 0 0 0 1px #8f7345}.device-card.recommended:before{content:'RECOMENDADO';position:absolute;top:10px;right:10px;color:#cbb27c;font-size:8px;font-weight:900;letter-spacing:.15em}.device-icon{font-size:38px;line-height:1;color:#c39b58}.device-card strong{font:800 23px/1 Georgia,serif;letter-spacing:.08em}.device-card small{color:#c9af79;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.device-card em{margin-top:4px;color:#948d82;font-size:12px;font-style:normal;line-height:1.45}.device-recommendation{min-height:20px;margin:10px auto 0;color:#8f877b;font-size:11px;letter-spacing:.05em}.demo-mini-prologue{max-width:560px;margin:22px auto 18px;padding:18px 20px;border-left:2px solid #9b7a41;background:linear-gradient(90deg,#17120d99,transparent);text-align:left}.demo-mini-prologue span{display:block;margin-bottom:9px;color:#bd9350;font-size:9px;font-weight:900;letter-spacing:.22em}.demo-mini-prologue p{margin:7px 0;color:#c7c0b5;font:14px/1.6 Georgia,serif}.device-selected{display:inline-flex;margin:0 auto 12px;padding:6px 10px;border:1px solid #4f493f;background:#0b0b0b;color:#9b927f;font-size:9px;font-weight:800;letter-spacing:.15em}.demo-enter:disabled{cursor:wait;opacity:.56;filter:grayscale(.6)}
.device-profile-badge{display:inline-flex;align-items:center;margin-left:10px;padding:5px 8px;border:1px solid #564b39;background:#090909c7;color:#c0ad82;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.profile-mobile .device-profile-badge{border-color:#465568;color:#9fb4ca}.profile-pc .device-profile-badge{border-color:#655132;color:#d1b272}
/* Pulido global de tarjetas y navegación sin cambiar la identidad de tinta. */
#title-screen .title-content{width:min(610px,calc(100vw - 48px));padding-bottom:max(26px,env(safe-area-inset-bottom))}.title-links{gap:8px!important;flex-wrap:wrap}.title-links .text-button,.title-links .title-discord{padding:7px 8px;border-radius:2px}.title-links .text-button:focus-visible,.title-links .title-discord:focus-visible,.demo-enter:focus-visible{outline:1px solid #d0aa61;outline-offset:3px}#panel{border-radius:3px!important}.choice,.profile-card,.save-slot,.menu-grid button,.archive-tabs button{box-shadow:inset 0 1px #ffffff05,0 10px 24px #0002}.choice:focus-visible,.profile-card:focus-visible,.save-slot:focus-visible,.menu-grid button:focus-visible{outline:1px solid #c9a459;outline-offset:2px}.player-vitals,#objective,#boss-hud{box-shadow:0 10px 28px #0005,inset 0 1px #ffffff08!important}
.profile-mobile #game:after{opacity:.055}.profile-mobile #vignette{opacity:.29!important}.profile-mobile .title-art{filter:grayscale(1) contrast(1.6) brightness(.48)!important}.profile-mobile #panel::backdrop{backdrop-filter:none!important}.profile-mobile .player-vitals,.profile-mobile .top-actions .currency,.profile-mobile #objective,.profile-mobile #abilities .ability{backdrop-filter:none!important}.profile-mobile #load-screen::backdrop{backdrop-filter:none!important}
@media(max-width:620px){.device-grid{grid-template-columns:1fr;gap:10px;margin-top:18px}.device-card{min-height:126px;padding:16px 16px 14px}.device-card .device-icon{position:absolute;right:17px;bottom:14px;font-size:34px;opacity:.45}.demo-mini-prologue{padding:14px 14px;margin:16px auto}.demo-mini-prologue p{font-size:13px}.device-card strong{font-size:20px}.device-card em{max-width:82%}.device-recommendation{font-size:10px}.device-profile-badge{margin-left:5px}}
@media(max-height:560px) and (orientation:landscape){.demo-splash{align-items:start;overflow:auto}.demo-splash-card{margin:12px auto;padding:20px}.demo-splash-card h1{font-size:42px}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px auto}.device-card{min-height:112px;padding:13px}.device-card em{font-size:10px}.demo-mini-prologue{margin:10px auto;padding:10px 14px}.demo-mini-prologue p{font-size:12px;line-height:1.4}.discord-join{padding:8px 12px}.discord-join svg{width:26px;height:26px}}
