/* TinyPrintf project page */

.project-type {
    color: var(--accent-orange);
    font-weight: 700;
}

.content-section code,
.content-sidebar code {
    font-family: var(--font-mono);
    overflow-wrap: anywhere;
}

.format-flow {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 760px;
    margin: var(--space-xl) auto 0;
}

.flow-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-lg);
    border: 2px solid var(--charcoal);
    background: var(--concrete-light);
}

.flow-card--accent {
    border-color: var(--steel-blue);
    background: var(--steel-blue);
    color: var(--concrete);
}

.flow-card--accent h3,
.flow-card--accent p,
.flow-card--accent code {
    color: var(--concrete);
}

.flow-number {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    background: var(--charcoal);
    color: var(--concrete);
    font-family: var(--font-mono);
    font-size: 1.15rem;
    font-weight: 800;
}

.flow-card--accent .flow-number {
    background: var(--accent-orange);
    color: var(--charcoal);
}

.flow-card h3 {
    margin: 0 0 var(--space-xs);
    font-size: 1.1rem;
}

.flow-card p {
    margin: 0;
}

.flow-arrow {
    align-self: center;
    color: var(--accent-orange);
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1;
}

.directive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--space-md);
    margin-top: var(--space-lg);
}

.directive-card {
    padding: var(--space-lg);
    border: 2px solid var(--charcoal);
    background: var(--concrete-light);
}

.directive-card > code {
    display: block;
    margin-bottom: var(--space-sm);
    color: var(--steel-blue-dark);
    font-size: 1.45rem;
    font-weight: 900;
}

.directive-card p {
    margin: 0;
    font-size: 0.95rem;
}

.directive-note {
    margin: var(--space-lg) 0 0;
    padding: var(--space-md) var(--space-lg);
    border-left: 4px solid var(--accent-orange);
    background: var(--concrete-light);
}

.verification-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    margin-top: var(--space-lg);
}

.verification-card {
    padding: var(--space-lg);
    border-top: 6px solid var(--steel-blue);
    background: var(--concrete-light);
}

.verification-card h3 {
    margin: 0 0 var(--space-sm);
    font-size: 1.1rem;
}

.verification-card p {
    margin: 0;
}

.scope-note {
    margin-top: var(--space-lg);
    padding: var(--space-lg);
    border-left: 6px solid var(--accent-orange);
    background: var(--charcoal);
    color: var(--concrete);
}

.scope-note h3,
.scope-note p,
.scope-note code {
    color: var(--concrete);
}

.scope-note h3 {
    margin: 0 0 var(--space-sm);
}

.scope-note p {
    margin: 0;
}

.project-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-md);
    margin-top: var(--space-lg);
}

.summary-block {
    padding: var(--space-lg);
    border: 2px solid var(--charcoal);
    background: var(--concrete-light);
}

.summary-block h3 {
    margin: 0 0 var(--space-sm);
    color: var(--steel-blue-dark);
    font-size: 1.1rem;
}

.summary-block p {
    margin: 0;
}

@media (max-width: 768px) {
    .flow-card {
        padding: var(--space-md);
    }

    .directive-grid,
    .verification-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 480px) {
    .flow-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .flow-number {
        width: 2.4rem;
        height: 2.4rem;
    }
}
