/* READABILITY_CONTRACT_V1 — shared reading and responsive geometry. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--ds-font-body);font-size:var(--ds-text-body);line-height:var(--ds-leading-body)}
body main,body main :where(.ds-template-shell,.pyq-live-shell,.pyq-question-list,.pyq-question,.ts-workspace,.ts-question-panel,.mcq-layout){min-inline-size:0;max-inline-size:100%}
body main :where(h1,h2,h3,h4,h5,h6,p,li,dd,blockquote){word-break:normal;letter-spacing:normal}
body main :where(h1,h2,h3,h4,h5,h6){overflow-wrap:anywhere;text-wrap:pretty}
body :is(.as-reading-content,.as-article,.reading-canvas,.geo-note,.ca-topic-article,.master-topic,.history-article-content,.economics-article-content,.note-body,.mains-qbody,.mains-case-body,.history-opt-group,.question-seo-card) :where(p,li,dd,blockquote){
  font-family:var(--ds-font-body);font-size:var(--as-reader-font,1.125rem)!important;
  line-height:1.85!important;font-weight:400;letter-spacing:normal;overflow-wrap:anywhere;
}
body :is(.as-reading-content,.as-article,.reading-canvas,.geo-note,.ca-topic-article,.master-topic,.history-article-content,.economics-article-content,.note-body,.mains-qbody,.question-seo-card) :where(strong,b){font-weight:650}
body main :where(pre,.as-table-scroll,.table-wrap,.table-scroll,.ds-table-wrap){max-inline-size:100%;min-inline-size:0;overflow-x:auto}
body main .ca-cards-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
body main .subjects-2col{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))}
body main :is(.ca-item-card,.subject-row-card){min-width:0;overflow-wrap:anywhere}
body main .ca-item-card p{font-size:1rem;line-height:1.75}
body main.main-wrap :where(section,div){min-inline-size:0}
body main.main-wrap :is(.subchip,.kicker,.sec-link-btn){max-inline-size:100%;white-space:normal;overflow-wrap:anywhere}
body main.main-wrap .login-btn{max-inline-size:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}
body main .resource-3grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.ds-report-issue-inner{flex-wrap:wrap}

/* Shrink the grid track itself; offscreen placeholders never reserve width. */
body.pyq-live-page .pyq-question-list{grid-template-columns:minmax(0,1fr)!important;min-width:0!important;width:100%;max-width:100%}
body.pyq-live-page .pyq-question{
  min-width:0!important;width:100%!important;max-width:100%!important;
  contain-intrinsic-inline-size:none!important;contain-intrinsic-block-size:auto 520px;
  scroll-margin-top:13rem;
}
body.pyq-live-page .pyq-question h2{
  font-size:var(--as-reader-font,1.125rem)!important;line-height:1.8!important;font-weight:600;
  white-space:normal;overflow-wrap:anywhere;text-wrap:pretty;
}
body.pyq-live-page :is(.pyq-statements li,.pyq-question>p,.pyq-explanation p,.pyq-explanation li,.pyq-options button span){
  font-size:var(--as-reader-font,1.125rem)!important;line-height:1.8!important;font-weight:400;
  min-width:0;white-space:normal;overflow-wrap:anywhere;
}
body.pyq-live-page .pyq-statements{padding-inline-start:1.5em;margin:1rem 0 1.25rem}
body.pyq-live-page .pyq-statements li{padding-inline-start:.2em;margin-block:.5em}
body.pyq-live-page .pyq-options{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
body.pyq-live-page .pyq-options button{min-width:0;max-width:100%;min-height:52px;align-items:flex-start}
body.pyq-live-page .pyq-options button b{flex:0 0 1.7em;line-height:1.8}
body.pyq-live-page .pyq-qmeta{flex-wrap:wrap}
body.pyq-live-page .pyq-qmeta :is(span,b){font-size:.875rem;line-height:1.6}
body.pyq-live-page .pyq-scoreboard{top:7rem;grid-template-columns:100px 90px 90px minmax(0,1fr) auto;min-width:0}
body.pyq-live-page :is(.pyq-live-head>div,.pyq-subject-grid strong,.pyq-selected-head>div){min-width:0;overflow-wrap:anywhere}

@media(max-width:760px){
  /* A complete wordmark and controls fit the actual viewport, without ellipsis. */
  .as-site-chrome.as-premium-shell{width:100%!important;max-width:100%!important}
  .as-site-chrome .as-premium-header,.as-site-chrome .as-premium-header-inner{min-height:64px!important}
  .as-site-chrome .as-premium-header-inner{width:calc(100% - 16px)!important;gap:6px!important}
  .as-site-chrome .as-premium-brand{flex:1 1 0!important;max-width:none!important;min-width:0!important;gap:6px!important;overflow:visible!important}
  .as-site-chrome .as-premium-brand-copy{overflow:visible!important;min-width:0!important}
  .as-site-chrome .as-premium-brand-copy strong{
    font-size:17px!important;line-height:1.45!important;font-weight:700!important;
    max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important;
  }
  .as-site-chrome .as-premium-actions{flex:0 0 auto!important;gap:4px!important;margin-left:0!important}
  .as-site-chrome .as-premium-theme{width:34px!important;min-width:34px!important;height:40px!important;min-height:40px!important;font-size:18px!important}
  .as-site-chrome .as-premium-theme-icon{font-size:18px!important}
  .as-site-chrome .as-mobile-menu{width:40px!important;flex:0 0 40px!important}
  .as-site-chrome .as-mobile-menu>summary{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}
  body.pyq-live-page .pyq-live-shell{width:calc(100% - 32px)!important;margin-inline:auto}
  body.pyq-live-page .pyq-question{padding:16px;scroll-margin-top:5rem}
  body.pyq-live-page .pyq-options{grid-template-columns:minmax(0,1fr)!important}
  body.pyq-live-page .pyq-options button{padding:12px;gap:8px}
  /* Scores remain available above the questions without covering the reading. */
  body.pyq-live-page .pyq-scoreboard{position:static!important;top:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  body.pyq-live-page .pyq-scoreboard :is(.pyq-score-progress,button){grid-column:1/-1}
  body.pyq-live-page .pyq-subject-grid button{grid-template-columns:42px minmax(0,1fr) auto}
  .as-mobile-primarynav :is(a,button) span{font-size:13px;line-height:1.5}
}
@media(max-width:359px){
  .as-site-chrome .as-premium-header-inner{width:calc(100% - 12px)!important;gap:4px!important}
  .as-site-chrome .as-premium-brand-copy strong{font-size:16px!important}
  .as-site-chrome .as-premium-brand{gap:5px!important}
  .as-site-chrome .as-premium-actions{gap:3px!important}
  body.pyq-live-page .pyq-question{padding:14px}
}
@media print{body.pyq-live-page .pyq-scoreboard{position:static}}
