/* Shared page frame: loaded after page-specific styles. */
:root{--page-width:1240px;--page-gutter:40px;--page-space:32px}
html{scrollbar-gutter:stable}
.wrap,.auth-page .wrap{width:min(var(--page-width),calc(100% - var(--page-gutter)*2));max-width:none;margin-inline:auto}
main.wrap{display:flow-root}
.logo,.auth-page .logo{font-family:Inter,Arial,'Microsoft YaHei',sans-serif;font-size:18px;font-weight:600;letter-spacing:.05em;gap:12px;line-height:1.65}
.logo small,.auth-page .logo small{display:block;font:400 9px/1.5 monospace;letter-spacing:.16em;color:#848890}
.topbar,.auth-page .topbar{height:88px;background:#090a0ce8;border-color:#23252a}
.auth-shell{margin:var(--page-space) 0 24px}
.hero{padding-top:var(--page-space)}
.workspace{padding-top:var(--page-space)}
.footer,.auth-page .footer{border-top:1px solid #292c32;padding:24px 0 30px;display:flex;justify-content:space-between;gap:20px;color:#757d89;font:10px/1.8 monospace}
@media(max-width:1050px){:root{--page-gutter:24px}}
@media(max-width:720px){:root{--page-gutter:16px;--page-space:24px}.topbar,.auth-page .topbar{height:72px}.logo,.auth-page .logo{font-size:16px;gap:7px}.logo small,.auth-page .logo small{display:block;font-size:8px}.footer,.auth-page .footer{font-size:9px;flex-wrap:wrap;gap:7px}}
