:root{
  --bg:#070810;--panel:#10131d;--panel2:#161b28;--line:#39435d;--ink:#eef2f7;--muted:#aeb7c8;
  --purple:#9f68ff;--green:#45d6a0;--gold:#d5bb7f;--danger:#a74962;--shadow:rgba(0,0,0,.55)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Georgia,'Times New Roman',serif;background:radial-gradient(circle at 50% 0,#17122a 0,#090b12 32%,#05060a 100%);line-height:1.55}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:32px 32px}
.hero{padding:28px 24px 12px;text-align:center;border-bottom:1px solid #24293a;background:linear-gradient(180deg,rgba(25,17,45,.9),rgba(5,7,12,.2))}.title-logo{display:block;width:min(1180px,94vw);height:auto;margin:0 auto;filter:drop-shadow(0 16px 24px #000)}.chapter-tag{margin:8px auto 0;font-family:Arial,sans-serif;letter-spacing:.26em;font-size:.78rem;color:#c6b5ff}.shell{display:grid;grid-template-columns:230px minmax(0,980px);gap:22px;max-width:1260px;margin:26px auto;padding:0 18px}.panel{background:linear-gradient(180deg,rgba(18,22,34,.96),rgba(11,14,22,.97));border:1px solid #31384d;box-shadow:0 20px 50px var(--shadow),inset 0 0 0 1px rgba(255,255,255,.02);border-radius:12px}.sidebar{padding:18px;height:max-content}.sticky{position:sticky;top:16px}.sidebar h2{margin:0 0 10px;font-size:1.1rem;color:var(--gold)}.sidebar nav{position:static;display:grid;gap:6px;margin-bottom:18px}.sidebar nav a{color:#dce4f4;text-decoration:none;padding:8px 10px;border-radius:7px;font-family:Arial,sans-serif;font-size:.9rem}.sidebar nav a:hover{background:#1b2130;color:white}.btn{width:100%;padding:10px 12px;margin:5px 0;border:1px solid #6a5f8d;border-radius:8px;background:#2a2141;color:white;cursor:pointer}.btn.secondary{background:#171d2a;border-color:#3f4a64}.content{display:grid;gap:18px}.section{padding:26px}.eyebrow{font-family:Arial,sans-serif;font-weight:700;letter-spacing:.18em;color:#9c88db;font-size:.74rem;margin-bottom:4px}h1,h2,h3,h4{line-height:1.15}h1{font-size:2rem;margin:.2rem 0 1.2rem}h2{font-size:1.65rem;margin:.2rem 0 1rem;color:#efe8ff}h3{color:#d8c48f}h4{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em;color:#88d6bc;margin:1.1rem 0 .4rem}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.callout,.dm-note,.rule-card{border-left:4px solid var(--purple);background:#171726;padding:14px 16px;border-radius:8px;margin:14px 0}.callout.danger{border-left-color:#d45e7e;background:#25151d}.dm-note{border-left-color:var(--green);background:#101d1a}.readaloud{font-size:1.08rem;font-style:italic;color:#e7e9f2;background:#11151f;border:1px solid #343b50;padding:18px;border-radius:10px}.muted{color:var(--muted);font-family:Arial,sans-serif;font-size:.9rem}.beat-list{display:grid;gap:9px;margin-top:16px}.beat{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start}.beat span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#2e2447;color:#fff;font-family:Arial,sans-serif;font-weight:700}.beat p{margin:3px 0}.checklist{padding-left:1.2rem}.checklist li{margin:.4rem 0}.statblock{border:1px solid #4a5066;border-radius:10px;overflow:hidden;margin:14px 0;background:#0e1119}.stat-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border:0;background:linear-gradient(90deg,#1b1729,#121827);color:white;cursor:pointer;text-align:left;font-family:Georgia,'Times New Roman',serif;font-size:1rem}.stat-header strong{font-size:1.15rem}.stat-header small{display:block;color:#b9c0ce;font-family:Arial,sans-serif;font-size:.72rem;margin-top:2px}.stat-body{padding:16px}.statblock:not(.open) .stat-body{display:none}.stats-top{font-family:Arial,sans-serif;color:#d9deea;border-top:1px solid #343b4d;border-bottom:1px solid #343b4d;padding:9px 0;margin-bottom:10px}.ability{width:100%;border-collapse:collapse;text-align:center;font-family:Arial,sans-serif;margin:12px 0}.ability th,.ability td{border:1px solid #343b4d;padding:7px}.ability th{color:#c6b5ff;background:#151927}footer{text-align:center;color:#7d879b;font-family:Arial,sans-serif;font-size:.8rem;padding:24px}.hide-dm .dm-note{display:none}
@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{position:relative}.sticky{position:static}.grid.two{grid-template-columns:1fr}.section{padding:20px}.title-logo{width:100%}}

.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.section-heading-row>div:first-child{flex:1}.wild-roll-box{min-width:180px;text-align:center}.wild-roll{margin:0;background:linear-gradient(180deg,#4b2d75,#2a2141);border-color:#8e68cf;font-weight:700}.wild-result{display:grid;place-items:center;min-height:58px;margin-top:10px;border:1px solid #574777;border-radius:9px;background:radial-gradient(circle,#261942,#10131d);font:700 1.6rem Arial,sans-serif;color:#efe8ff;box-shadow:inset 0 0 18px rgba(159,104,255,.14)}.wild-result.flash{animation:wildFlash .5s ease}@keyframes wildFlash{0%{transform:scale(.92);box-shadow:0 0 0 rgba(159,104,255,0)}50%{transform:scale(1.06);box-shadow:0 0 28px rgba(159,104,255,.55)}100%{transform:scale(1);box-shadow:inset 0 0 18px rgba(159,104,255,.14)}}.table-wrap{overflow-x:auto;border:1px solid #343b4d;border-radius:10px;margin-top:16px}.wild-table{width:100%;border-collapse:collapse;min-width:720px}.wild-table th{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;color:#c6b5ff;background:#151927;text-align:left}.wild-table th,.wild-table td{padding:11px 13px;border-bottom:1px solid #2f3546;vertical-align:top}.wild-table th:first-child,.wild-table td:first-child{width:62px;text-align:center;font-family:Arial,sans-serif;font-weight:700;color:#d8c48f}.wild-table tbody tr:nth-child(even){background:rgba(255,255,255,.018)}.wild-table tbody tr.active{background:rgba(159,104,255,.16);box-shadow:inset 4px 0 0 var(--purple)}@media(max-width:850px){.section-heading-row{display:block}.wild-roll-box{min-width:0;margin-top:14px}.wild-roll-box .btn{max-width:240px}}

/* Dawn's Eye DM-screen frame */
.dm-topbar{position:sticky;top:0;z-index:30;height:64px;display:flex;align-items:center;justify-content:space-between;padding:7px clamp(16px,4vw,54px);border-bottom:1px solid rgba(199,208,218,.25);background:rgba(4,8,15,.97);backdrop-filter:blur(12px)}
.dm-topbar>a img{width:190px;max-height:48px;object-fit:contain}.dm-topbar>div{display:flex;align-items:center;gap:18px;color:#84b9ec;font:700 .66rem Arial,sans-serif;letter-spacing:.15em}.dm-topbar form{margin:0}.dm-topbar button,.back-link{border:0;color:#c7d0da;background:none;font:700 .65rem Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.dm-topbar button:hover,.back-link:hover{color:#84b9ec}
.hero{display:block;height:auto;min-height:0;overflow:hidden;padding:18px 24px 16px;background:radial-gradient(circle at 50% 0,rgba(75,120,173,.18),transparent 55%),linear-gradient(180deg,rgba(12,21,36,.94),rgba(5,7,12,.2))}.title-logo{width:min(820px,92vw);max-height:210px;object-fit:contain}.chapter-tag{color:#84b9ec}.panel{border-radius:0;border-color:#4e6179;outline:1px solid rgba(199,208,218,.08);outline-offset:-7px}.sidebar{border-top:3px solid #84b9ec}.sidebar h2,.rod-section h2{font-family:'Cinzel',Georgia,serif;color:#c7d0da}.btn{border-radius:0;border-color:#6f8299;background:linear-gradient(180deg,#19304b,#0d1726);font-family:'Cinzel',Georgia,serif;letter-spacing:.05em}.btn:hover{border-color:#84b9ec;background:#1b3552}.eyebrow{color:#84b9ec}.callout,.dm-note,.rule-card,.readaloud{border-radius:0}.readaloud{border-left:3px solid #b99a54}.dm-note{border-left-color:#84b9ec;background:#0c1a26}
.rod-controls{display:grid;grid-template-columns:auto minmax(150px,1fr) auto 150px;gap:10px 14px;align-items:center;margin:18px 0}.rod-controls label,.session-notes-label{font:700 .7rem Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#aeb7c8}.rod-controls input,.rod-controls select,.session-notes{width:100%;padding:10px 12px;border:1px solid #4e6179;border-radius:0;color:#eef2f7;background:#070c14;font:inherit}.rod-display{position:relative;min-height:230px;display:grid;place-items:center;padding:30px 20px;border:1px solid #34445a;background:radial-gradient(ellipse at center,rgba(56,117,168,.21),transparent 58%),linear-gradient(145deg,#07101c,#05070d);overflow:hidden}.rod-display img{width:100%;filter:drop-shadow(0 0 13px rgba(90,186,232,.6))}.rod-display span{position:absolute;right:16px;bottom:12px;color:#84b9ec;font:700 .68rem Arial,sans-serif;letter-spacing:.15em}
.encounter-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.phase-tracker,.enemy-tracker{padding:17px;border:1px solid #34445a;background:#0a101a}.phase-tracker h3,.enemy-tracker h3{margin-top:0}.phase-tracker label{display:flex;align-items:flex-start;gap:9px;padding:8px 0;border-bottom:1px solid rgba(78,97,121,.3);cursor:pointer}.phase-tracker input{margin-top:5px;accent-color:#84b9ec}.phase-tracker label:has(input:checked){color:#7f8a99;text-decoration:line-through}.enemy-row{display:grid;grid-template-columns:1fr 34px 35px 34px;gap:5px;align-items:center;margin:8px 0}.enemy-row button{height:32px;border:1px solid #4e6179;color:#fff;background:#111d2d;cursor:pointer}.enemy-row b{text-align:center;color:#84b9ec;font:700 1.05rem Arial,sans-serif}.session-notes-label{display:block;margin-top:20px}.session-notes{min-height:145px;margin-top:7px;resize:vertical;line-height:1.5}
.dm-login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(rgba(5,10,18,.93),rgba(5,10,18,.97)),url('../../images/Dark Parchment.png') repeat;background-size:auto,600px}.dm-login{width:min(520px,100%);padding:38px;text-align:center}.login-mark{display:block;width:250px;margin:0 auto 24px}.dm-login h1{font-family:'Cinzel',Georgia,serif;color:#c7d0da}.dm-login p{color:#aeb7c8}.dm-login form{display:grid;gap:10px;text-align:left}.dm-login label{font:700 .68rem Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#84b9ec}.dm-login input{padding:12px;border:1px solid #4e6179;color:#fff;background:#050b13}.dm-login .btn{margin-top:8px}.login-error{color:#f0a6a6!important}.back-link{display:inline-block;margin-top:20px}
@media(max-width:850px){.dm-topbar>div>span{display:none}.rod-controls{grid-template-columns:1fr}.encounter-grid{grid-template-columns:1fr}.rod-display{min-height:150px;padding:20px 10px}.shell{width:100%;grid-template-columns:minmax(0,1fr);margin-top:14px}.sidebar,.content,.section{min-width:0}.sidebar{height:auto}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.dm-topbar>a img{width:150px}.dm-login{padding:28px 20px}.section{padding:20px 16px}.sidebar nav{grid-template-columns:1fr}.rod-display{min-height:110px}.ability{font-size:.72rem}.ability th,.ability td{padding:5px 2px}}

/* Raven Bard statblocks: deliberately original presentation, shared across Chapter 3 creatures. */
.rb-statblock{border-color:#6685a8;background:linear-gradient(155deg,#0d1725,#080d15)}.rb-statblock .stat-header{background:linear-gradient(100deg,#142941,#0c1726);border-bottom:1px solid rgba(132,185,236,.45)}.rb-statblock .stat-header:focus-visible,.rb-roll:focus-visible,.rb-print-statblock:focus-visible{outline:2px solid #f0ce76;outline-offset:3px}.rb-statblock-tools{display:flex;align-items:stretch;justify-content:flex-end;gap:12px;margin:0 0 10px;min-height:34px}.rb-statblock-tools .rb-roll-result{flex:1;align-items:center;margin:0;padding:7px 12px;border:1px solid #466989;border-left:3px solid #f0ce76;background:#172236;color:#f5f7fb;font:700 1rem Arial,sans-serif;letter-spacing:.02em;line-height:1.25}.rb-statblock-tools .rb-roll-result.show{display:flex}.rb-print-statblock{flex:0 0 auto;border:1px solid #7898b9;background:#10233a;color:#eef5ff;padding:7px 10px;font:700 .68rem Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.rb-print-statblock:hover{background:#1b3858}.rb-statblock-layout{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);gap:20px;align-items:start}.rb-creature-figure{margin:0;padding:10px;border:1px solid #334e6d;background:radial-gradient(circle,rgba(47,98,144,.25),rgba(5,11,19,.4) 65%);position:sticky;top:76px}.rb-creature-image{display:block;width:100%;max-height:330px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.7))}.rb-vitals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #3e5874;background:#0a131f}.rb-vitals>div{padding:9px;border-right:1px solid #3e5874;display:grid;gap:2px}.rb-vitals>div:last-child{border-right:0}.rb-vitals b,.rb-details dt{font:700 .64rem Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#91c7f5}.rb-vitals span,.rb-vitals button{color:#f2f5f9;font:700 .83rem Arial,sans-serif}.rb-ability{font-size:.82rem}.rb-ability th:first-child{text-align:left;color:#91c7f5}.rb-ability th,.rb-ability td{padding:6px}.rb-details{margin:12px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #354a63}.rb-details div{padding:8px 10px;border-right:1px solid #354a63;border-bottom:1px solid #354a63}.rb-details div:nth-child(even){border-right:0}.rb-details div:last-child,.rb-details div:nth-last-child(2):nth-child(odd){border-bottom:0}.rb-details dt{margin:0 0 2px}.rb-details dd{margin:0;font-size:.88rem}.rb-roll{appearance:none;border:0;border-bottom:1px dotted #87cbff;padding:0;background:transparent;color:#b8e1ff;font:inherit;cursor:pointer;white-space:nowrap}.rb-roll:hover{color:#fff2be;border-bottom-color:#fff2be}.rb-recharge{font:700 .7rem Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}.rb-roll-result{display:none;margin-top:15px;padding:10px 12px;border-left:3px solid #f0ce76;background:#172236;color:#f5f7fb;font:700 .76rem Arial,sans-serif;letter-spacing:.04em}.rb-roll-result.show{display:block}.rb-statblock h4{border-bottom:1px solid #37516e;padding-bottom:5px}.rb-statblock p{margin:.7rem 0}.rb-statblock p:has(.rb-roll){line-height:1.7}
@media(max-width:700px){.rb-statblock-layout{grid-template-columns:1fr}.rb-creature-figure{position:static}.rb-creature-image{max-height:280px}.rb-vitals{grid-template-columns:repeat(2,minmax(0,1fr))}.rb-vitals>div:nth-child(2){border-right:0}.rb-vitals>div:nth-child(-n+2){border-bottom:1px solid #3e5874}.rb-details{grid-template-columns:1fr}.rb-details div,.rb-details div:nth-child(even){border-right:0}.rb-details div:nth-last-child(2):nth-child(odd){border-bottom:1px solid #354a63}}
@media(max-width:520px){.rb-statblock-tools{gap:8px}.rb-statblock-tools .rb-roll-result{font-size:.88rem}.rb-print-statblock{padding-inline:8px}}
@media print{body{background:#fff!important;color:#111!important;font-size:10pt}body *{visibility:hidden!important}article.printing-statblock,article.printing-statblock *{visibility:visible!important}.printing-statblock{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;border:0!important;background:#fff!important;color:#111!important;box-shadow:none!important}.printing-statblock .stat-header{display:none!important}.printing-statblock .stat-body{display:block!important;padding:0!important}.printing-statblock .rb-statblock-tools,.printing-statblock .rb-roll-result{display:none!important}.printing-statblock .rb-statblock-layout{display:grid!important;grid-template-columns:2.1in 1fr!important;gap:.22in!important}.printing-statblock .rb-creature-figure{position:static!important;align-self:start!important;padding:0!important;border:0!important;background:none!important}.printing-statblock .rb-creature-image{max-height:3.5in!important;filter:none!important}.printing-statblock .rb-vitals,.printing-statblock .rb-details,.printing-statblock .ability{border-color:#555!important;background:#fff!important}.printing-statblock .rb-vitals>div,.printing-statblock .rb-details div,.printing-statblock .ability th,.printing-statblock .ability td{border-color:#777!important;color:#111!important}.printing-statblock .rb-vitals b,.printing-statblock .rb-details dt,.printing-statblock .rb-ability th:first-child{color:#174a72!important}.printing-statblock .rb-roll{color:#111!important;border:0!important}.printing-statblock h4{color:#174a72!important;border-color:#777!important;break-after:avoid}.printing-statblock p{break-inside:avoid}.printing-statblock .rb-details{font-size:8pt}.printing-statblock .rb-vitals{font-size:8pt}@page{margin:.45in}}



