/* Inked pictograms: cel-shaded bronze, distinct silhouettes, readable at thumb scale. */
.game-icon { display:inline-block; flex:none; vertical-align:middle; width:22px; height:22px; fill:none; stroke:none; overflow:visible; }
.game-icon > g { filter:none; }
:is(.game-nav,.game-mobile-nav,.game-more-menu,.game-wallet,.lobby-quick-modes,.arena-utilities) .game-icon { filter:drop-shadow(0 2px 0 #10181c99); }
.game-shell .game-nav .nav-item>.game-icon { width:25px; height:25px; }
.game-shell .game-mobile-nav .nav-item>.game-icon { width:29px; height:29px; }
.game-shell :is(.game-nav,.game-mobile-nav) .nav-item:not(.active)>.game-icon { opacity:.9; }
.game-shell :is(.game-nav,.game-mobile-nav) .nav-item.active>.game-icon { filter:drop-shadow(0 2px 0 #10181cbb); }
.game-shell .game-mark { display:grid; place-items:center; width:35px; height:39px; }
.game-shell .game-mark>.game-icon { width:35px; height:39px; }
.game-profile-seal>.game-icon { width:29px; height:29px; }
.game-shell .game-wallet>.game-icon { width:26px; height:26px; }
.game-shell .game-settings>.game-icon { width:25px; height:25px; }
.game-shell .game-more>summary>span:first-child { display:grid; place-items:center; }
.game-shell .game-more>summary .game-icon { width:23px; height:23px; }
.game-shell .game-more-menu .game-icon { width:24px; height:24px; }
.game-shell .lobby-play>.game-icon:first-child { width:36px; height:36px; }
.game-shell :is(.button.primary,.lobby-play)>.game-icon, .duel-button>.game-icon {
  --icon-metal-light:#a47743; --icon-metal:#704b2c; --icon-metal-mid:#704b2c; --icon-metal-dark:#3d2c25;
}
.game-shell :is(.lobby-friends,.lobby-training)>.game-icon:first-child { width:32px; height:32px; }
.game-shell .lobby-pack-icon>.game-icon { width:35px; height:35px; }
.game-shell .lobby-standing-emblem>.game-icon { width:40px; height:40px; }
.game-shell .lobby-deck-seal>.game-icon { width:31px; height:31px; }
.lobby-deck-budget>span>.game-icon { width:21px; height:21px; }
.game-shell .lobby-card-crest>.game-icon { width:25px; height:25px; }
.race-badge .game-icon { width:17px; height:17px; }
.keyword>.game-icon { width:15px; height:15px; flex-basis:15px; }
.star-pips .game-icon.symbol-star { fill:none; stroke:none; }
.game-shell .filter .game-icon.race-emblem { width:21px; height:21px; }
.game-shell .preset-button .game-icon.race-emblem { width:23px; height:23px; }
.game-shell :is(.card-stats,.lobby-card-stats) .game-icon { width:20px; height:20px; }
.game-shell .charge-badge>.game-icon { width:16px; height:16px; }
.game-shell .relic-card .keyword>.game-icon { width:14px; height:14px; flex-basis:14px; }
.game-shell .budget-row>b { display:inline-flex; align-items:center; gap:5px; }
.game-shell .budget-row>b>.game-icon { width:18px; height:18px; }
.game-shell .deck-mobile-counters .star-pips { padding:0; border:0; background:none; }
.game-shell .deck-mobile-counters .star-pips>.game-icon { width:20px; height:20px; }
.game-arena .arena-icon-button>.game-icon { width:23px; height:23px; }
.game-arena .arena-exit>.game-icon { width:22px; height:22px; }
.game-arena .life-value>.game-icon { width:19px; height:19px; }
.game-arena.has-battle-layout .bench-state .game-icon { width:12px; height:12px; }
.game-arena.has-battle-layout .duel-card-stats small .game-icon { width:14px; height:14px; }
.game-arena .duel-effect>.game-icon { width:16px; height:16px; }
.game-arena .enemy-hand>.game-icon { width:20px; height:20px; }
.game-arena .mobile-attack small .preview-info-icon { width:10px; height:10px; margin-left:2px; }
.combat-playback-actions button { display:inline-flex; align-items:center; justify-content:center; gap:5px; }
.combat-playback-actions button>.game-icon { width:16px; height:16px; }
.game-arena .back-rune>.game-icon { width:37px; height:37px; }
.game-arena .duel-button>.game-icon { width:27px; height:27px; }
.game-arena .round-continuation>.game-icon { width:21px; height:21px; }
.account-auth-page .account-heading::before { content:none; }
.account-heading-emblem { display:grid; place-items:center; width:70px; height:77px; margin:0 auto 18px; border:2px solid #bd9865; border-radius:10px 18px; background:linear-gradient(155deg,#536367 0 30%,#33464d 30% 76%,#29343f 76%); box-shadow:inset 0 2px #e4dfb64d,0 4px 0 #151d24; }
.account-heading-emblem>.game-icon { width:51px; height:57px; }
.account-wallet .game-icon { width:24px; height:24px; }
.account-rank-badge>.game-icon { width:46px; height:46px; }
.ranked-search-symbol>.game-icon { width:45px; height:45px; }
.room-sigil { display:grid; place-items:center; }
.room-sigil>.game-icon { width:54px; height:60px; }
.pack-object>span>.game-icon { width:62px; height:69px; filter:drop-shadow(0 3px 0 #10181c99); }
.pack-object>i>.game-icon { width:23px; height:23px; }
.pack-back>b { display:grid; place-items:center; width:100%; margin:12px 0; line-height:1; }
.pack-back>b>.game-icon { width:92px; height:102px; filter:drop-shadow(0 4px 0 #10181cbb); }
.pack-back>i>.game-icon { width:22px; height:22px; }
.pack-rarity>.star-pips { background:none; border:0; padding:0; }
.pack-rarity>.game-icon { width:14px; height:14px; }
.pack-odds i .star-pips { background:none; border:0; padding:0; gap:3px; }
.pack-odds i .symbol-star { width:19px; height:19px; }
.pack-front .pack-card-keywords .keyword>.game-icon { width:13px; height:13px; flex-basis:13px; }
/* Retain native form semantics and keyboard interactions, replacing only their chrome. */
.game-shell .game-main select[id], .dialog .dialog-body select[id] {
  appearance:none; -webkit-appearance:none;
  background-image:url('/public/icons/chevron-down.svg');
  background-repeat:no-repeat; background-position:right 12px center; background-size:14px 14px;
  padding-right:38px;
}
.game-shell input[type=search]::-webkit-search-cancel-button { -webkit-appearance:none; width:18px; height:18px; margin-left:8px; background:url('/public/icons/close.svg') center/contain no-repeat; cursor:pointer; }
:is(.visual-guide,.log-details,.mulligan-reference)>summary { display:flex; align-items:center; gap:8px; list-style:none; }
:is(.visual-guide,.log-details,.mulligan-reference)>summary::-webkit-details-marker { display:none; }
:is(.visual-guide,.log-details,.mulligan-reference)>summary::marker { content:''; }
:is(.visual-guide,.log-details,.mulligan-reference)>summary::after {
  content:''; flex:0 0 15px; width:15px; height:15px; margin-left:auto;
  background:url('/public/icons/chevron-down.svg') center/contain no-repeat; transform:rotate(-90deg);
}
:is(.visual-guide,.log-details,.mulligan-reference)[open]>summary::after { content:''; transform:rotate(0); }
.setting-row input[type=checkbox] {
  appearance:none; -webkit-appearance:none; width:26px; height:26px; flex:0 0 26px;
  border:2px solid #b99a68; border-radius:5px 8px; background:#293941;
  box-shadow:inset 0 2px #152129,0 1px #ead4a33d; cursor:pointer;
}
.setting-row input[type=checkbox]:checked { background:#536553 url('/public/icons/check.svg') center/19px 19px no-repeat; border-color:#efcf91; }
.setting-row input[type=checkbox]:focus-visible { outline:2px solid #f1d6a1; outline-offset:4px; }
.setting-row input[type=range] { appearance:none; -webkit-appearance:none; height:32px; background:transparent; cursor:pointer; }
.setting-row input[type=range]::-webkit-slider-runnable-track { height:7px; border:1px solid #b19364; border-radius:4px; background:#273b43; box-shadow:inset 0 1px #122029; }
.setting-row input[type=range]::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:21px; height:23px; margin-top:-9px; border:2px solid #f0ca88; border-radius:5px 8px; background:linear-gradient(135deg,#d8eee0 0 30%,#82b9ac 30% 76%,#4b827c 76%); box-shadow:0 2px 0 #14252d; }
.setting-row input[type=range]::-moz-range-track { height:5px; border:1px solid #b19364; border-radius:4px; background:#273b43; }
.setting-row input[type=range]::-moz-range-thumb { width:18px; height:20px; border:2px solid #f0ca88; border-radius:5px 8px; background:linear-gradient(135deg,#d8eee0 0 30%,#82b9ac 30% 76%,#4b827c 76%); box-shadow:0 2px 0 #14252d; }
.setting-row input[type=range]:focus-visible { outline:2px solid #f1d6a1; outline-offset:4px; }
@media(hover:hover) and (pointer:fine) {
  :is(.game-nav,.game-mobile-nav,.lobby-quick-modes) button>.game-icon { transition:transform 140ms ease,opacity 140ms ease; }
  :is(.game-nav,.game-mobile-nav,.lobby-quick-modes) button:hover>.game-icon { transform:translateY(-2px); opacity:1; }
}
@media(max-width:700px) {
  .game-shell .page-heading:has(>.button) { flex-wrap:wrap; }
  .game-shell .page-heading:has(>.button)>div { flex:1 1 240px; min-width:0; }
  .game-shell .page-heading>.button { width:auto; min-width:140px; max-width:100%; padding:10px 14px; }
  .game-shell .game-mark,.game-shell .game-mark>.game-icon { width:27px; height:31px; }
  .game-shell .game-wallet>.game-icon { width:23px; height:23px; }
  .game-profile-seal>.game-icon { width:25px; height:25px; }
  .game-shell .lobby-play>.game-icon:first-child { width:29px; height:29px; }
  .game-shell :is(.lobby-friends,.lobby-training)>.game-icon:first-child { width:27px; height:27px; }
  .game-shell .lobby-pack-icon>.game-icon { width:31px; height:31px; }
  .game-shell .lobby-standing-emblem>.game-icon { width:34px; height:34px; }
  .game-shell .lobby-card-crest>.game-icon { width:18px; height:18px; }
  .game-shell .lobby-card-stats .game-icon { width:16px; height:16px; }
  .game-arena .arena-icon-button>.game-icon { width:22px; height:22px; }
  .game-arena.has-battle-layout .duel-card-stats small .game-icon { width:12px; height:12px; }
  .game-arena.has-battle-layout .bench-state .game-icon { width:10px; height:10px; }
  .pack-object>span>.game-icon { width:52px; height:60px; }
  .pack-back>b>.game-icon { width:69px; height:77px; }
}
@media(prefers-reduced-motion:reduce) {
  :is(.game-nav,.game-mobile-nav,.lobby-quick-modes) button>.game-icon { transition:none; transform:none!important; }
}
.reduced-motion :is(.game-nav,.game-mobile-nav,.lobby-quick-modes) button>.game-icon { transition:none; transform:none!important; }
@media(forced-colors:active) { .setting-row input[type=checkbox] { appearance:auto; } }
