/* Страница rules: то, чего нет в public.css (из прототипа design/intake/rules.html) */
.gi[data-i="db"]{--u:url("/static/icons/database.svg")}
.gi[data-i="hide"]{--u:url("/static/icons/eye-off.svg")}
.gi[data-i="see"]{--u:url("/static/icons/eye.svg")}
.gi[data-i="srv"]{--u:url("/static/icons/server.svg")}
.gi[data-i="warn"]{--u:url("/static/icons/triangle-alert.svg")}
.gi[data-i="rub"]{--u:url("/static/icons/messages-square.svg")}
.gi[data-i="pen"]{--u:url("/static/icons/pen-line.svg")}
.gi[data-i="mod"]{--u:url("/static/icons/scale.svg")}
.gi[data-i="ans"]{--u:url("/static/icons/list-todo.svg")}
.gi[data-i="react"]{--u:url("/static/icons/smile.svg")}
.gi[data-i="promise"]{--u:url("/static/icons/shield-check.svg")}
.gi[data-i="join"]{--u:url("/static/icons/user-plus.svg")}
.card{box-sizing:border-box;background:var(--surface-raised);border:var(--hair) solid var(--line);border-radius:var(--radius-container);padding:var(--pad-container) var(--space-4);scroll-margin-top:var(--space-6)}
@media (min-width:40em){ .card{padding:var(--space-8)} }
.card p,.card ul,.card dl{margin:0}
.sec-head{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-3);align-items:center}
.sec-head h2{font-size:var(--fs-h3);line-height:var(--lh-h3)}
.sub{font-size:var(--fs-body);line-height:var(--lh-body);font-weight:600;letter-spacing:0}
.items{display:grid}
.item{display:grid;gap:var(--space-2);padding-block:var(--space-4);border-top:var(--hair) solid var(--line)}
.item:first-child{border-top:0;padding-block-start:0}
.item:last-child{padding-block-end:0}
.facts{display:grid;grid-template-columns:max-content 1fr;column-gap:var(--space-4);row-gap:var(--space-1);font-size:var(--fs-sm);line-height:var(--lh-sm)}
.facts dt{color:var(--text-muted)}
.facts dd{margin:0}
@media (max-width:30em){ .facts{grid-template-columns:1fr;row-gap:0} .facts dd{padding-block-end:var(--space-2)} }
.plain{display:grid;gap:var(--space-2);padding-inline-start:var(--space-6)}
.plain li::marker{color:var(--text-muted)}
.terms{display:grid;grid-template-columns:max-content 1fr;column-gap:var(--space-4);row-gap:var(--space-3)}
.terms dt{font-weight:600}
.terms dd{margin:0}
@media (max-width:30em){ .terms{grid-template-columns:1fr;row-gap:0} .terms dd{padding-block-end:var(--space-3)} }
.legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:var(--space-2) var(--space-4)}
.lg-item{display:grid;grid-template-columns:var(--space-8) 1fr;column-gap:var(--space-2);align-items:center}
.lg-item dt{font-size:var(--fs-h3);line-height:var(--lh-h3);text-align:center}
.lg-item dd{margin:0}
.toc{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}
.toc a{display:inline-flex;align-items:center;min-height:var(--control-h);padding-inline:var(--space-4);border:var(--hair) solid var(--line-control);border-radius:var(--radius-pill);background:var(--surface-raised);font-size:var(--fs-sm);line-height:var(--lh-sm);text-decoration:none}
.mod-mock{display:grid;gap:var(--space-3);padding:var(--space-4);border:var(--hair) dashed var(--line-control);border-radius:var(--radius-control);background:var(--surface-sunken)}
.mod-mock .meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--text-muted)}
.fake{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.fake span{padding:var(--space-1) var(--space-3);border:var(--hair) solid var(--line-control);border-radius:var(--radius-pill);background:var(--surface-raised);font-size:var(--fs-sm);line-height:var(--lh-sm);font-weight:600}
.fake span:first-child{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.actions .btn{text-decoration:none;width:auto}
@media (max-width:30em){ .actions{display:grid} }
