.history-page{background:var(--cream);}

.history-hero{max-width:1200px;margin:0 auto;padding:4rem 6vw 2rem;text-align:center;}
.history-hero .eyebrow{font-size:.78rem;letter-spacing:.06em;font-weight:700;color:var(--gold-dark);}
.history-hero h1{font-family:'Fraunces',serif;font-size:clamp(2rem,4vw,3rem);color:var(--night);margin:.5rem 0;}
.history-hero h1 span{color:var(--gold-dark);}
.history-hero p{font-size:1.05rem;color:var(--ink-soft);max-width:640px;margin:0 auto 1.4rem;}

.history-progress-wrap{max-width:480px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.4rem;}
.history-progress-wrap b{color:var(--night);font-family:'Fraunces',serif;}
.history-bar{height:10px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:.6rem;}
.history-bar i{display:block;height:100%;background:var(--gold);border-radius:99px;transition:width .4s;}

/* ---------- Timeline ---------- */
.history-timeline{max-width:1200px;margin:0 auto;padding:2.5rem 6vw 5rem;position:relative;}
.history-timeline::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;background:var(--line);transform:translateX(-50%);z-index:0;}
.history-timeline{display:flex;flex-direction:column;gap:0;}
.timeline-point{
  position:relative;z-index:1;background:none;border:0;cursor:pointer;font-family:inherit;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.2rem;
  padding:1rem 0;width:100%;text-align:left;
}
.timeline-point:nth-child(odd) .timeline-year,
.timeline-point:nth-child(odd) .timeline-title{grid-column:1;text-align:right;}
.timeline-point:nth-child(odd) .timeline-dot{grid-column:2;}
.timeline-point:nth-child(even) .timeline-year,
.timeline-point:nth-child(even) .timeline-title{grid-column:3;text-align:left;}
.timeline-point:nth-child(even) .timeline-dot{grid-column:2;}
.timeline-point:nth-child(odd) > .timeline-year{grid-row:1;}
.timeline-point:nth-child(odd) > .timeline-title{grid-row:1;}

.timeline-dot{
  width:64px;height:64px;border-radius:50%;background:var(--paper);border:3px solid var(--line);
  display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;transition:.15s;
  padding:10px;
}
.timeline-point:hover .timeline-dot{transform:scale(1.08);border-color:var(--gold);}
.timeline-point.active .timeline-dot{border-color:var(--night);background:var(--cream);box-shadow:0 0 0 4px #FBF0DC;}
.timeline-icon{width:100%;height:100%;display:block;}
.timeline-icon svg{display:block;width:100%;height:100%;}
.timeline-check{position:absolute;bottom:-4px;right:-4px;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:.8rem;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.6);transition:.15s;}
.timeline-point.read .timeline-check{opacity:1;transform:scale(1);}

.timeline-year{font-weight:700;color:var(--gold-dark);font-size:.82rem;grid-row:1;}
.timeline-title{font-family:'Fraunces',serif;color:var(--night);font-size:1.15rem;grid-row:2;}
.timeline-point:nth-child(odd) .timeline-title{grid-row:2;}
.timeline-point:nth-child(even) .timeline-title{grid-row:2;}

/* ---------- Chapter detail ---------- */
.chapter-view{max-width:760px;margin:0 auto;padding:2rem 6vw 5rem;}
.chapter-nav-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem;}
.chapter-back{background:var(--paper);border:1px solid var(--line);color:var(--night);font-weight:700;padding:.5rem 1rem;border-radius:999px;cursor:pointer;font-size:.88rem;}
.chapter-counter{color:var(--ink-soft);font-weight:700;font-size:.85rem;}

.chapter-head{text-align:center;margin-bottom:1.2rem;}
.chapter-icon{display:block;width:96px;height:96px;margin:0 auto .6rem;}
.chapter-icon svg{display:block;width:100%;height:100%;}
.chapter-year{display:block;color:var(--gold-dark);font-weight:700;font-size:.82rem;letter-spacing:.02em;}
.chapter-head h2{font-family:'Fraunces',serif;color:var(--night);margin:.3rem 0 0;font-size:1.8rem;}

.chapter-listen{display:inline-flex;align-items:center;gap:.4rem;background:var(--paper);border:1px solid var(--line);color:var(--night);font-weight:700;padding:.55rem 1.2rem;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.88rem;margin-top:1rem;transition:.15s;}
.chapter-listen:hover{border-color:var(--gold);}
.chapter-listen.listening{background:var(--gold);border-color:var(--gold-dark);color:#fff;}

.chapter-story{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;line-height:1.85;color:var(--ink-soft);font-size:1.02rem;margin-bottom:1.2rem;}
.chapter-story .word{border-radius:4px;transition:background .1s;}
.chapter-story .word.saying{background:#FFE993;color:var(--ink);box-shadow:0 0 0 .12em #FFE993;}

.chapter-lessons{background:#FBF0DC;border-radius:var(--radius-sm);padding:1.2rem 1.4rem;margin-bottom:1.6rem;}
.chapter-lessons b{color:var(--night);display:block;margin-bottom:.4rem;}
.chapter-lessons ul{margin:0;padding-left:1.3rem;color:var(--ink-soft);line-height:1.7;list-style:disc;}
.chapter-lessons li{margin-bottom:.2rem;}

.chapter-actions{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;}
.chapter-actions button{border:0;border-radius:999px;padding:.7rem 1.3rem;font-weight:700;cursor:pointer;font-family:inherit;font-size:.9rem;}
.chapter-prev,.chapter-next{background:var(--paper);border:1px solid var(--line);color:var(--night);}
.chapter-done{background:var(--green);color:#fff;}
.chapter-done.done{background:#CFE4D6;color:#2F5B3E;}

@media(max-width:720px){
  .history-timeline::before{left:32px;}
  .timeline-point{grid-template-columns:auto 1fr;gap:.9rem;}
  .timeline-point:nth-child(odd) .timeline-dot,
  .timeline-point:nth-child(even) .timeline-dot{grid-column:1;grid-row:1 / span 2;}
  .timeline-point:nth-child(odd) .timeline-year,
  .timeline-point:nth-child(even) .timeline-year{grid-column:2;grid-row:1;text-align:left;}
  .timeline-point:nth-child(odd) .timeline-title,
  .timeline-point:nth-child(even) .timeline-title{grid-column:2;grid-row:2;text-align:left;}
  .timeline-dot{width:52px;height:52px;padding:8px;}
  .chapter-icon{width:72px;height:72px;}
}

/* ---------- People of History (2026 update) ---------- */
.h-tabs{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin:0 auto 1rem;padding:0 6vw;}
.h-tab{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.65rem 1.3rem;font-weight:700;font-family:inherit;cursor:pointer;color:var(--night);font-size:.95rem;}
.h-tab.active{background:var(--night);border-color:var(--night);color:#fff;}
.pp-wrap{max-width:1100px;margin:0 auto;padding:1rem 6vw 5rem;}
.pp-intro{text-align:center;color:var(--ink-soft);margin:0 auto 1rem;max-width:640px;}
.pp-chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.8rem;}
.pp-chip{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.45rem .95rem;font-weight:700;font-family:inherit;font-size:.88rem;cursor:pointer;color:var(--night);}
.pp-chip.active{background:var(--gold);border-color:var(--gold-dark);color:#fff;}
.pp-list{position:relative;}
.pp-list::before{content:"";position:absolute;left:11px;top:6px;bottom:0;width:3px;background:var(--line);}
.pp-era{position:relative;padding-left:40px;margin-bottom:2rem;}
.pp-era-head{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:.8rem;}
.pp-era-dot{position:absolute;left:3px;top:4px;width:19px;height:19px;border-radius:50%;background:var(--gold);border:3px solid var(--cream);box-shadow:0 0 0 2px var(--gold);}
.pp-era-year{font-size:.8rem;font-weight:700;color:var(--gold-dark);}
.pp-era h3{font-family:'Fraunces',serif;color:var(--night);margin:.1rem 0 .2rem;font-size:1.3rem;}
.pp-era-link{background:none;border:0;padding:0;color:var(--gold-dark);font-weight:700;font-family:inherit;cursor:pointer;font-size:.85rem;}
.pp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.7rem;}
.pp-card{display:flex;gap:.7rem;align-items:flex-start;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.8rem .9rem;cursor:pointer;font-family:inherit;transition:.15s;}
.pp-card:hover{border-color:var(--gold);transform:translateY(-2px);}
.pp-ic{font-size:1.6rem;line-height:1;}
.pp-txt b{display:block;color:var(--night);font-size:.98rem;}
.pp-txt small{display:block;color:var(--gold-dark);font-weight:700;font-size:.78rem;}
.pp-txt em{display:block;font-style:normal;color:var(--ink-soft);font-size:.85rem;line-height:1.35;margin-top:.15rem;}
.pp-empty{text-align:center;color:var(--ink-soft);}
.pp-modal{position:fixed;inset:0;background:rgba(31,58,92,.45);z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;}
.pp-modal[hidden]{display:none;}
.pp-modal-box{position:relative;background:var(--paper);border-radius:var(--radius);max-width:520px;width:100%;max-height:90vh;overflow-y:auto;padding:1.8rem 1.6rem;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.25);}
.pp-close{position:absolute;top:.5rem;right:.8rem;background:none;border:0;font-size:1.8rem;cursor:pointer;color:var(--ink-soft);}
.pp-big-ic{font-size:3rem;}
.pp-modal-box h2{font-family:'Fraunces',serif;color:var(--night);margin:.3rem 0 .1rem;}
.pp-years{color:var(--gold-dark);font-weight:700;}
.pp-role{color:var(--night);margin:.2rem 0 .6rem;}
.pp-tags{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;}
.pp-tag{background:#FBF0DC;color:#7A5418;border-radius:999px;padding:.2rem .7rem;font-size:.78rem;font-weight:700;}
.pp-about{text-align:left;color:#3B3530;line-height:1.75;font-size:1.02rem;margin:1rem 0;}
.pp-go{background:var(--night);color:#fff;border:0;border-radius:999px;padding:.65rem 1.1rem;font-weight:700;font-family:inherit;cursor:pointer;}
.chapter-people{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.3rem;margin-bottom:1.2rem;}
.chapter-people b{color:var(--night);display:block;}
.chapter-people p{margin:.2rem 0 .7rem;color:var(--ink-soft);font-size:.9rem;}
.cp-chips{display:flex;flex-wrap:wrap;gap:.45rem;}
.cp-chip{background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:.4rem .85rem;font-family:inherit;font-weight:700;font-size:.86rem;cursor:pointer;color:var(--night);}
.cp-chip:hover{border-color:var(--gold);}
.chapter-rulers{background:#FBF0DC;border-radius:var(--radius-sm);padding:.9rem 1.2rem;margin-bottom:1.4rem;}
.chapter-rulers summary{cursor:pointer;font-weight:700;color:var(--night);}
.chapter-rulers summary small{color:var(--ink-soft);font-weight:600;}
.chapter-rulers ol{margin:.8rem 0 0;padding-left:1.6rem;columns:2;column-gap:2rem;}
.chapter-rulers li{break-inside:avoid;margin-bottom:.3rem;color:var(--ink-soft);font-size:.92rem;}
.chapter-rulers li b{color:var(--night);font-weight:700;}
.chapter-rulers li span{color:var(--gold-dark);font-weight:700;font-size:.82rem;white-space:nowrap;}
@media(max-width:720px){
  .chapter-rulers ol{columns:1;}
  .pp-grid{grid-template-columns:1fr;}
}
