/* ==========================================================================
   drpreetha.com — KPSC Medical Officer previous-year-question pages (2026-10-01)
   Hub /kpsc-medical-officer-previous-year-questions + one page per paper.
   page-designer analyze(drpreetha.com) -> search_first / archive_drawer:
   a ruled "register" of papers, OMR bubbles for options, paper/ink tokens.
   Scoped to .theme-pyq.
   ========================================================================== */
.theme-pyq { max-width: 920px; margin: 0 auto; }
.theme-pyq .pq-crumbs { font-size: .85rem; color: var(--color-text-secondary); margin: 0 0 1rem; }
.theme-pyq .pq-crumbs a { color: var(--color-primary); }
.theme-pyq .pq-eyebrow { font-family: var(--mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--color-primary); margin: 0 0 .35rem; }
.theme-pyq h1 { margin: 0; line-height: 1.15; }
.theme-pyq h2 { margin: 2.6rem 0 .9rem; scroll-margin-top: 80px; }
.theme-pyq p { line-height: 1.65; }
.theme-pyq .pq-lead { margin: .9rem 0 0; font-size: 1.05rem; color: var(--color-text-secondary); }
.theme-pyq .pq-lead b { color: var(--color-text); font-weight: 600; }

.theme-pyq .pq-stats { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6rem; }
.theme-pyq .pq-stats li { background: var(--paper-card); border: 1px solid var(--color-card-border); border-radius: 12px; padding: .8rem .9rem; box-shadow: var(--v3-shadow-sm); }
.theme-pyq .pq-stats b { display: block; font-family: var(--mono); font-size: 1.6rem; color: var(--brick); line-height: 1.1; }
.theme-pyq .pq-stats span { font-size: .85rem; color: var(--color-text-secondary); }

.theme-pyq .pq-cta { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.3rem 0 0; }
.theme-pyq .pq-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .6rem 1.2rem; border-radius: 10px; border: 1.5px solid var(--color-primary); color: var(--color-primary); background: transparent; font-weight: 600; text-decoration: none; }
.theme-pyq .pq-btn:hover { background: rgba(23, 112, 122, .08); }
.theme-pyq .pq-btn.is-primary { background: var(--color-primary); color: #fffcf6; }
.theme-pyq .pq-btn:focus-visible, .theme-pyq summary:focus-visible { outline: 3px solid #5cc3cc; outline-offset: 2px; }

/* the register of papers */
.theme-pyq .pq-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--color-card-border); border-radius: 12px; background: var(--paper-card); }
.theme-pyq .pq-table { width: 100%; border-collapse: collapse; font-size: .93rem; }
.theme-pyq .pq-table th, .theme-pyq .pq-table td { text-align: left; padding: .65rem .8rem; border-bottom: 1px solid var(--color-card-border); vertical-align: top; }
.theme-pyq .pq-table thead th { font-family: var(--mono); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); background: var(--paper); }
.theme-pyq .pq-table tbody tr:last-child > * { border-bottom: 0; }
.theme-pyq .pq-table tbody th a { font-family: var(--mono); font-weight: 600; color: var(--brick); white-space: nowrap; }
.theme-pyq .pq-table small { display: block; font-size: .78rem; color: var(--color-text-secondary); font-weight: 400; }
.theme-pyq .pq-off { white-space: nowrap; }
.theme-pyq .pq-syl td:last-child { font-family: var(--mono); text-align: right; }
.theme-pyq .pq-note { font-size: .85rem; color: var(--color-text-secondary); margin-top: .6rem; }

/* subject bars */
.theme-pyq .pq-mods { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
.theme-pyq .pq-mods li { display: grid; grid-template-columns: minmax(9rem, 15rem) 1fr 3rem; align-items: center; gap: .7rem; font-size: .92rem; }
.theme-pyq .pq-bar { height: .7rem; border-radius: 99px; background: var(--paper); border: 1px solid var(--color-card-border); position: relative; overflow: hidden; }
.theme-pyq .pq-bar::after { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--color-primary); opacity: .75; }
.theme-pyq .pq-mods b { font-family: var(--mono); text-align: right; }

/* facts */
.theme-pyq .pq-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .6rem; margin: 1.5rem 0 0; }
.theme-pyq .pq-facts > div { background: var(--paper-card); border: 1px solid var(--color-card-border); border-radius: 10px; padding: .6rem .8rem; }
.theme-pyq .pq-facts dt { font-family: var(--mono); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); }
.theme-pyq .pq-facts dd { margin: .15rem 0 0; }

/* questions as answer-sheet cards with OMR bubbles */
.theme-pyq .pq-qs { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.theme-pyq .pq-q { position: relative; background: var(--paper-card); border: 1px solid var(--color-card-border); border-radius: 14px; padding: 1.1rem 1.2rem 1rem 2.1rem; box-shadow: var(--v3-shadow-sm); }
.theme-pyq .pq-q::before { content: ''; position: absolute; left: 1rem; top: .9rem; bottom: .9rem; width: 1px; background: var(--brick); opacity: .45; }
.theme-pyq .pq-qmeta { margin: 0 0 .35rem; display: flex; gap: .5rem; align-items: center; font-size: .8rem; }
.theme-pyq .pq-qno { font-family: var(--mono); font-weight: 700; color: var(--brick); }
.theme-pyq .pq-mod { border: 1px solid var(--color-card-border); border-radius: 99px; padding: 0 .55rem; color: var(--ink-2); }
.theme-pyq .pq-qtext { font-weight: 600; margin: 0 0 .6rem; color: var(--color-text); }
.theme-pyq .pq-opts { list-style: none; padding: 0; margin: 0 0 .6rem; display: grid; gap: .35rem; }
.theme-pyq .pq-opts li { display: flex; gap: .55rem; align-items: baseline; }
.theme-pyq .pq-bub { flex: none; display: inline-grid; place-items: center; width: 1.6em; height: 1.6em; border-radius: 50%; border: 1.5px solid var(--brick); color: var(--brick); font-family: var(--mono); font-size: .78em; font-weight: 700; }
.theme-pyq .pq-q:has(details[open]) .is-key .pq-bub { background: var(--brick); color: #fffcf6; }
.theme-pyq .pq-q:has(details[open]) .is-key { font-weight: 600; }
.theme-pyq .pq-q summary { cursor: pointer; color: var(--color-primary); font-weight: 600; min-height: 32px; display: inline-flex; align-items: center; }
.theme-pyq .pq-ans { margin: .3rem 0 0; }
.theme-pyq .pq-src { display: block; font-family: var(--mono); font-size: .72rem; color: var(--color-text-secondary); margin-top: .2rem; }

/* faq, list, final block, author, prev/next */
.theme-pyq .pq-list { padding-left: 1.2rem; line-height: 1.6; }
.theme-pyq .pq-list li { margin: .35rem 0; }
.theme-pyq .pq-faq details { border-bottom: 1px solid var(--color-card-border); padding: .75rem 0; }
.theme-pyq .pq-faq summary { cursor: pointer; font-weight: 600; color: var(--color-text); }
.theme-pyq .pq-faq p { margin: .5rem 0 0; color: var(--color-text-secondary); }
.theme-pyq .pq-final { margin: 2.6rem 0 0; padding: 1.4rem 1.5rem; border: 1px dashed var(--color-primary); border-radius: 14px; background: var(--paper-card); }
.theme-pyq .pq-final h2 { margin: 0 0 .5rem; }
.theme-pyq .pq-author { display: flex; gap: 1rem; align-items: flex-start; margin: 2.2rem 0 0; padding: 1rem 1.1rem; border-top: 2px solid var(--brick); background: var(--paper); border-radius: 0 0 12px 12px; font-size: .92rem; }
.theme-pyq .pq-author p { margin: 0 0 .3rem; color: var(--color-text-secondary); }
.theme-pyq .pq-author .pq-by { color: var(--color-text); }
.theme-pyq .pq-avatar { flex: none; display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 1.5px solid var(--brick); color: var(--brick); font-family: var(--mono); font-weight: 700; }
.theme-pyq .pq-pn { display: flex; justify-content: space-between; gap: .8rem; flex-wrap: wrap; margin: 2rem 0 0; font-size: .92rem; }
.theme-pyq .pq-pn a { color: var(--color-primary); font-weight: 600; }
footer .pq-disclaimer { font-size: .78rem; opacity: .8; margin-top: .3rem; }

@media (max-width: 640px) {
  .theme-pyq .pq-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-pyq .pq-mods li { grid-template-columns: minmax(0, 1fr) 4.5rem 2.2rem; gap: .5rem; font-size: .86rem; }
  .theme-pyq .pq-table { font-size: .85rem; }
  .theme-pyq .pq-q { padding: 1rem .95rem .9rem 1.8rem; }
  .theme-pyq .pq-q::before { left: .8rem; }
}
