@layer ui {
  #hud { position:fixed!important; inset:0!important; width:auto!important; height:auto!important; padding:var(--ui-safe-top) var(--ui-safe-right) var(--ui-safe-bottom) var(--ui-safe-left)!important; display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,2.4fr) minmax(0,1fr)!important; grid-template-rows:auto minmax(0,1fr) auto!important; gap:var(--ui-space-3)!important; transform:none!important; zoom:1!important; pointer-events:none!important; z-index:var(--ui-hud)!important; }
  body.menu-open #hud,body.cinema-hud-hidden #hud { display:none!important; }
  #hud>*,#topbar .battleTopWrap>* { min-width:0!important; }
  #topbar,#leftPanel,#rightPanel,#bottomPanel { position:static!important; inset:auto!important; transform:none!important; zoom:1!important; width:auto!important; height:auto!important; min-height:0!important; max-height:none!important; margin:0!important; border-image:none!important; padding:var(--ui-space-3)!important; pointer-events:auto; }
  #topbar { grid-column:1/-1!important; width:min(100%,90rem)!important; justify-self:center!important; background:var(--ui-bg-01)!important; border:1px solid var(--ui-border)!important; display:block!important; }
  .battleTopWrap { width:100%!important; display:grid!important; grid-template-columns:minmax(0,1fr) minmax(15rem,1.5fr) minmax(0,1fr)!important; gap:var(--ui-space-4)!important; }
  .battleSideCard { padding:var(--ui-space-2)!important; border:0!important; background:none!important; box-shadow:none!important; transform:none!important; gap:var(--ui-space-3)!important; }
  .battleAvatar { width:2.75rem!important; height:2.75rem!important; flex:0 0 2.75rem!important; }
  .battleSideInfo { min-width:0!important; flex:1; }
  .battlePlayerName { font:600 var(--ui-body) var(--ui-font)!important; overflow:hidden!important; text-overflow:ellipsis!important; white-space:nowrap!important; padding:0!important; background:none!important; border:0!important; color:var(--ui-text)!important; animation:none!important; box-shadow:none!important; text-shadow:none!important; }
  .battlePlayerName::before,.battlePlayerName::after { display:none!important; }
  .battleLifeMeta { font-size:var(--ui-micro)!important; gap:var(--ui-space-2)!important; }
  .battleLifeMeta span { white-space:normal!important; font-size:var(--ui-micro)!important; color:var(--ui-text-secondary)!important; }
  .battleCenterHud { display:grid!important; grid-template-columns:1fr auto!important; gap:var(--ui-space-2)!important; align-items:center!important; }
  #uiTurnStatus { grid-column:1; grid-row:1; }
  #timeLabel { grid-column:2; grid-row:1; font:600 var(--ui-title) var(--ui-font)!important; color:var(--ui-text)!important; width:auto!important; height:auto!important; background:none!important; border:0!important; box-shadow:none!important; text-shadow:none!important; }
  .battleCenterMeta { grid-column:1/-1; display:flex!important; flex-wrap:wrap!important; gap:var(--ui-space-2)!important; justify-content:flex-start!important; }
  .battleMetaPill { font-size:var(--ui-caption)!important; padding:var(--ui-space-1) var(--ui-space-2)!important; border:0!important; background:none!important; }
  .battleHiddenMeta { display:none!important; }
  #freeCameraBtn,#cardsVisibilityBtn { min-height:1.75rem!important; font-size:var(--ui-caption)!important; padding:var(--ui-space-1) var(--ui-space-2)!important; }
  #leftPanel { display:block!important; grid-column:1!important; grid-row:3!important; align-self:end!important; background:var(--ui-bg-01)!important; max-height:32dvh!important; overflow:auto!important; }
  #leftPanel>.section-title,#leftPanel>.box:not(#selectedInfo) { display:none!important; }
  #selectedInfo { display:block!important; padding:0!important; margin:0!important; min-height:0!important; max-height:none!important; overflow:visible!important; border:0!important; background:none!important; }
  #selectedInfo .hint { font-size:var(--ui-caption)!important; }
  #selectedInfo h3 { margin:var(--ui-space-2) 0!important; }
  #rightPanel { display:block!important; grid-column:3!important; grid-row:3!important; align-self:end!important; max-height:26dvh!important; overflow:auto!important; background:var(--ui-bg-01)!important; }
  #rightPanel .logHeader { display:flex!important; justify-content:space-between!important; align-items:center!important; gap:var(--ui-space-2)!important; }
  #rightPanel.collapsed #log,#rightPanel.collapsed #logTabs { display:none!important; }
  #log { max-height:17dvh!important; overflow:auto!important; font-size:var(--ui-caption)!important; }
  .logItem { color:var(--ui-text-secondary)!important; font-size:var(--ui-caption)!important; line-height:1.45!important; }
  #bottomPanel { display:flex!important; flex-direction:column!important; grid-column:2!important; grid-row:3!important; align-self:end!important; gap:var(--ui-space-2)!important; background:var(--ui-bg-01)!important; max-width:48rem!important; width:100%!important; justify-self:center!important; overflow:visible!important; }
  #bottomPanel>.section-title { display:none!important; }
  #uiNextAction { display:flex; align-items:center; justify-content:space-between; gap:var(--ui-space-3); font-size:var(--ui-label); color:var(--ui-text-secondary); pointer-events:auto!important; }
  #uiCancelSelection { min-height:1.8rem!important; padding:var(--ui-space-1) var(--ui-space-2)!important; }
  #cards,#cards.wheelMode { display:flex!important; align-items:stretch!important; justify-content:center!important; gap:var(--ui-space-2)!important; width:100%!important; height:auto!important; min-height:0!important; padding:0!important; overflow:visible!important; transform:none!important; perspective:none!important; }
  #cards .card { position:relative!important; inset:auto!important; transform:none!important; flex:1 1 0!important; min-width:0!important; max-width:8rem!important; width:auto!important; height:auto!important; min-height:0!important; max-height:none!important; margin:0!important; padding:var(--ui-space-2)!important; z-index:auto!important; cursor:pointer; animation:none!important; filter:none!important; }
  #cards .card:hover:not(.disabled),#cards .card.active { transform:none!important; }
  #cards .card::before { display:none!important; }
  #cards .cardPreview { height:3.25rem!important; min-height:0!important; margin:0 0 var(--ui-space-1)!important; }
  #cards .card h3 { font-size:var(--ui-caption)!important; line-height:1.25!important; min-height:2.5em!important; height:auto!important; margin:0!important; white-space:normal!important; }
  #cards .card .type { font-size:var(--ui-micro)!important; color:var(--ui-text-secondary)!important; }
  #cards .card p { display:none!important; }
  #cards .card .cardInfoBtn { position:absolute!important; top:var(--ui-space-1)!important; right:var(--ui-space-1)!important; width:1.5rem!important; height:1.5rem!important; min-height:1.5rem!important; padding:0!important; font-size:var(--ui-caption)!important; }
  #deckActionBar { display:grid!important; grid-template-columns:auto minmax(0,1fr) auto!important; align-items:center!important; gap:var(--ui-space-2)!important; position:static!important; margin:0!important; padding-top:var(--ui-space-2)!important; border-top:1px solid var(--ui-border)!important; width:100%!important; height:auto!important; transform:none!important; }
  #drawBtn,#endTurnBtn { width:auto!important; height:auto!important; min-width:0!important; min-height:2.5rem!important; font-size:var(--ui-label)!important; transform:none!important; background-image:none!important; }
  #endTurnBtn { min-width:8rem!important; max-width:none!important; white-space:nowrap!important; }
  #drawBtn img,#drawBtn::before,#drawBtn::after,#endTurnBtn::before,#endTurnBtn::after { display:none!important; }
  #gameDeckCountLabel { font-size:var(--ui-caption)!important; text-align:center!important; white-space:normal!important; color:var(--ui-text-secondary)!important; }
  #endTurnBtn[data-recommended="true"] { outline:2px solid var(--ui-accent); outline-offset:2px; }
  body.cards-hud-hidden #cards { display:none!important; }
  body.cards-hud-hidden #bottomPanel { transform:none!important; }
  #gameOptions { z-index:var(--ui-context)!important; top:calc(var(--ui-safe-top) + 7rem)!important; right:var(--ui-safe-right)!important; transform:none!important; }
  #gameOptionsBtn { width:auto!important; max-width:none!important; min-width:5rem!important; height:auto!important; min-height:2.5rem!important; font-size:var(--ui-label)!important; white-space:nowrap!important; }
  #gameOptionsMenu { position:fixed!important; top:50%!important; left:50%!important; right:auto!important; bottom:auto!important; transform:translate(-50%,-50%)!important; z-index:var(--ui-modal)!important; }
  body:has(#gameOptions.open) #gameOptions { z-index:var(--ui-modal)!important; }
  body.game-options-open:not(.menu-open):not(.auth-locked)::before { z-index:var(--ui-backdrop)!important; backdrop-filter:none!important; }
  body:not(.menu-open) #globalChatWidget { left:var(--ui-safe-left)!important; bottom:auto!important; top:calc(var(--ui-safe-top) + 7rem)!important; width:auto!important; transform:none!important; }
  body:not(.menu-open) .globalChatToggle { width:auto!important; min-width:7rem!important; height:2.5rem!important; min-height:2.5rem!important; }
  body:not(.menu-open) .globalChatPanel { position:absolute!important; top:100%!important; left:0!important; bottom:auto!important; }
  #roundCounter.turnSignal { z-index:var(--ui-notice)!important; font-family:var(--ui-font)!important; font-size:var(--ui-title)!important; border-radius:var(--ui-radius-2)!important; text-shadow:none!important; background:var(--ui-bg-01)!important; }
  body.match-ended #leftPanel,body.match-ended #rightPanel,body.match-ended #bottomPanel { display:none!important; }
  @media(max-width:1100px),(max-height:650px) {
    #hud { grid-template-columns:minmax(0,1fr) minmax(0,3fr)!important; gap:var(--ui-space-2)!important; }
    #topbar { padding:var(--ui-space-2)!important; }
    .battleTopWrap { grid-template-columns:minmax(0,1fr) minmax(13rem,1.6fr) minmax(0,1fr)!important; gap:var(--ui-space-2)!important; }
    .battleAvatar,.battleLifeMeta span,.globalClockPill { display:none!important; }
    #rightPanel { grid-column:1!important; grid-row:2!important; align-self:end!important; }
    #leftPanel { grid-column:1!important; grid-row:3!important; }
    #bottomPanel { grid-column:2!important; }
    #cards .cardPreview { height:2rem!important; }
    #cards .card .type { display:none!important; }
    #gameOptions { top:calc(var(--ui-safe-top) + 6.5rem)!important; }
  }
  @media(max-width:700px) {
    #hud { grid-template-columns:minmax(0,1fr)!important; }
    #bottomPanel { grid-column:1!important; }
    #leftPanel,#rightPanel { display:none!important; }
    .battleTopWrap { grid-template-columns:1fr 1fr!important; }
    .battleCenterHud { grid-column:1/-1!important; grid-row:1!important; }
    .battleSideCard { grid-row:2!important; }
    #uiNextAction { font-size:var(--ui-caption); }
  }
  @media(max-height:500px) {
    #hud { padding:var(--ui-space-2)!important; gap:var(--ui-space-1)!important; }
    #cards .cardPreview { display:none!important; }
    #cards .card h3 { font-size:var(--ui-caption)!important; }
    .battleLifeMeta,#freeCameraBtn { display:none!important; }
    #bottomPanel,#leftPanel { padding:var(--ui-space-2)!important; }
  }
}
