/* NATRUBRIS / MIDNIGHT ABYSS · Theme v1.1
   Dark fantasy / forbidden ruins / twilight / nightmare
   Layered after original styles.css. No content or layout rewrite.
   Ancient gold survives as a small medieval accent; blue is atmospheric, not neon.
*/
:root{
  color-scheme:dark;
  --bg:#070b14;--deep:#040710;--panel:#141d31;--panel2:#1c2942;
  --gold:#d6ba82;--warm:#aa977b;--ink:#edf2fd;--muted:#b7c5df;--line:#57719c7c;
  --ice:#9bcfff;--cold:#849fdb;--violet:#8986bd;--moon:#d1dffb;
}
body{
  background:radial-gradient(ellipse at 86% 7%,#182a4c 0%,transparent 50%),
             radial-gradient(ellipse at 6% 96%,#211b3a 0%,transparent 48%),var(--bg);
  color:var(--ink);
}
.texture{
  z-index:0;
  background:
    radial-gradient(circle at 85% 8%,#5374bd24,transparent 50%),
    radial-gradient(circle at 10% 95%,#7875c016,transparent 50%),
    linear-gradient(#9ebcf00b 1px,transparent 1px),
    linear-gradient(90deg,#9ebcf00b 1px,transparent 1px);
  background-size:auto,auto,36px 36px,36px 36px;
}
.top,#deck,.footer{position:relative;z-index:1}
.top,.footer{border-color:#5775a778}
.header-title{color:#a3b6dc}
.brand small{color:#acbbd5}
.top button{color:#dbe6f9;border-color:#637da992;background:#101a3050}
.top button:hover,.top button:focus-visible{background:#2639627d;color:var(--ice);border-color:var(--ice)}
kbd{color:#c0d4f1;border-color:#748cb3}
#deck:before{border-color:#93afd71a}
#deck:after{color:#a8bce57f}
.lead,.cover-sub{color:#bac8e1}
.rune-caption{color:#b5bed9}
.game-logo{color:#ecd6a3;text-shadow:0 0 45px #829ada36}
.cn-logo{color:#e2eaf9}
.ornament{color:#b0c8ea}
.chips span{border-color:#7992c78f;color:#d0def2;background:#17264c63}

/* The cover art is now a moonlit abyss. Blue mist meets ritual gold. */
.hero-art{
  isolation:isolate;
  background:radial-gradient(circle at 50% 36%,#597cb887 0%,#344677 16%,#17284a 39%,#0a142a 68%,#050916 100%);
  border-color:#a0b8dc99;
  box-shadow:inset 0 0 0 12px #0b1120,inset 0 0 0 13px #8faee361,
             0 30px 80px #000b,0 0 54px #5e86ca24;
}
.hero-art:before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 40%,transparent 18%,#070a1729 59%,#03060db8 100%);
}
.hero-art:after{
  content:"";position:absolute;bottom:0;left:-10%;width:120%;height:44%;z-index:4;pointer-events:none;
  background:radial-gradient(ellipse at 51% 54%,#a6caf53d 0%,#84a0db20 39%,transparent 72%);
  filter:blur(15px);
}
.hero-halo{background:radial-gradient(circle,#b2d2ffb0,#99c6ff68 20%,#877ac23b 44%,transparent 70%);filter:blur(1px)}
.hero-ring{border-color:#abc6ea8a;box-shadow:0 0 0 28px #879dc215,0 0 27px #89a2eb32}
.mountains.back{background:linear-gradient(#6079a2,#2b406d 50%,#172446);opacity:.76}
.mountains.front{background:linear-gradient(#3a527f,#0e1a35 67%,#080d1c)}
.gate{border-color:#111d37;outline-color:#a0b4d399;box-shadow:0 0 28px #7fa8ee5c}
.gate-inner{
  background:radial-gradient(ellipse at 50% 83%,#a1c6ff8f,transparent 69%),
             linear-gradient(90deg,#040819,#304b86,#070d21);
  border-color:#a1c5f8b0;color:#cbe8ff;
  text-shadow:0 0 16px #93cbff,0 0 35px #9995e6;
}
.hero-ground{background:linear-gradient(transparent,#040716e8)}
.hero-art>span{z-index:5;color:#cbd5e9}

/* Archive cards: avoid cyber/neon, prefer indigo slate and metallic edges. */
.motto{background:linear-gradient(145deg,#24304c,#111a2e 80%);border-color:#8b99bc9c}
.motto small{border-color:#7594c38c;color:#bec9e6}
.facts>div{background:linear-gradient(145deg,#1e2c4b,#11192c);border-color:#6681b39e}
.facts p{color:#c0cee2}
.facts small{color:#b2c5e0}
.facts .glyph{color:#a8cef9}

/* World map: starlit continent, spectral river, violet covenants. */
.map-art{
  background:radial-gradient(ellipse at 48% 45%,#4b608d 0%,#26395f 57%,#0b1730 100%);
  border-color:#87a1d399;
  box-shadow:inset 0 0 65px #040a1c9e;
}
.map-art:before{background:repeating-radial-gradient(circle at 48% 50%,transparent 0 23px,#b5c8ed15 24px 25px,transparent 26px 47px)}
.continent{background:linear-gradient(140deg,#97a9ce98,#737da79c 47%,#465779aa);filter:drop-shadow(0 0 16px #aec5e52d)}
.river{background:linear-gradient(90deg,transparent,#b2dfffad,transparent)}
.pin{color:#edeaf7;border-color:#a8bce1aa}
.map-art>small{color:#d0c9ba}
.lore-body blockquote{color:#e1d4bf;text-shadow:0 0 26px #8095d23b}
.storyline{color:#bbcae4}
.storyline span{border-color:#8298c28c;background:#223357ae;color:#e5ebf8}
.lore-body>p{color:#c0cce1}
.lore-body>small{color:#9baed0}

/* Gameplay sequence and role cards */
.loop>div{background:linear-gradient(155deg,#223352,#101b30);border-color:#748bb896}
.loop>div small{color:#c8d4ef}
.loop>div b{color:#a2cdfa;text-shadow:0 0 28px #8ab9f058}
.loop>div p{color:#bdcce0}
.loop>i{color:#a1bde8}
.statement{border-color:#7a93bc80}
.statement small{color:#afc0db}
.triple article{background:linear-gradient(155deg,#1f2e4b,#101a2e 88%);border-color:#728aba96;box-shadow:inset 0 1px #b8d5ff0e}
.classes .featured{background:linear-gradient(148deg,#253958,#131e38);border-color:#aebde2bd}
.class-symbol,.persona{color:#a4cdfb}
.ribbon{color:#141b27}
.ribbon.muted{background:#425877;color:#e4ebfc}
.classes p,.audience p,.competitors p{color:#c0cde1}
.classes small,.competitors small{color:#c0b6b3}
.watermark{color:#899ad8;opacity:.19}
.sprites{background:#0e183447;border-bottom:1px solid #7797c955}
.footnote{color:#9eb2d1}

/* The Rotting Depths, where the lower rooms hold the deepest blue. */
.dungeon-art{
  background:radial-gradient(ellipse at 50% 48%,#415587 0%,#1e3053 43%,#0a1429 100%);
  border-color:#8da4ccab;box-shadow:inset 0 0 54px #030918b9;
}
.dungeon-art:before{
  background-image:linear-gradient(#a7c4f21a 1px,transparent 1px),
                   linear-gradient(90deg,#a7c4f21a 1px,transparent 1px);
}
.rooms>div{background:#23375b;border-color:#101e3b;outline-color:#8ba6dbb0;box-shadow:0 0 11px #070d22}
.rooms .boss{background:linear-gradient(140deg,#483463,#2b2750);outline-color:#aa93d0;box-shadow:0 0 18px #9473bb5a}
.rooms>div small{color:#bfd2ec}
.rooms>span{color:#a2c4ef}
.dungeon-art>small{color:#c7c6d4}
.stats,.stats div{border-color:#7590b49c}
.stats small{color:#c1cdde}
.scope h3{color:#e7d4bb}
.scope>p{color:#becbdb;border-color:#6c83ac80}

/* Concept arch: violet-blue magic with cold stone and thin fog. */
.pixel-art{
  isolation:isolate;
  background:radial-gradient(ellipse at 50% 61%,#8e97d376,#3f4a8570 34%,#19294c 62%,#080d1f 100%);
  border-color:#8f9fc7ab;
}
.pixel-art:before{
  background:repeating-linear-gradient(90deg,#8aa2d725 0 6px,transparent 6px 55px),
             repeating-linear-gradient(#8aa2d725 0 6px,transparent 6px 36px);
}
.pixel-art:after{
  content:"";position:absolute;inset:46% -12% 0;z-index:3;pointer-events:none;
  background:radial-gradient(ellipse,#a8b9f43a,transparent 67%);
  filter:blur(17px);
}
.arch{border-color:#273656;outline-color:#0c142a;background:linear-gradient(90deg,#080f24,#4a568b,#081023);box-shadow:0 0 31px #98a3f73d}
.arch>div{color:#d4ebff;background:radial-gradient(ellipse,#b5d7ff5f,transparent 71%);text-shadow:0 0 24px #8cc9ff}
.floor{background:repeating-linear-gradient(0deg,#222f50 0 16px,#111b33 17px 21px)}
.production>div{border-color:#7186aa8c}
.production p{color:#c3cfe0}
.link-cta{border-color:#87a0ca;color:#c9e4ff}
.link-cta:hover{background:#354d7b66}

/* Market, pricing, campaign and finale */
.audience footer,.competitors footer{border-color:#728ab68a;color:#c2cce1}
.endline{border-color:#8badde;background:#6179b524}
.price-card{
  background:radial-gradient(ellipse at 50% 37%,#65608a91,#29345e8c 39%,#121b35 83%);
  border-color:#a9abcfac;box-shadow:inset 0 0 47px #080c23;
}
.price{color:#ebd6b2;text-shadow:0 0 50px #99a8d25c}
.price-card hr{border-color:#738fb884}
.price-card p{color:#d4ddf0}
.price-card>b{border-color:#7d91bd9c;color:#c8d3eb}
.rationales>div{border-color:#6984ad8a}
.rationales>div p{color:#bfcde3}
.rationales p strong{color:#e7edf8}
.roadmap article{background:linear-gradient(155deg,#203250,#111a31 86%);border-color:#788fb89e;border-top-color:#c4ac91}
.roadmap p{color:#c4d0e2}
.roadmap b{color:#d5dff1;border-color:#829ac080}
.channels{border-color:#788fb59e}
.channels>span,.channels small{color:#bdc8dd}
.channels i{color:#a6c2ed}
.ending:before{border-color:#9ebef07c;box-shadow:0 0 0 33px #708ee616,0 0 0 67px #8787c410,0 0 70px #9ab4f024}
.end-rune{color:#e9d7b0;text-shadow:0 0 32px #7ba3e6,0 0 75px #7771cc55}
.ending>p:not(.kicker){color:#c5cfe2}
.ending-links a{border-color:#90a3c5;color:#d5e6ff}
.ending-links a:hover{background:#31456a66}
.ending>small{color:#aabfe4}

/* Presentation controls and modals */
.track{background:#334363}
.track span{background:linear-gradient(90deg,#737dbc,#8fbeff 65%,#d6ba82)}
.paging button{border-color:#728bb7;color:#e5ebfb}
.paging button:hover:not(:disabled){background:#3951787a;border-color:#9ccfff}
.paging span{color:#d5dff2}
.chapter{color:#c4cfe5}
.time{color:#aabbda}
.time span{color:#e1eafb}
.sources-btn{color:#92a8c7}
dialog{background:linear-gradient(145deg,#1c2a46,#0c1429 85%);border-color:#9baac8}
dialog::backdrop{background:#030611d6}
dialog .x{border-color:#8099be;color:#e1ecfd}
dialog .dialog-help,dialog>small{color:#c0cbe0}
dialog #notes-body{color:#d9e2f4}
.index-button{background:#1d3050;border-color:#7893bd;color:#ecf2fd}
.index-button:hover,.index-button.selected{border-color:#b0cfff;background:#3a4a71}
.source-list a{border-color:#6983af8a;color:#c0ddff}
#sources-dialog>p:last-child{color:#c1cede}

/* Atmospheric motion is intentionally subtle, and optional. */
@media (prefers-reduced-motion:no-preference){
  .hero-halo{animation:abyss-pulse 14s ease-in-out infinite alternate}
}
@keyframes abyss-pulse{from{opacity:.79}to{opacity:1}}
@media (max-width:740px){
 .hero-art::after{filter:blur(8px)}
 .hero-art{box-shadow:inset 0 0 0 8px #0c1427,0 15px 35px #0009}
}
