/* Shared action contract: a control remains recognizable before hover. */
:root{--action-bg:#edf4f1;--action-hover:#d8ece4;--action-pressed:#c5e2d6;--action-border:#527568;--action-ink:#153c2d;--action-focus:#086b7b;--action-primary:#2dd4b0;--action-primary-hover:#64e4c6;--action-primary-pressed:#22bea0;--action-radius:12px;--action-height:48px;--action-speed:160ms}
html[data-theme="dark"]{--action-bg:#203b32;--action-hover:#305547;--action-pressed:#3b6554;--action-border:#7aa391;--action-ink:#effaf5;--action-focus:#75e9e8}
html body :is(.btn,.model-card .model-actions a,.model-card .model-actions .secondary-link,.security-card>a,.grid-3>.card>a){
 min-height:var(--action-height);padding:12px 20px;border:1px solid var(--action-border);border-radius:var(--action-radius);
 background:var(--action-bg);color:var(--action-ink);font-weight:750;line-height:1.75;text-align:center;
 align-items:center;justify-content:center;gap:10px;text-decoration:none;cursor:pointer;
 box-shadow:none;touch-action:manipulation;-webkit-tap-highlight-color:rgba(45,212,176,.22);
 transition:background-color var(--action-speed) ease,border-color var(--action-speed) ease,color var(--action-speed) ease;
}
html body :is(.btn-primary,.model-card-main .model-actions .primary-link){background:var(--action-primary);color:#041713;border-color:var(--action-primary)}
html body :is(.btn,.model-card .model-actions a,.model-card .model-actions .secondary-link,.security-card>a,.grid-3>.card>a):focus-visible{outline:3px solid var(--action-focus);outline-offset:4px}
@media(hover:hover) and (pointer:fine){
 html body :is(.btn,.model-card .model-actions a,.model-card .model-actions .secondary-link,.security-card>a,.grid-3>.card>a):not(:disabled):not([aria-disabled="true"]):hover{background:var(--action-hover);border-color:var(--action-ink);color:var(--action-ink);transform:none}
 html body :is(.btn-primary,.model-card-main .model-actions .primary-link):not(:disabled):not([aria-disabled="true"]):hover{background:var(--action-primary-hover);color:#041713;border-color:var(--action-primary-hover)}
}
html body :is(.btn,.model-card .model-actions a,.model-card .model-actions .secondary-link,.security-card>a,.grid-3>.card>a):not(:disabled):not([aria-disabled="true"]):is(:active,[data-touch-pressed]){background:var(--action-pressed);color:var(--action-ink);border-color:var(--action-ink)}
html body :is(.btn-primary,.model-card-main .model-actions .primary-link):not(:disabled):not([aria-disabled="true"]):is(:active,[data-touch-pressed]){background:var(--action-primary-pressed);color:#041713;border-color:var(--action-primary-pressed)}
html body :is(.btn,.model-card .model-actions a):is(:disabled,[aria-disabled="true"]){opacity:.55;cursor:not-allowed;box-shadow:none}
/* Topic labels convey contents, never imitate the adjacent navigation action. */
.need-panels ul{gap:8px 20px;margin-block:24px 30px}
.need-panels li{display:flex;align-items:baseline;gap:8px;border:0;border-radius:0;background:none;padding:4px 0;color:var(--muted)}
.need-panels li::before{content:"";width:5px;height:5px;background:currentColor;flex:0 0 5px;align-self:center;opacity:.7}
.need-panels .btn{margin-top:4px;min-width:220px}
.need-panels p{max-width:65ch;line-height:2}
.need-tabs button:focus-visible,.faq-q:focus-visible,.theme-toggle:focus-visible,.menu-toggle:focus-visible{outline:3px solid var(--action-focus);outline-offset:3px}
.need-tabs button[aria-selected="true"]{border-inline-start:3px solid var(--accent-text,var(--mint))}
.need-tabs button:active,.faq-q:is(:active,[data-touch-pressed]){background:var(--action-bg)}
@media(hover:hover) and (pointer:fine){
 .theme-toggle:hover,.menu-toggle:hover,.faq-q:hover,.need-tabs button:hover{background:var(--action-hover);color:var(--action-ink)}
}
.theme-toggle:active,.menu-toggle:is(:active,[data-touch-pressed]){background:var(--action-pressed);color:var(--action-ink)}
.action-arrow{font-size:1.1em;line-height:1}
@media(max-width:560px){.need-panels .btn{width:100%;min-width:0}.need-panels ul{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){html body :is(.btn,.model-card .model-actions a,.model-card .model-actions .secondary-link,.security-card>a,.grid-3>.card>a){transition:none;scale:none}}
