/* Original game furniture inspired by the supplied antique menu reference.
   Scene, card, map and combat layout contracts remain in their own stylesheets. */
:root{
 --antique-ink:#3f3525;--antique-muted:#756345;--antique-paper:#eee3c4;
 --antique-bronze:#aa9866;--antique-light:#eddda8;--antique-dark:#30291f;
 --antique-wood-grain:repeating-linear-gradient(4deg,#c4a2700b 0 1px,transparent 1px 4px),linear-gradient(100deg,#524735,#302b23 48%,#514434);
 --antique-parchment:radial-gradient(ellipse at 4% 6%,#ab8e4730,transparent 40%),radial-gradient(ellipse at 96% 95%,#a7823c28,transparent 45%),repeating-linear-gradient(7deg,#8c704208 0 1px,transparent 1px 5px),linear-gradient(100deg,#e3d9b7,#f2ead0 48%,#e4d9b7);
}
body{background:#282b26}
.game-shell{background:#222923;color:#f6ead1}
.game-shell h1,.game-shell h2,.game-shell h3,.modal h2,.modal h3{font-family:Georgia,'Times New Roman',serif}
.game-hud{
 border-bottom:3px ridge #a89562;
 background:radial-gradient(ellipse at 46% 0,#bb9c5825,transparent 62%),var(--antique-wood-grain);
 box-shadow:0 4px 14px #100e0bd9,inset 0 1px #e2cc9160,inset 0 -1px #181812;
 backdrop-filter:none;
}
.game-hud:before{bottom:3px;background:linear-gradient(90deg,#887447,#d3c18a 26%,#635630 50%,#d1bd87 74%,#887447)}
.hud-scene-title{font-family:Georgia,'Times New Roman',serif;color:#e8ddbd;letter-spacing:1px;text-shadow:0 1px 2px #080b06}
.hud-emblem{filter:sepia(.35) drop-shadow(0 2px 3px #000a)}
.hud-currency{color:#fff2cc;text-shadow:0 1px #111a13}
.hud-currency small{color:#d7cba9}
.hud-currency.gerege i{color:#d6d2b1}

/* A single carved menu cabinet, with the landscape visible around it. */
.game-home{
 grid-template-columns:minmax(0,1.2fr) minmax(320px,.82fr);gap:32px 7vw;
 padding:clamp(28px,5vh,56px) max(6vw,26px) 26px;
 background:linear-gradient(90deg,#101c2288,#18252320 47%,#15202677),linear-gradient(0deg,#101912b3,transparent 56%),url('./assets/art/battle-steppe.webp') center/cover;
}
.game-home:before{background:radial-gradient(ellipse at 33% 28%,#eadba824,transparent 55%);box-shadow:inset 0 0 90px #11212650}
.game-home:after{opacity:.24}
.home-title{margin-top:-16px;max-width:690px}
.home-title h1{color:#f2ecd3;font-size:clamp(33px,3.5vw,60px);font-weight:700;letter-spacing:.5px;text-shadow:0 2px 0 #3a3927,0 5px 12px #101811bd}
.home-title h1 span{color:#f1d598;letter-spacing:7px;text-shadow:0 2px #594729,0 6px 20px #0a1417}
.home-title>p:last-child{color:#e5e5d1;text-shadow:0 2px 5px #102021;font-size:15px}
.home-tagline{color:#efdb9b!important;letter-spacing:4px}
.home-emblem{width:104px;height:104px;filter:sepia(.25) drop-shadow(0 5px 9px #111b1c)}
.home-heroes{opacity:.14;bottom:34px;mask-image:linear-gradient(#000 10%,transparent 90%)}
.home-menu-panel{
 position:relative;z-index:3;justify-self:center;width:100%;max-width:440px;padding:17px 17px 19px;
 border:6px ridge #ab9b6f;border-radius:3px;background:var(--antique-wood-grain);
 box-shadow:0 14px 38px #0d1518b3,0 0 0 2px #272b22,inset 0 0 0 2px #24281b,inset 0 0 24px #18180fc9;
}
.home-menu-panel:before,.home-menu-panel:after{
 content:'';position:absolute;inset:7px;pointer-events:none;border:1px solid #c4b3805c;
 background:radial-gradient(circle at 2px 2px,#ded0a1 0 2px,#4b4529 2.5px 4px,transparent 4.5px),radial-gradient(circle at calc(100% - 2px) 2px,#ded0a1 0 2px,#4b4529 2.5px 4px,transparent 4.5px),radial-gradient(circle at 2px calc(100% - 2px),#b4a276 0 2px,#3d3824 2.5px 4px,transparent 4.5px),radial-gradient(circle at calc(100% - 2px) calc(100% - 2px),#b4a276 0 2px,#3d3824 2.5px 4px,transparent 4.5px);
}
.home-menu-panel:after{inset:2px;border-color:#e5d4a336;background:none}
.home-menu-heading{
 position:relative;isolation:isolate;display:grid;place-items:center;min-height:61px;margin:-39px -30px 17px;padding:13px 25px;
 border:6px ridge #bcaf82;border-radius:50px 14px 50px 14px;background:var(--antique-parchment);
 color:#3e3b2b;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:19px;letter-spacing:1.8px;
 text-shadow:0 1px #fff7de;box-shadow:0 4px 0 #262c1c,inset 0 0 0 1px #665d3b,inset 0 0 10px #b1a16f70,0 6px 15px #0b161780;
}
.home-menu-heading:before,.home-menu-heading:after{content:'◆';position:absolute;top:50%;transform:translateY(-50%);color:#8f7e4c;font-size:14px;text-shadow:0 1px #f6ebc6}
.home-menu-heading:before{left:14px}.home-menu-heading:after{right:14px}
.home-menu-heading{background:url('./assets/ui/antique-stone.svg') center/100% 100% no-repeat;border:0;border-radius:0;box-shadow:none;font-size:18px;line-height:1.2;padding:17px 40px;color:#3f412b;filter:drop-shadow(0 4px 4px #10181380)}
.home-menu-heading:before,.home-menu-heading:after{display:none}
.home-menu-panel .game-mode-grid{max-width:none;gap:8px;z-index:1}
.home-menu-panel .game-mode{min-height:76px;padding:14px 24px;gap:14px}
.home-menu-panel .game-mode.mode-campaign{min-height:84px}
.home-menu-panel .game-mode strong{font-family:Georgia,'Times New Roman',serif;font-size:21px;line-height:1.25}
.home-menu-panel .game-mode small{font-size:11px;line-height:1.35;margin-top:4px}
.home-menu-panel .mode-icon{font-size:28px;flex-basis:32px;width:32px}
.home-menu-panel .mode-arrow{font-size:25px}
.home-footer{border-top:1px solid #c6b78b70;gap:22px;color:#e0dbc4;padding-top:17px;text-shadow:0 1px #141d1c}

/* Large surfaces are parchment held by an aged metal and wood frame. */
.scene-page .game-stage{background:linear-gradient(#13222687,#18231fe6),url('./assets/art/battle-steppe.webp') center/cover fixed}
.scene-entry .game-stage{background:linear-gradient(#13222687,#18231fe6),url('./assets/art/battle-steppe.webp') center/cover}
.scene-entry .starter-panel{background:var(--antique-parchment);color:var(--antique-ink);border:5px ridge #a6956d;border-radius:3px;box-shadow:0 8px 24px #07171980,inset 0 0 0 1px #8c7b52}
.scene-page .page{color:#ede3c6}
.scene-page .page-heading{border-bottom:3px double #bfab737d;padding-bottom:23px}
.scene-page .page-heading h1{color:#f5e8c5;text-shadow:0 2px #181d16}
.scene-page .page-heading p{color:#ded9c6}
.scene-page .eyebrow{color:#d9c286}
.scene-page :is(.panel,.stat-panel,.store-panel,.profile-panel,.deck-panel,.shop-pack,.listing-card,.empty){
 color:var(--antique-ink);background:var(--antique-parchment);border:5px ridge #a6956d;border-radius:3px;
 box-shadow:0 8px 24px #07171980,inset 0 0 0 1px #8c7b52,inset 0 0 25px #a88b4929;
}
.scene-page :is(.panel,.shop-pack,.listing-card) h2,.scene-page :is(.panel,.shop-pack,.listing-card) h3{color:#443724}
.scene-page :is(.panel,.shop-pack,.listing-card) :is(.muted,.small-note,.footer-note,p){color:#716042}
.scene-page :is(.panel,.shop-pack) .eyebrow{color:#8d703b}
.scene-page :is(.panel,.shop-pack) .big-symbol,.scene-page .shop-pack .price,.scene-page .info-list strong,.scene-page .gold{color:#8b6024}
.scene-page .info-list>div,.scene-page .divider{border-color:#a7905b66}
.scene-page .shop-pack:before{opacity:.2}
.scene-page .shop-pack .price{text-shadow:0 1px #fff9e8}
.scene-page .listing-meta{color:#6e5e41}
.scene-page .notice{background:#d7cda8ed;color:#52462e;border:2px ridge #aa9866;border-radius:2px;box-shadow:inset 0 0 13px #aa87471b}
.scene-page .pill{background:#d8cda7;color:#53482e;border-color:#97834f;border-radius:4px;box-shadow:inset 0 1px #fff5d6}
.scene-page .field{color:#594a30}
.scene-page :is(input,select),.modal :is(input,select){color:#433822;border:2px inset #baaa7c;border-radius:2px;background:#fff5d9;box-shadow:inset 0 1px 6px #7f6b3320}
.scene-page :is(input,select):focus-visible,.modal :is(input,select):focus-visible{outline-color:#89783f}
.scene-page .footer-note{color:#cdc7ac}
.scene-page .art-panel{border:5px ridge #a5956a;border-radius:3px;box-shadow:0 8px 24px #07171980,inset 0 0 0 1px #383c28}
.scene-page .art-panel h2{color:#f4e2b9;text-shadow:0 2px 5px #081811}
.modal-shade{background:#10201bba;backdrop-filter:blur(6px)}
.modal{
 background:var(--antique-parchment);color:var(--antique-ink);border:6px ridge #b5a57b;border-radius:4px;
 box-shadow:0 20px 65px #0b151cbb,inset 0 0 0 2px #89794e,inset 0 0 40px #ab8c4f29;
 scrollbar-color:#9b8453 #e1d5b4;
}
.modal-heading{border-bottom:3px double #a08a585c;padding-bottom:18px}
.modal-heading h2{color:#463924;text-shadow:0 1px #fff7dd}
.modal-heading p,.modal .muted{color:#746145}
.modal .eyebrow{color:#91713c}
.modal .collection-toolbar{background:#daceaceb;border:2px ridge #b1a078;border-radius:2px;color:#4c422c}
.modal .deck-check{color:#386546}
.modal .divider{border-color:#b4a278}
#toast{color:#f5e5b9;background:var(--antique-wood-grain);border:3px ridge #b5a370;border-radius:3px;box-shadow:0 6px 20px #0a191ab3}

/* Entry furniture follows the same cabinet, not a different website form. */
.auth-scene{background:linear-gradient(90deg,#1421259c,#15232938 45%,#11222288),linear-gradient(0deg,#10211eb8,transparent 75%),url('./assets/art/battle-steppe.webp') center/cover}
.auth-scene:before{opacity:.35}
.auth-world-title,.auth-world h1{color:#f5ebcf;text-shadow:0 2px #4e4430,0 6px 20px #112021}
.auth-world-title span,.auth-world h1 span{color:#efd293}
.auth-world .eyebrow{color:#efdca4}
.auth-world-lore{color:#e5e3cc}
.auth-reward strong{color:#f2dfac}.auth-reward small{color:#ded8ba}
.auth-rewards{border-top:3px double #bead785c}
.auth-scroll{border:6px ridge #b3a374;border-radius:3px;background:var(--antique-wood-grain);box-shadow:0 20px 50px #091617a3,inset 0 0 0 2px #342f20}
.auth-scroll:before{inset:9px;border:2px inset #b4a377;border-radius:2px;background:var(--antique-parchment);box-shadow:inset 0 0 25px #ac8f472e}
.auth-scroll:after{inset:3px;border-color:#d5c08755;border-radius:1px}
.auth-scroll h2{color:#4b3a25;text-shadow:0 1px #fff7df}
.auth-scroll .field input{border:2px inset #b5a16a;border-radius:2px;background:#fff4d8;box-shadow:inset 0 1px 5px #785e3420}
.auth-scroll .field input:focus{border-color:#8d8354;background:#fff7df;box-shadow:0 0 0 2px #a08c5140}
.auth-scroll .auth-footer{border-top:3px double #ab935858;color:#796443}

/* Campaign geometry and its color-coded ownership stay unaltered. */
.game-shell.scene-campaign .campaign-hud{border:3px ridge #a7976b;border-radius:2px;background:var(--antique-wood-grain);box-shadow:0 4px 15px #10251b75,inset 0 0 0 1px #c5b88628}
.campaign-hud>small{color:#deca91}.campaign-hud h1{color:#f1e6c6}.campaign-hud p{color:#d7d5ba}
.game-shell.scene-campaign .campaign-dock,.game-shell.scene-campaign .map-controls,.game-shell.scene-campaign .campaign-difficulty{border:3px ridge #9e9267;border-radius:2px;background:var(--antique-wood-grain);backdrop-filter:none}
.game-shell.scene-campaign .campaign-encounter{border:4px ridge #b6a575;border-radius:3px;background:var(--antique-wood-grain);box-shadow:0 12px 35px #102322c4,inset 0 0 0 2px #2e3420;backdrop-filter:none}
.encounter-info h3{color:#f2ddb0}.encounter-info .boss-label{color:#d0c399!important}.encounter-bonus p{color:#ded9bd}
.game-shell.scene-campaign .campaign-hint{background:#332e20cb;color:#ede4c3;border:1px solid #b09b6259;border-radius:1px}
.battle-board>.battle-controls{background:var(--antique-parchment);border-color:#a39469;border-radius:3px;box-shadow:0 3px 12px #10191259,inset 0 0 0 2px #baa978,inset 0 0 15px #ab8a4130}

@media(min-width:1600px){.game-home{padding-left:8vw;padding-right:10vw;gap:8vw}.home-menu-panel{max-width:460px}}
@media(max-height:740px) and (min-width:761px){
 .game-home{padding-top:27px;padding-bottom:18px;gap:15px 5vw}.home-title{margin-top:0}.home-emblem{width:74px;height:74px;margin-bottom:14px}
 .home-menu-panel{max-width:420px;padding:12px 14px 14px}.home-menu-heading{min-height:51px;margin-top:-30px;margin-bottom:10px;font-size:16px}
 .home-menu-panel .game-mode{min-height:59px;padding:10px 20px}.home-menu-panel .game-mode.mode-campaign{min-height:66px}.home-menu-panel .game-mode strong{font-size:18px}.home-menu-panel .game-mode small{font-size:10px}
}
@media(max-width:760px){
 .game-home{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-content:start;gap:39px;padding:25px 24px 25px;overflow:auto;min-height:100%;height:auto;background-position:43% center}
 .home-title{margin:0;text-align:center;justify-self:center}.home-emblem{width:62px;height:62px;margin:0 auto 10px}.home-tagline{font-size:9px!important;letter-spacing:3px;margin-bottom:10px!important}
 .home-title h1{font-size:28px;line-height:1.13}.home-title h1 span{font-size:1.27em;letter-spacing:5px}.home-title>p:last-child{font-size:11px;margin-top:13px;max-width:none}
 .home-menu-panel{width:100%;max-width:430px;padding:13px 11px 13px;border-width:5px}.home-menu-heading{margin:-34px -15px 12px;min-height:49px;border-width:5px;font-size:15px;letter-spacing:1px}
 .home-menu-panel .game-mode-grid{grid-template-columns:1fr;gap:6px}.home-menu-panel .game-mode{min-height:64px;padding:11px 18px;gap:11px}.home-menu-panel .game-mode.mode-campaign{min-height:69px}
 .home-menu-panel .game-mode strong{font-size:18px}.home-menu-panel .game-mode small{font-size:10px;line-height:1.3}.home-menu-panel .mode-icon{flex-basis:28px;width:28px;font-size:25px}.home-menu-panel .mode-arrow{display:block;font-size:23px}
 .home-footer{grid-column:1;gap:9px 15px;font-size:10px;padding-top:16px;margin-top:-19px}.home-footer .btn{flex-basis:100%;max-width:260px}
 .scene-home .game-stage{overflow-y:auto;overscroll-behavior-y:contain}
 .scene-page :is(.panel,.shop-pack,.listing-card,.art-panel){border-width:4px}
 .modal{border-width:4px;padding:23px 16px;border-radius:2px}.modal-shade{padding:10px}.modal-heading{padding-bottom:15px}
 .auth-scroll{border-width:5px}.auth-scene{padding-top:25px;background-position:47% center}
}
@media(max-height:580px) and (min-width:761px){
 .game-home{grid-template-columns:1fr 1.1fr;height:auto;min-height:100%;overflow:auto;padding:35px 5vw 18px;gap:22px}.scene-home .game-stage{overflow:auto}
 .home-title h1{font-size:30px}.home-menu-panel{max-width:430px}.home-menu-panel .game-mode-grid{grid-template-columns:1fr}.home-menu-panel .game-mode{min-height:51px;padding:8px 20px}.home-menu-panel .game-mode.mode-campaign{min-height:54px}.home-menu-panel .game-mode small{display:none}
}
@media(prefers-reduced-motion:reduce){.game-home:after,.auth-scene:before,.game-hud:after{animation:none}}
