/* AI Perspective. Builds on the AEO tool shell (aeo-checker.css) and theme tokens in style.css.
   Semantic colours meet WCAG 2.2 AA on white and cream (same palette as the writing tools). */
.aip-page { --aip-accent: #c2410c; --aip-accent-text: #9a3808; --aip-ink: var(--ink, #181410); --aip-muted: #5a5048; --aip-line: rgba(24, 20, 16, .16); --aip-surface: #fff; --aip-soft: var(--cream, #f4efe6); --aip-ok: #1f6b3a; --aip-ok-bg: #eef7f0; --aip-warn: #8a4b00; --aip-warn-bg: #fdf3e4; --aip-bad: #a3262a; --aip-bad-bg: #fbecec; --aip-info: #2d4a7a; --aip-info-bg: #eef1f7; --aip-focus: 3px solid rgba(194, 65, 12, .45); }
.aip-hero .aeo-hero__sub { max-width: 760px; }
.aip-container { padding-bottom: 64px; }
.aip-app, .aip-history, .aip-guide, .aip-faq, .aip-page .aeo-related-cards { max-width: 1120px; margin-left: auto; margin-right: auto; }

.aip-app { margin-top: 28px; padding: 24px; border: 1px solid var(--aip-line); border-radius: var(--radius, 10px); background: var(--aip-surface); color: var(--aip-ink); }
.aip-app__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 20px; margin-bottom: 16px; }
.aip-app__head h2 { margin: 0; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.2; }
.aip-plan { margin: 0; font: 600 13px/1.4 var(--ff-m, monospace); color: var(--aip-muted); }
.aip-notice { margin: 0 0 14px; padding: 10px 12px; border-left: 4px solid var(--aip-info); background: var(--aip-info-bg); font-size: 14px; }

.aip-label { display: block; margin-bottom: 6px; font-weight: 650; font-size: 14px; }
.aip-field { margin: 0 0 16px; min-width: 0; }
.aip-input, .aip-select { box-sizing: border-box; width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid rgba(24, 20, 16, .35); border-radius: 8px; background: #fff; color: var(--aip-ink); font: inherit; font-size: 16px; }
.aip-input--short { max-width: 120px; }
textarea.aip-input { min-height: 72px; resize: vertical; }
.aip-select--compact { width: auto; min-width: 150px; }
.aip-input:focus-visible, .aip-select:focus-visible { outline: var(--aip-focus); outline-offset: 1px; border-color: var(--aip-accent); }
.aip-input[aria-invalid="true"] { border-color: var(--aip-bad); }
.aip-hint { display: block; margin: 6px 0 0; font-size: 13px; line-height: 1.45; color: var(--aip-muted); }
.aip-error { margin: 6px 0 0; font-size: 14px; font-weight: 600; color: var(--aip-bad); }
.aip-error:empty { display: none; }

.aip-modes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; padding: 0; border: 0; }
.aip-modes > legend { grid-column: 1 / -1; padding: 0; }
.aip-mode { position: relative; display: flex; gap: 10px; align-items: flex-start; padding: 14px; border: 1px solid var(--aip-line); border-radius: 10px; background: var(--aip-soft); cursor: pointer; }
.aip-mode input { margin-top: 3px; width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--aip-accent); }
.aip-mode:has(input:checked) { border-color: var(--aip-accent); box-shadow: inset 0 0 0 1px var(--aip-accent); background: #fff; }
.aip-mode:has(input:focus-visible) { outline: var(--aip-focus); outline-offset: 2px; }
.aip-mode.is-unavailable { cursor: not-allowed; opacity: .78; }
.aip-mode__title { display: block; font-weight: 700; }
.aip-mode__desc { display: block; margin-top: 4px; font-size: 14px; line-height: 1.45; color: var(--aip-muted); }
.aip-mode__status { display: block; margin-top: 6px; font: 600 12px/1.35 var(--ff-m, monospace); color: var(--aip-warn); }
.aip-mode__status:empty { display: none; }

.aip-advanced, .aip-code { margin: 0 0 16px; border: 1px solid var(--aip-line); border-radius: 8px; }
.aip-advanced > summary, .aip-code > summary, .aip-details > summary { padding: 12px 14px; cursor: pointer; font-weight: 650; color: var(--aip-accent-text); }
.aip-advanced > summary:focus-visible, .aip-code > summary:focus-visible, .aip-details > summary:focus-visible { outline: var(--aip-focus); }
.aip-advanced__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 16px; padding: 4px 14px 0; }
.aip-field--wide { grid-column: 1 / -1; }
.aip-code__row { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 14px 6px; }
.aip-code__row .aip-input { flex: 1 1 260px; font-family: var(--ff-m, monospace); }
.aip-code .aip-hint { padding: 0 14px 12px; }

.aip-prompts { margin: 0 0 16px; }
.aip-prompts__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
.aip-prompt-list { margin: 10px 0; padding: 0; list-style: none; counter-reset: aip-p; }
.aip-prompt { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; margin: 0 0 8px; }

.aip-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; border: 1px solid rgba(24, 20, 16, .35); border-radius: 8px; background: #fff; color: var(--aip-ink); font: 650 14px/1.2 var(--ff-sans, system-ui, sans-serif); cursor: pointer; text-decoration: none; }
.aip-btn:hover { border-color: var(--aip-accent); color: var(--aip-accent-text); }
.aip-btn:focus-visible { outline: var(--aip-focus); outline-offset: 2px; }
.aip-btn--primary { background: var(--aip-accent); border-color: var(--aip-accent); color: #fff; padding-left: 22px; padding-right: 22px; }
.aip-btn--primary:hover { background: var(--aip-accent-text); border-color: var(--aip-accent-text); color: #fff; }
.aip-btn--ghost { background: transparent; }
.aip-btn--small { min-height: 36px; padding: 6px 12px; font-size: 13px; }
.aip-btn[disabled] { cursor: not-allowed; background: #e9e4dc; border-color: #c9c1b6; color: #5a5048; }
@media (pointer: coarse) { .aip-btn--small { min-height: 44px; } }

.aip-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 4px; }
.aip-actions__note { margin: 0; font-size: 13px; color: var(--aip-muted); }
.aip-privacy { margin: 14px 0 0; font-size: 13px; line-height: 1.5; color: var(--aip-muted); }
.aip-privacy a { color: var(--aip-accent-text); }

.aip-progress { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--aip-line); }
.aip-progress__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.aip-stages { margin: 14px 0 0; padding: 0; list-style: none; }
.aip-stage { display: flex; align-items: center; gap: 10px; padding: 5px 0; font-size: 15px; color: var(--aip-muted); }
.aip-stage__dot { width: 12px; height: 12px; flex: 0 0 12px; border: 2px solid currentColor; border-radius: 50%; box-sizing: border-box; }
.aip-stage.is-done { color: var(--aip-ok); }
.aip-stage.is-done .aip-stage__dot { background: currentColor; }
.aip-stage.is-current { color: var(--aip-ink); font-weight: 650; }
.aip-stage.is-current .aip-stage__dot { border-color: var(--aip-accent); border-right-color: transparent; animation: aip-spin .9s linear infinite; }
@keyframes aip-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .aip-stage.is-current .aip-stage__dot { animation: none; border-right-color: var(--aip-accent); } }
.aip-progress__status { margin: 10px 0 0; font: 13px/1.5 var(--ff-m, monospace); color: var(--aip-muted); }

.aip-report { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--aip-line); }
.aip-report:focus { outline: none; }
.aip-report__head .aip-h2 { margin: 0 0 6px; }
.aip-report__meta { margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; font-size: 13px; color: var(--aip-muted); }
.aip-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.aip-h2 { font-size: clamp(22px, 2.4vw, 28px); line-height: 1.2; margin: 0 0 12px; }
.aip-h2:focus { outline: none; }
.aip-h2:focus-visible, .aip-h3:focus-visible { outline: var(--aip-focus); }
.aip-h3 { font-size: 18px; line-height: 1.3; margin: 0 0 10px; }
.aip-h4 { font-size: 15px; margin: 14px 0 6px; }
.aip-section { margin: 0 0 18px; padding: 18px; border: 1px solid var(--aip-line); border-radius: 10px; }
.aip-section--lead { background: var(--aip-soft); border-color: transparent; }
.aip-lead { margin: 0 0 10px; font: 400 clamp(17px, 1.6vw, 19px)/1.55 var(--ff-s, Georgia, serif); }
.aip-readiness { margin: 0 0 8px; padding-left: 12px; border-left: 4px solid var(--aip-warn); }
.aip-readiness--clear { border-left-color: var(--aip-ok); }
.aip-readiness--unclear { border-left-color: var(--aip-bad); }
.aip-muted { color: var(--aip-muted); font-size: 14px; margin: 4px 0; }
.aip-strong { font-weight: 650; margin: 0 0 4px; }
.aip-block { display: block; font-weight: 400; }
.aip-list, .aip-findings, .aip-recs, .aip-runs, .aip-evidence, .aip-sources, .aip-hints, .aip-notes { margin: 0; padding-left: 20px; line-height: 1.55; }
.aip-list > li, .aip-findings > li, .aip-recs > li, .aip-runs > li, .aip-evidence > li { margin: 0 0 12px; }
.aip-findings, .aip-runs { list-style: none; padding: 0; }
.aip-finding { padding: 10px 12px; border: 1px solid var(--aip-line); border-radius: 8px; }
.aip-finding__head { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 6px; }
.aip-run { padding: 12px 14px; border: 1px solid var(--aip-line); border-radius: 8px; }
.aip-rec .aip-badge { margin-bottom: 4px; }
.aip-hints { margin-top: 12px; padding: 10px 12px 10px 28px; background: var(--aip-warn-bg); border-radius: 8px; font-size: 14px; }
.aip-notes { margin-top: 10px; font-size: 13px; color: var(--aip-muted); }
.aip-quote { margin: 6px 0; padding: 6px 10px; border-left: 3px solid var(--aip-line); background: rgba(24, 20, 16, .03); font: 400 14px/1.55 var(--ff-s, Georgia, serif); overflow-wrap: anywhere; unicode-bidi: plaintext; }
.aip-excerpt { margin: 4px 0 0; font-size: 13px; color: var(--aip-muted); overflow-wrap: anywhere; }
.aip-evid, .aip-code-inline { font: 12px/1.4 var(--ff-m, monospace); color: var(--aip-muted); }
.aip-code-inline { margin-left: 6px; padding: 1px 5px; border-radius: 4px; background: rgba(24, 20, 16, .06); }
.aip-link { color: var(--aip-accent-text); overflow-wrap: anywhere; }
.aip-link:focus-visible { outline: var(--aip-focus); }

.aip-facts { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 16px; margin: 0; font-size: 15px; }
.aip-facts dt { color: var(--aip-muted); }
.aip-facts dd { margin: 0; overflow-wrap: anywhere; }
.aip-facts--inline { grid-template-columns: repeat(3, max-content minmax(0, auto)); align-items: baseline; margin: 6px 0; }
.aip-facts--tech { margin: 0 0 14px; padding-bottom: 12px; border-bottom: 1px dashed var(--aip-line); font-size: 13px; }

.aip-badge { display: inline-block; padding: 2px 8px; border-radius: 99px; font: 650 11.5px/1.5 var(--ff-m, monospace); background: #f1eee9; color: #4a4038; white-space: nowrap; }
.aip-badge--completed, .aip-badge--ok, .aip-badge--supported { background: var(--aip-ok-bg); color: var(--aip-ok); }
.aip-badge--partial, .aip-badge--warn, .aip-badge--partially_supported, .aip-badge--not_independently_verified, .aip-badge--prio-medium { background: var(--aip-warn-bg); color: var(--aip-warn); }
.aip-badge--failed, .aip-badge--bad, .aip-badge--unsupported, .aip-badge--no_evidence, .aip-badge--prio-high, .aip-badge--cancelled { background: var(--aip-bad-bg); color: var(--aip-bad); }
.aip-badge--type, .aip-badge--neutral, .aip-badge--prio-low, .aip-badge--shared { background: var(--aip-info-bg); color: var(--aip-info); }

.aip-alert { margin: 10px 0; padding: 10px 12px; border-left: 4px solid var(--aip-warn); background: var(--aip-warn-bg); font-size: 14px; line-height: 1.5; }
.aip-alert--bad { border-left-color: var(--aip-bad); background: var(--aip-bad-bg); }

.aip-details { margin: 0 0 14px; border: 1px solid var(--aip-line); border-radius: 8px; }
.aip-details > *:not(summary) { margin-left: 14px; margin-right: 14px; }
.aip-details[open] { padding-bottom: 10px; }

.aip-table-wrap { max-width: 100%; overflow-x: auto; }
.aip-table-wrap:focus-visible { outline: var(--aip-focus); }
.aip-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; }
.aip-table th, .aip-table td { padding: 10px; border-bottom: 1px solid var(--aip-line); text-align: left; vertical-align: top; line-height: 1.45; }
.aip-table thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--aip-muted); }
.aip-table--compact th, .aip-table--compact td { padding: 7px 10px; }

.aip-history { margin-top: 28px; }
.aip-history__list { margin: 0; padding: 0; list-style: none; border: 1px solid var(--aip-line); border-radius: 10px; }
.aip-history__item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) auto auto; gap: 8px 14px; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--aip-line); }
.aip-history__item:last-child { border-bottom: 0; }

.aip-guide { margin-top: 48px; }
.aip-guide__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; }
.aip-guide__card { padding: 16px; border: 1px solid var(--aip-line); border-radius: 10px; background: #fff; }
.aip-guide__card p { margin: 0 0 8px; color: var(--aip-muted); line-height: 1.55; }
.aip-guide__card a { color: var(--aip-accent-text); font-weight: 600; }
.aip-bullets { margin: 0; padding-left: 20px; line-height: 1.6; }

@media (max-width: 860px) {
	.aip-modes, .aip-advanced__grid, .aip-guide__grid { grid-template-columns: 1fr; }
	.aip-history__item { grid-template-columns: minmax(0, 1fr) auto; }
	.aip-history__item > :nth-child(1), .aip-history__item > :nth-child(2) { grid-column: 1 / -1; margin: 0; }
	.aip-history__item > .aip-badge { justify-self: start; }
	.aip-facts--inline { grid-template-columns: max-content minmax(0, 1fr); }
}
@media (max-width: 520px) {
	.aip-app { padding: 16px; margin-left: -4px; margin-right: -4px; }
	.aip-section { padding: 14px; }
	.aip-prompt { grid-template-columns: 1fr auto; }
	.aip-prompt input { grid-column: 1 / -1; }
	.aip-facts { grid-template-columns: 1fr; gap: 2px; }
	.aip-facts dd { margin-bottom: 8px; }
	.aip-btn--primary { width: 100%; }
}

/* Toolbar extras and print / PDF view. */
.aip-wl { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--aip-muted); }
.aip-wl input { width: 18px; height: 18px; accent-color: var(--aip-accent); }
.aip-input--compact { width: auto; min-width: 180px; min-height: 36px; padding: 6px 10px; font-size: 14px; }
.aip-toolbar__status { flex-basis: 100%; margin: 0; min-height: 0; font-size: 13px; }
.aip-toolbar__status:empty { display: none; }
.aip-share { margin: 0 0 18px; padding: 14px 16px; border: 1px solid var(--aip-line); border-radius: 10px; background: var(--aip-soft); }
.aip-share__title { margin: 0 0 8px; font-size: 15px; }
.aip-share__row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.aip-share__url { flex: 1 1 260px; min-width: 0; min-height: 36px; padding: 6px 10px; font-size: 13px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.aip-share p { margin: 8px 0 0; font-size: 13px; }
.aip-share__note:empty { display: none; }
.aip-print-header { display: none; }
@media print {
	body.aip-printing .site-header, body.aip-printing .site-footer, body.aip-printing .breadcrumb,
	body.aip-printing .aip-hero, body.aip-printing #aip-form, body.aip-printing .aip-app__head,
	body.aip-printing .aip-notice, body.aip-printing .aip-progress, body.aip-printing .aip-history,
	body.aip-printing .aip-guide, body.aip-printing .aip-faq, body.aip-printing .aeo-related-cards,
	body.aip-printing [id$="-related"], body.aip-printing .aip-toolbar, body.aip-printing .aip-share, body.aip-printing .mks-cookie-consent,
	body.aip-printing noscript { display: none !important; }
	body.aip-printing, body.aip-printing .aip-page { background: #fff !important; }
	body.aip-printing .aip-app { border: 0; padding: 0; margin: 0; }
	body.aip-printing .aip-report { margin: 0; padding: 0; border: 0; }
	body.aip-printing .aip-print-header { display: block; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid #999; }
	body.aip-printing .aip-section, body.aip-printing .aip-finding, body.aip-printing .aip-run, body.aip-printing .aip-rec { break-inside: avoid; }
	body.aip-printing .aip-table { min-width: 0; font-size: 11px; }
	body.aip-printing .aip-table-wrap { overflow: visible; }
	body.aip-printing a.aip-link::after { content: " (" attr(href) ")"; font-size: 10px; color: #555; overflow-wrap: anywhere; }
	body.aip-white-label .aip-report__meta, body.aip-white-label .aip-report a.aip-link[href*="maksut.net"]::after { display: none; }
}
