/*
 * Prism — Print Stylesheet
 * Target: 2 pages, letter portrait
 * Colors preserved from screen layout
 * OK Marc logo in header
 */

/* ── Page setup ─────────────────────────────────────────────── */

@page {
    size: letter portrait;
    margin: 0.6in 0.75in 0.6in 0.75in;
}

/* ── Isolate results section ─────────────────────────────────── */

body * {
    visibility: hidden;
}

#prism-results,
#prism-results * {
    visibility: visible;
}

#prism-results {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#prism-results > .container-blueprint {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ── Kill UI chrome ──────────────────────────────────────────── */

.site-header,
.site-footer,
footer,
.prism-cta-block,
.prism-share-block,
.prism-secondary-cta,
.prism-share-url-block,
.prism-email-capture,
.btn-primary,
.btn-outline,
nav,
.navbar {
    display: none !important;
}

/* ── Kill animations ─────────────────────────────────────────── */

* {
    animation: none !important;
    transition: none !important;
}

[data-aos] {
    opacity: 1 !important;
    transform: none !important;
}

/* ── Base ────────────────────────────────────────────────────── */

body,
#prism-results {
    background: white !important;
    color: #0B0D12 !important;
    font-size: 9pt;
    line-height: 1.4;
}

/* ── Print header — logo + tool name ─────────────────────────── */

.prism-print-header {
    display: flex !important;
    visibility: visible !important;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1.5pt solid #136EF6;
    padding-bottom: 3pt;
    margin-bottom: 5pt;
    margin-top: 0;
}

.prism-print-logo {
    display: block !important;
    visibility: visible !important;
    height: 24pt;
    width: auto;
    max-width: 80pt;
}

.prism-print-tool {
    font-size: 8pt;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #0B0D12;
}

/* ── Results header ──────────────────────────────────────────── */

.prism-results-header .section-label {
    display: none !important;
}

.prism-results-header {
    margin-bottom: 8pt;
    padding-bottom: 0;
    border-bottom: none;
}

.prism-results-title {
    font-size: 20pt !important;
    margin-bottom: 3pt !important;
    line-height: 1.1;
}

.prism-results-header .lead {
    font-size: 11.5pt !important;
    margin-bottom: 4pt !important;
    color: #3B3E46 !important;
    max-width: 100%;
}

.section-label {
    font-size: 7pt !important;
}

/* ── Score block — page 1 top ────────────────────────────────── */

.prism-score-block {
    border: 1pt solid #136EF6 !important;
    padding: 8pt 10pt !important;
    margin-bottom: 8pt !important;
    background: white !important;
    box-shadow: none !important;
    page-break-inside: avoid;
}

.prism-score-main {
    display: flex;
    align-items: center;
    gap: 12pt;
}

.prism-score-value {
    font-size: 48pt !important;
    line-height: 1 !important;
    color: #136EF6 !important;
}

.prism-score-denom {
    font-size: 12pt !important;
    color: #8B8F99 !important;
}

.prism-tier-badge {
    font-size: 7.5pt !important;
    padding: 2pt 6pt !important;
    border-radius: 999pt;
    margin-bottom: 4pt !important;
    display: inline-block;
}

.prism-tier-badge.prism-tier--operating  { background: rgba(19,110,246,0.08) !important; color: #136EF6 !important; border: 0.5pt solid #136EF6 !important; }
.prism-tier-badge.prism-tier--building   { background: rgba(139,92,246,0.08)  !important; color: #8B5CF6 !important; border: 0.5pt solid #8B5CF6 !important; }
.prism-tier-badge.prism-tier--stretching { background: rgba(249,115,22,0.08) !important; color: #F97316 !important; border: 0.5pt solid #F97316 !important; }
.prism-tier-badge.prism-tier--exposed    { background: rgba(236,72,153,0.08)  !important; color: #EC4899 !important; border: 0.5pt solid #EC4899 !important; }

.prism-score-desc {
    font-size: 8.5pt !important;
    color: #3B3E46 !important;
    margin: 0 !important;
    line-height: 1.45;
}

/* ── Alignment gap ───────────────────────────────────────────── */

.prism-gap-block {
    margin-bottom: 8pt;
    page-break-inside: avoid;
}

.prism-section-heading {
    font-size: 9pt !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-top: 0 !important;
    margin-bottom: 5pt !important;
    color: #0B0D12 !important;
    border-bottom: 0.5pt solid #E8E6DC;
    padding-bottom: 3pt;
}

.prism-gap-display {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 20pt !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin-bottom: 5pt;
}

.prism-gap-item {
    text-align: center !important;
    flex-shrink: 0 !important;
}

.prism-gap-label {
    font-size: 7pt;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8B8F99;
    display: block;
    margin-bottom: 1pt;
}

.prism-gap-value {
    font-size: 24pt !important;
    line-height: 1;
    display: block;
}

.prism-gap-value--company { color: #136EF6 !important; }
.prism-gap-value--infra   { color: #8B8F99 !important; }

.prism-gap-sublabel {
    font-size: 7pt;
    color: #8B8F99;
    display: block;
}

.prism-gap-divider {
    flex: 1;
    text-align: center;
}

.prism-gap-arrow {
    font-size: 14pt;
    color: #EC4899 !important;
    display: block;
}

.prism-gap-delta {
    font-size: 7pt;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #EC4899 !important;
    display: block;
}

.prism-gap-summary {
    font-size: 8.5pt !important;
    border-left: 2pt solid #136EF6 !important;
    padding: 3pt 6pt !important;
    margin: 0 !important;
    background: rgba(19,110,246,0.04) !important;
    color: #3B3E46 !important;
}

/* ── Component bars — two-column ────────────────────────────── */

.prism-components-block {
    margin-bottom: 8pt;
    page-break-inside: avoid;
}

.prism-components-block .lead {
    font-size: 8pt !important;
    margin-bottom: 5pt !important;
    color: #3B3E46 !important;
}

.prism-bars {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 4pt 12pt;
}

.prism-bar-row {
    margin-bottom: 0;
}

.prism-bar-label {
    display: flex;
    align-items: baseline;
    gap: 4pt;
    margin-bottom: 2pt;
    flex-wrap: nowrap;
}

.prism-bar-name {
    font-size: 8pt !important;
    font-weight: 600;
    color: #0B0D12 !important;
    flex: 1;
}

.prism-bar-row--primary .prism-bar-name {
    color: #136EF6 !important;
}

.prism-bar-tag {
    font-size: 6.5pt !important;
    color: #EC4899 !important;
    border: 0.5pt solid #EC4899 !important;
    padding: 0 3pt !important;
    border-radius: 3pt;
    white-space: nowrap;
}

.prism-bar-score {
    font-size: 7.5pt !important;
    color: #8B8F99 !important;
    white-space: nowrap;
}

.prism-bar-track {
    height: 4pt !important;
    background: #E8E6DC !important;
    border: none !important;
    border-radius: 999pt;
}

.prism-bar-fill {
    background: #B8BAC0 !important;
    border-radius: 999pt;
}

.prism-bar-fill--primary {
    background: #136EF6 !important;
}

/* ── Primary constraint ──────────────────────────────────────── */

.prism-constraint-block .section-label {
    margin-bottom: 2pt !important;
    display: block;
}

.prism-constraint-block {
    border: 1pt solid #E8E6DC !important;
    border-left: 3pt solid #136EF6 !important;
    padding: 7pt 9pt !important;
    margin-bottom: 8pt !important;
    background: rgba(19,110,246,0.03) !important;
    box-shadow: none !important;
    page-break-inside: avoid;
}

.prism-constraint-heading {
    font-size: 11pt !important;
    color: #136EF6 !important;
    margin-bottom: 4pt !important;
    line-height: 1.2;
}

.prism-constraint-copy {
    font-size: 8.5pt !important;
    line-height: 1.5;
    color: #3B3E46 !important;
    margin: 0 !important;
}

/* ── Goal block ──────────────────────────────────────────────── */

.prism-goal-block {
    border-top: 0.5pt solid #E8E6DC;
    padding-top: 6pt;
    margin-bottom: 8pt;
    page-break-inside: avoid;
}

.prism-goal-stated {
    font-size: 8pt !important;
    color: #8B8F99 !important;
    margin-bottom: 3pt !important;
}

.prism-goal-connection {
    font-size: 8.5pt !important;
    color: #3B3E46 !important;
    line-height: 1.5;
    margin: 0 !important;
}

/* ── Footer ──────────────────────────────────────────────────── */

#prism-results::after {
    content: 'Prism is a tool built by Marc Stress / OK Marc. okmarc.com';
    display: block;
    font-size: 7pt;
    color: #8B8F99;
    border-top: 0.5pt solid #E8E6DC;
    padding-top: 5pt;
    margin-top: 10pt;
    text-align: right;
}

/* ── Page breaks ─────────────────────────────────────────────── */

.prism-score-block,
.prism-constraint-block,
.prism-gap-block {
    page-break-inside: avoid;
}

.prism-constraint-block {
    page-break-before: auto;
}

/* ── Hide interactive elements in print ────────────────────── */

.prism-overlay,
.prism-info-icon {
    display: none !important;
}

.prism-gap-item--tappable {
    cursor: default;
}
