/* The Sorcerer's Cave — illustrated cover, v1.2.1. All assets are local. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.cover-active{background:#101613;overflow:hidden}
#cover{--cover-cream:#f4ecd8;--cover-muted:#b5b7a6;--cover-gold:#d9ae68;position:fixed;inset:0;z-index:5;isolation:isolate;overflow:auto;background:#101613;color:var(--cover-cream);display:flex;flex-direction:column;min-height:100%;font-family:Georgia,"Times New Roman",serif}
.cover-art,.cover-shade,.cover-frame{position:fixed;inset:0;pointer-events:none;z-index:-1}
.cover-art{overflow:hidden;background:#111b19}
.cover-art img{width:100%;height:100%;object-fit:cover;object-position:65% 52%;display:block;animation:cover-reveal 1.4s ease-out both}
.cover-shade{background:linear-gradient(90deg,rgba(8,15,13,.98) 0%,rgba(9,16,14,.95) 19%,rgba(9,16,14,.81) 33%,rgba(9,16,14,.34) 52%,rgba(8,14,12,.05) 75%),linear-gradient(0deg,rgba(8,14,12,.94),transparent 20%,transparent 77%,rgba(8,14,12,.78))}
.cover-frame{inset:20px;border:1px solid #d9ae682c;z-index:0}
.cover-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:43px 4.4vw 0;position:relative;z-index:1;font-family:Arial,Helvetica,sans-serif}
.cover-brand{display:flex;gap:11px;align-items:center;color:#e6d3b0;font-size:11px;letter-spacing:.22em;font-weight:600}
.cover-brand svg{stroke:#c6a575;stroke-width:1;fill:none}
.cover-brand b{font-weight:400;color:#b7ad98;margin-left:7px}
.cover-edition{display:flex;gap:10px;align-items:center;font-size:10px;letter-spacing:.17em;color:#ddd8c6}
.cover-dot{width:5px;height:5px;background:#cba76f;border-radius:50%}
.cover-version{font-size:10px;letter-spacing:.05em;color:#b5b7a6;border-left:1px solid #c3ba9e50;margin-left:5px;padding-left:15px}
.cover-body{flex:1;display:flex;align-items:center;position:relative;z-index:1;padding:55px 7vw 36px}
.cover-copy{width:575px;max-width:49%;animation:cover-copy-in .8s ease-out both}
.cover-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 29px;font:10px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.23em;color:var(--cover-gold)}
.cover-eyebrow>span{width:30px;height:1px;background:var(--cover-gold);opacity:.8}
#coverTitle{margin:0 0 23px;color:var(--cover-cream);font-family:Georgia,"Times New Roman",serif;line-height:.92;font-weight:400;letter-spacing:0;white-space:normal;font-variant:normal;text-shadow:0 3px 26px #0005}
.cover-the{display:block;font-size:17px;letter-spacing:.48em;margin:0 0 14px 4px;color:#dfc7a2}
.cover-sorcerer{display:block;font-size:clamp(42px,5.4vw,88px);letter-spacing:-.045em;line-height:1.08}
.cover-cave{display:block;font-size:clamp(88px,9.9vw,164px);letter-spacing:.065em;line-height:.92;margin-left:-5px;color:#eddfbf}
.cover-tagline{font-size:clamp(19px,1.65vw,25px);line-height:1.4;color:#e6dcc8;margin:27px 0 15px;letter-spacing:-.015em;font-style:italic}
.cover-description{max-width:390px;margin:0 0 28px;color:#b8bdaf;font:14px/1.8 Arial,Helvetica,sans-serif;letter-spacing:.005em}
.cover-actions{display:flex;flex-direction:column;gap:9px;width:326px;max-width:100%}
#cover button.cover-primary{display:flex;justify-content:space-between;align-items:center;gap:22px;min-height:55px;padding:0 22px;border:1px solid #e0b778;border-radius:1px;background:#d4ac70;color:#172019;font:600 11px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.14em;box-shadow:0 4px 24px #0002;transition:background .15s,border-color .15s,transform .15s}
#cover button.cover-primary>span:last-child{font-size:23px;line-height:1;font-weight:400;letter-spacing:0}
#cover button.cover-primary:hover{background:#e7c593;border-color:#f6dfb9;transform:translateY(-1px)}
#cover button.cover-primary.cover-secondary{background:#101a18cc;color:#e2c498;border-color:#b99e6b73;box-shadow:none}
#cover button.cover-primary.cover-secondary:hover{background:#22302a;border-color:#d8b982}
.cover-progress{font:11px/1.5 Arial,Helvetica,sans-serif;margin:0;color:#b8bdaf}
.cover-links{display:flex;gap:15px;align-items:center;margin-top:21px;font:12px/1.5 Arial,Helvetica,sans-serif}
.cover-links>span{color:#a2987d77}
#cover .cover-links button,.cover-links a{padding:5px 0;margin:0;border:0;border-radius:0;min-height:30px;background:transparent;color:#d2c8b2;font:inherit;text-decoration:none;cursor:pointer}
#cover .cover-links button:hover,.cover-links a:hover{color:#f5d9a8;background:transparent;text-decoration:underline;text-underline-offset:5px}
.cover-links a>span[aria-hidden]{font-size:13px;margin-left:3px;color:#a79676}
#cover :is(button,a):focus-visible{outline:2px solid #ffe2a8;outline-offset:5px}
.cover-facts{display:flex;gap:0;margin:36px 0 0;padding-top:22px;border-top:1px solid #b9a4783b;width:390px;max-width:100%}
.cover-facts>div{padding:0 27px;border-right:1px solid #b9a47838}
.cover-facts>div:first-child{padding-left:0}
.cover-facts>div:last-child{border:0;padding-right:0}
.cover-facts dt{font:26px/1 Georgia,"Times New Roman",serif;color:#d6c7a5}
.cover-facts dd{font:9px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.12em;color:#a8afa0;white-space:nowrap;margin:8px 0 0}
.cover-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;position:relative;z-index:1;padding:18px 4.4vw 35px;font:9px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.18em;color:#a6aa99}
.cover-caption{font:italic 15px/1.5 Georgia,"Times New Roman",serif;letter-spacing:0;color:#c7c5b0}
.cover-bottom-edition{font-size:9px;text-align:right}
.no-script{position:fixed;z-index:100;bottom:20px;left:20px;right:20px;padding:20px;color:#fff;background:#442318;border:1px solid #edbd71}
#ov{z-index:20;background:#050b09c9;backdrop-filter:blur(8px)}
.dlg{border-color:#9d8354;border-radius:3px;box-shadow:0 18px 70px #0008;scrollbar-color:#6f6046 #171812}
.dlg :is(input,select,button){min-height:34px}
.dlg .setrow input{width:100%;min-width:0}
.dlg .setup-note{padding:9px 12px;border-left:2px solid #c5a673;background:#c5a6730c;font-size:12px}
.dlg .row label{display:flex;gap:7px;align-items:center}
.dlg a{color:#e8c682}
#gameHeader .hdr{flex-wrap:wrap}
@keyframes cover-reveal{from{opacity:.4;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@keyframes cover-copy-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.cover-body{padding-left:8vw}.cover-copy{width:625px}.cover-description{font-size:15px;max-width:410px}.cover-actions{width:350px}.cover-facts{width:410px}.cover-facts>div{padding:0 31px}}
@media(min-width:961px) and (max-height:850px){.cover-top{padding-top:33px}.cover-body{padding-top:24px;padding-bottom:20px}.cover-eyebrow{margin-bottom:17px}.cover-sorcerer{font-size:clamp(42px,4.7vw,76px)}.cover-cave{font-size:clamp(80px,8.6vw,133px)}#coverTitle{margin-bottom:10px}.cover-tagline{margin:18px 0 10px;font-size:20px}.cover-description{margin-bottom:20px;font-size:13px}.cover-facts{margin-top:24px;padding-top:18px}.cover-bottom{padding-bottom:28px}.cover-links{margin-top:12px}}
@media(max-width:1100px){.cover-copy{max-width:55%}.cover-body{padding-left:6vw}.cover-caption{display:none}.cover-facts>div{padding-left:20px;padding-right:20px}.cover-facts dd{font-size:8px}}
@media(max-width:760px){
 .cover-frame{inset:12px}.cover-top{padding:29px 28px 0;gap:12px}.cover-brand{font-size:9px;letter-spacing:.15em;gap:8px}.cover-brand b{display:none}.cover-brand svg{width:27px;height:27px}.cover-edition{font-size:8px;letter-spacing:.09em;gap:7px}.cover-dot{display:none}.cover-version{font-size:9px;padding-left:8px;margin-left:0}
 .cover-art img{object-position:82% 32%}.cover-shade{background:linear-gradient(90deg,#08100be8,#08100b65),linear-gradient(0deg,#08100b 0%,#08100bf2 35%,#08100b45 83%,#08100ba8 100%)}
 .cover-body{padding:78px 8vw 34px;align-items:center}.cover-copy{max-width:100%;width:480px}.cover-eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:27px;gap:9px}.cover-eyebrow>span{width:20px}.cover-the{font-size:14px;margin-bottom:10px}.cover-sorcerer{font-size:clamp(40px,10.5vw,72px)}.cover-cave{font-size:clamp(92px,22vw,142px);letter-spacing:.045em;margin-left:-3px}
 .cover-tagline{font-size:18px;margin-top:24px}.cover-description{font-size:13px;max-width:350px;margin-bottom:24px}.cover-actions{width:100%;max-width:350px}.cover-links{gap:13px}.cover-facts{width:350px;margin-top:29px;padding-top:20px}.cover-facts>div{padding:0 20px}.cover-facts dd{font-size:8px}.cover-facts dt{font-size:25px}.cover-bottom{padding:0 28px 28px;flex-wrap:wrap;gap:8px;font-size:8px}.cover-bottom-edition{font-size:8px}
 #ov{padding:12px}.dlg{padding:20px 17px;max-height:calc(100dvh - 24px)}.dlg h2{font-size:24px}.setrow{grid-template-columns:18px minmax(0,1fr) minmax(0,1fr);gap:7px;margin:13px 0}.setrow input{grid-column:2 / -1}.setrow select{width:100%;grid-column:auto}.setrow select:first-of-type{grid-column:2}.setrow>.dim{grid-column:2}.setrow>span:empty{display:none}
}
@media(max-width:380px){.cover-top{padding-left:23px;padding-right:23px}.cover-brand{letter-spacing:.08em}.cover-edition{letter-spacing:0}.cover-body{padding-left:26px;padding-right:26px;padding-top:65px}.cover-eyebrow{font-size:7px;letter-spacing:.12em}.cover-facts>div{padding:0 16px}.cover-facts dd{font-size:7px}.cover-links{gap:12px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.cover-art img,.cover-copy{animation:none!important}#cover button.cover-primary{transition:none;transform:none!important}}
