/* The normal artwork, spacing and typography remain the design baseline. */
.a11y-text-probe{position:fixed;left:-100px;top:0;width:1rem;height:1rem;visibility:hidden;pointer-events:none}
.a11y-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.a11y-only:focus-visible{position:fixed!important;inset:auto 12px 12px;z-index:90;width:auto;height:auto;min-height:48px;margin:0;padding:12px 16px;clip-path:none;white-space:normal;background:#003e2e;color:#fff9e8;border:2px solid var(--gold);border-radius:14px}
.icon-btn,.profile-shortcut{position:relative}
.icon-btn::after,.profile-shortcut::after{content:'';position:absolute;left:50%;top:50%;width:48px;height:48px;transform:translate(-50%,-50%)}
body[data-page=game] .your-hand .hand-card:focus-visible{outline:2px solid #fff9e8;outline-offset:2px;z-index:101!important}
.attack-target:focus-visible,.table-transfer-target:focus-visible{outline:2px solid #fff9e8;outline-offset:3px}
.game-dialog{max-height:calc(var(--visual-height,100dvh) - 24px)}
/* Explicit large controls / 150–200% text, system text enlargement, or a
   very short window: reflow instead of shrinking or hiding game information. */
html[data-readable=true]{--a11y-unit:calc(1rem * var(--text-factor,1));height:auto!important;min-height:100%;overflow-y:auto!important}
html[data-readable=true] body,html[data-readable=true] body[data-page=game] #app{height:auto!important;min-height:100dvh;overflow:visible!important;font-size:var(--a11y-unit)}
html[data-readable=true] :is(button,input,select,p,small,strong,label,legend,time,h1,h2,span,li):not(.card *):not(.sr-only){font-size:var(--a11y-unit)!important;line-height:1.4!important;overflow-wrap:anywhere}
html[data-readable=true] :is(h1,.setup-title h1){font-size:calc(var(--a11y-unit)*1.8)!important;line-height:1.1!important;letter-spacing:-.035em}
html[data-readable=true] h2{font-size:calc(var(--a11y-unit)*1.35)!important}
html[data-readable=true] :is(small,.eyebrow,.pill,.small-note){font-size:calc(var(--a11y-unit)*.875)!important}
html[data-readable=true] .durava-logo{font-size:calc(var(--a11y-unit)*1.7)!important}
html[data-readable=true] :is(button,select,input,[role=button]){min-width:48px;min-height:48px;height:auto;white-space:normal}
html[data-readable=true] .shell{height:auto!important;min-height:100dvh;padding:12px 16px 100px!important;width:100%;max-width:640px}
html[data-readable=true] :is(.home-screen,.table-setup,.content){height:auto;min-height:0;width:100%;display:flex;flex-direction:column;gap:16px}
html[data-readable=true] :is(.home-header,.screen-header,.game-header){height:auto;min-height:56px;flex-wrap:wrap;gap:12px}
html[data-readable=true] .language-switch{margin-left:0}
html[data-readable=true] .language-switch button{min-width:56px}
html[data-readable=true] .home-hero{flex:none;min-height:260px}
html[data-readable=true] .home-hero p{position:relative;inset:auto;margin:220px 12px 12px}
html[data-readable=true] .home-screen h1{margin:12px 0}
html[data-readable=true] :is(.btn,.learn-link,.resume-new,.more-rules,.variant-option,.player-tile){height:auto!important;min-height:56px;padding:12px!important}
html[data-readable=true] .quick-play>svg{position:static;flex:none}
html[data-readable=true] :is(.private-option,.setting-row,.variant-option,.profile-hero){height:auto;align-items:flex-start;flex-wrap:wrap;gap:12px}
html[data-readable=true] :is(.player-tiles,.deck-segments,.profile-filters,.stat-grid){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));height:auto;gap:8px}
html[data-readable=true] .setting-row{flex-direction:column;align-items:stretch}
html[data-readable=true] :is(.setting-row select,.private-option select,.identity-input){width:100%;max-width:100%;min-width:0}
html[data-readable=true] .profile-hero .pill{margin-left:0}
html[data-readable=true] .leaderboard li{flex-wrap:wrap;display:flex;gap:12px}
html[data-readable=true] .leaderboard li>strong{min-width:0;flex:1}
html[data-readable=true] .history li{flex-wrap:wrap}
html[data-readable=true] .durava-nav{height:auto;position:relative;padding:0 16px 12px}
html[data-readable=true] .nav-inner{flex-wrap:wrap;height:auto}
html[data-readable=true] body[data-page=game] .game-shell{padding-bottom:16px!important}
html[data-readable=true] body[data-page=game] .game{display:flex;flex-direction:column;gap:16px;min-height:0}
html[data-readable=true] :is(.table-info,.opponents,.deck-strip,.turn-block){height:auto!important;min-height:0;flex-wrap:wrap;gap:12px}
html[data-readable=true] .opponents{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}
html[data-readable=true] .seat{justify-content:flex-start!important;min-width:0;min-height:56px;flex-wrap:wrap}
html[data-readable=true] .seat-info{gap:4px}
html[data-readable=true] .seat-info :is(strong,span){white-space:normal;overflow:visible}
html[data-readable=true] .seat-info [data-count-short]::after{content:''}
html[data-readable=true] .role-mark{height:auto;max-width:100%;padding:4px 8px;white-space:normal}
html[data-readable=true] .role-icon{width:20px;height:20px;flex:none}
html[data-readable=true] .turn-copy{min-width:0;flex:1 1 100%}
html[data-readable=true] .turn-copy p{max-height:none!important;white-space:normal;overflow:visible}
html[data-readable=true] .attack-count{margin:0}
html[data-readable=true] .felt{flex:none;min-height:0;overflow:visible;padding:0}
html[data-readable=true] .table-zone{height:auto;min-height:0;padding:0}
html[data-readable=true] .table-pairs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));grid-template-rows:none;grid-auto-rows:auto;gap:16px;--table-card-w:76px;--table-offset-x:46px;--table-offset-y:18px}
html[data-readable=true] .table-pair{height:calc(132px + var(--a11y-unit)*3)!important;width:140px!important;max-width:100%;display:block!important;justify-self:center}
html[data-readable=true] .empty-slot{display:none!important}
html[data-readable=true] .table-pair .card{height:114px!important;aspect-ratio:2/3}
html[data-readable=true] .table-pair .attack-target{min-width:76px;min-height:114px;padding:0}
html[data-readable=true] .defense-card{position:absolute!important;left:46px!important;top:18px!important}
html[data-readable=true] .target-label{display:block!important;top:132px!important;white-space:normal;max-width:140px}
html[data-readable=true] .table-transfer-target{height:auto;min-height:114px;width:100%}
html[data-readable=true] .your-hand{height:auto!important;--hand-card-w:96px!important;--hand-step:104px!important;--hand-face-h:144px!important;--hand-button-h:152px!important;--hand-area-h:176px!important;--hand-heading-h:auto!important}
html[data-readable=true] .your-hand .hand-heading{height:auto;min-height:48px;flex-wrap:wrap}
html[data-readable=true] .hand-heading strong{overflow:visible;white-space:normal;flex-wrap:wrap}
html[data-readable=true] .your-hand .hand-title{white-space:normal;overflow:visible}
html[data-readable=true] .your-hand .hand-scroll{height:176px;width:100%;margin:0;touch-action:pan-y}
html[data-readable=true] .your-hand .hand-cards{max-width:none;justify-content:flex-start;gap:0}
html[data-readable=true] .your-hand .hand-card{flex:0 0 104px!important;width:104px!important;height:152px!important}
html[data-readable=true] .your-hand .hand-card>.card{transform:none;aspect-ratio:2/3!important}
html[data-readable=true] .your-hand.flat-hand .card.art .card-image{inset:0;width:100%;height:100%;transform:none;object-fit:cover}
html[data-readable=true] .your-hand .selected-card-note{height:auto;min-height:0;white-space:normal;overflow:visible;line-height:1.4;margin-top:8px}
html[data-readable=true] .game-actions{grid-template-columns:1fr!important;height:auto;gap:10px}
html[data-readable=true] .game-actions>.btn{height:auto!important;min-height:56px;white-space:normal}
html[data-readable=true] :is(.round-progress strong,.round-progress small){white-space:normal;overflow:visible}
html[data-readable=true] .warning{position:static!important;max-height:none!important;white-space:normal!important}
html[data-readable=true] .game-dialog{width:calc(100% - 24px);max-width:640px;margin:auto;padding:16px}
html[data-readable=true] .section-heading{flex-wrap:wrap}
html[data-readable=true] :is(.result,.match-finale,.pause-overlay){position:relative!important;inset:auto!important;height:auto;min-height:0;padding:20px}
html[data-readable=true] :is(.moment-intro,.last-card-moment){overflow-y:auto;height:100dvh;display:flex;flex-direction:column;gap:16px;padding:16px}
html[data-readable=true] :is(.moment-story,.last-card-story){flex:none;min-height:0;display:flex;flex-direction:column;gap:16px}
html[data-readable=true] .moment-fan{min-height:180px}
html[data-readable=true] .moment-bottom{position:static;flex:none}
html[data-readable=true] .moment-matchup{flex-wrap:wrap}
html[data-readable=true] .match-summary{flex-wrap:wrap}
html[data-readable=true] body[data-page=game] .table-info{flex-direction:column;align-items:stretch}
html[data-readable=true] body[data-page=game] .deck-strip{border-left:0;border-top:1px solid #fff3;padding:12px 0 0;margin:0;justify-content:flex-start}
html[data-readable=true] body[data-page=game] .turn-block{display:block}
html[data-readable=true] body[data-page=game] .turn-copy strong{white-space:normal;overflow:visible}
html[data-readable=true] body[data-page=game] .attack-count{display:inline-flex;flex-wrap:wrap;gap:4px;margin-top:12px}
html[data-readable=true] body[data-page=game] .table-pairs{height:auto}
html[data-readable=true] body[data-page=game] .your-hand{align-self:stretch;width:100%;min-width:0}
html[data-readable=true] body[data-page=game] .seat-role .role-label{display:inline;overflow:visible}
html[data-readable=true] body[data-page=game] .seat-info [data-count-short]::after{content:' Karten'}
html[lang=ru][data-readable=true] body[data-page=game] .seat-info [data-count-short]::after{content:' карт'}
html[data-readable=true] body[data-page=game] :is(.table-pair,.hand-card) .card-image{inset:0;width:100%;height:100%;transform:none;object-fit:contain;clip-path:none}
html[data-readable=true] body[data-page=game] :is(.table-pair,.hand-card) .card-artwork{opacity:0}

[data-focus]:focus-visible{outline:2px solid #fff9e8;outline-offset:4px;border-radius:4px}
