/* Shared MAO layout and typography; Sakura no Uta's pale-sky / blossom palette. */
:root, .reader-page {
  --ink: #342a35; --ink-soft: #6e596b; --paper: #fdf9fb; --white: #fff;
  --ice: #f8eaf0; --ice-deep: #e2a2bc; --ice-ink: #924365;
  --blue: #924365; --navy: #f8eaf0; --line: rgba(116, 60, 88, .18);
}
body { background: var(--paper); }
.hero { background: #f1f8fc; color: var(--ink); min-height: 760px; }
.hero::before { display: none; }
.hero-backdrop-soft {
  filter: blur(14px);
  -webkit-mask-image: linear-gradient(to bottom, #000, rgba(0,0,0,.75) 6%, rgba(0,0,0,.35) 13%, rgba(0,0,0,.08) 20%, transparent 25%);
  mask-image: linear-gradient(to bottom, #000, rgba(0,0,0,.75) 6%, rgba(0,0,0,.35) 13%, rgba(0,0,0,.08) 20%, transparent 25%);
}
.hero::after { background: linear-gradient(90deg, rgba(255,255,255,.88), rgba(255,255,255,.48) 42%, rgba(255,255,255,0) 75%); }
.hero-backdrop { object-position: center; }
.nav { color: var(--ink); border-bottom-color: var(--line); }
.nav-links { color: var(--ink-soft); }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--blue); }
.nav-links a[aria-current="page"] { text-decoration-color: var(--blue); }
.hero .nav-links { color: #432c3d; }
.hero .nav-links a:hover, .hero .nav-links a[aria-current="page"] { color: #852749; }
.hero .nav-links a[aria-current="page"] { text-decoration-color: #852749; }
.hero .eyebrow { color: var(--blue); }
.dek { color: var(--ink-soft); }
.hero .button-primary { background: var(--blue); color: #fff; }
.unavailable { cursor: default; }
.unavailable:hover { transform: none; }
.hero .button-secondary { background: rgba(255,255,255,.62); border-color: var(--blue); color: var(--blue); }
.hero .button-secondary:hover { background: #fff; }
.hero .compatibility { color: var(--ink-soft); max-width: 65ch; line-height: 1.8; }
.compatibility a { text-decoration: none; }
.release-strip { background: var(--ice); color: var(--ink); border-block: 1px solid var(--line); }
.release-grid > div, .release-grid > div:last-child { border-color: var(--line); }
.release-label { color: var(--blue); }
.install-section { background: #fff; }
.install-steps li > div { min-width: 0; }
.install-steps code, .checksum-details code { overflow-wrap: anywhere; }
.install-steps .text-link { max-width: 100%; overflow-wrap: anywhere; }
.support-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-block: 32px; }
.support-grid details, .checksum-details { padding: 20px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
summary { cursor: pointer; font-weight: 700; line-height: 1.6; }
details p, .report-link { line-height: 1.8; color: var(--ink-soft); }
.checksum-details { margin-top: 24px; }
.report-link { margin-top: 28px; }
.report-link a { color: var(--blue); text-decoration: underline; }
.install-warning { border-color: var(--ice-deep); background: var(--paper); }
footer { background: var(--ice); color: var(--ink-soft); border-top: 1px solid var(--line); }
.reader-page { background: var(--paper); }
.reader-page .reader-header { background: var(--ice); color: var(--ink); }
.reader-page .nav { border-bottom-color: var(--line); }
.reader-page .nav-links, .reader-page .nav-links a { color: var(--ink-soft); }
.reader-page .nav-links a:hover, .reader-page .nav-links a[aria-current="page"] { color: var(--blue); }
.reader-page .nav-links a[aria-current="page"] { text-decoration-color: var(--blue); }
.reader-page .reader-header .eyebrow { color: var(--blue); }
.reader-page .reader-intro > p:last-of-type { color: var(--ink-soft); }
.reader-page .scope-options input:checked + span { background: var(--blue); color: #fff; }
.reader-page .search-scope:disabled { opacity: .55; }
.reader-page .search-scope:disabled label { cursor: not-allowed; }
.reader-page .reader-controls { box-shadow: 0 12px 36px rgba(116,60,88,.06); }
.reader-page .empty-state p { margin: 0; color: var(--ink-soft); font-family: var(--serif); font-size: 20px; }
.reader-page footer { background: var(--ice); color: var(--ink-soft); }
.skip-link { position: absolute; z-index: 20; left: 16px; top: 12px; transform: translateY(-180%); padding: 12px 18px; background: #fff; color: var(--ink); font-size: 13px; font-weight: 800; }
.skip-link:focus { transform: translateY(0); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
@media (max-width: 900px) { .hero::after { background: linear-gradient(90deg, rgba(255,255,255,.9), rgba(255,255,255,.5)); } }
@media (max-width: 640px) {
  .support-grid { grid-template-columns: 1fr; }
  .hero-backdrop { object-position: 62% center; }
  .nav-links a:last-child, .reader-page .nav-links a:last-child { display: inline; }
}
