/* V0.2 presentation. The original game rules and card art remain unchanged. */
:root{--ink:#f4e9ce;--muted:#d0c3a9;--gold:#e4ba75}
.forest{pointer-events:none;background:linear-gradient(90deg,#101a18a8,#101a1840),url('assets/backgrounds/albion_countryside.png') center/cover}
.tavern-scene{display:none}
body[data-screen=menu]{background:#211710}
body[data-screen=menu] .forest{background:#211710}
body[data-screen=menu] .tavern-scene{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100vw,177.6833vh);height:max(100vh,56.2799vw)}
.tavern-scene>img{width:100%;height:100%;display:block;object-fit:contain}
.fire-glow{position:absolute;left:1%;top:35%;width:26%;height:34%;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse at 45% 54%,#ffc46b70 0%,#f78b303c 32%,#d9571515 53%,transparent 72%);mix-blend-mode:screen;filter:blur(13px);opacity:.20;animation:hearth-glow 5.8s ease-in-out infinite}
@keyframes hearth-glow{0%,100%{opacity:.17;transform:scale(.98)}27%{opacity:.29}48%{opacity:.21;transform:scale(1.02)}72%{opacity:.32}86%{opacity:.24}}
body[data-fire=off] .fire-glow{display:none}
header{padding:15px 3vw;background:#161914df;box-shadow:0 2px 20px #0003}
#main-menu{margin-left:20px;margin-right:auto;padding:9px 14px;font-size:13px;background:#251d17d9;border-color:#ba965799;white-space:nowrap}
body[data-screen=menu] #main-menu{display:none}
@media(max-width:700px){#main-menu{margin:0 0 0 auto;padding:8px 12px;font-size:12px}}
body[data-screen=menu] header{background:linear-gradient(#20150fc9,#20150f64);border-color:#f7d9a023;box-shadow:none}
.audio{color:#f1dbb5}.audio button{background:#251d17b8;border-color:#ba96576b}.audio #track-label{min-width:85px;text-align:right}
body[data-screen=menu] .menu{position:relative;width:365px;margin-left:39%;padding:25px 27px 19px;margin-top:28px;background:linear-gradient(90deg,#24180a12,#23190fd9 16%,#23190fe3 80%,#24180a12);text-align:center;text-shadow:0 2px 6px #170e08}
.menu .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:12px}
.menu h1{font-size:75px;letter-spacing:-2px;line-height:.98}
.menu h1 em{font-size:.79em;margin-left:0;display:block;letter-spacing:2px}
.menu .subtitle{font-size:9px;letter-spacing:3px;margin:17px 0 12px}
.menu .divider{font-size:21px;margin:0;color:#f0d399}.menu .intro{font-size:14px;margin-bottom:10px;line-height:1.5;color:#f1e6d2}
.menu-actions{width:100%;margin:17px 0 13px;gap:6px}
.menu-actions button{padding:11px 14px;letter-spacing:.5px;font-size:15px;background:#252019d9;box-shadow:inset 0 0 15px #070b0730}
.menu-actions button.primary{background:linear-gradient(110deg,#9b6934ed,#60401fed)}
.menu-actions button:disabled{opacity:.68;color:#c3b393}.menu-actions button span{font-size:9px;letter-spacing:0}
.menu .small{font-size:10px;line-height:1.5;margin-bottom:0;color:#d2bfa2}
.chapter-preview{right:3vw;bottom:1vh;padding:14px 66px 6px 17px;max-width:330px;background:#22170dd1;backdrop-filter:blur(3px)}
.chapter-preview .eyebrow{font-size:8px;margin-bottom:8px}.chapter-preview h2{font-size:21px}.chapter-preview p{font-size:11px}.chapter-preview .seal{font-size:42px;top:16px;right:20px}
body[data-screen=menu] main{min-height:calc(100vh - 136px);display:flow-root}
body[data-screen=menu] footer{background:linear-gradient(transparent,#20150fa0);text-shadow:0 1px 5px #000;color:#eedbbc}
body[data-screen=campaign] .forest,body[data-screen=result][data-result=victory] .forest{background:linear-gradient(90deg,#0b1518b5,#0b151848),url('assets/backgrounds/albion_countryside.png') center/cover}
body[data-screen=battle] .forest{filter:none;background:linear-gradient(#151b189e,#101814b8),url('assets/backgrounds/oakfield_battle.png') center/cover}
body[data-screen=result][data-result=defeat] .forest{background:linear-gradient(#10151590,#101515bb),url('assets/backgrounds/memory_fades.png') center/cover}
.campaign{padding-top:35px}.campaign>.intro{color:#f4e9cf;text-shadow:0 2px 5px #000}.campaign>h1,.campaign>.eyebrow{text-shadow:0 2px 10px #000}
.memory-scene{background:linear-gradient(0deg,#14281b70,transparent),url('assets/backgrounds/albion_countryside.png') 65% 65%/cover}
.memory-number{color:#fff0c966;text-shadow:0 1px 10px #0004}.memory{background:#17231eea}.other-memories{background:#18231bd9;border:1px solid #caa16563;backdrop-filter:blur(4px);padding:25px}.locked small{color:#bebdab}
.table{background:radial-gradient(ellipse,#292e239c,#111e19ed);border-color:#b89a5f9c;box-shadow:inset 0 0 75px #0005,0 8px 35px #0003}
.battle-journal{padding:20px 16px;background:#15231edb;border:1px solid #bda87355}.battle-journal p,.battle-journal ol{color:#d8d4bc}
.battle-heading h2,.battle-heading .eyebrow{text-shadow:0 2px 8px #000}.battle-actions{display:flex;gap:8px}.quiet{background:#142018d9;border-color:#a98c5c99}
.hint{color:#c1f2f1;text-shadow:0 1px 5px #000}.hand-label{color:#f2dcb2;text-shadow:0 1px 3px #000}.card:disabled{opacity:.76}.card:disabled .art{filter:saturate(.65) brightness(.75)}
.result{margin:30px auto;background:linear-gradient(90deg,#14201d55,#14201ee8 18%,#14201ee8 82%,#14201d55);padding:35px 50px}.result blockquote{color:#f2e5c8}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0;padding:16px 0;border-block:1px solid #bba36a3b;font-size:16px}.setting-row small{display:block;font:12px/1.5 system-ui;color:var(--muted);margin-top:6px}.setting-row input{accent-color:#c69d59;width:21px;height:21px;flex-shrink:0}
/* A leather-bound, two-column parchment book. */
#rules-book{color-scheme:light;max-width:none;width:min(1080px,calc(100vw - 50px));height:min(790px,calc(100dvh - 60px));max-height:none;padding:10px;background:#4d301b;border:2px solid #d5af66;border-radius:9px;box-shadow:0 25px 100px #000c,inset 0 0 0 4px #2d1c11;color:#382b1d;overflow:hidden}
#rules-book::backdrop{background:#100c08bd;backdrop-filter:blur(4px)}
.book-cover{height:100%;display:flex;flex-direction:column;border:1px solid #a07d41;background:radial-gradient(ellipse at 20% 20%,#f6eac5,#e4c994 73%,#c6a36c);box-shadow:inset 0 0 45px #80571c55}
.book-top,.book-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 24px;flex-shrink:0}
.book-top{border-bottom:1px solid #8d673b66;font:10px system-ui;letter-spacing:2px}.book-bottom{border-top:1px solid #8d673b66;font-size:14px}
#rules-book button{color:#4a311d;background:#f9ebc759;border:1px solid #9571427d;padding:9px 14px;font-size:13px;box-shadow:none}
#rules-book button:hover:not(:disabled){background:#c9aa724d;border-color:#785326}
#rules-book button:focus-visible{outline:3px solid #39747a;outline-offset:2px}
.book-spread{display:grid;grid-template-columns:265px minmax(0,1fr);min-height:0;flex:1}
#book-chapters{padding:25px 18px;overflow-y:auto;background:linear-gradient(90deg,transparent 85%,#8862371c);border-right:1px solid #9a754f6b}
.book-contents{font:10px system-ui;letter-spacing:3px;color:#74542f;margin:0 12px 18px}
#book-chapters button{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;background:transparent;border:1px solid transparent;margin:5px 0;padding:13px 9px;font-size:15px;line-height:1.4}
#book-chapters button span{float:none;font:10px system-ui;color:#84643f}
#book-chapters button[aria-current=page]{background:#7c4d1720;border:1px solid #97734765;border-left:3px solid #966c36}
.book-page{padding:28px 45px;overflow:auto;scrollbar-color:#957243 #e6cfa5;outline-offset:-4px;line-height:1.65}
.book-symbol{display:block;text-align:center;font-size:45px;color:#8c622e;line-height:1.1;margin-bottom:12px}
.book-kicker{font:9px/1.5 system-ui;letter-spacing:2px;text-align:center;color:#7a5429!important;margin-bottom:12px}
#book-title{font-size:32px;line-height:1.15;text-align:center;color:#493018;margin-bottom:26px}
#rules-book p{font-size:16px;line-height:1.7;color:#403121;margin-bottom:16px}.book-lead{font-style:italic;font-size:19px!important}
#rules-book h3{font-size:21px;color:#614020;margin-top:22px;margin-bottom:9px}
.book-note{border-block:1px solid #97734679;background:#b9915120;padding:14px 17px;font-size:14px;line-height:1.7;margin:22px 0;color:#614421}
.turn-steps{padding-left:20px;font-size:15px;line-height:1.7}.turn-steps li{padding-left:4px;margin-bottom:12px}.turn-steps li::marker{color:#946231;font-weight:bold}
.card-key{display:flex;gap:12px;margin:20px 0 25px;padding:15px 0;border-block:1px solid #96774966}.card-key span{flex:1;text-align:center;font:11px/1.5 system-ui}.card-key b{display:block;font:17px Georgia;margin-bottom:6px;color:#785122}
.keywords{font-size:15px}.keywords dt{font-size:20px;color:#704b23;margin-top:17px}.keywords dd{margin:4px 0 12px;line-height:1.7}
.rules-comparison{border-collapse:collapse;width:100%;font:13px/1.5 system-ui;margin:22px 0}.rules-comparison th,.rules-comparison td{text-align:left;border-bottom:1px solid #97724666;padding:9px 7px}.rules-comparison th{color:#67401c;background:#c69e6033}
@media(min-width:1700px){body[data-screen=menu] .menu{width:390px;margin-top:45px;padding-block:26px}.menu h1{font-size:85px}.menu-actions button{padding-block:13px}.menu-actions{margin-top:22px}.menu .intro{font-size:16px}}
@media(max-height:800px) and (min-width:701px){body[data-screen=menu] .menu{margin-top:12px;padding:13px 23px;width:315px;margin-left:38%}.menu h1{font-size:58px}.menu .eyebrow{font-size:8px;margin-bottom:7px}.menu .subtitle{font-size:8px;margin:10px 0 6px}.menu .intro{font-size:12px;margin-bottom:5px}.menu .divider{font-size:17px}.menu-actions{gap:5px;margin:12px 0}.menu-actions button{padding:9px 11px;font-size:14px}.menu .small{font-size:9px}.chapter-preview{bottom:0;padding-top:12px}.book-page{padding:20px 32px}.book-symbol{font-size:34px}#book-title{font-size:29px}}
@media(max-width:1100px){.audio{gap:8px}.audio input{width:65px}.chapter-preview{display:none}.battle-journal{display:none}}
@media(max-width:700px){
 header{padding:12px 15px;gap:12px;flex-wrap:wrap;min-height:100px}header>a{font-size:18px}.audio{width:100%;justify-content:space-between;gap:6px}.audio #track-label{display:block;min-width:0;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;text-align:left}.audio button{font-size:10px;padding:7px}.audio input{width:53px}
 body[data-screen=menu] .forest{position:absolute;top:100px;height:calc(100vw * .562799);overflow:hidden}
 body[data-screen=menu] .tavern-scene{top:0;left:0;transform:none;width:100vw;height:calc(100vw * .562799)}
 body[data-screen=menu] .menu{width:100%;max-width:430px;margin:calc(100vw * .562799) auto 0;padding:23px 28px 25px;background:radial-gradient(ellipse at 50% 0%,#4b301b,#211710 80%)}
 body[data-screen=menu] main{min-height:0}.menu h1{font-size:56px}.menu h1 em{display:inline;font-size:.85em;margin-left:7px}.menu .eyebrow{font-size:8px}.menu .intro{font-size:14px}.menu-actions{max-width:100%}.menu-actions button{padding:12px 14px}.menu .divider{display:none}.menu .small{font-size:10px}
 .fire-glow{filter:blur(5px)}.campaign{padding-top:25px}.other-memories{padding:22px;margin-top:18px}.battle{padding-top:15px}.battle-heading{align-items:flex-start;gap:10px}.battle-heading h2{font-size:20px}.battle-actions{flex-direction:column;gap:5px}.battle-actions .quiet{padding:7px;font-size:10px}.result{margin:15px 10px;padding:25px 20px}.result h1{font-size:37px}
 #rules-book{width:calc(100vw - 16px);height:calc(100dvh - 24px);padding:5px;border-radius:5px}.book-top,.book-bottom{padding:11px 12px}.book-top{font-size:8px;letter-spacing:1px}.book-spread{display:flex;flex-direction:column}#book-chapters{display:flex;flex-shrink:0;gap:5px;overflow-x:auto;overflow-y:hidden;padding:9px;border-right:0;border-bottom:1px solid #9573436b;height:70px;background:#c3a06720}#book-chapters .book-contents{display:none}#book-chapters button{width:135px;min-width:135px;font-size:11px;margin:0;padding:5px;gap:5px;align-items:center}.book-page{padding:20px;flex:1}#book-title{font-size:27px;margin-bottom:21px}.book-symbol{font-size:33px}#rules-book p{font-size:15px}.book-lead{font-size:17px!important}.book-bottom{font-size:12px}#rules-book .book-bottom button{font-size:12px;padding:9px}.rules-comparison{font-size:11px}.rules-comparison th,.rules-comparison td{padding:7px 3px}.card-key{gap:5px}.card-key b{font-size:15px}.card-key span{font-size:10px}dialog#settings{max-width:calc(100vw - 28px);padding:25px}
}
@media(prefers-reduced-motion:reduce){.fire-glow{animation:none;display:none}button{transition:none}}
@media(max-height:800px) and (min-width:701px){
 body[data-screen=battle] header{padding-block:10px}
 body[data-screen=battle] footer{display:none}
 body[data-screen=battle] main{min-height:0}
 .battle{padding:9px 24px}.battle-heading{margin-bottom:8px}.battle-heading h2{font-size:20px}.battle-heading .eyebrow{font-size:8px;margin-bottom:3px}
 .battle-grid{grid-template-columns:1fr}.battle-journal{display:none}.table{padding:8px 16px}.hero{padding:5px 12px}.hero strong{font-size:14px}.hero small{font-size:9px;margin-top:2px}.hero b{font-size:21px}.portrait{font-size:22px}.hero.enemy{margin-bottom:7px}
 .board{grid-template-columns:repeat(4,140px);gap:20px}.card.unit{height:116px;width:140px;padding:3px 5px}.unit .art{height:47px}.unit strong{padding:2px 0;font-size:11px}.unit .card-text{font-size:9px;min-height:14px}.unit .stats{font-size:12px;padding:1px 4px}.empty-slot{height:116px}
 .turn-line{margin:6px 0;padding:6px 0;font-size:8px}.player-row{margin-top:7px}.player-row .primary{padding:9px 18px}.gold strong{font-size:24px}.gold>span{font-size:8px}.hint{min-height:31px;font-size:12px}.hand-label{padding:4px 0 8px}.hand{min-height:0;padding-bottom:3px}.hand .card{width:150px;min-height:170px}.hand .art{height:72px}.hand .card-text{font-size:10px;min-height:36px}.hand .card strong{font-size:12px;padding:5px 0}
}
