body.public { background:var(--bg) }
.wrap.narrow { max-width:760px }
.appbar-link { margin-left:auto; display:flex; align-items:center; min-height:40px; padding-inline:8px; font-size:14px; font-weight:600; text-decoration:none; color:var(--ink) } .appbar-link:hover { text-decoration:underline }
.editor.one-col { grid-template-columns:1fr } .editor.one-col fieldset { background:var(--band); border-color:transparent }
.head h1 { font-size:32px } .head p { font-size:16px }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden }
.done { display:flex; flex-direction:column; gap:12px; padding:28px } .done h1 { font-size:28px } .done p { font-size:16px }
.foot { margin-top: 24px; border-top: 1px solid var(--line); background: var(--band); color: var(--ink-2); font-size: 14px; line-height: 1.55; }
.foot-in { max-width: 1320px; margin-inline: auto; padding: 36px 24px 28px; display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 28px 40px; }
.foot-brand { display: flex; flex-direction: column; gap: 10px; }
.foot-brand .brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-family: var(--display); font-weight: 700; font-size: 19px; }
.foot-brand p { max-width: 360px; margin: 0; }
.foot h3 { margin: 0 0 10px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.foot-col { display: flex; flex-direction: column; gap: 8px; }
.foot-col a { color: var(--ink-2); text-decoration: none; }
.foot-col a:hover { color: var(--ink); text-decoration: underline; }
.foot-col .foot-hint { font-size: 13px; color: var(--muted); margin: 0; }
.foot-base { max-width: 1320px; margin-inline: auto; padding: 16px 24px 24px; display: flex; flex-wrap: wrap; gap: 6px 18px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.foot-base a { color: var(--muted); }
.foot-base .spacer { flex: 1 1 auto; }
.footer-line { height: 12px; background: var(--accent); }
@media (max-width: 900px) { .foot-in { grid-template-columns: repeat(2, minmax(0, 1fr)); } .foot-brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .foot-in { grid-template-columns: minmax(0, 1fr); padding: 28px 16px 20px; } .foot-base { padding-inline: 16px; } }
.foot { margin-top: 40px; background: var(--bg); } body.public { display:flex; flex-direction:column; min-height:100vh } body.public main { flex:1 0 auto }
.cats label span.sw { display:inline-block; width:10px; height:10px; border-radius:3px; margin:0 6px 0 2px }
