/* T-63 The Series Inside Your Novel: the tool and its two printed sheets */
.rail nav a .rn { display: inline-block; min-width: 18px; font-family: var(--f-display); font-weight: 900; font-size: 17px; line-height: 1; }
.mode { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin-bottom: var(--s4); }
.mode .status { white-space: normal; line-height: 1.45; font-family: var(--f-text); font-size: 15px; letter-spacing: 0; text-transform: none; }
.mode .status::before { align-self: flex-start; margin-top: 5px; }
.mode:empty { display: none; }
.pack-offer { border: var(--line) solid var(--pp-ink); background: #FBF9F2; padding: var(--s2) var(--s3); margin-bottom: var(--s4); max-width: 920px; }
.pack-in { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s2) var(--s4); align-items: center; }
.pack-in h3 { font-size: 26px; margin-bottom: 4px; }
@media (max-width: 767px) { .pack-in { grid-template-columns: minmax(0, 1fr); } }
.read-act { margin-top: var(--s3); }
.stale-note { margin-top: var(--s2); padding-left: 12px; border-left: var(--line) solid var(--pp-pencil); color: var(--pp-muted); }

/* module one: the rubric drawers, the books, the reader's scores */
.tests-drawers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s2) var(--s3); margin: 0 0 var(--s3); padding: var(--s2) 0; border-top: 1px solid var(--pp-rule); border-bottom: 1px solid var(--pp-rule); }
.tests-drawers h3 { font-size: 24px; }
@media (max-width: 1023px) { .tests-drawers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479px) { .tests-drawers { grid-template-columns: minmax(0, 1fr); } }
.books { margin-top: var(--s2); }
.bk { border-top: var(--line) solid var(--pp-ink); padding: var(--s3) 0 var(--s2); }
.bk-h { font-family: var(--f-display); font-weight: 800; font-size: 28px; line-height: 1; margin-bottom: var(--s2); }
details.bk-extra > summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 10px; margin-bottom: 0; min-height: 40px; }
details.bk-extra > summary::-webkit-details-marker { display: none; }
details.bk-extra > summary::before { content: "+"; display: inline-grid; place-items: center; width: 24px; height: 24px; border: var(--line) solid var(--pp-ink); font-family: var(--f-mono); font-size: 15px; }
details.bk-extra[open] > summary::before { content: "\2212"; }
details.bk-extra[open] > summary { margin-bottom: var(--s2); }
details.bk-extra > summary:focus-visible { outline: var(--focus); outline-offset: var(--focus-offset); }
.bk-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s4) var(--s6); }
.bk-id { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 0 var(--s2); }
.bk-ask { border-left: 1px solid var(--pp-rule); padding-left: var(--s4); }
.bk-ask > .label { margin-bottom: var(--s1); }
.bk-ask .choice { font-size: 15px; min-height: 44px; padding: 8px 12px; }
.bk-more { margin: 0 0 var(--s2); }
.bk-more[open] > summary { margin-bottom: var(--s2); }
.upload-msg:not(:empty) { margin-top: var(--s1); }
@media (max-width: 899px) { .bk-grid { grid-template-columns: minmax(0, 1fr); } .bk-ask { border-left: 0; padding-left: 0; border-top: 1px solid var(--pp-rule); padding-top: var(--s3); } }
@media (max-width: 479px) { .bk-id { grid-template-columns: minmax(0, 1fr); } }

.scores:not(:empty) { margin-top: var(--s4); }
.sc-grid { display: grid; gap: var(--s3); }
.sc-grid.sc-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sc-grid.sc-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .sc-grid.sc-3 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) { .sc-grid.sc-2 { grid-template-columns: minmax(0, 1fr); } }
.sc-card { border: var(--line) solid var(--pp-ink); background: #FBF9F2; padding: var(--s2); display: flex; flex-direction: column; }
.sc-card.is-reader { box-shadow: 6px 6px 0 var(--pp-ink); }
.sc-top { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--s1); margin-bottom: var(--s1); }
.sc-top h3 { font-size: 26px; }
.sc-row { border-top: 1px solid var(--pp-rule); padding: 8px 0; }
.sc-name { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.sc-name b { font-size: 15px; min-width: 76px; }
.sc-n { font-family: var(--f-mono); font-size: 11px; }
.sc-ev { margin-top: 4px; line-height: 1.4; }
.sc-total { margin-top: auto; padding-top: var(--s1); border-top: var(--line) solid var(--pp-ink); display: flex; align-items: baseline; gap: 8px; }
.sc-total b { font-family: var(--f-display); font-weight: 900; font-size: 44px; line-height: 1; }
.sc-why { margin: var(--s4) 0 var(--s3); max-width: 44em; }
.sc-would { font-family: var(--f-display); font-weight: 800; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.05; margin-bottom: var(--s1); }
.sc-pick { max-width: 620px; }

/* a finding: three readings, each with its evidence, and the writer's own */
.finds { margin-top: var(--s4); }
.finds-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s4) var(--s6); }
@media (max-width: 1023px) { .finds-2 { grid-template-columns: minmax(0, 1fr); } }
.find { margin: 0; }
.find-h { font-family: var(--f-display); font-weight: 800; font-size: 26px !important; line-height: 1; margin-bottom: var(--s1) !important; }
.find-note { margin-bottom: var(--s1); }
.find-empty { border: 1.5px dashed var(--pp-pencil); padding: var(--s2); }
.opt { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.opt-body { display: grid; gap: 5px; min-width: 0; }
.opt-text { font-size: 16px; font-weight: 500; line-height: 1.4; }
.opt-sub { color: var(--pp-ink); line-height: 1.4; }
.opt-ev { font-size: 14px; line-height: 1.4; color: var(--pp-muted); }
.opt-ev .label, .opt-sub .label { font-size: 9.5px; margin-right: 4px; }
.opt-ch { font-size: 10px; }
.opt .pick { padding-top: 2px; }
.own-text { margin-top: var(--s1); min-height: 72px; }

/* module two: the chapter strip */
.strip-fig { margin: var(--s4) 0 var(--s2); max-width: 760px; }
.strip { display: block; width: 100%; height: auto; overflow: visible; }
.strip rect { fill: #FBF9F2; stroke: var(--pp-ink); stroke-width: 1.5; }
.strip rect.on { fill: var(--pp-ink); }
.strip .strip-n { font-family: var(--f-mono); font-size: 10.5px; letter-spacing: .03em; fill: var(--pp-ink); text-anchor: middle; }
.strip-dense .strip-n { font-size: 14px; }
.strip .strip-n.on { fill: var(--pp-paper); font-weight: 500; }
.strip .strip-hand { font-family: var(--f-hand); font-size: 24px; fill: var(--pp-text-orange); text-anchor: middle; }
.strip .strip-arrow { fill: none; stroke: var(--pp-text-orange); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.strip .strip-dim { fill: none; stroke: var(--pp-ink); stroke-width: 1.5; }
.strip .strip-dimt { font-family: var(--f-mono); font-size: 11px; letter-spacing: .06em; fill: var(--pp-ink); text-anchor: middle; }
.strip-fig figcaption { margin-top: var(--s1); max-width: 44em; }
.strip-fig figcaption .label { margin-right: 6px; }
@media (max-width: 599px) { .strip .strip-n { font-size: 15px; } .strip .strip-hand { font-size: 30px; } .strip .strip-dimt { font-size: 15px; } }

/* module three: the B-story test and the buyer */
.btest { margin-top: var(--s6); border: var(--line) solid var(--pp-ink); padding: var(--s3); background: #FBF9F2; }
.btest-h { font-size: 30px; margin-bottom: var(--s2); }
.btest-list { padding-left: 22px; display: grid; gap: var(--s2); margin-bottom: var(--s3); }
.btest-list li { display: grid; gap: 4px; padding-left: 4px; }
.btest-list li::marker { font-family: var(--f-display); font-weight: 900; font-size: 20px; }
.bq { font-weight: 700; }
.bq-out:not(:empty) { display: block; margin-top: 4px; }
.bq-out .pf { margin-right: 10px; }
.btest-list li.is-fail .bq-reason { font-weight: 500; }
.btest-list li.is-stale .bq-out { opacity: .6; }
.pf { display: inline-flex; align-items: center; gap: 6px; font-family: var(--f-mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; vertical-align: 1px; }
.pf::before { content: ""; width: 10px; height: 10px; border: 1.5px solid currentColor; }
.pf.pass::before { background: currentColor; }
.pf.fail { font-weight: 500; }
.buyer-block { margin-top: var(--s6); max-width: 760px; }

/* module four: five seasons and the season-three test */
.seasons-dim { max-width: 100%; margin: var(--s4) 0 var(--s2); }
.seasons { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; border: var(--line) solid var(--pp-ink); margin-bottom: var(--s3); }
.season { display: block; padding: 10px; position: relative; }
.season + .season { border-left: 1px solid var(--pp-ink); }
.season .sn { display: block; font-family: var(--f-display); font-weight: 900; font-size: 26px; line-height: 1; margin-bottom: 6px; }
.season .textarea { min-height: 120px; font-size: 15px; padding: 8px; }
@media (max-width: 899px) { .seasons { grid-template-columns: minmax(0, 1fr); } .season + .season { border-left: 0; border-top: 1px solid var(--pp-ink); } .season .textarea { min-height: 72px; } }
.s3 { max-width: 760px; margin-bottom: var(--s4); }
.s3-h { font-size: 26px; margin-bottom: var(--s1); }
.s3-out { margin-bottom: var(--s2); }
.s3-line { font-size: 17px; }

/* module five: the verdict */
.m5-top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--s4) var(--s6); align-items: start; }
@media (max-width: 899px) { .m5-top { grid-template-columns: minmax(0, 1fr); } }
.vstamp { border: 3px solid var(--pp-ink); background: #FBF9F2; padding: var(--s2) var(--s3) var(--s3); transform: rotate(-1.5deg); margin: 6px 4px 0; }
.vstamp b { display: block; font-family: var(--f-display); font-weight: 900; font-size: clamp(40px, 4.6vw, 60px); line-height: .95; margin: 4px 0 10px; }
.vstamp p { font-size: 17px; }
.m5-side .read-act { margin-top: 0; }
.before { border: var(--line) solid var(--pp-ink); padding: var(--s2) var(--s3); margin-top: var(--s3); }
.before h3 { font-size: 24px; margin-bottom: var(--s1); }
.before ol { padding-left: 20px; display: grid; gap: 6px; font-size: 16px; }
.arch-fields { margin-top: var(--s4); }
.arch-actions { margin: 0 0 var(--s2); }
.pack-paste { margin-top: var(--s6); max-width: 760px; }

/* ---------- the two sheets: letter, 0.25 in safe boundary, grid faint ---------- */
.xwrap { --s: 1; margin-top: var(--s4); }
html:not(.js) .xwrap { display: none; }
.xfit { width: calc(816px * var(--s)); height: calc(1056px * var(--s)); margin-bottom: var(--s6); position: relative; }
.xsheet { --fs: 12.5px; position: absolute; left: 0; top: 0; width: 816px; height: 1056px; transform: scale(var(--s)); transform-origin: 0 0;
  background-color: var(--pp-paper); background-image: linear-gradient(#EBE5D5 1px, transparent 1px), linear-gradient(90deg, #EBE5D5 1px, transparent 1px); background-size: 16px 16px;
  box-shadow: 12px 12px 0 rgba(15, 26, 46, .18); color: var(--pp-ink); font-size: var(--fs); line-height: 1.42; }
#sheet1 { --fs: 13.5px; } #sheet1.fit1 { --fs: 12.5px; } #sheet1.fit2 { --fs: 11.5px; } #sheet1.fit3 { --fs: 10.6px; }
.xsheet.fit1 { --fs: 11.5px; } .xsheet.fit2 { --fs: 10.6px; } .xsheet.fit3 { --fs: 9.8px; }
.xs-in { position: absolute; left: 48px; right: 48px; top: 44px; bottom: 92px; overflow: hidden; display: flex; flex-direction: column; }
.xs-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; border-bottom: 3px solid var(--pp-ink); padding-bottom: 8px; }
.xs-top .label { font-size: 9px; }
.xs-title { font-family: var(--f-display); font-weight: 900; font-size: calc(var(--fs) * 3.6); line-height: .92; margin-top: 2px; }
.xs-meta { text-align: right; flex: none; max-width: 46%; }
.xs-meta span { display: block; }
.xs-logline { font-size: calc(var(--fs) * 1.3); font-weight: 500; line-height: 1.35; margin: 10px 0 12px; }
.xsheet .blank { color: var(--pp-pencil); }
.xs-grid { display: grid; grid-template-columns: 1fr 1fr; border: 2px solid var(--pp-ink); background: var(--pp-paper); }
.xs-cell { padding: 7px 10px; border-bottom: 1px solid var(--pp-ink); min-width: 0; }
.xs-cell:nth-child(odd):not(.xs-wide) { border-right: 1px solid var(--pp-ink); }
.xs-grid > .xs-cell:nth-last-child(-n+2):not(.xs-wide) { border-bottom: 0; }
.xs-cell .label { display: block; font-size: 8.5px; margin-bottom: 2px; }
.xs-wide { grid-column: 1 / -1; }
.xs-wide ~ .xs-cell:nth-child(odd) { border-right: 0; }
.xs-wide ~ .xs-cell:nth-child(even) { border-right: 1px solid var(--pp-ink); }
.xs-seasons { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.xs-seasons b { display: block; font-family: var(--f-display); font-weight: 900; font-size: 18px; line-height: 1; }
.xs-seasons p { font-size: calc(var(--fs) * .92); margin-top: 2px; }
.xs-foot { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 18px; margin-top: 14px; align-items: start; }
.xs-verdict .label, .xs-before .label { display: block; font-size: 8.5px; margin-bottom: 4px; }
.xs-stamp { display: inline-block; border: 2.5px solid var(--pp-ink); padding: 6px 10px 4px; font-family: var(--f-display); font-weight: 900; font-size: 26px; line-height: 1; transform: rotate(-1.5deg); }
.xs-stamp.blank { font-size: 16px; border-style: dashed; }
.xs-verdict p { margin-top: 8px; }
.xs-before { border: 1.5px solid var(--pp-ink); padding: 8px 10px; }
.xs-before ol { padding-left: 16px; display: grid; gap: 3px; }
.xs-manager { margin-top: auto; padding-top: 10px; font-size: 8.5px; }
.xs-tb { position: absolute; right: 24px; bottom: 24px; grid-template-columns: auto auto auto; }
.xs-tb > div { padding: 6px 10px 5px; }
.xs-tb .proj b { font-size: 20px; }
.xs-tb .drawn b, .xs-tb .sheetno b { font-size: 15px; }
.xs-tb > div + div { border-left: 1px solid var(--pp-rule); }
.xm-cols { columns: 2; column-gap: 24px; margin-top: 12px; }
.xm { break-inside: avoid; margin-bottom: 10px; }
.xm h4 { font-family: var(--f-mono); font-weight: 500; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; color: var(--pp-pencil); border-bottom: 1px solid var(--pp-ink); padding-bottom: 2px; margin-bottom: 4px; }
.xm p + p { margin-top: 3px; }
.xm-ev { color: var(--pp-muted); }
.xm-down { color: var(--pp-muted); }
.xm-down .label { font-size: 8px; margin-right: 4px; }
.xm .pf { font-size: 8.5px; }

@media print {
  @page { size: letter; margin: 0; }
  html, body { background: #fff !important; background-image: none !important; margin: 0; }
  .rail, .stationbar, .work-foot, .needs-js, #t63-mode, #t63-pack, .module:not(#architecture), #architecture > :not(.xwrap) { display: none !important; }
  .tool, .work { display: block; min-height: 0; }
  .work-body { padding: 0 !important; }
  #architecture { display: block !important; max-width: none; margin: 0 !important; }
  .xwrap { --s: 1 !important; margin: 0; }
  .xfit { width: 8.5in; height: 11in; margin: 0; break-after: page; page-break-after: always; overflow: hidden; }
  .xfit:last-child { break-after: auto; page-break-after: auto; }
  .xsheet { transform: none; box-shadow: none; width: 8.5in; height: 11in; }
}
.own-text[hidden] { display: none; }

/* two ways to work: the reader's readings, or the writer's own answers (no AI) */
html.js body:not([data-way="ask"]) .way-ask, body[data-way="ask"] .way-read { display: none !important; }
.way { margin: var(--s3) 0 var(--s4); max-width: 920px; }
.way > legend { font-family: var(--f-display); font-weight: 800; font-size: 26px !important; line-height: 1; margin-bottom: var(--s1) !important; }
.way-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.way-choices .choice { min-height: 96px; }
.way-choices .opt-text { font-weight: 700; font-size: 17px; }
.way-choices .choice:has(input:disabled) { opacity: .55; cursor: not-allowed; }
@media (max-width: 767px) { .way-choices { grid-template-columns: minmax(0, 1fr); } }
.way-note:not(:empty) { margin-top: var(--s1); }
.way-note a { color: var(--pp-ink); }
.self-score { display: grid; gap: 10px; margin-bottom: var(--s2); }
.self-score .score { display: flex; align-items: center; gap: 12px; }
.self-score .score .label { min-width: 84px; margin: 0; }
.ask-pick { margin-top: var(--s4); max-width: 620px; }
.ask-suggest { margin-top: var(--s1); font-family: var(--f-display); font-weight: 800; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.05; }
.asks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s4) var(--s6); margin-top: var(--s4); }
.asks .ask > p { margin: 6px 0 var(--s2); max-width: 36em; }
.ask-ch { max-width: 160px; }
@media (max-width: 1023px) { .asks { grid-template-columns: minmax(0, 1fr); } }
.btest-ask .ask-q { margin-top: var(--s2); }
.btest-ask .fieldset { margin-bottom: var(--s1); }
.check { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; cursor: pointer; margin-top: -8px; }
.check input { width: 18px; height: 18px; accent-color: var(--pp-ink); }
.check:has(input:focus-visible) { outline: var(--focus); outline-offset: var(--focus-offset); }
.self-test:not(:empty) { margin-top: var(--s3); border-top: var(--line) solid var(--pp-ink); padding-top: var(--s2); display: grid; gap: 6px; }
.self-test p { font-size: 16px; }
.self-test .pf { margin-right: 10px; }
.status.warn { color: var(--pp-ink); font-weight: 500; }
.status.warn::before { background: repeating-linear-gradient(45deg, currentColor 0 2px, transparent 2px 4px); }
.confirm { border: var(--line) solid var(--pp-ink); background: #FBF9F2; padding: 12px 16px; display: grid; gap: 10px; }
[data-armed="1"] { outline: 3px solid var(--pp-pencil); outline-offset: 3px; }
.backup-wrap { margin-top: var(--s4); }
.need-book { margin: 0 0 var(--s4); max-width: 760px; }
.need-in { display: grid; gap: 10px; justify-items: center; }
.need-in .btn { margin-top: 6px; }
#choose .gloss { margin: 0 0 var(--s3); }
