/* Единый визуальный слой публичных страниц. Все правила намеренно ограничены
   классами каркаса, чтобы не вмешиваться в шапку приложения и формы входа. */
:root{--public-paper:#faf8f5;--public-ink:#0d3b3a;--public-muted:#4a6b69;--public-line:#e5e0d8;--public-green:#f0a080;--public-card:#fff;--public-soft:#f2ede6;--public-hover:#ebe4da}
html[data-theme="dark"]{--public-paper:#0a1f1e;--public-ink:#f1f5f9;--public-muted:#94a3b8;--public-line:#294b48;--public-green:#f0a080;--public-card:#13312f;--public-soft:#173a37;--public-hover:#15524f}
body:not(.login-page){font-family:Arial,Helvetica,sans-serif;background:var(--public-paper);color:var(--public-ink)}
body:not(.login-page) .container{width:calc(100% - 80px);max-width:1320px;margin-inline:auto;padding-left:0;padding-right:0}
body:not(.login-page) .container>.card,body:not(.login-page) .container>.privacy-doc,body:not(.login-page) .container>.changelog-doc{border:1px solid var(--public-line);border-radius:24px;box-shadow:0 16px 45px #0d3b3a12;background:var(--public-card);padding:clamp(24px,4vw,56px)}
body:not(.login-page) .container>.privacy-doc,body:not(.login-page) .container>.changelog-doc{max-width:none;margin:24px 0}
body:not(.login-page) .container>.card{border-color:var(--public-line);box-shadow:0 18px 48px #0d3b3a10;background:var(--public-card)}
body:not(.login-page) .help-header{padding:34px 0 20px;margin-bottom:24px}
body:not(.login-page) .help-header h1{color:var(--public-ink)}
body:not(.login-page) .help-header p,body:not(.login-page) .help-item p,body:not(.login-page) .help-support p{color:var(--public-muted)}
body:not(.login-page) .help-toc,body:not(.login-page) .help-section,body:not(.login-page) .help-support{border-color:var(--public-line);background:var(--public-card)}
body:not(.login-page) .help-toc-item,body:not(.login-page) .help-item{background:var(--public-soft);border-color:var(--public-line);color:var(--public-ink)}
body:not(.login-page) .help-toc-item:hover,body:not(.login-page) .help-item:hover{background:var(--public-hover);border-color:#7fb8a8;color:var(--public-ink)}
body:not(.login-page) .help-section-icon{background:var(--public-green);color:var(--public-ink)}
body:not(.login-page) .help-section-header{border-bottom-color:var(--public-line)}
body:not(.login-page) .help-item{border-left-color:#7fb8a8}
body:not(.login-page) .help-support{background:linear-gradient(135deg,var(--public-hover),var(--public-card))}
body:not(.login-page) .container h1,body:not(.login-page) .container h2,body:not(.login-page) .container h3{font-family:Arial,Helvetica,sans-serif;color:var(--public-ink);letter-spacing:-1px}
body:not(.login-page) .container p,body:not(.login-page) .container li{line-height:1.7;color:var(--public-muted)}
body:not(.login-page) .app-header .header-inner,body:not(.login-page) .landing-footer .footer-inner{width:calc(100% - 80px);max-width:1320px;margin-inline:auto;padding-left:0;padding-right:0}
body:not(.login-page) .app-header .header-inner{display:flex;align-items:center;gap:24px}
body:not(.login-page) .app-header .brand{margin-right:auto;flex:0 0 auto}
body:not(.login-page) .app-header .user-menu{margin-left:auto;flex:0 0 auto}
body:not(.login-page) .landing-footer{background:var(--public-paper);border-top:1px solid var(--public-line)}
body:not(.login-page) .landing-footer .footer-inner{padding-block:28px}
body:not(.login-page) .footer-version a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){body:not(.login-page) .container,body:not(.login-page) .app-header .header-inner,body:not(.login-page) .landing-footer .footer-inner{width:calc(100% - 40px)}body:not(.login-page) .container>.card,body:not(.login-page) .container>.privacy-doc,body:not(.login-page) .container>.changelog-doc{padding:24px 18px;border-radius:18px}}
body:not(.login-page) .ad-footer-wrap{max-width:1320px;width:calc(100% - 80px);margin-inline:auto}
@media(max-width:760px){body:not(.login-page) .ad-footer-wrap{width:calc(100% - 40px)}}

/* Статичные страницы должны переключать не только шапку, но и содержимое.
   Калькуляторы используют собственную палитру из calc.css. */
html[data-theme="dark"] body:not(.login-page):not(.calc-page) {
    background: var(--public-paper);
    color: var(--public-ink);
}
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .container h1,
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .container h2,
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .container h3,
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .help-header h1 {
    color: var(--public-ink);
}
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .container p,
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .container li,
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .help-header p,
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .help-item p,
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .help-support p {
    color: var(--public-muted);
}
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .container>.card,
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .container>.privacy-doc,
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .container>.changelog-doc,
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .help-toc,
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .help-section,
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .help-support {
    background: var(--public-card);
    border-color: var(--public-line);
    box-shadow: 0 16px 45px rgba(0, 0, 0, .22);
}
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .help-toc-item,
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .help-item {
    background: var(--public-soft);
    border-color: var(--public-line);
    color: var(--public-ink);
}
html[data-theme="dark"] body:not(.login-page):not(.calc-page) .landing-footer {
    background: var(--public-paper);
    border-top-color: var(--public-line);
}
