/* P2.1/P2.2/P2.12: presentation roles only; no form, route or Core ownership. */
:root{
 --ax-control-utility:44px;
 --ax-control-regular:46px;
 --ax-control-large:54px;
 --ax-focus-ring:var(--ax-focus,#3265de);
 --ax-focus-ring-offset:4px;
 --ax-focus-ring-width:3px;
 --ax-flow-ease:cubic-bezier(.22,1,.36,1);
}
html[data-theme="dark"]{--ax-focus-ring:var(--ax-focus,#8db4ff)}

/* Existing roles: preserve Hero and compact/mobile exceptions. */
html .ax-header.ax-header--shared :is(.ax-header-telegram,.ax-theme-toggle,.ax-menu-toggle,.ax-header-account){min-height:var(--ax-control-utility)}
html .ax-home .ax-home-access .axh-flow-cta{min-height:var(--ax-control-regular)}
html .ax-home .axh-security-actions :is(.axh-primary,.axh-secondary){min-height:var(--ax-control-large)}
html .ax-home #axh-plans .ax-plan .ax-plan-cta{min-height:var(--ax-control-large)}
@media(max-width:600px){
 html .ax-home .ax-home-access .axh-flow-cta,
 html .ax-home .axh-security-actions :is(.axh-primary,.axh-secondary){min-height:48px}
}

/* Final account action opts into the established Flow language at its large size. */
html .ax-home :is(.axh-flow-cta,.axh-secondary){--flow-tint:rgba(237,24,43,.09);--flow-edge:rgba(237,24,43,.23);--flow-press:#f4ecee;position:relative;isolation:isolate;overflow:hidden;transition:color .24s var(--ax-flow-ease),background-color .24s var(--ax-flow-ease),border-color .24s var(--ax-flow-ease),box-shadow .24s var(--ax-flow-ease)}
html[data-theme="dark"] .ax-home :is(.axh-flow-cta,.axh-secondary){--flow-tint:rgba(255,65,90,.12);--flow-edge:rgba(255,88,104,.28);--flow-press:#2b2027}
html .ax-home .axh-secondary{color:color-mix(in srgb,var(--home-ink) 92%,var(--home-surface))}
html .ax-home :is(.axh-flow-cta,.axh-secondary)::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(35deg,var(--flow-tint),transparent 85%);transform:translate(-105%,55%);opacity:0;transition:transform .56s var(--ax-flow-ease),opacity .3s ease}
html .ax-home .axh-secondary .ax-icon-arrow{transform:none;opacity:.85;transition:transform .26s var(--ax-flow-ease),opacity .24s ease}
@media(hover:hover) and (pointer:fine){
 html .ax-home .axh-secondary:hover{color:var(--home-ink);background:var(--home-surface);border-color:var(--flow-edge);box-shadow:inset 0 0 0 1px var(--flow-edge)}
 html .ax-home .axh-secondary:hover::before{transform:translate(0,0);opacity:1}
 html .ax-home .axh-secondary:hover .ax-icon-arrow{transform:translateX(3px);opacity:1}
}
@media(hover:none),(pointer:coarse){
 html .ax-home .axh-secondary::before{display:none}
 html .ax-home .axh-secondary:active{background:var(--flow-press);border-color:var(--flow-edge)}
}
@media(prefers-reduced-motion:reduce){
 html .ax-home .axh-secondary,html .ax-home .axh-secondary .ax-icon-arrow{transition:none}
 html .ax-home .axh-secondary::before{display:none;transition:none}
 html .ax-home .axh-secondary:hover .ax-icon-arrow{transform:none}
}

/* One semantic keyboard ring. Pointer hover remains a separate visual state. */
html :is(a,button,input,textarea,select,summary):focus-visible{outline:var(--ax-focus-ring-width) solid var(--ax-focus-ring);outline-offset:var(--ax-focus-ring-offset)}
html .ax-header.ax-header--shared :is(.ax-header-link,.ax-header-telegram,.ax-theme-toggle,.ax-menu-toggle,.ax-header-account,a,button):focus-visible{outline:var(--ax-focus-ring-width) solid var(--ax-focus-ring);outline-offset:var(--ax-focus-ring-offset)}
html .ax-home :is(a,button):focus-visible{outline:var(--ax-focus-ring-width) solid var(--ax-focus-ring);outline-offset:var(--ax-focus-ring-offset)}
html .ax-home .ax-home-access .axh-flow-cta:focus-visible,
html .ax-home .axh-security-actions :is(.axh-secondary,.axh-primary):focus-visible{outline:var(--ax-focus-ring-width) solid var(--ax-focus-ring);outline-offset:var(--ax-focus-ring-offset)}
html .ax-home #axh-plans .ax-plan .ax-plan-cta:focus-visible{outline:var(--ax-focus-ring-width) solid var(--ax-focus-ring);outline-offset:-4px}
html .ax-home :is(.ax-plan-dot,.ax-service-dot):focus-visible{outline:var(--ax-focus-ring-width) solid var(--ax-focus-ring);outline-offset:-4px}
html .ax-footer>.ax-container .ax-footer-top a:focus-visible,
html .ax-footer>.ax-container .ax-footer-bottom a:focus-visible{outline:var(--ax-focus-ring-width) solid var(--ax-focus-ring);outline-offset:var(--ax-focus-ring-offset)}
html .ax-account-area :is(a,button,input,textarea,select,summary):focus-visible{outline:var(--ax-focus-ring-width) solid var(--ax-focus-ring);outline-offset:var(--ax-focus-ring-offset)}
