/* tp3-shell.css — 由 tools/build_review_pages.py 從 tp3.css 抽出，請勿手改。
   舊頁（單元頁、國語工具、App、/junior/、/more/）專用：只帶權杖與頁首頁尾，
   不帶 tp3.css 的全域元素規則（h1~h4、p、a、svg、button），以免動到舊頁的題目與版面。 */
.tp3-header,.tp3-header *,.tp3-footer,.tp3-footer *,.tp3-legacy-tools,.tp3-legacy-tools *,.tp3-skip,.tp3-home-pill,.tp3-home-pill *{box-sizing:border-box}
.tp3-header,.tp3-footer,.tp3-legacy-tools,.tp3-skip,.tp3-home-pill{font-family:var(--tp3-font-sans);font-size:var(--tp3-fs-body);line-height:var(--tp3-lh-body);color:var(--tp3-ink)}
.tp3-header a:focus-visible,.tp3-footer a:focus-visible,.tp3-home-pill:focus-visible,.tp3-menu-toggle:focus-visible{outline:3px solid var(--tp3-focus);outline-offset:2px}
:root{
  color-scheme: light; 

  
  --tp3-p-paper: #FAF6EE;        
  --tp3-p-paper-deep: #F3EDE0;   
  --tp3-p-surface: #FFFCF7;      

  
  --tp3-p-ink: #3B352C;          
  --tp3-p-ink-soft: #6E6558;     
  --tp3-p-ink-faint: #7A6F5C;    

  
  --tp3-p-line: #E7DECD;         
  --tp3-p-line-strong: #D5C8AE;  
  --tp3-p-grid-line: #E0D4BE;    

  
  --tp3-p-cinnabar: #C05B4B;       
  --tp3-p-cinnabar-dark: #A94A3C;  
  --tp3-p-cinnabar-deeper: #93402F;
  --tp3-p-cinnabar-soft: #F6E4DF;  

  
  --tp3-p-sage: #7C8B6F;           
  --tp3-p-sage-deep: #5E6E52;      
  --tp3-p-sage-soft: #E9EDE2;      

  
  --tp3-p-amber: #C99A4B;          
  --tp3-p-amber-deep: #A87A2E;     
  --tp3-p-amber-soft: #F6ECDA;     

  
  --tp3-p-blue: #5B7183;           
  --tp3-p-blue-soft: #EEF2F6;      

  
  --tp3-p-sub-chinese: #A94A3C;  --tp3-p-sub-chinese-soft: #F6E4DF; 
  --tp3-p-sub-math: #5B7183;     --tp3-p-sub-math-soft: #EEF2F6;    
  --tp3-p-sub-english: #75566A;  --tp3-p-sub-english-soft: #F0E6EC; 
  --tp3-p-sub-science: #5E6E52;  --tp3-p-sub-science-soft: #E9EDE2; 
  --tp3-p-sub-social: #7E6238;   --tp3-p-sub-social-soft: #F1EADA;  

  
  --tp3-p-font-sans: -apple-system, BlinkMacSystemFont, "PingFang TC", "Microsoft JhengHei", "Noto Sans CJK TC", "Source Han Sans TC", sans-serif;
  --tp3-p-font-serif: "Songti TC", "PMingLiU", "Noto Serif CJK TC", "Source Han Serif TC", serif;
  --tp3-p-font-kai: "BiauKaiTC-Regular", "BiauKaiTC", "BiauKai", "Kaiti TC", "STKaiti", "DFKai-SB", "TW-Kai", "LXGW WenKai TC", "Songti TC", serif;

  
  --tp3-p-fs-caption: 0.8125rem;  
  --tp3-p-fs-small: 0.9375rem;    
  --tp3-p-fs-body: 1.0625rem;     
  --tp3-p-fs-lead: 1.1875rem;     
  --tp3-p-fs-h4: 1.1875rem;       
  --tp3-p-fs-h3: 1.375rem;        
  --tp3-p-fs-h2: clamp(1.5rem, 1.3rem + 1vw, 1.75rem);    
  --tp3-p-fs-h1: clamp(1.75rem, 1.45rem + 1.6vw, 2.25rem);
  --tp3-p-fs-display: clamp(2rem, 1.5rem + 2.6vw, 2.75rem);

  
  --tp3-p-lh-title: 1.3;
  --tp3-p-lh-body: 1.85;
  --tp3-p-lh-zhuyin: 1.05;
  --tp3-p-fw-regular: 400;
  --tp3-p-fw-medium: 500;
  --tp3-p-fw-bold: 700;

  
  --tp3-p-space-1: 0.25rem;  
  --tp3-p-space-2: 0.5rem;   
  --tp3-p-space-3: 0.75rem;  
  --tp3-p-space-4: 1rem;     
  --tp3-p-space-5: 1.25rem;  
  --tp3-p-space-6: 1.5rem;   
  --tp3-p-space-8: 2rem;     
  --tp3-p-space-10: 2.5rem;  
  --tp3-p-space-12: 3rem;    
  --tp3-p-space-16: 4rem;    

  
  --tp3-p-rule-hair: 1px;    
  --tp3-p-rule: 1.5px;       
  --tp3-p-rule-bold: 2px;    

  
  --tp3-p-radius-s: 4px;
  --tp3-p-radius-m: 8px;
  --tp3-p-radius-l: 12px;
  --tp3-p-radius-pill: 999px;

  
  --tp3-p-shadow-1: 0 1px 2px rgba(59, 53, 44, 0.06);
  --tp3-p-shadow-2: 0 2px 6px rgba(59, 53, 44, 0.08), 0 8px 20px rgba(59, 53, 44, 0.06);

  
  --tp3-p-time-fast: 140ms;
  --tp3-p-time-base: 240ms;
  --tp3-p-ease-out: cubic-bezier(0.22, 0.61, 0.36, 1);

  
  --tp3-p-wrap: 70rem;       
  --tp3-p-touch: 48px;       
  --tp3-p-touch-kid: 56px;   
}
:root{
  --tp3-paper: var(--tp3-p-paper);
  --tp3-paper-deep: var(--tp3-p-paper-deep);
  --tp3-surface: var(--tp3-p-surface);
  --tp3-ink: var(--tp3-p-ink);
  --tp3-ink-soft: var(--tp3-p-ink-soft);
  --tp3-ink-faint: var(--tp3-p-ink-faint);
  --tp3-line: var(--tp3-p-line);
  --tp3-line-strong: var(--tp3-p-line-strong);
  --tp3-grid-line: var(--tp3-p-grid-line);

  --tp3-primary: var(--tp3-p-cinnabar-dark);
  --tp3-primary-hover: var(--tp3-p-cinnabar-deeper);
  --tp3-primary-soft: var(--tp3-p-cinnabar-soft);
  --tp3-on-primary: #FFFCF7;

  --tp3-sage: var(--tp3-p-sage-deep);
  --tp3-sage-soft: var(--tp3-p-sage-soft);
  --tp3-amber: var(--tp3-p-amber);
  --tp3-amber-deep: var(--tp3-p-amber-deep);
  --tp3-amber-soft: var(--tp3-p-amber-soft);
  --tp3-blue: var(--tp3-p-blue);
  --tp3-blue-soft: var(--tp3-p-blue-soft);
  --tp3-danger: var(--tp3-p-cinnabar-dark);
  --tp3-danger-soft: var(--tp3-p-cinnabar-soft);
  --tp3-focus: var(--tp3-p-cinnabar-dark);

  --tp3-link: var(--tp3-p-blue);
  --tp3-success: var(--tp3-p-sage-deep);
  --tp3-warning: var(--tp3-p-amber-deep);

  --tp3-subject-chinese: var(--tp3-p-sub-chinese);
  --tp3-subject-chinese-soft: var(--tp3-p-sub-chinese-soft);
  --tp3-subject-math: var(--tp3-p-sub-math);
  --tp3-subject-math-soft: var(--tp3-p-sub-math-soft);
  --tp3-subject-english: var(--tp3-p-sub-english);
  --tp3-subject-english-soft: var(--tp3-p-sub-english-soft);
  --tp3-subject-science: var(--tp3-p-sub-science);
  --tp3-subject-science-soft: var(--tp3-p-sub-science-soft);
  --tp3-subject-social: var(--tp3-p-sub-social);
  --tp3-subject-social-soft: var(--tp3-p-sub-social-soft);

  --tp3-font-sans: var(--tp3-p-font-sans);
  --tp3-font-serif: var(--tp3-p-font-serif);
  --tp3-font-kai: var(--tp3-p-font-kai);

  --tp3-fs-caption: var(--tp3-p-fs-caption);
  --tp3-fs-small: var(--tp3-p-fs-small);
  --tp3-fs-body: var(--tp3-p-fs-body);
  --tp3-fs-lead: var(--tp3-p-fs-lead);
  --tp3-fs-h4: var(--tp3-p-fs-h4);
  --tp3-fs-h3: var(--tp3-p-fs-h3);
  --tp3-fs-h2: var(--tp3-p-fs-h2);
  --tp3-fs-h1: var(--tp3-p-fs-h1);
  --tp3-fs-display: var(--tp3-p-fs-display);
  --tp3-lh-title: var(--tp3-p-lh-title);
  --tp3-lh-body: var(--tp3-p-lh-body);

  --tp3-space-1: var(--tp3-p-space-1);
  --tp3-space-2: var(--tp3-p-space-2);
  --tp3-space-3: var(--tp3-p-space-3);
  --tp3-space-4: var(--tp3-p-space-4);
  --tp3-space-5: var(--tp3-p-space-5);
  --tp3-space-6: var(--tp3-p-space-6);
  --tp3-space-8: var(--tp3-p-space-8);
  --tp3-space-10: var(--tp3-p-space-10);
  --tp3-space-12: var(--tp3-p-space-12);
  --tp3-space-16: var(--tp3-p-space-16);

  --tp3-radius-s: var(--tp3-p-radius-s);
  --tp3-radius-m: var(--tp3-p-radius-m);
  --tp3-radius-l: var(--tp3-p-radius-l);
  --tp3-radius-pill: var(--tp3-p-radius-pill);

  --tp3-rule-hair: var(--tp3-p-rule-hair);
  --tp3-rule: var(--tp3-p-rule);
  --tp3-rule-bold: var(--tp3-p-rule-bold);

  --tp3-shadow-1: var(--tp3-p-shadow-1);
  --tp3-shadow-2: var(--tp3-p-shadow-2);

  --tp3-time-fast: var(--tp3-p-time-fast);
  --tp3-time-base: var(--tp3-p-time-base);
  --tp3-ease-out: var(--tp3-p-ease-out);

  --tp3-wrap: var(--tp3-p-wrap);
  --tp3-touch: var(--tp3-p-touch);
}
:root{
  --tp3-btn-bg: var(--tp3-surface);
  --tp3-btn-text: var(--tp3-ink);
  --tp3-btn-border: var(--tp3-ink-soft);
  --tp3-btn-radius: var(--tp3-radius-m);
  --tp3-btn-min-h: var(--tp3-touch);

  --tp3-card-bg: var(--tp3-surface);
  --tp3-card-border: var(--tp3-line);
  --tp3-card-radius: var(--tp3-radius-l);

  --tp3-input-bg: var(--tp3-surface);
  --tp3-input-border: var(--tp3-line-strong);
  --tp3-input-radius: var(--tp3-radius-m);
  --tp3-input-min-h: var(--tp3-touch);

  --tp3-chip-bg: var(--tp3-surface);
  --tp3-chip-text: var(--tp3-ink);
  --tp3-chip-border: var(--tp3-line-strong);

  --tp3-header-bg: var(--tp3-paper);
  --tp3-footer-bg: var(--tp3-paper-deep);

  --tp3-stack-gap: var(--tp3-space-4);
  --tp3-cluster-gap: var(--tp3-space-3);
  --tp3-grid-gap: var(--tp3-space-4);
}
:root{
  --tp-paper: var(--tp3-paper);
  --tp-paper-deep: var(--tp3-paper-deep);
  --tp-surface: var(--tp3-surface);
  --tp-ink: var(--tp3-ink);
  --tp-ink-soft: var(--tp3-ink-soft);
  --tp-ink-faint: var(--tp3-ink-faint);
  --tp-ink-blue: var(--tp3-blue);
  --tp-line: var(--tp3-line);
  --tp-grid-line: var(--tp3-grid-line);
  --tp-cinnabar: var(--tp3-p-cinnabar);
  --tp-cinnabar-dark: var(--tp3-primary);
  --tp-cinnabar-soft: var(--tp3-primary-soft);
  --tp-sage: var(--tp3-p-sage);
  --tp-sage-deep: var(--tp3-sage);
  --tp-sage-soft: var(--tp3-sage-soft);
  --tp-amber: var(--tp3-amber);
  --tp-amber-deep: var(--tp3-amber-deep);
  --tp-amber-soft: var(--tp3-amber-soft);
  --tp-success: var(--tp3-success);
  --tp-success-soft: var(--tp3-sage-soft);
  --tp-warning: var(--tp3-warning);
  --tp-warning-soft: var(--tp3-amber-soft);
  --tp-error: var(--tp3-danger);
  --tp-error-soft: var(--tp3-danger-soft);
  --tp-info: var(--tp3-blue);
  --tp-focus-ring: var(--tp3-focus);
  --tp-focus-ring-soft: rgba(169, 74, 60, 0.35);
  --tp-font-serif: var(--tp3-font-serif);
  --tp-font-sans: var(--tp3-font-sans);
  --tp-font-kai: var(--tp3-font-kai);
  --tp-fs-caption: var(--tp3-fs-caption);
  --tp-fs-small: var(--tp3-fs-small);
  --tp-fs-body: var(--tp3-fs-body);
  --tp-fs-lead: var(--tp3-fs-lead);
  --tp-fs-h4: var(--tp3-fs-h4);
  --tp-fs-h3: var(--tp3-fs-h3);
  --tp-fs-h2: var(--tp3-fs-h2);
  --tp-fs-h1: var(--tp3-fs-h1);
  --tp-fs-display: var(--tp3-p-fs-display);
  --tp-lh-tight: 1.35;
  --tp-lh-title: var(--tp3-lh-title);
  --tp-lh-body: var(--tp3-lh-body);
  --tp-lh-zhuyin: var(--tp3-p-lh-zhuyin);
  --tp-fw-regular: var(--tp3-p-fw-regular);
  --tp-fw-medium: var(--tp3-p-fw-medium);
  --tp-fw-bold: var(--tp3-p-fw-bold);
  --tp-fw-black: 700;
  --tp-space-1: var(--tp3-space-1);
  --tp-space-2: var(--tp3-space-2);
  --tp-space-3: var(--tp3-space-3);
  --tp-space-4: var(--tp3-space-4);
  --tp-space-5: var(--tp3-space-5);
  --tp-space-6: var(--tp3-space-6);
  --tp-space-8: var(--tp3-space-8);
  --tp-space-10: var(--tp3-space-10);
  --tp-space-12: var(--tp3-space-12);
  --tp-space-16: var(--tp3-space-16);
  --tp-radius-s: var(--tp3-radius-s);
  --tp-radius-m: var(--tp3-radius-m);
  --tp-radius-l: var(--tp3-radius-l);
  --tp-radius-xl: var(--tp3-radius-l);
  --tp-radius-pill: var(--tp3-radius-pill);
  --tp-shadow-1: var(--tp3-shadow-1);
  --tp-shadow-2: var(--tp3-shadow-2);
  --tp-shadow-3: var(--tp3-shadow-2);
  --tp-shadow-lift: var(--tp3-shadow-2);
  --tp-shadow-pop: var(--tp3-shadow-2);
  --tp-time-fast: var(--tp3-time-fast);
  --tp-time-base: var(--tp3-time-base);
  --tp-time-slow: 450ms;
  --tp-ease-out: var(--tp3-ease-out);
  --tp-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --tp-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --tp-container: var(--tp3-wrap);
  --tp-header-h: 60px;
  --tp-touch-min: 48px;
  --tp-touch-kid: 56px;
  --tpz-size: 56px;
  --tpz-cell-border: var(--tp3-ink-soft);
  --tpz-grid: var(--tp3-grid-line);
}
.tp3-sr-only{
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.tp3-skip{
  position: absolute;
  top: var(--tp3-space-2);
  left: var(--tp3-space-2);
  z-index: 300;
  transform: translateY(-200%);
  background: var(--tp3-primary);
  color: var(--tp3-on-primary);
  padding: var(--tp3-space-3) var(--tp3-space-5);
  border-radius: var(--tp3-radius-m);
  font-weight: var(--tp3-fw-bold);
  text-decoration: none;
}
.tp3-skip:focus-visible{
  transform: none;
  color: var(--tp3-on-primary);
}
.tp3-wrap{
  width: 100%;
  max-width: var(--tp3-wrap);
  margin-inline: auto;
  padding-inline: var(--tp3-space-4);
}
@media (min-width: 640px){.tp3-wrap{ padding-inline: var(--tp3-space-6); }}
.tp3-header{
  background: var(--tp3-header-bg);
  border-bottom: var(--tp3-rule-hair) solid var(--tp3-line-strong);
}
.tp3-header__inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--tp3-space-2) var(--tp3-space-4);
  padding-block: var(--tp3-space-2);
}
.tp3-brand{
  display: inline-flex;
  align-items: center;
  gap: var(--tp3-space-2);
  min-height: var(--tp3-touch);
  text-decoration: none;
  color: var(--tp3-ink);
}
.tp3-brand__logo{
  width: 32px;
  height: 32px;
  flex: none;
  border-radius: var(--tp3-radius-s);
}
.tp3-brand__name{
  font-family: var(--tp3-font-serif);
  font-weight: var(--tp3-fw-bold);
  font-size: var(--tp3-fs-body);
  line-height: 1.3;
  white-space: nowrap;
}
.tp3-brand:hover .tp3-brand__name{ color: var(--tp3-primary); }
.tp3-header-links{
  display: flex;
  align-items: center;
  gap: var(--tp3-space-1);
}
.tp3-header-links a{
  display: inline-flex;
  align-items: center;
  min-height: var(--tp3-touch);
  padding: var(--tp3-space-1) var(--tp3-space-3);
  border-radius: var(--tp3-radius-s);
  color: var(--tp3-ink-soft);
  font-size: var(--tp3-fs-small);
  font-weight: var(--tp3-fw-medium);
  text-decoration: none;
}
.tp3-header-links a:hover{ color: var(--tp3-primary); background: var(--tp3-paper-deep); }
.tp3-header-links a[aria-current="page"]{
  color: var(--tp3-primary);
  font-weight: var(--tp3-fw-bold);
  box-shadow: inset 0 -2px 0 var(--tp3-primary);
  border-radius: 0;
}
.tp3-grade-nav{ border-top: var(--tp3-rule-hair) solid var(--tp3-line); }
.tp3-grade-nav__inner{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--tp3-space-1);
  padding-block: var(--tp3-space-1);
}
.tp3-grade-nav a{
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: var(--tp3-touch);
  padding: 0 var(--tp3-space-1);
  border-radius: var(--tp3-radius-s);
  color: var(--tp3-ink-soft);
  font-size: var(--tp3-fs-small);   
  font-weight: var(--tp3-fw-medium);
  text-decoration: none;
  white-space: nowrap;
}
.tp3-grade-nav a:hover{ background: var(--tp3-paper-deep); color: var(--tp3-ink); }
.tp3-grade-nav a[aria-current="page"]{
  background: var(--tp3-primary-soft);
  color: var(--tp3-primary);
  font-weight: var(--tp3-fw-bold);
  box-shadow: inset 0 0 0 var(--tp3-rule) var(--tp3-primary);
}
@media (min-width: 768px){.tp3-grade-nav__inner{ gap: var(--tp3-space-2); }.tp3-grade-nav a{ font-size: var(--tp3-fs-body); }}
.tp3-footer{
  background: var(--tp3-footer-bg);
  border-top: var(--tp3-rule-hair) solid var(--tp3-line-strong);
  margin-top: var(--tp3-space-16);
}
.tp3-footer__inner{
  padding-block: var(--tp3-space-8);
  display: flex;
  flex-direction: column;
  gap: var(--tp3-space-2);
}
.tp3-footer p{
  margin: 0;
  font-size: var(--tp3-fs-small);
  line-height: 1.7;
  color: var(--tp3-ink-soft);
}
.tp3-footer .tp3-footer__sign{
  color: var(--tp3-ink-soft); 
  font-size: var(--tp3-fs-caption);
}

.tp3-header{position:relative;z-index:60}
.tp3-header__inner{flex-wrap:nowrap;min-height:64px;padding-block:6px;gap:8px}
.tp3-brand{min-width:0;gap:8px}
.tp3-brand__name{font-size:17px;white-space:nowrap}
.tp3-header-links{margin-left:auto}
.tp3-header-links a{font-size:17px}
.tp3-menu-toggle{display:none;width:48px;height:48px;min-width:48px;align-items:center;justify-content:center;border:1.5px solid var(--tp3-line-strong);border-radius:10px;background:var(--tp3-surface);color:var(--tp3-ink);cursor:pointer}
.tp3-menu-toggle svg{width:25px;height:25px}
.tp3-menu-toggle:focus-visible,.tp3-header-links a:focus-visible{outline:3px solid var(--tp3-amber);outline-offset:2px}
.tp3-grade-nav a{font-size:17px;padding-inline:0}
body:not([data-page="home"]):not([data-page="grade"]) .tp3-grade-nav{display:none!important}
.tp3-home-continue{display:none;align-items:center;min-height:48px;width:max-content;max-width:100%;color:var(--tp3-primary);font-weight:700;text-underline-offset:4px}
.tp3-home-continue.is-visible{display:inline-flex}
.tp3-home-hero .tp3-art-host{margin:0}
.tp3-home-hero .tp3-art--hero{width:100%;height:auto;max-height:180px}
#grade-grid .tp3-choice{height:100%}
#grade-grid .tp3-choice[data-current="true"]{border-color:var(--tp3-primary);box-shadow:inset 0 0 0 1px var(--tp3-primary)}
#grade-grid .tp3-badge{font-size:17px}
@media (max-width:767px){
  .tp3-header__inner{padding-inline:12px}
  .tp3-brand__logo{width:30px;height:30px}
  .tp3-menu-toggle{display:inline-flex;margin-left:auto}
  .tp3-header-links{display:none;position:absolute;top:63px;left:0;right:0;margin:0;padding:8px 12px 12px;background:var(--tp3-paper);border-bottom:1.5px solid var(--tp3-line-strong);box-shadow:var(--tp3-shadow-2)}
  .tp3-header-links.is-open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .tp3-header-links a{justify-content:center;padding:8px 4px;background:var(--tp3-surface);border:1px solid var(--tp3-line)}
  .tp3-grade-nav__inner{padding-inline:8px}
}
@media (max-width:639px){
  body[data-page="home"] .tp3-main{padding-block:10px 36px}
  body[data-page="home"] .tp3-home-hero{display:grid;grid-template-columns:minmax(0,1fr) 126px;align-items:center;gap:8px;margin:0;--tp3-stack-gap:6px}
  body[data-page="home"] .tp3-home-hero .tp3-kicker{font-size:17px;letter-spacing:.03em;margin:0}
  body[data-page="home"] .tp3-home-hero .tp3-kicker::before{width:1em}
  body[data-page="home"] .tp3-home-hero .tp3-title{font-size:25px;line-height:1.25;margin:0;white-space:nowrap}
  body[data-page="home"] .tp3-home-hero .tp3-lead{font-size:17px;line-height:1.5;margin:0}
  body[data-page="home"] .tp3-home-hero #week-hint{font-size:17px;line-height:1.45;margin:0}
  body[data-page="home"] .tp3-home-hero .tp3-home-art{align-self:center}
  body[data-page="home"] #grades{margin-block:12px 40px;--tp3-stack-gap:8px}
  body[data-page="home"] #grades .tp3-title{font-size:24px;margin:0}
  body[data-page="home"] #grades .tp3-lead{display:none}
  body[data-page="home"] #grade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body[data-page="home"] #grade-grid .tp3-choice{min-height:52px;padding:8px 12px;display:flex;align-items:center}
  body[data-page="home"] #grade-grid .tp3-choice-head{gap:6px;width:100%}
  body[data-page="home"] #grade-grid .tp3-choice-title{font-size:21px}
  body[data-page="home"] #grade-grid .tp3-choice-desc{display:none}
  body[data-page="home"] #grade-grid .tp3-badge{margin-left:auto;padding:2px 5px;font-size:14px}
  body[data-page="home"] .tp3-home-lower{margin-block:32px;--tp3-stack-gap:12px}
  body[data-page="home"] .tp3-home-lower .tp3-title{font-size:25px}
}
@media (min-width:640px){
  .tp3-home-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);align-items:center;gap:24px}
  .tp3-home-hero .tp3-home-art{grid-column:2;grid-row:1}
  .tp3-home-hero .tp3-home-copy{grid-column:1;grid-row:1}
}
@media (prefers-reduced-motion:reduce){.tp3-header-links{transition:none}}
@media print{.tp3-menu-toggle{display:none!important}}


.tp3-footer__report { margin: 0; }
.tp3-footer__report-btn {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 4px;
  border: 0;
  background: none;
  color: var(--tp3-link, #5B7183);
  font: inherit;
  font-size: var(--tp3-fs-small, 15px);
  text-decoration: underline;
  text-underline-offset: 0.18em;
  cursor: pointer;
}
.tp3-footer__report-btn:hover { color: var(--tp3-primary, #A94A3C); }
.tp3-footer__report-btn:focus-visible { outline: 3px solid var(--tp3-focus, #A94A3C); outline-offset: 2px; }
.tp3-legacy-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-block: 8px; }
.tp3-legacy-tools .tp-grade-nav { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-right: auto; }
.tp3-legacy-tools .tp-header-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tp3-home-pill {
  position: fixed;
  left: 8px;
  bottom: calc(8px + env(safe-area-inset-bottom, 0px));
  z-index: 9000;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 48px;
  height: 48px;
  padding: 0 14px;
  border: 1.5px solid var(--tp3-line-strong, #D5C8AE);
  border-radius: 999px;
  background: var(--tp3-surface, #FFFCF7);
  color: var(--tp3-ink, #3B352C);
  box-shadow: 0 2px 8px rgba(59, 53, 44, 0.18);
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  opacity: 0.94;
}
.tp3-home-pill:hover { opacity: 1; color: var(--tp3-primary, #A94A3C); }
.tp3-home-pill svg { width: 22px; height: 22px; flex: none; }
@media (max-width: 480px) { .tp3-home-pill { padding: 0; justify-content: center; } .tp3-home-pill__text { display: none; } }
@media print { .tp3-home-pill, .tp3-footer__report, .tp3-legacy-tools { display: none !important; } }
