/* App-Rahmen (TS_App_Frame): schlanke Toolnier-Hülle statt Theme. Kopf/Fuß nachtblau, Inhalt hell. */
.ts-af {
    --af-dark: #070b14; --af-dark2: #0b1220; --af-line: rgba(255, 255, 255, .1);
    --af-ac: #3df58a; --af-ac2: #00d0ff; --af-bg: #f4f6fb; --af-tx: #0f172a; --af-mu: #64748b;
    margin: 0; min-height: 100vh; display: flex; flex-direction: column;
    background: var(--af-bg); color: var(--af-tx);
    font: 16px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.ts-af *, .ts-af *::before, .ts-af *::after { box-sizing: border-box; }
.ts-af-wrap { width: min(100% - 32px, 1160px); margin-inline: auto; }
.ts-af-skip { position: absolute; left: -9999px; }
.ts-af-skip:focus { left: 16px; top: 16px; z-index: 100000; padding: 8px 14px; border-radius: 8px; background: #fff; color: var(--af-tx); }

.ts-af-head { position: sticky; top: 0; z-index: 1000; background: rgba(7, 11, 20, .96); border-bottom: 1px solid var(--af-line); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.admin-bar .ts-af-head { top: 32px; }
@media (max-width: 782px) { .admin-bar .ts-af-head { top: 46px; } }
.ts-af-head-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; }
.ts-af-logo { display: inline-flex; align-items: center; gap: 10px; color: #eef2f8; font-weight: 900; font-style: italic; font-size: 20px; text-transform: uppercase; letter-spacing: -.01em; text-decoration: none; }
.ts-af-logo svg { width: 30px; height: 30px; flex: none; }
.ts-af-nav { display: flex; align-items: center; gap: 14px; }
.ts-af-btn { display: inline-flex; align-items: center; padding: 8px 16px; border-radius: 999px; background: linear-gradient(135deg, var(--af-ac), var(--af-ac2)); color: #04120a; font-weight: 800; font-size: 14px; text-decoration: none; }
.ts-af-btn:hover { filter: brightness(1.08); }
.ts-af-link { color: #9aa7bd; font-weight: 600; font-size: 14px; text-decoration: none; }
.ts-af-link:hover { color: #eef2f8; }

.ts-af-main { flex: 1; padding: 32px 0 56px; }
.ts-af-title { margin: 0 0 18px; font-size: clamp(26px, 3.4vw, 38px); line-height: 1.15; letter-spacing: -.02em; }
.ts-af-content > :first-child { margin-top: 0; }
.ts-af-content img { max-width: 100%; height: auto; }
.ts-af-content a { color: #0b7a43; }
.ts-af-page.is-plain { max-width: 780px; }
.ts-af-page.is-plain .ts-af-content { padding: 28px 32px; border-radius: 18px; background: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 10px 30px rgba(15, 23, 42, .06); }

.ts-af-empty { max-width: 560px; margin: 40px auto; padding: 36px 28px; border-radius: 20px; background: #fff; text-align: center; box-shadow: 0 10px 30px rgba(15, 23, 42, .08); }
.ts-af-empty > div { font-size: 44px; }
.ts-af-empty h1 { margin: 8px 0; font-size: 26px; }
.ts-af-empty p { color: var(--af-mu); }
.ts-af-empty-links { display: flex; justify-content: center; align-items: center; gap: 16px; flex-wrap: wrap; }
.ts-af-empty .ts-af-link { color: var(--af-mu); }

.ts-af-foot { background: var(--af-dark); color: #9aa7bd; font-size: 14px; }
.ts-af-foot-in { display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap; min-height: 60px; padding: 14px 0; }
.ts-af-foot nav { display: flex; gap: 18px; flex-wrap: wrap; }
.ts-af-foot a { color: #cbd5e1; text-decoration: none; }
.ts-af-foot a:hover { color: #fff; }

@media (max-width: 560px) {
    .ts-af-logo span { font-size: 18px; }
    .ts-af-main { padding: 20px 0 40px; }
    .ts-af-page.is-plain .ts-af-content { padding: 20px; }
}
