/* Original antique game controls: weathered bronze, stone and carved wood.
   Material only: card faces, territory paths and battle layout keep their own rules. */
:root{
 --antique-stone:url('./assets/ui/antique-stone.svg');
 --antique-wood:url('./assets/ui/antique-wood.svg');
 --antique-compact:url('./assets/ui/antique-compact.svg');
 --antique-type:Georgia,'Times New Roman',serif;
 --antique-ink:#303322;
 --antique-light:#fff0ce;
}

/* A full-width plaque is decorative; the existing button remains the hit target. */
:is(.game-shell,.modal) .btn,
:is(.game-shell,.modal) .btn:is(.ghost,.secondary),
:is(.game-shell,.modal) .scene-page .btn.ghost,
:is(.game-shell,.modal) .home-footer .btn,
:is(.game-shell,.modal) .battle-board .battle-header-right .btn{
 --antique-face:var(--antique-stone);
 border-color:transparent;border-radius:12px;
 background:var(--antique-face) center/100% 100% no-repeat;
 color:var(--antique-ink);font-family:var(--antique-type);font-weight:700;
 text-shadow:0 1px 0 #fff6d7a3;
 box-shadow:0 4px 6px #07100855;
 transition:filter .16s,transform .16s,box-shadow .16s;
}
:is(.game-shell,.modal) .btn.primary,
:is(.game-shell,.modal) .scene-page .btn.primary,
:is(.game-shell,.modal) .encounter-info .btn.primary,
:is(.game-shell,.modal) .battle-board .commit-panel .btn.primary,
:is(.game-shell,.modal) .auth-scroll #auth-form .btn.primary{
 --antique-face:var(--antique-stone);
 border-color:transparent;border-radius:12px;
 background:var(--antique-face) center/100% 100% no-repeat;
 color:#28321e;font-family:var(--antique-type);font-weight:700;
 text-shadow:0 1px 0 #fff8da;
 box-shadow:0 4px 7px #07100866,0 0 12px #e9c57518;
}
:is(.game-shell,.modal) .btn:hover:not(:disabled),
:is(.game-shell,.modal) .scene-page .btn:is(.primary,.ghost):hover:not(:disabled),
:is(.game-shell,.modal) .encounter-info .btn.primary:hover:not(:disabled),
:is(.game-shell,.modal) .auth-scroll #auth-form .btn.primary:hover:not(:disabled){
 background:var(--antique-face) center/100% 100% no-repeat;
 border-color:transparent;filter:brightness(1.12);
 box-shadow:0 5px 11px #02090588;transform:translateY(-1px);
}
:is(.game-shell,.modal) .btn:active:not(:disabled),
:is(.game-shell,.modal) .auth-scroll #auth-form .btn.primary:active:not(:disabled){
 transform:translateY(1px);filter:brightness(.94);box-shadow:0 2px 4px #02090566;
}
:is(.game-shell,.modal) .btn:disabled,
:is(.game-shell,.modal) .encounter-info .btn.primary:disabled,
:is(.game-shell,.modal) .auth-scroll #auth-form .btn.primary:disabled{
 background:var(--antique-face) center/100% 100% no-repeat;
 border-color:transparent;filter:grayscale(.65);opacity:.53;
 color:var(--antique-ink);box-shadow:0 2px 4px #06100733;
}
:is(.game-shell,.modal) .btn:is(.ghost,.secondary):disabled{color:var(--antique-ink)}
:is(.game-shell,.modal) .btn.danger{color:#6d261c;text-shadow:0 1px #fff2d3}
:is(.game-shell,.modal) .btn small{color:inherit}

/* Wooden menu slats, with bronze straps and an ivory seal for each mode. */
:is(.game-shell,.modal) .game-mode,
:is(.game-shell,.modal) .game-mode.mode-campaign{
 border-color:transparent;border-radius:4px;
 background:var(--antique-wood) center/100% 100% no-repeat;
 color:var(--antique-light);
 box-shadow:0 7px 13px #050c0870;
 transition:filter .18s,transform .18s,box-shadow .18s;
}
:is(.game-shell,.modal) .game-mode:before{display:none;pointer-events:none}
:is(.game-shell,.modal) .game-mode:after,
:is(.game-shell,.modal) .btn:before,
:is(.game-shell,.modal) .btn:after{pointer-events:none}
:is(.game-shell,.modal) .game-mode:hover,
:is(.game-shell,.modal) .game-mode.mode-campaign:hover{
 background:var(--antique-wood) center/100% 100% no-repeat;
 border-color:transparent;filter:brightness(1.13);
 box-shadow:0 9px 17px #040b0980;
}
:is(.game-shell,.modal) .game-mode strong{
 font-family:var(--antique-type);font-weight:700;
 color:#fff0cf;letter-spacing:.35px;
 text-shadow:0 2px 2px #281b0f,1px 0 1px #281b0f,-1px 0 1px #281b0f;
}
:is(.game-shell,.modal) .game-mode small{
 color:#eedab1;text-shadow:0 1px 2px #1d170e;
}
:is(.game-shell,.modal) .game-mode .mode-icon{
 display:grid;place-items:center;min-height:39px;
 background:var(--antique-compact) center/100% 100% no-repeat;
 color:#464a2c;font-size:24px;text-shadow:0 1px #fff0c6;
 filter:drop-shadow(0 2px 2px #20190a99);
}
:is(.game-shell,.modal) .game-mode:hover .mode-icon{color:#313b23;filter:drop-shadow(0 2px 3px #20190a99)}
:is(.game-shell,.modal) .game-mode .mode-arrow{color:#f2d291;text-shadow:0 2px #2f2511}

/* Compact stone controls retain their existing dimensions at every breakpoint. */
:is(.game-shell,.modal) :is(.hud-back,.hud-tool,.hud-profile),
:is(.game-shell,.modal) .map-controls button,
:is(.game-shell,.modal) .encounter-close,
:is(.game-shell,.modal) .encounter-detail,
:is(.game-shell,.modal) .modal-close,
:is(.game-shell,.modal) .level-preview button,
:is(.game-shell,.modal) .battle-board .troop-shortcuts button{
 --antique-face:var(--antique-compact);
 background:var(--antique-face) center/100% 100% no-repeat;
 border-color:transparent;border-radius:5px;
 color:#303522;font-family:var(--antique-type);font-weight:700;
 text-shadow:0 1px #fff3cc;box-shadow:0 2px 4px #07110866;
 transition:filter .16s,transform .16s,box-shadow .16s;
}
:is(.game-shell,.modal) :is(.hud-back,.hud-profile){--antique-face:var(--antique-stone);border-radius:12px}
:is(.game-shell,.modal) :is(.hud-back,.hud-tool,.hud-profile):hover:not(:disabled),
:is(.game-shell,.modal) .map-controls button:hover:not(:disabled),
:is(.game-shell,.modal) .encounter-close:hover:not(:disabled),
:is(.game-shell,.modal) .encounter-detail:hover:not(:disabled),
:is(.game-shell,.modal) .modal-close:hover:not(:disabled),
:is(.game-shell,.modal) .level-preview button:hover:not(:disabled),
:is(.game-shell,.modal) .battle-board .troop-shortcuts button:enabled:hover{
 background:var(--antique-face) center/100% 100% no-repeat;
 border-color:transparent;color:#28301e;filter:brightness(1.12);
}
:is(.game-shell,.modal) :is(.hud-back,.hud-tool,.hud-profile):active:not(:disabled),
:is(.game-shell,.modal) .map-controls button:active:not(:disabled),
:is(.game-shell,.modal) .battle-board .troop-shortcuts button:active:not(:disabled){transform:translateY(1px);filter:brightness(.92)}

/* Selected tabs are inset wood, unselected tabs are pale aged stone. */
:is(.game-shell,.modal) .tabs,
:is(.game-shell,.modal) .auth-scroll .auth-tabs{
 background:#3b422c66;border-color:#8b8d61;
 box-shadow:inset 0 1px 5px #14241555;border-radius:5px;
}
:is(.game-shell,.modal) .tabs button,
:is(.game-shell,.modal) .auth-scroll .auth-tabs button,
:is(.game-shell,.modal) .campaign-difficulty button,
:is(.game-shell,.modal) .campaign-dock .chapter-navigation button{
 --antique-face:var(--antique-compact);
 background:var(--antique-face) center/100% 100% no-repeat;
 border-color:transparent;border-radius:4px;
 color:#303622;font-family:var(--antique-type);font-weight:700;
 text-shadow:0 1px #fff4cb;
 box-shadow:0 2px 4px #0917094d;
}
:is(.game-shell,.modal) .tabs button:hover,
:is(.game-shell,.modal) .auth-scroll .auth-tabs button:hover,
:is(.game-shell,.modal) .campaign-difficulty button:hover,
:is(.game-shell,.modal) .campaign-dock .chapter-navigation button:hover{
 background:var(--antique-face) center/100% 100% no-repeat;
 border-color:transparent;color:#29351f;filter:brightness(1.1);
}
:is(.game-shell,.modal) .tabs button.active,
:is(.game-shell,.modal) .auth-scroll .auth-tabs button.active,
:is(.game-shell,.modal) .campaign-difficulty button.active,
:is(.game-shell,.modal) .campaign-dock .chapter-navigation button.active,
:is(.game-shell,.modal) .level-preview button.active{
 --antique-face:var(--antique-wood);
 background:var(--antique-face) center/100% 100% no-repeat;
 border-color:transparent;color:#fff0cd;
 text-shadow:0 1px 2px #201908,1px 0 #201908;
 box-shadow:0 2px 4px #09170966;
}
:is(.game-shell,.modal) .campaign-difficulty button small,
:is(.game-shell,.modal) .campaign-dock .chapter-navigation button b{color:inherit;opacity:.82}
:is(.game-shell,.modal) .campaign-dock .chapter-navigation .chapter-done{color:#174e38;text-shadow:0 1px #f5f0c9}
:is(.game-shell,.modal) .campaign-dock .chapter-navigation button.active .chapter-done{color:#a3f0c7;text-shadow:0 1px #293820}

/* Keyboard focus is separate from the ornamental frame. */
:is(.game-shell,.modal) :is(.btn,.game-mode,.hud-back,.hud-tool,.hud-profile,.modal-close,.encounter-close,.encounter-detail):focus-visible,
:is(.game-shell,.modal) :is(.tabs,.auth-tabs,.map-controls,.chapter-navigation,.campaign-difficulty,.level-preview,.troop-shortcuts) button:focus-visible{
 outline:3px solid #fff2b7;outline-offset:3px;
 box-shadow:0 0 0 6px #382d1fc2,0 5px 10px #030b0870;
}
@media(max-width:760px){
 :is(.game-shell,.modal) .game-mode .mode-icon{min-height:32px;font-size:21px}
}
@media(prefers-reduced-motion:reduce){
 :is(.game-shell,.modal) :is(.btn,.game-mode,.hud-back,.hud-tool,.hud-profile,.modal-close,.encounter-close,.encounter-detail),
 :is(.game-shell,.modal) :is(.tabs,.auth-tabs,.map-controls,.chapter-navigation,.campaign-difficulty,.level-preview,.troop-shortcuts) button{transition:none}
}
