/* The issue, styled after Kelvin's PDF draft: white page, light type,
   hairline rules, violet accents. Loads after pw.css and overrides it. */

body.issue-page { background: var(--white); color: #2a1f3d; }
.issue-page a { color: var(--violet-700); text-decoration-color: rgba(98, 71, 173, .45); text-underline-offset: 3px; }

.masthead { max-width: 760px; margin: 0 auto; padding: 28px 24px 18px; display: flex; align-items: center; gap: 14px; border-bottom: 1px solid #e6e1ea; }
.masthead .logo { width: 104px; display: block; }
.masthead .name { padding-left: 14px; border-left: 1px solid #d9d3df; font-size: 15px; color: #2a1f3d; }
.masthead .date { margin-left: auto; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--plum-400); }

.issue-page .review { margin-top: 20px; background: #f6f3fd; color: var(--plum-600); border: 1px dashed #c9bdf0; }

.issue-page article.issue { max-width: 760px; padding: 0 24px; font-size: 17px; line-height: 1.7; font-weight: 400; }
.issue-page .issue .dateline,
.issue-page .issue .num { font-size: 12px; font-weight: 500; letter-spacing: .14em; color: var(--violet-700); margin: 0 0 14px; }
.issue-page .issue .dateline { margin-top: 40px; }
.issue-page .issue h1 { font-size: 40px; line-height: 1.12; font-weight: 500; letter-spacing: -.02em; margin: 0 0 22px; }
.issue-page .issue h1 em { font-style: normal; color: var(--violet-500); }
.issue-page .issue .standfirst { font-size: 20px; line-height: 1.55; font-weight: 400; color: var(--plum-600); margin: 0 0 12px; }

.issue-page .issue section { border-top: 0; padding: 36px 0 4px; }
.issue-page .issue h2 { font-size: 24px; font-weight: 500; letter-spacing: -.01em; margin: 0 0 18px; }
.issue-page .issue p { margin: 0 0 18px; }

/* Key takeaway and In common: label on the left, text on the right, between rules */
.issue-page .issue .row { display: grid; grid-template-columns: 140px 1fr; gap: 24px; border-top: 1px solid #e6e1ea; border-bottom: 1px solid #e6e1ea; padding: 20px 0; margin: 28px 0 8px; }
.issue-page .issue .row > b { font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--violet-700); padding-top: 4px; }
.issue-page .issue .row p { margin: 0; font-size: 17px; color: #2a1f3d; }
.issue-page .issue .row h3 { margin: 0 0 8px; font-size: 18px; font-weight: 500; }

.issue-page .consequences li { border-left: 0; padding-left: 0; }
.issue-page .note { font-size: 14px; color: var(--plum-400); }

/* Before and after cards on a cream panel, label on the left */
.issue-page .cards { display: block; background: var(--cream-100); border-radius: 14px; padding: 28px; margin: 28px 0 14px; }
.issue-page .cards figure { display: grid; grid-template-columns: 120px 1fr; gap: 24px; align-items: center; max-width: 520px; margin: 0 0 22px; }
.issue-page .cards figure:last-child { margin-bottom: 0; }
.issue-page .cards figcaption { order: -1; margin: 0; font-size: 13px; color: var(--plum-600); }
.issue-page .cards figcaption b { font-weight: 500; letter-spacing: .14em; margin-bottom: 4px; }
.issue-page .idcard { background: var(--white); border: 1px solid #e6e1ea; box-shadow: 0 1px 2px rgba(48, 29, 71, .06); }

/* The 2026 tracker: numbered rows between hairlines */
.issue-page .tracker { gap: 0; margin-top: 24px; border-top: 1px solid #e6e1ea; }
.issue-page .tracker li { background: none; border-radius: 0; padding: 22px 0; border-bottom: 1px solid #e6e1ea; display: grid; grid-template-columns: 48px 1fr; column-gap: 8px; font-size: 16px; }
.issue-page .tracker li > * { grid-column: 2; }
.issue-page .tracker .n { grid-column: 1; grid-row: 1; font-size: 13px; font-weight: 500; color: var(--violet-700); padding-top: 2px; }
.issue-page .tracker .where { font-weight: 500; letter-spacing: .14em; color: var(--plum-600); }
.issue-page .tracker h3 { font-size: 17px; font-weight: 600; }

/* A note from Nirvana: plain text, as in the draft */
.issue-page .issue .from-nirvana { background: none; color: inherit; border-radius: 0; padding: 36px 0 4px; margin: 0; }
.issue-page .issue .from-nirvana .num { color: var(--violet-700); }
.issue-page .from-nirvana code { background: #f1edf7; }
.issue-page .issue .from-nirvana + section { border-top: 1px solid #e6e1ea; padding-top: 28px; margin-top: 24px; }

.issue-page footer.end { max-width: 760px; display: flex; justify-content: space-between; border-top: 1px solid #e6e1ea; margin-top: 40px; font-size: 13px; color: var(--violet-700); }
.issue-page footer.end a { text-decoration: none; }

@media (max-width: 700px) {
  .issue-page .issue h1 { font-size: 32px; }
  .issue-page .issue .row, .issue-page .cards figure { grid-template-columns: 1fr; gap: 8px; }
  .issue-page .tracker li { grid-template-columns: 36px 1fr; }
  .masthead .date { display: none; }
}

/* Tracker rows as tight as the draft */
.issue-page .issue .tracker .where { margin: 0 0 4px; font-size: 11px; }
.issue-page .issue .tracker h3 { margin: 0 0 6px; }
.issue-page .issue .tracker p { margin: 0; font-size: 15px; line-height: 1.6; }
.issue-page .issue .tracker .why { margin: 2px 0 8px; }
.issue-page .issue .tracker .src { font-size: 13px; }

/* The public preview: the opening fades out at the cutoff, then the sign-up */
.issue-page .cutoff { position: relative; max-height: 7.5em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 20%, transparent); mask-image: linear-gradient(#000 20%, transparent); }
.issue-page .gate-cut { background: var(--cream-100); border-radius: 16px; padding: 8px; margin: 8px 0 12px; }
.issue-page .gate-cut form.signup { box-shadow: none; }
.issue-page .gate-cut .fields { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
.issue-page .gate-cut form.signup h2 { font-size: 22px; margin: 0 0 4px; }
.issue-page .gate-cut form.signup .sub { font-size: 15px; margin: 0 0 6px; }
.issue-page .gate-cut form.signup p { margin-bottom: 0; }
.issue-page .issue .rest { padding-top: 28px; }
.issue-page .outline { list-style: none; padding: 0; margin: 0 0 24px; border-top: 1px solid #e6e1ea; }
.issue-page .outline > li { padding: 20px 0; border-bottom: 1px solid #e6e1ea; }
.issue-page .issue .outline h3 { margin: 0 0 6px; font-size: 18px; font-weight: 500; }
.issue-page .issue .outline p { margin: 0; font-size: 16px; color: var(--plum-600); }
.issue-page .tracked { list-style: none; padding: 0; margin: 8px 0 0; font-size: 16px; color: var(--plum-600); }
.issue-page .tracked li { margin: 4px 0; }
.issue-page .tracked b { display: inline-block; min-width: 96px; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--violet-700); }
@media (max-width: 700px) {
  .issue-page .gate-cut .fields { grid-template-columns: 1fr; }
  .issue-page .tracked b { display: block; }
}
