/* Clash Arena V2 — components. Original CSS shapes inspired by the game's chunky, bevelled UI. */

/* ---------- Buttons: bevelled "game" buttons with a physical press ---------- */
.v2-btn{--btn-mat:var(--v2-mat-plate);--btn-ink:var(--v2-plate-ink);--btn-edge:#2a1d10;--btn-depth:#6f6452;
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.62em 1.35em;
  border:2px solid var(--btn-edge);border-radius:14px;background:var(--btn-mat);color:var(--btn-ink);
  font:700 1.02rem/1.05 var(--v2-display);letter-spacing:.02em;text-decoration:none;white-space:nowrap;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.55),inset 0 -3px 0 rgba(0,0,0,.18),0 4px 0 var(--btn-depth),0 8px 16px rgba(0,0,0,.35);
  transition:transform var(--v2-fast) var(--v2-ease),box-shadow var(--v2-fast) var(--v2-ease),filter var(--v2-fast);
  -webkit-tap-highlight-color:transparent;user-select:none;cursor:pointer}
.v2-btn>*{position:relative}
.v2-btn::after{content:"";position:absolute;inset:3px 6px auto;height:38%;border-radius:10px 10px 18px 18px;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0));pointer-events:none}
.v2-btn:hover{filter:brightness(1.06) saturate(1.05);color:var(--btn-ink)}
.v2-btn:active,.v2-btn.is-pressed{transform:translateY(3px);box-shadow:inset 0 2px 0 rgba(255,255,255,.4),inset 0 -2px 0 rgba(0,0,0,.2),0 1px 0 var(--btn-depth),0 3px 8px rgba(0,0,0,.35)}
.v2-btn[disabled],.v2-btn[aria-disabled=true]{filter:grayscale(.85) brightness(.7);cursor:not-allowed;transform:none}
.v2-btn.v2-btn-go,.v2-btn.v2-btn-go:hover{--btn-mat:var(--v2-mat-go);--btn-ink:#fff;--btn-depth:#15120d;background:transparent url("./art/icons/iron-go-button.webp") center/100% 100% no-repeat;border-color:transparent;box-shadow:none;text-shadow:0 2px 0 rgba(0,0,0,.8),0 0 1px #0b0806}
.v2-btn-go::after{display:none}
.v2-btn-gold{--btn-mat:var(--v2-mat-gold);--btn-ink:#3a2306;--btn-depth:#6d4512}
.v2-btn-danger{--btn-mat:var(--v2-mat-danger);--btn-ink:#fff;--btn-depth:#651510;text-shadow:0 2px 0 rgba(80,10,6,.8)}
.v2-btn-quiet{--btn-mat:linear-gradient(180deg,#3a2f25,#271f18);--btn-ink:var(--v2-text);--btn-edge:#0e0a07;--btn-depth:#0b0806;border-color:#0e0a07}
.v2-btn-quiet::after{background:linear-gradient(180deg,rgba(255,236,190,.12),rgba(255,255,255,0))}
.v2-btn-lg{min-height:62px;padding:.7em 1.8em;font-size:clamp(1.15rem,2.4vw,1.45rem);border-radius:18px}
.v2-btn-sm{min-height:40px;padding:.45em .95em;font-size:.9rem;border-radius:11px}
.v2-btn-block{display:flex;width:100%;white-space:normal;text-align:center}
@media (max-width:480px){.v2-btn{white-space:normal;text-align:center;max-width:100%}}
.v2-btn img{width:1.8em;height:1.8em;object-fit:contain;filter:drop-shadow(0 2px 0 rgba(0,0,0,.35))}
.v2-btn.is-busy{pointer-events:none}
.v2-btn.is-busy::before{content:"";width:1em;height:1em;border-radius:50%;border:3px solid currentColor;border-right-color:transparent;animation:v2-spin .8s linear infinite}

/* Red square close button (rebuilt from the reference, not copied) */
.v2-close{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;padding:0;border:2px solid #3b0c08;border-radius:12px;background:var(--v2-mat-danger);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -3px 0 rgba(0,0,0,.2),0 3px 0 #5a120c;transition:transform var(--v2-fast)}
.v2-close::before{content:"";width:18px;height:18px;background:#fff;clip-path:polygon(18% 0,50% 32%,82% 0,100% 18%,68% 50%,100% 82%,82% 100%,50% 68%,18% 100%,0 82%,32% 50%,0 18%);filter:drop-shadow(0 2px 0 #6b120c)}
.v2-close:active{transform:translateY(2px)}

/* ---------- Panels: forged frames ---------- */
.v2-panel{position:relative;border-radius:var(--v2-r-lg);background:var(--v2-mat-panel);border:1px solid var(--v2-stone-edge);box-shadow:var(--v2-shadow-1);padding:clamp(18px,2.6vw,30px)}
.v2-panel::before{content:"";position:absolute;inset:6px;border-radius:calc(var(--v2-r-lg) - 6px);border:1px solid var(--v2-stone-line);pointer-events:none}
.v2-panel-gold{border-color:rgba(242,195,95,.55);box-shadow:var(--v2-shadow-2),0 0 0 1px rgba(0,0,0,.6)}
.v2-panel-gold::before{border-color:rgba(255,231,168,.18)}
.v2-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:clamp(14px,2vw,20px)}
.v2-panel-title{display:flex;align-items:center;gap:12px;font:700 var(--v2-fs-h3)/1.1 var(--v2-display)}
.v2-panel-title img{width:36px;height:36px;object-fit:contain}

/* Light plate (game "parchment" plate) */
.v2-plate{border-radius:var(--v2-r-md);background:var(--v2-mat-plate);color:var(--v2-plate-ink);border:2px solid #2a1d10;box-shadow:inset 0 2px 0 #fff,inset 0 -3px 0 rgba(0,0,0,.12),0 4px 0 #5f5546}

/* ---------- Tabs: plate segments (active = bright plate) ---------- */
.v2-tabs{display:flex;gap:8px;padding:6px;border-radius:18px;background:rgba(0,0,0,.35);border:1px solid var(--v2-stone-edge);overflow-x:auto;scrollbar-width:none}
.v2-tabs::-webkit-scrollbar{display:none}
.v2-tab{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:46px;padding:.4em 1em;border-radius:12px;border:2px solid #241a10;
  background:var(--v2-mat-plate-dim);color:#fff;font:700 .98rem/1 var(--v2-display);text-shadow:0 2px 0 rgba(0,0,0,.45);box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 3px 0 #4a4235;text-decoration:none;white-space:nowrap}
.v2-tab img{width:24px;height:24px}
.v2-tab img[data-icon="player"]{width:30px;height:30px;padding:4px;border-radius:50%;background:#444546;box-shadow:inset 0 1px 2px rgba(0,0,0,.5)}
.v2-tab[aria-selected=true],.v2-tab.is-active,.v2-tab[aria-pressed=true]{background:var(--v2-mat-plate);color:var(--v2-plate-ink);text-shadow:none;box-shadow:inset 0 2px 0 #fff,0 3px 0 #6f6452}

/* ---------- Chips / badges ---------- */
.v2-chip{display:inline-flex;align-items:center;gap:.4em;min-height:28px;padding:.25em .7em;border-radius:var(--v2-r-pill);background:rgba(255,236,190,.08);border:1px solid rgba(255,236,190,.16);color:var(--v2-text-2);font:700 .86rem/1 var(--v2-body);letter-spacing:.04em;white-space:nowrap}
.v2-chip-gold{background:rgba(242,195,95,.14);border-color:rgba(242,195,95,.45);color:var(--v2-gold-hi)}
.v2-chip-go{background:rgba(124,204,60,.14);border-color:rgba(124,204,60,.45);color:var(--v2-go-hi)}
.v2-chip-danger{background:rgba(224,72,62,.15);border-color:rgba(224,72,62,.5);color:var(--v2-danger-hi)}
.v2-chip-live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--v2-danger-hi);box-shadow:0 0 0 0 rgba(255,125,110,.7);animation:v2-ping 1.6s infinite}

/* ---------- Fields ---------- */
.v2-field{display:grid;gap:7px}
.v2-label{font:800 .85rem/1 var(--v2-body);letter-spacing:.12em;text-transform:uppercase;color:var(--v2-text-2)}
.v2-input,.v2-select{width:100%;min-height:50px;padding:.7em .95em;border-radius:14px;border:2px solid #0d0906;background:linear-gradient(180deg,#120d0a,#1d1712);color:var(--v2-text);
  box-shadow:inset 0 3px 8px rgba(0,0,0,.55),0 1px 0 rgba(255,236,190,.08);transition:border-color var(--v2-fast),box-shadow var(--v2-fast)}
.v2-input::placeholder{color:var(--v2-text-3)}
.v2-input:focus,.v2-select:focus{outline:none;border-color:var(--v2-gold);box-shadow:inset 0 3px 8px rgba(0,0,0,.55),0 0 0 3px rgba(242,195,95,.25)}
.v2-input[aria-invalid=true]{border-color:var(--v2-danger)}
.v2-select{appearance:none;padding-right:2.6em;background-image:linear-gradient(180deg,#120d0a,#1d1712),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 7l5 6 5-6' fill='none' stroke='%23f2c35f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:0 0,right 14px center;background-size:auto,18px}
.v2-select option{background:#1d1712;color:var(--v2-text)}
.v2-help{font-size:.94rem;color:var(--v2-text-3)}
.v2-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.92rem;color:var(--v2-text-2)}
.v2-check input{appearance:none;flex:0 0 auto;width:26px;height:26px;margin:0;border-radius:8px;border:2px solid #0d0906;background:linear-gradient(180deg,#120d0a,#1d1712);box-shadow:inset 0 2px 5px rgba(0,0,0,.6);display:grid;place-items:center;cursor:pointer}
.v2-check input::after{content:"";width:13px;height:8px;border:solid #fff;border-width:0 0 4px 4px;transform:rotate(-45deg) scale(0);transform-origin:center;margin-top:-3px;transition:transform var(--v2-fast) var(--v2-ease-pop)}
.v2-check input:checked{background:var(--v2-mat-go);border-color:#20460a}
.v2-check input:checked::after{transform:rotate(-45deg) scale(1)}

/* Switch (only used where a real setting exists) */
.v2-switch{position:relative;display:inline-flex;align-items:center;gap:12px;cursor:pointer}
.v2-switch input{appearance:none;width:64px;height:34px;margin:0;border-radius:99px;border:2px solid #0d0906;background:#57514a;box-shadow:inset 0 3px 6px rgba(0,0,0,.5);cursor:pointer;transition:background var(--v2-mid)}
.v2-switch input::before{content:"";position:absolute;width:38px;height:38px;margin:-4px 0 0 -6px;border-radius:50%;border:2px solid #111;background:radial-gradient(circle at 50% 35%,#fff,#d9d6d0 70%);box-shadow:0 2px 0 rgba(0,0,0,.4);transition:transform var(--v2-mid) var(--v2-ease-pop)}
.v2-switch input:checked{background:var(--v2-mat-go)}
.v2-switch input:checked::before{transform:translateX(32px)}

/* ---------- Selectable cards (modes, Town Hall, lineup) ---------- */
.v2-pick{position:relative;display:block;cursor:pointer;-webkit-tap-highlight-color:transparent}
.v2-pick>input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2}
.v2-pick-face{position:relative;display:grid;gap:8px;height:100%;padding:14px;border-radius:18px;border:2px solid #0e0a07;background:linear-gradient(180deg,#2b221a,#1b1511);
  box-shadow:inset 0 1px 0 rgba(255,236,190,.1),0 4px 0 #0b0806;transition:transform var(--v2-fast) var(--v2-ease),border-color var(--v2-fast),background var(--v2-fast),box-shadow var(--v2-fast)}
.v2-pick:hover .v2-pick-face{transform:translateY(-2px);border-color:var(--v2-stone-edge)}
.v2-pick>input:focus-visible+.v2-pick-face{outline:3px solid var(--v2-gold-hi);outline-offset:3px}
.v2-pick>input:checked+.v2-pick-face{border-color:var(--v2-gold);background:linear-gradient(180deg,#4a3519,#2a1e10);box-shadow:inset 0 1px 0 rgba(255,231,168,.35),0 4px 0 #3e280b,0 0 0 1px rgba(0,0,0,.5),0 0 26px rgba(242,195,95,.25)}
.v2-pick>input:checked+.v2-pick-face::after{content:"";position:absolute;top:-10px;right:-10px;width:30px;height:30px;border-radius:50%;border:2px solid #1f3d08;background:var(--v2-mat-go) ;box-shadow:0 2px 0 #1f3d08;
  -webkit-mask:none}
.v2-pick>input:checked+.v2-pick-face::before{content:"";position:absolute;z-index:1;top:-1px;right:0;width:12px;height:7px;border:solid #fff;border-width:0 0 3px 3px;transform:rotate(-45deg)}
.v2-pick>input:disabled+.v2-pick-face{opacity:.45;filter:grayscale(.6);cursor:not-allowed}

/* ---------- Avatars, crests, emblems ---------- */
.v2-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--v2-mat-gold);color:#3a2306;font:700 .92rem/1 var(--v2-display);box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 2px 0 #6d4512}
.v2-crest{position:relative;display:grid;place-items:center;width:var(--size,72px);aspect-ratio:1;border-radius:22%;background:radial-gradient(circle at 50% 30%,#3c2f22,#1a140f);border:2px solid rgba(242,195,95,.5);box-shadow:0 0 0 3px rgba(0,0,0,.45),0 8px 18px rgba(0,0,0,.45);overflow:hidden}
.v2-crest img{width:86%;height:86%;object-fit:contain}
.v2-crest b{font:700 calc(var(--size,72px)*.36)/1 var(--v2-display);color:var(--v2-gold-hi)}
.v2-emblem{width:var(--size,64px);height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}

/* ---------- Stat tiles ---------- */
.v2-stat{display:grid;gap:4px;min-width:0;padding:14px 16px;border-radius:16px;background:rgba(0,0,0,.28);border:1px solid var(--v2-stone-line)}
.v2-stat b{font:700 clamp(1.4rem,3vw,2rem)/1 var(--v2-display);color:var(--v2-gold-hi);font-variant-numeric:tabular-nums}
.v2-stat small{font:700 .82rem/1.2 var(--v2-body);letter-spacing:.12em;text-transform:uppercase;color:var(--v2-text-3);overflow-wrap:anywhere;hyphens:auto}

/* ---------- States: loading, empty, error ---------- */
.v2-skel{display:block;border-radius:12px;background:linear-gradient(100deg,rgba(255,236,190,.05) 30%,rgba(255,236,190,.12) 50%,rgba(255,236,190,.05) 70%) 0 0/300% 100%;animation:v2-shimmer 1.4s linear infinite;min-height:1em}
.v2-state{display:grid;justify-items:center;gap:12px;padding:clamp(22px,4vw,40px) 18px;text-align:center;border-radius:20px;border:1px dashed rgba(255,236,190,.18);background:rgba(0,0,0,.2);color:var(--v2-text-2)}
.v2-state img{width:64px;height:64px;object-fit:contain;opacity:.95}
.v2-state h3{font:700 1.15rem/1.15 var(--v2-display);color:var(--v2-text)}
.v2-state.is-error{border-color:rgba(224,72,62,.45);background:rgba(224,72,62,.07)}
.v2-alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;border:1px solid rgba(242,195,95,.4);background:rgba(242,195,95,.08);color:var(--v2-text)}
.v2-alert img{width:30px;height:30px;flex:0 0 auto}
.v2-alert.is-error{border-color:rgba(224,72,62,.5);background:rgba(224,72,62,.1)}
.v2-alert.is-ok{border-color:rgba(124,204,60,.5);background:rgba(124,204,60,.1)}

/* ---------- Popovers (details) ---------- */
[data-v2-popover]{position:relative}
[data-v2-popover]>summary{list-style:none;cursor:pointer}
[data-v2-popover]>summary::-webkit-details-marker{display:none}
.v2-menu,.v2-lang form{position:absolute;z-index:60;top:calc(100% + 10px);right:0;min-width:220px;max-width:min(320px,calc(100vw - 24px));display:grid;gap:4px;padding:8px;border-radius:18px;background:linear-gradient(180deg,#2b2219,#1a140f);border:1px solid var(--v2-stone-edge);box-shadow:var(--v2-shadow-2);animation:v2-pop var(--v2-mid) var(--v2-ease-pop)}
.v2-menu-item,.v2-lang form button{display:flex;align-items:center;gap:12px;min-height:46px;padding:8px 12px;border:0;border-radius:12px;background:none;color:var(--v2-text);text-align:left;text-decoration:none;font-weight:700}
.v2-menu-item img{width:36px;height:36px}
.v2-menu-item:hover,.v2-lang form button:hover,.v2-menu-item.is-active{background:rgba(242,195,95,.12);color:var(--v2-gold-hi)}
.v2-lang form p{padding:8px 12px 4px;font:800 .82rem/1.2 var(--v2-body);letter-spacing:.12em;text-transform:uppercase;color:var(--v2-text-3)}
.v2-lang form button[aria-checked=true]{color:var(--v2-gold-hi);background:rgba(242,195,95,.1)}
.v2-lang form button[aria-checked=true]::after{content:"✓";margin-left:auto}

/* ---------- Dialog / sheet ---------- */
.v2-sheet,.v2-dialog{border:0;padding:0;color:var(--v2-text);background:transparent;max-width:none;max-height:none}
.v2-sheet::backdrop,.v2-dialog::backdrop{background:rgba(5,3,2,.72);backdrop-filter:blur(4px)}
.v2-sheet{position:fixed;inset:auto 0 0 0;width:100%;margin:0;border-radius:26px 26px 0 0;background:linear-gradient(180deg,#2b2219,#16110d);border-top:2px solid rgba(242,195,95,.5);padding:18px var(--v2-gutter) calc(22px + env(safe-area-inset-bottom));max-height:86dvh;overflow:auto}
.v2-sheet[open]{animation:v2-sheet-in var(--v2-mid) var(--v2-ease)}
.v2-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.v2-sheet-head h2{font-size:1.5rem}
.v2-sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.v2-sheet-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:96px;padding:12px;border-radius:18px;background:rgba(0,0,0,.3);border:1px solid var(--v2-stone-line);text-align:center;text-decoration:none;font-weight:700;font-size:.92rem}
.v2-sheet-tile img{width:40px;height:40px;object-fit:contain}
.v2-sheet-tile.is-active{border-color:var(--v2-gold);color:var(--v2-gold-hi)}
.v2-dialog{width:min(560px,calc(100vw - 24px));margin:auto;border-radius:26px;background:linear-gradient(180deg,#2b2219,#17120e);border:2px solid rgba(242,195,95,.5);box-shadow:var(--v2-shadow-2)}
.v2-dialog[open]{animation:v2-pop var(--v2-mid) var(--v2-ease-pop)}
.v2-dialog-body{display:grid;gap:16px;padding:22px}
.v2-dialog-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}

/* ---------- Toasts ---------- */
.v2-toasts{position:fixed;z-index:90;left:50%;bottom:calc(var(--v2-dock-h) + 16px + env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;gap:8px;width:min(480px,calc(100vw - 24px));pointer-events:none}
.v2-toast{padding:12px 16px;border-radius:16px;background:linear-gradient(180deg,#352a1f,#211a13);border:1px solid rgba(242,195,95,.45);box-shadow:var(--v2-shadow-2);font-weight:700;animation:v2-pop var(--v2-mid) var(--v2-ease-pop)}
.v2-toast.is-error{border-color:rgba(224,72,62,.7)}
@media (min-width:1024px){.v2-toasts{bottom:24px}}

/* ---------- Tables → cards on mobile (shared pattern) ---------- */
.v2-table{width:100%;border-collapse:separate;border-spacing:0 6px}
.v2-table th{padding:6px 12px;text-align:left;font:800 .82rem/1 var(--v2-body);letter-spacing:.12em;text-transform:uppercase;color:var(--v2-text-3)}
.v2-table td{padding:12px;background:rgba(0,0,0,.26);border-block:1px solid var(--v2-stone-line)}
.v2-table td:first-child{border-left:1px solid var(--v2-stone-line);border-radius:14px 0 0 14px}
.v2-table td:last-child{border-right:1px solid var(--v2-stone-line);border-radius:0 14px 14px 0}

/* ---------- Row lists (queues, matches, chronicles, archives) ---------- */
.v2-rows{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.v2-rows li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:16px;background:rgba(0,0,0,.26);border:1px solid var(--v2-stone-line)}
.v2-row-main{min-width:0}
.v2-row-main b,.v2-row-main small{display:block;overflow-wrap:anywhere}
.v2-row-main small{color:var(--v2-text-3);font-size:.88rem}
.v2-row-actions{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- Stat strips & tag rows (profiles, account, history) ---------- */
.v2-profile-tag{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;color:var(--v2-text-2);font-weight:700}
.v2-stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:760px){.v2-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.v2-stat-strip .v2-stat b{font-size:clamp(1.15rem,2.4vw,1.6rem);overflow-wrap:anywhere}
.v2-combat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
/* Team battle icon inside green calls to action: slightly larger than text icons, sits on the button edge. */
.v2-btn .v2-btn-icon-battle{width:auto;height:1.9em;margin:-.35em .1em -.35em -.3em;filter:drop-shadow(0 2px 0 rgba(0,0,0,.35))}
/* Header (owner feedback 30 Oct): language flags, profile picture or one uniform profile icon, Clash Bases mark. */
.v2-flag{display:block;flex:0 0 auto;width:24px;height:16px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.18) inset}
.v2-lang>summary .v2-flag{width:28px;height:19px}
.v2-avatar{position:relative;overflow:hidden}
.v2-avatar-icon{width:66%;height:66%;fill:#3a2306;opacity:.9}
.v2-avatar.has-image .v2-avatar-icon{display:none}
.v2-avatar.has-image img{width:100%;height:100%;object-fit:cover}
.v2-avatar.is-broken img{display:none}
.v2-avatar.is-broken .v2-avatar-icon{display:block}
/* Rankings (owner feedback 30 Oct): trophy badge instead of the word "Elo" (alt text keeps "Elo"). */
.v2-trophy{display:inline-block;width:1.05em;height:1.05em;margin-left:.22em;object-fit:contain;vertical-align:-.14em;filter:drop-shadow(0 2px 0 rgba(0,0,0,.45))}
.v2-lang>summary{min-width:44px;justify-content:center}

/* Small text links (breadcrumbs, footer) get a 44 px touch area without moving the layout. */
.v2-crumbs a,.v2-footer nav a{position:relative}
.v2-crumbs a::after,.v2-footer nav a::after{content:"";position:absolute;inset:-12px -6px;min-height:44px}
