/* R53: document rhythm and signed-link readability. Legal copy and action logic stay unchanged. */
:root{--reading-focus:#6f4cc1;--reading-soft:#f7f5fb}
html{scroll-padding-block:28px}
body{font-kerning:normal;text-rendering:optimizeLegibility}
.wrap,.doc,.card,.topbar,.topbar nav,.footer{min-width:0}
.topbar .brand{flex:none;min-height:44px;display:inline-flex;align-items:center}
.topbar nav{min-width:0;align-items:center;justify-content:flex-end}
.topbar nav a{word-break:keep-all;overflow-wrap:anywhere;text-align:right}
.doc h1,.wrap>.card h1{max-width:24em;letter-spacing:-.04em}
.doc .lead{max-width:42em;color:#4E5762}
.doc :where(p,li,dd),.wrap>.card :where(p,.info){text-wrap:pretty;overflow-wrap:anywhere}
.doc section{scroll-margin-block-start:28px}
.toc strong{line-height:1.6}
.toc a{max-width:100%;border-radius:5px;text-decoration-skip-ink:auto}
.toc a:focus-visible{background:#fff}
.doc :where(a,code),.company dd,.footer a,.wrap>footer a{overflow-wrap:anywhere}
.doc code{box-decoration-break:clone;-webkit-box-decoration-break:clone}
.table-wrap{max-width:100%;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
.table-wrap th,.table-wrap td{overflow-wrap:anywhere}
.table-wrap:focus-visible{outline-offset:4px}
.footer,.wrap>footer{align-items:flex-start;row-gap:6px}
.footer a,.wrap>footer a{line-height:1.6;text-decoration-skip-ink:auto}
.wrap>.card .status:not(:empty){padding:16px 18px;border:1px solid var(--reading-line);border-radius:10px;background:#faf9fc;color:#4A525D}
.wrap>.card .status.error:not(:empty){border-color:#e4b9c5;background:#fff5f7;color:#932a45}
.wrap>.card button:disabled{opacity:1;background:#e5dfec;color:#67717F;cursor:not-allowed}
.wrap>.card [hidden]{display:none!important}
.skip:focus{position:fixed;inset:12px auto auto 12px;z-index:20;padding:10px 16px;border:1px solid var(--reading-line);border-radius:8px;box-shadow:0 4px 18px #26213112}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--reading-focus);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.toc a:hover{text-decoration-thickness:2px}.wrap>.card button:disabled:hover{background:#e5dfec}}
@media(max-width:640px){
 body{font-size:18px}
 .wrap{padding:20px 16px 48px}
 .topbar{gap:16px;margin-bottom:20px}
 .topbar nav{gap:4px 16px}
 .topbar nav a{font-size:15px}
 .doc{padding:28px 22px;border-radius:16px}
 .doc h1{font-size:30px;line-height:1.35}
 .doc h2{font-size:23px;line-height:1.5}
 .doc h3{font-size:20px}
 .doc .lead{font-size:19px;line-height:1.8}
 .doc>.meta{font-size:15px;line-height:1.8}
 .doc section+section{margin-top:30px;padding-top:10px}
 .doc p,.doc li{line-height:1.85}
 .toc{padding:18px 17px}
 .toc strong{font-size:17px}
 .toc a{font-size:17px;line-height:1.65}
 .notice{padding:18px 17px}
 .wrap>.card{padding:28px 24px;border-radius:16px}
 .wrap>.card h1{font-size:29px}
 .wrap>.card>p,.wrap>.card .info,.wrap>.card .status{font-size:18px}
 .wrap>.card .muted{font-size:16px}
 .wrap>.card .status:not(:empty){padding:15px 16px}
 .footer,.wrap>footer{font-size:15px;gap:6px 18px}
}
@media(max-width:360px){
 .wrap{padding-inline:12px}
 .topbar{gap:12px}
 .topbar nav{gap:2px 10px}
 .doc,.wrap>.card{padding-inline:18px}
 .doc h1,.wrap>.card h1{font-size:28px}
 .doc h2{font-size:22px}
 .toc{padding-inline:14px}
 .toc ol{padding-left:22px}
 .toc a{font-size:16px}
 .notice{padding-inline:14px}
}
@media(prefers-contrast:more){.wrap>.card .status:not(:empty){border-color:#75808F;color:#3c344f}.wrap>.card .status.error:not(:empty){border-color:#932a45;color:#84233c}}
@media(forced-colors:active){
 .doc,.card,.toc,.notice,.table-wrap,.wrap>.card .status:not(:empty){border-color:CanvasText}
 :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:Highlight}
 .wrap>.card button:disabled{color:GrayText}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{
 html{scroll-padding:0}
 .wrap,.doc{padding:0}
 .doc p,.doc li{orphans:3;widows:3}
 .table-wrap{scrollbar-gutter:auto;overflow:visible}
 .wrap>.card .status:not(:empty){background:#fff;border-color:#777}
 .skip{display:none}
}
