/* mcp — see kronenwerk.css for the tokens these rules read. */

/*
 * The screen where a business decides whether to let an AI agent read its accounting.
 *
 * It is a settings screen and it borrows the settings furniture — the section blocks, the
 * rows, the access facts the developer screen already draws. What is here is only what that
 * furniture has no shape for: a promise, a list of names that are refusals, a tool and the
 * rights it needs, and a log of what a machine has already made.
 *
 * Nothing here is a card. Every one of these is a statement about the same subject, and a
 * box around each would say they were separate objects — which is precisely the mistake this
 * product spent a release removing.
 */

/* ----------------------------------------------------------------- the promises */

/*
 * One of the three things this interface is: what it reads, what it may draft, what it can
 * never do.
 *
 * A left rule rather than a border, because these are three parts of one answer read top to
 * bottom, and three outlines would read as three unrelated notices. The rule is the quiet
 * version of the same signal: this paragraph is a claim the product is making.
 */
.mcp-versprechen {
    border-left: 2px solid var(--linie-stark);
    padding: 0 0 0 var(--raum-3);
    margin: 0 0 var(--raum-3);
}

.mcp-versprechen:last-child {
    margin-bottom: 0;
}

.mcp-versprechen-titel {
    margin: 0 0 var(--raum-1);
    font-size: 1rem;
    color: var(--tinte);
}

.mcp-versprechen-text {
    margin: 0 0 var(--raum-1);
    color: var(--tinte-2);
    max-width: 62ch;
}

.mcp-versprechen-text:last-child {
    margin-bottom: 0;
}

/*
 * The one that is a refusal.
 *
 * It takes the negative rule and nothing else: no red field, no warning icon. A business
 * reading this has not made a mistake — it is being told what the product will not do, which
 * is reassurance, and reassurance drawn as an alarm reads as a fault.
 */
.mcp-nie {
    border-left-color: var(--negativ-linie);
}

/*
 * The acts that are refused, by name.
 *
 * Names of things a machine would ask for, so they are set as code and laid out as a wrapped
 * row rather than a bulleted column: it is a set, not a sequence, and thirteen bullets down
 * the page would give the list a weight the sentence above it already carries.
 */
.mcp-nie-liste {
    list-style: none;
    margin: 0 0 var(--raum-2);
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--raum-1);
}

.mcp-nie-posten {
    margin: 0;
}

.mcp-nie-posten code {
    font-family: var(--mono);
    font-size: 0.8125rem;
    color: var(--tinte-2);
    background: var(--negativ-tief);
    border: 1px solid var(--negativ-linie);
    border-radius: var(--radius-sm);
    padding: 0.1rem 0.4rem;
}

/* --------------------------------------------------------------------- the tools */

/*
 * One tool: its name, and the permissions a key must carry to use it.
 *
 * The pairing is the point. Somebody choosing what a key may do is reading exactly this
 * relationship, and a list of tool names without the rights beside them would ask them to
 * hold the mapping in their head.
 */
.mcp-werkzeug {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--raum-1) var(--raum-2);
    padding: var(--raum-1) 0;
    border-bottom: 1px solid var(--linie);
}

.mcp-werkzeug:last-child {
    border-bottom: 0;
}

.mcp-werkzeug-name {
    font-family: var(--mono);
    font-size: 0.8125rem;
    color: var(--tinte);
    min-width: 14rem;
}

.mcp-werkzeug-rechte {
    display: flex;
    flex-wrap: wrap;
    gap: var(--raum-1);
}

/* A permission, named the way the catalogue names it and never as an enum constant. */
.mcp-recht {
    font-size: 0.75rem;
    color: var(--tinte-3);
    background: var(--flaeche-tief);
    border: 1px solid var(--linie);
    border-radius: var(--radius-sm);
    padding: 0.05rem 0.4rem;
}

/* ---------------------------------------------------------------- what it made */

/*
 * The log of objects an agent created.
 *
 * Four columns at a comfortable width and a stack below it: what was made, which tool made
 * it, under which key, and when. Grid rather than a table because at a narrow width the four
 * halves have to stack, and a table cell cannot.
 */
.mcp-herkunft {
    display: grid;
    gap: 0;
}

.mcp-herkunft-zeile {
    display: grid;
    grid-template-columns: minmax(6rem, 10rem) minmax(8rem, 14rem) 1fr auto;
    gap: var(--raum-1) var(--raum-2);
    align-items: baseline;
    padding: var(--raum-2) 0;
    border-bottom: 1px solid var(--linie);
}

.mcp-herkunft-zeile:last-child {
    border-bottom: 0;
}

.mcp-herkunft-was {
    font-family: var(--mono);
    font-size: 0.8125rem;
    color: var(--tinte);
}

.mcp-herkunft-werkzeug {
    font-family: var(--mono);
    font-size: 0.8125rem;
    color: var(--tinte-3);
}

.mcp-herkunft-wer {
    font-family: var(--mono);
    font-size: 0.75rem;
    color: var(--tinte-3);
    overflow-wrap: anywhere;
}

.mcp-herkunft-wann {
    font-size: 0.8125rem;
    color: var(--tinte-4);
    white-space: nowrap;
}

/* Nothing has been created yet. A sentence, not an empty box. */
.mcp-leer {
    margin: 0;
    color: var(--tinte-3);
}

@media (max-width: 40rem) {
    .mcp-herkunft-zeile {
        grid-template-columns: 1fr;
    }

    .mcp-werkzeug-name {
        min-width: 0;
    }
}
