.opening-check {
  --check-ink: #172a3b;
  --check-muted: #435766;
  --check-gold: #f6be71;
  --check-line: #c2cbc9;
  --check-navy: #101c2e;
  padding: clamp(44px, 7vw, 85px) 0;
  scroll-margin-top: 90px;
  color-scheme: light;
  background: #f1efe9;
  color: var(--check-ink);
}
.opening-check [hidden] { display: none !important; }
.opening-check__inner { width: min(1100px, calc(100% - 76px)); margin-inline: auto; }
.opening-check__header { margin-bottom: clamp(21px, 4vw, 37px); }
.opening-check__eyebrow { margin: 0 0 12px; color: #795021; font-size: .7rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.opening-check__eyebrow span { display: inline-block; margin: 0 .3em; }
.opening-check__header h2 { margin: 0 0 10px; font: 500 clamp(2.1rem, 5vw, 4rem)/1.05 Georgia, serif; letter-spacing: -.035em; }
.opening-check__header h2 em { color: #80531e; font-weight: 400; }
.opening-check__header p:last-child, .opening-check__fallback p { margin: 0; color: var(--check-muted); }
.opening-check__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 5vw, 65px); align-items: start; }
.opening-check__post { min-width: 0; margin: 0; border: 1px solid #394e66; border-radius: 8px; background: var(--check-navy); color: #f4f2ec; overflow: hidden; }
.opening-check__post-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 15px; padding: 13px clamp(16px, 3vw, 25px); border-bottom: 1px solid #394e66; color: #c1cfdb; font-size: .68rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.opening-check__post-top span:last-child { color: var(--check-gold); }
.opening-check__post blockquote { margin: 0; padding: clamp(21px, 4vw, 37px) clamp(16px, 3vw, 25px); background: radial-gradient(ellipse at 100% 100%, #263c59 0, transparent 68%); color: #f4f2ec; font: 400 clamp(1.6rem, 3.15vw, 2.5rem)/1.18 Georgia, serif; letter-spacing: -.023em; text-wrap: balance; }
.opening-check__post mark { color: inherit; background: transparent; }
.opening-check[data-opening-revealed] .opening-check__post mark,
.opening-check:has([data-opening-notice][open]:not([hidden])) .opening-check__post mark { color: var(--check-gold); text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .12em; }
.opening-check__post figcaption { padding: 15px clamp(16px, 3vw, 25px); border-top: 1px solid #394e66; }
.opening-check__meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; margin: 0; font-size: .76rem; line-height: 1.4; }
.opening-check__meta dt { margin-bottom: 3px; color: #536674; font-size: .66rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.opening-check__meta dd { margin: 0; overflow-wrap: anywhere; }
.opening-check__post .opening-check__meta dt { color: #aebfd0; }
.opening-check__reply { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid #394e66; color: #d2dbe5; font-size: .85rem; line-height: 1.45; }
.opening-check__interaction { min-width: 0; }
.opening-check__progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin: 0 0 16px; padding: 0; list-style: none; }
.opening-check__progress li { border-top: 2px solid #c2cbc9; padding-top: 6px; color: var(--check-muted); font-size: .73rem; line-height: 1.3; overflow-wrap: anywhere; }
.opening-check__progress li span { display: block; margin-bottom: 1px; }
.opening-check__progress [aria-current="step"] { border-color: #946634; color: #72491f; font-weight: 750; }
.opening-check__stage h3, .opening-check__fallback h3 { margin: 0 0 10px; padding: 0; font: 600 clamp(1.23rem, 2.45vw, 1.7rem)/1.23 Georgia, serif; scroll-margin-top: 96px; }
.opening-check__stage > p:not(.opening-check__feedback) { margin: 0; color: var(--check-muted); line-height: 1.55; }
.opening-check__choices { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.opening-check__sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.opening-check__choices label { display: flex; align-items: center; min-height: 46px; gap: 10px; margin-top: 7px; padding: 9px 12px; border: 1px solid var(--check-line); border-radius: 4px; background: #f7f5ef; color: var(--check-ink); font-size: 1rem; line-height: 1.4; cursor: pointer; }
.opening-check__choices label:hover { border-color: #926734; }
.opening-check__choices label:has(input:checked) { border-color: #926734; background: #ede1cb; }
.opening-check__choices input { flex: none; width: 17px; height: 17px; margin: 0; accent-color: #865c2e; }
.opening-check :is(a, input, summary, button):focus-visible { outline: 3px solid #9a581d; outline-offset: 4px; }
.opening-check__feedback { margin: 10px 0 0; border-left: 3px solid #9b703c; padding: 9px 12px; color: #314754; background: #e8e4d8; font-size: 1rem; line-height: 1.5; }
.opening-check__feedback:empty { margin: 0; padding: 0; border: 0; }
.opening-check__confidence { margin-top: 10px; }
.opening-check__confidence summary { display: list-item; min-height: 44px; padding: 11px 0; color: #72491f; font-size: .94rem; font-weight: 700; cursor: pointer; }
.opening-check__confidence summary span { color: var(--check-muted); font-weight: 500; }
.opening-check__confidence > div { border: 1px solid var(--check-line); border-radius: 4px; padding: 12px; background: #f7f5ef; font-size: .92rem; }
.opening-check__confidence input { display: block; width: 100%; min-height: 44px; margin: 3px 0; accent-color: #865c2e; }
.opening-check__confidence output { font-weight: 750; }
.opening-check__confidence p { margin: 0; color: var(--check-muted); font-size: .86rem; line-height: 1.5; }
.opening-check__notice { margin-top: 11px; border: 1px solid var(--check-line); border-radius: 4px; background: #e9ece5; }
.opening-check__notice summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 46px; padding: 9px 12px; color: #213b40; font-size: 1rem; font-weight: 750; list-style: none; cursor: pointer; }
.opening-check__notice summary::-webkit-details-marker { display: none; }
.opening-check__notice .opening-check__sign::before { content: "+"; font-size: 1.2rem; line-height: 1; }
.opening-check__notice[open] .opening-check__sign::before { content: "−"; }
.opening-check__notice:not([open]) .opening-check__hide, .opening-check__notice[open] .opening-check__show { display: none; }
.opening-check__notice-body { border-top: 1px solid var(--check-line); padding: 13px 12px; }
.opening-check__notice-label { margin: 0 0 7px; color: #526a68; font-size: .66rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.opening-check__notice blockquote { margin: 0 0 13px; color: #183432; font: 500 1.08rem/1.42 Georgia, serif; }
.opening-check__notice mark { background: #f5d7a2; color: #253a34; text-decoration: underline; text-underline-offset: .12em; }
.opening-check__lesson { margin: 12px 0 0; border-top: 1px solid var(--check-line); padding: 9px 0 0 1.2em; color: #314b4a; font-size: 1rem; line-height: 1.55; }
.opening-check__lesson li + li { margin-top: 5px; }
.opening-check__reflection { margin-top: 17px; }
.opening-check__first-read { padding-bottom: 8px; }
.opening-check__detail { margin-top: 14px; }
.opening-check__detail legend { padding: 0; font: 600 1.16rem/1.35 Georgia, serif; }
.opening-check__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.opening-check__actions button { min-height: 44px; padding: 7px 13px; border: 1px solid #977041; border-radius: 4px; background: #f7f5ef; color: #70471e; font: 750 .92rem/1.25 system-ui, sans-serif; cursor: pointer; }
.opening-check__actions button:hover:not(:disabled) { background: #e9ddc8; }
.opening-check__actions .opening-check__forward { background: var(--check-navy); color: #f4f2ec; border-color: var(--check-navy); }
.opening-check__actions .opening-check__forward:hover:not(:disabled) { background: #243952; }
.opening-check__actions .opening-check__forward:disabled { background: #d9dddb; color: #4f5c61; border-color: #b5bebc; cursor: default; }
.opening-check__next { display: flex; justify-content: flex-end; margin-top: 20px; border-top: 1px solid var(--check-line); }
.opening-check__next a { display: inline-flex; align-items: center; min-height: 44px; gap: 7px; color: #70471e; font-size: .88rem; font-weight: 700; text-underline-offset: .2em; }
@media (max-width: 720px) {
  .opening-check__inner { width: calc(100% - 36px); }
  .opening-check__layout { grid-template-columns: 1fr; }
  .opening-check__next { justify-content: flex-start; }
}
@media (max-width: 360px) {
  .opening-check__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
