/* Obsidian Violet — supporting portfolio pages. Sentinel itself is intentionally excluded. */
.inspector-page,
.governance-page {
    color-scheme: dark;
    --obsidian-bg: #111015;
    --obsidian-section: #17151d;
    --obsidian-card: #201d27;
    --obsidian-glass: rgba(48, 39, 62, .72);
    --obsidian-text: #f0edf3;
    --obsidian-secondary: #b5aebb;
    --obsidian-muted: #8d8693;
    --obsidian-violet: #8d72a8;
    --obsidian-hover: #aa91c0;
    --obsidian-bright: #cfb5e4;
    --obsidian-border: rgba(174, 145, 196, .20);
    --obsidian-border-active: rgba(174, 145, 196, .38);

    --site-bg: var(--obsidian-bg);
    --site-bg-soft: var(--obsidian-section);
    --site-bg-raised: var(--obsidian-card);
    --site-panel: rgba(32, 29, 39, .96);
    --site-panel-solid: var(--obsidian-card);
    --site-panel-alt: #26222e;
    --site-panel-strong: rgba(32, 29, 39, .98);
    --site-text: var(--obsidian-text);
    --site-text-strong: var(--obsidian-text);
    --site-text-soft: var(--obsidian-secondary);
    --site-muted: var(--obsidian-secondary);
    --site-faint: var(--obsidian-muted);
    --site-line: var(--obsidian-border);
    --site-line-medium: rgba(174, 145, 196, .28);
    --site-line-strong: var(--obsidian-border-active);
    --site-steel: var(--obsidian-violet);
    --site-accent: var(--obsidian-violet);
    --site-accent-bright: var(--obsidian-hover);
    --site-accent-dark: #69537d;
    --site-warm: var(--obsidian-hover);
    --site-red: var(--obsidian-violet);
    --site-red-bright: var(--obsidian-hover);
    --site-red-dark: #69537d;
    --site-red-soft: rgba(141, 114, 168, .16);
    --bg: var(--obsidian-bg);
    --panel: rgba(32, 29, 39, .96);
    --panel-soft: var(--obsidian-card);
    --line: var(--obsidian-border);
    --text: var(--obsidian-text);
    --muted: var(--obsidian-secondary);
    --cyan: var(--obsidian-hover);
    --green: var(--obsidian-violet);
    --yellow: var(--obsidian-hover);
    --red: #d2798a;

    background:
        radial-gradient(circle at 76% 12%, rgba(126, 91, 153, .10), transparent 34rem),
        var(--obsidian-bg);
    color: var(--obsidian-text);
}

.inspector-page::before,
.governance-page::before {
    opacity: .16;
    background-image:
        linear-gradient(rgba(174, 145, 196, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(174, 145, 196, .035) 1px, transparent 1px);
}

.inspector-page :where(a, button, input, summary):focus-visible,
.governance-page :where(a, button, input, summary):focus-visible {
    outline: 2px solid var(--obsidian-hover);
    outline-offset: 3px;
}

.inspector-page .back-link,
.governance-page .gov-back,
.inspector-page button,
.governance-page button,
.governance-page .gov-action {
    transition:
        color 180ms ease,
        border-color 180ms ease,
        background 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
}

.inspector-page .back-link:hover,
.inspector-page .back-link:focus-visible,
.governance-page .gov-back:hover,
.governance-page .gov-back:focus-visible,
.inspector-page .primary-action:hover,
.inspector-page .primary-action:focus-visible,
.inspector-page .secondary-action:hover,
.inspector-page .secondary-action:focus-visible,
.inspector-page .text-action:hover,
.inspector-page .text-action:focus-visible,
.governance-page .gov-filters button:hover,
.governance-page .gov-filters button:focus-visible,
.governance-page .gov-action:hover,
.governance-page .gov-action:focus-visible,
.governance-page .gov-close:hover,
.governance-page .gov-close:focus-visible {
    border-color: rgba(207, 181, 228, .46);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .025) 44%),
        linear-gradient(110deg, rgba(170, 145, 192, .20), rgba(48, 39, 62, .48));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .16),
        inset 0 0 18px rgba(170, 145, 192, .07),
        0 8px 20px rgba(4, 3, 6, .24);
    color: var(--obsidian-text);
    transform: translateY(-1px);
}

/* URL Inspector: contain the workspace and normalize inherited editorial scaling. */
.inspector-document {
    width: 100%;
    height: auto;
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}
.inspector-page {
    width: 100%;
    height: auto;
    min-height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    font-size: 16px;
}
.inspector-page .inspector-shell {
    display: block;
    width: min(1280px, calc(100% - 32px));
    height: auto;
    min-height: 100vh;
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(12px, 2vw, 24px) 0 48px;
    overflow: visible;
}
.inspector-page .inspector-header {
    display: flex;
    align-items: center;
    padding: clamp(20px, 3vw, 34px);
    border: 1px solid var(--obsidian-border);
    border-top: 3px solid var(--obsidian-violet);
    border-radius: 10px;
    background: rgba(32, 29, 39, .92);
    box-shadow: 0 18px 48px rgba(4, 3, 6, .28);
}
.inspector-page .ops-header > div:first-child {
    display: block;
    max-width: 820px;
    text-align: left;
}
.inspector-page .ops-header .eyebrow,
.inspector-page .ops-header h1,
.inspector-page .inspector-intro {
    margin-right: 0;
    margin-left: 0;
    text-align: left;
}
.inspector-page .ops-header h1 {
    max-width: 100%;
    margin-top: .65rem;
    font-size: clamp(2rem, 4.6vw, 4.25rem);
    letter-spacing: -.025em;
    line-height: .94;
    overflow-wrap: anywhere;
}
.inspector-page .inspector-intro {
    max-width: 720px;
    font-size: clamp(.95rem, 1.25vw, 1.08rem);
}
.inspector-page .passive-badge {
    max-width: 240px;
    border-color: var(--obsidian-border-active);
    border-radius: 999px;
    background: rgba(141, 114, 168, .12);
    color: var(--obsidian-hover);
}
.inspector-page .passive-badge .status-light {
    background: var(--obsidian-hover);
    box-shadow: 0 0 10px rgba(170, 145, 192, .38);
}
.inspector-page .inspector-layout {
    grid-template-columns: minmax(0, 2fr) minmax(260px, .72fr);
    gap: 16px;
}
.inspector-page .inspector-panel {
    padding: clamp(16px, 2.2vw, 26px);
    border: 1px solid var(--obsidian-border);
    border-top: 2px solid var(--obsidian-violet);
    border-radius: 9px;
    background: var(--obsidian-card);
    box-shadow: 0 14px 36px rgba(4, 3, 6, .22);
}
.inspector-page .panel-heading h2,
.inspector-page .result-heading h2,
.inspector-page .future-panel > h2 {
    max-width: none;
    margin: .15rem 0 0;
    font-size: clamp(1.2rem, 2vw, 1.65rem);
    letter-spacing: -.015em;
    line-height: 1.1;
    text-align: left;
}
.inspector-page h3 { font-size: clamp(.86rem, 1.2vw, 1rem); }
.inspector-page .eyebrow { color: var(--obsidian-hover); }
.inspector-page .url-entry { justify-content: stretch; }
.inspector-page #url-input {
    min-width: 0;
    border-color: var(--obsidian-border-active);
    background: #151219;
    color: var(--obsidian-text);
}
.inspector-page #url-input:focus {
    border-color: var(--obsidian-hover);
    box-shadow: 0 0 0 3px rgba(170, 145, 192, .11);
}
.inspector-page .primary-action,
.inspector-page .secondary-action {
    border-color: var(--obsidian-border-active);
    background: #1c1922;
    color: var(--obsidian-text);
}
.inspector-page .scope-notice,
.inspector-page .assessment-grid article,
.inspector-page .provider-card,
.inspector-page .interpretation-card,
.inspector-page .details-stack details,
.inspector-page .future-grid article {
    border-color: var(--obsidian-border);
    background: #1b1821;
}
.inspector-page .scope-notice { border-left-color: var(--obsidian-violet); }
.inspector-page .assessment-grid article,
.inspector-page .future-grid article {
    transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.inspector-page .assessment-grid article:hover,
.inspector-page .future-grid article:hover {
    border-color: var(--obsidian-border-active);
    background: rgba(48, 39, 62, .78);
    box-shadow: 0 10px 24px rgba(4, 3, 6, .22);
    transform: translateY(-2px);
}
.inspector-page .assessment-grid article:hover strong,
.inspector-page .future-grid article:hover span {
    color: var(--obsidian-bright);
}
.inspector-page .ops-footer { border-color: var(--obsidian-border); color: var(--obsidian-secondary); }

/* Governance resources: preserve content and data behavior while adopting the portfolio finish. */
.governance-page .gov-shell { max-width: 1240px; }
.governance-page .gov-hero { border-top-color: var(--obsidian-violet); }
.governance-page .gov-hero h1 {
    color: var(--obsidian-text);
    font-size: clamp(3rem, 7.5vw, 6.6rem);
}
.governance-page .gov-hero > p:not(.section-kicker),
.governance-page .source-card p,
.governance-page .gov-detail p,
.governance-page .gov-detail li {
    color: var(--obsidian-secondary);
}
.governance-page .gov-principles span {
    border-color: var(--obsidian-border);
    border-radius: 999px;
    background: rgba(141, 114, 168, .08);
    color: var(--obsidian-hover);
}
.governance-page .gov-search-row input {
    border-color: var(--obsidian-border-active);
    border-radius: 7px;
    background: var(--obsidian-card);
}
.governance-page .gov-search-row input:focus {
    border-color: var(--obsidian-hover);
    box-shadow: 0 0 0 3px rgba(170, 145, 192, .11);
}
.governance-page .gov-filters button {
    border-color: var(--obsidian-border);
    border-radius: 7px;
    background: var(--obsidian-card);
    color: var(--obsidian-secondary);
}
.governance-page .gov-filters button[aria-pressed=true] {
    border-color: var(--obsidian-border-active);
    background: rgba(141, 114, 168, .22);
    color: var(--obsidian-text);
}
.governance-page .gov-grid { gap: 1rem; background: transparent; }
.governance-page .source-card {
    border: 1px solid var(--obsidian-border);
    border-radius: 10px;
    background:
        linear-gradient(145deg, rgba(141, 114, 168, .055), transparent 42%),
        var(--obsidian-card);
    box-shadow: 0 14px 34px rgba(4, 3, 6, .20);
}
.governance-page .source-card:hover,
.governance-page .source-card:focus-within {
    border-color: var(--obsidian-border-active);
    background:
        linear-gradient(145deg, rgba(141, 114, 168, .11), transparent 48%),
        #25212c;
    box-shadow: 0 20px 46px rgba(4, 3, 6, .30);
    transform: translateY(-3px);
}
.governance-page .source-card:hover .source-card__top,
.governance-page .source-card:focus-within .source-card__top,
.governance-page .source-card:hover .gov-action,
.governance-page .source-card:focus-within .gov-action {
    color: var(--obsidian-bright);
}
.governance-page .gov-detail {
    border-color: var(--obsidian-border-active);
    border-radius: 10px;
    background: var(--obsidian-card);
    box-shadow: 0 22px 55px rgba(4, 3, 6, .30);
}
.governance-page .gov-footer { border-color: var(--obsidian-border); }

@media (max-width: 1050px) {
    .inspector-page .inspector-layout { grid-template-columns: 1fr; }
    .inspector-page .inspector-secondary { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
    .inspector-page .inspector-shell { width: calc(100% - 24px); padding-top: 12px; }
    .inspector-page .inspector-header { align-items: flex-start; }
    .inspector-page .ops-header > div:first-child,
    .inspector-page .ops-header .eyebrow,
    .inspector-page .ops-header h1,
    .inspector-page .inspector-intro { text-align: left; }
    .inspector-page .ops-header h1 {
        font-size: clamp(1.9rem, 10vw, 3rem);
        line-height: .98;
    }
    .inspector-page .passive-badge { max-width: 100%; }
    .inspector-page .inspector-secondary { grid-template-columns: 1fr; }
    .inspector-page .url-entry { grid-template-columns: 1fr 1fr; }
    .inspector-page #url-input { grid-column: 1 / -1; }
}

@media (max-width: 430px) {
    .inspector-page .inspector-shell { width: calc(100% - 16px); padding: 8px 0 32px; }
    .inspector-page .inspector-header,
    .inspector-page .inspector-panel { padding: 15px; }
    .inspector-page .ops-header h1 {
        font-size: clamp(1.7rem, 9.2vw, 2.25rem);
        letter-spacing: -.035em;
    }
    .inspector-page .url-entry,
    .inspector-page .assessment-grid { grid-template-columns: 1fr; }
    .inspector-page #url-input { grid-column: auto; }
    .inspector-page .primary-action,
    .inspector-page .secondary-action { width: 100%; }
    .governance-page .gov-hero h1 { font-size: clamp(2.65rem, 14vw, 4rem); }
}

@media (prefers-reduced-motion: reduce) {
    .inspector-page *,
    .governance-page * { transition-duration: .01ms !important; }
}
