.pc-shell { background: var(--paper); color: var(--ink-soft); }
.pc-page { width: min(100% - 48px, 980px); margin-inline: auto; padding-block: 68px; }
.pc-page [hidden] { display: none !important; }
.cover { padding-block-start: 56px; border-block-end: 2px solid var(--ink); }
.pc-kicker, .pc-page__eyebrow { margin: 0 0 10px; color: var(--ink-meta); font: 600 .8125rem/1.6 var(--font-fa); }
.pc-page h1, .pc-page h2 { color: var(--ink); font-family: var(--font-display); font-weight: 700; }
.pc-page h1 { max-width: 720px; font-size: clamp(2.2rem, 4.7vw, 4.1rem); line-height: 1.5; }
.pc-page h2 { margin: 0 0 18px; font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.5; }
.pc-lede { max-width: 720px; margin-block: 20px 28px; font-size: 1.125rem; } .pc-page > p { max-width: 720px; }
.pc-section-nav { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-block-start: 24px; padding-block: 14px; border-block: 1px solid var(--paper-rule); }
.pc-section-nav a, .pc-related a, a.il { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pc-work, .pc-key, .pc-related { border-block-start: 1px solid var(--paper-rule); }
.pc-work label { display: block; margin: 28px 0 8px; color: var(--ink); font-weight: 700; }
.pc-work textarea { display: block; box-sizing: border-box; width: 100%; min-height: 132px; padding: 14px; color: var(--ink); background: var(--slip); border: 1px solid var(--line-dash); resize: vertical; font: 500 1rem/1.8 var(--font-fa); }
.pc-work textarea[dir="ltr"] { text-align: left; font-family: var(--font-en); }
.pc-work textarea[readonly] { background: var(--paper-rule); }
.pc-field-hint, .pc-feedback { margin: 6px 0 0; color: var(--ink-soft); }
.pc-confirm { margin-block-start: 18px; padding: 18px; border: 1px solid var(--ink); background: var(--paper); }
.pc-key { margin-block-start: 56px; }
.pc-key ol { padding-inline-start: 24px; }
.pc-key li { margin-block: 14px; }
.pc-paper-grid { padding-inline-start: 24px; }
.pc-paper-grid li { min-height: 50px; margin-block: 12px; border-block-end: 1px dashed var(--line-dash); }
.pc-skip { position: absolute; inset-inline-start: 12px; inset-block-start: -52px; z-index: 2; padding: 8px 12px; background: var(--ink); color: var(--on-ink); }
.pc-skip:focus { inset-block-start: 12px; }
@media (max-width: 599px) { .pc-page { width: min(100% - 32px, 980px); padding-block: 46px; } .cover { padding-block-start: 40px; } .pc-page h1 { font-size: 2.3rem; } }
@media print { .header, .footer, .pc-skip, .pc-section-nav, .pc-related, .cover__download, .pc-work button, .pc-confirm, input, [data-storage-note], [data-key-note] { display: none !important; } .pc-page { width: auto; padding-block: 10mm; } .pc-page__board, .pc-page__figure, .pc-work label { break-inside: avoid; } .pc-work textarea { min-height: 42mm; } [data-full-key][hidden], [data-mini-result][hidden] { display: block !important; } .pc-key { break-before: page; } }

/* Root integration: compact opening and coherent printable response groups. */
.pc-page.cover { min-height: 0; padding-block: 40px 32px; }
.pc-guidance { padding-block: 24px; border-block: 1px solid var(--line-gold); }
.pc-guidance summary { cursor:pointer; font-weight:700; color:var(--ink); }
.pc-guidance .pc-page { width:100%; padding-block:24px; }
.pc-prompt-en { display:block; margin-block:12px; text-align:left; line-height:1.8; font-weight:500; }
.pc-mini-key { margin-block-start:24px; padding-block-start:24px; border-block-start:1px solid var(--line-gold); }
@media print {
  body.pc-shell { background:var(--white); color:var(--ink); font-size:11pt; line-height:1.7; }
  .pc-page { width:100%; padding:0; margin:0; border:0; }
  .pc-page.cover { min-height:0!important; padding:0 0 6mm!important; margin:0; border:0; }
  .pc-page h1 { font-size:25pt; margin:0 0 3mm; }
  .pc-page h2 { font-size:20pt; margin:0 0 4mm; break-after:avoid; }
  .pc-page h3 { font-size:13pt; margin:4mm 0 2mm; break-after:avoid; }
  .pc-lede { margin:0; font-size:11pt; }
  .pc-guidance,.pc-web-only,[data-mini-note],.pc-js-only { display:none!important; }
  #overview-grouping > p,#stest > p { display:none; }
  .pc-page .pc-page__board,.pc-page .pc-page__mini { margin:0; padding:5mm; background:var(--white); break-inside:avoid; }
  .pc-page .pc-page__pair { grid-template-columns:repeat(2,minmax(0,1fr)); margin-block:5mm; gap:8mm; }
  .pc-page .pc-page__pie { width:45mm; }
  .pc-page .pc-page__figure--single { margin-block:4mm; }
  .pc-page .pc-page__figure figcaption { font-size:10pt; margin-top:2mm; }
  .pc-page .pc-page__legend { margin-block:3mm; gap:2mm 4mm; }
  .pc-page .pc-page__key { font-size:9pt; }
  .pc-page .pc-page__table th,.pc-page .pc-page__table td { padding:2mm 3mm; }
  .pc-page .pc-page__table caption { padding:2mm 3mm; font-size:9pt; }
  .pc-page .pc-page__table { font-size:10pt; }
  #per-wedge-logic,#stest,.pc-page[data-full-key] { break-before:page; }
  .pc-response { break-inside:avoid; margin-block:5mm; }
  .pc-response[data-response="p4"] { break-before:page; }
  .pc-work label { margin:0 0 2mm; break-after:avoid; }
  .pc-field-hint { margin:0 0 2mm; font-size:10pt; break-after:avoid; }
  .pc-work textarea { min-height:38mm; padding:2mm; background:var(--white); resize:none; }
  .pc-work #p1 { min-height:22mm; }
  .pc-work #p3,.pc-work #p4,.pc-work #p5,.pc-work #revision { min-height:40mm; }
  #practice-plan { margin-top:6mm; }
  .pc-key { margin:0; break-before:auto; }
  .pc-page[data-mini-result][hidden],.pc-page[data-full-key][hidden] { display:block!important; }
  .pc-key ol { padding-inline-start:6mm; }
  .pc-key li { margin-block:3mm; break-inside:avoid; }
  .pc-mini-key { break-inside:avoid; margin-block-start:5mm; padding-block-start:4mm; }
}

.pc-shell { margin:0; font-family:var(--font-fa, "Vazirmatn", sans-serif); font-weight:500; line-height:1.85; }
.pc-shell > .sigil-defs { position:absolute; width:0; height:0; overflow:hidden; }
