/* Fluss — API-Doku. Nutzt Tokens/Fonts aus app.css. */

.docs { display: block; }
.docs .app-header { position: sticky; top: 0; z-index: 10; }

.docs-main {
    max-width: 820px;
    margin: 0 auto;
    padding: 2rem 1.5rem 4rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.docs-block {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 1.6rem 1.7rem;
}

.docs h1 {
    font-family: var(--font-display);
    font-size: 2rem; font-weight: 800; letter-spacing: -.03em;
    margin: 0 0 .4rem; text-wrap: balance;
}
.docs-lead { font-size: 1.02rem; color: var(--muted); margin: 0 0 1.5rem; max-width: 62ch; }
.docs h2 {
    font-family: var(--font-display);
    font-size: 1.25rem; font-weight: 800; letter-spacing: -.02em;
    margin: 1.6rem 0 .7rem;
}
.docs h2:first-of-type { margin-top: 0; }
.docs-group {
    font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
    color: color-mix(in srgb, var(--brand) 75%, var(--text));
    margin: 1.4rem 0 .6rem;
}
.docs p { line-height: 1.55; }

.docs-facts { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .5rem; }
.docs-facts li { display: flex; gap: 1rem; align-items: baseline; flex-wrap: wrap; }
.docs-facts li span { flex: 0 0 90px; font-size: .8rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }

.docs-note, .docs-perm { font-size: .92rem; }
.docs-note { color: var(--muted); }
.docs-perm { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .4rem; }
.docs-perm li { padding-left: 1.5rem; position: relative; line-height: 1.45; }
.docs-perm li::before { position: absolute; left: 0; font-weight: 700; }
.docs-perm li.ok::before { content: "✓"; color: var(--teal); }
.docs-perm li.no::before { content: "✕"; color: var(--coral); }

.ep {
    display: flex; align-items: center; gap: .7rem; flex-wrap: wrap;
    padding: .7rem 0; border-top: 1px solid var(--border);
}
.ep > code {
    font-family: ui-monospace, monospace; font-size: .9rem; font-weight: 600;
}
.ep p { flex-basis: 100%; margin: .1rem 0 0; font-size: .88rem; color: var(--muted); }
.ep p code {
    font-family: ui-monospace, monospace; font-size: .82rem;
    background: var(--surface-2); border: 1px solid var(--border);
    border-radius: 6px; padding: .05rem .3rem; color: var(--text);
}

.m {
    font-family: ui-monospace, monospace; font-size: .7rem; font-weight: 700;
    padding: .2rem .5rem; border-radius: 6px; flex: none; min-width: 52px; text-align: center;
    color: #fff;
}
.m.get { background: var(--teal); }
.m.post { background: var(--brand); }
.m.patch { background: var(--amber); color: #3a2a10; }
.m.del { background: var(--coral); }

.badge {
    font-size: .68rem; font-weight: 700; padding: .12rem .5rem; border-radius: 20px;
    background: color-mix(in srgb, var(--coral) 15%, transparent);
    color: color-mix(in srgb, var(--coral) 82%, var(--text));
}

.docs pre {
    background: var(--surface-2); border: 1px solid var(--border);
    border-radius: 12px; padding: 1rem; overflow-x: auto; margin: .5rem 0 1.2rem;
}
.docs pre code { font-family: ui-monospace, monospace; font-size: .84rem; line-height: 1.5; }
