:root{
  --paper:#f8f2e7;
  --paper-2:#efe5d3;
  --ink:#211710;
  --muted:#5e4c3f;
  --line:#79614e;
  --line-soft:rgba(121,97,78,0.45);
  --accent:#5f2d18;
  --overlay:rgba(16,12,9,0.66);
}

*{box-sizing:border-box}

html,body{
  margin:0;
  min-height:100%;
  background:#d7d0c6;
  color:var(--ink);
}

body{
  padding:18px 10px 34px;
  font-family:Georgia, "Times New Roman", serif;
}

.paper-shell{
  width:min(1260px, calc(100vw - 10px));
  margin:0 auto;
  background:
    repeating-linear-gradient(0deg, rgba(80,58,44,0.035) 0 1px, transparent 1px 4px),
    linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);
  border:1px solid var(--line);
  box-shadow:0 14px 26px rgba(0,0,0,0.22);
}

.paper-head{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  padding:18px 20px 16px;
  border-bottom:3px double var(--line);
}

.crumb{
  justify-self:start;
  border:1px solid var(--line);
  color:var(--ink);
  background:rgba(255,255,255,0.4);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.08em;
  font:600 .72rem/1.1 "Share Tech Mono", monospace;
  padding:8px 10px;
}

.crumb:hover{background:rgba(255,255,255,0.8)}

.masthead{
  text-align:center;
  border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
  padding:10px 0 12px;
}

.edition-kicker{
  margin:0 0 6px;
  text-transform:uppercase;
  letter-spacing:.28em;
  color:var(--muted);
  font:600 .72rem/1.2 "Share Tech Mono", monospace;
}

#paper-title{
  margin:0;
  font-family:"Special Elite", Georgia, serif;
  font-size:clamp(2rem, 6.1vw, 4.5rem);
  line-height:1.02;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.paper-subtitle{
  margin:8px 0 0;
  color:var(--muted);
  font:600 .95rem/1.3 "Share Tech Mono", monospace;
}

.issue-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.issue-meta div{
  border:1px solid var(--line-soft);
  padding:8px 10px;
  font:600 .78rem/1.35 "Share Tech Mono", monospace;
  background:rgba(255,255,255,0.3);
}

.week-calendar-panel{
  padding:12px 20px 14px;
  border-bottom:1px solid var(--line-soft);
}

.week-calendar-tools{
  margin:0 0 10px;
  display:flex;
  justify-content:flex-end;
}

.week-year-filter{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font:600 .72rem/1.2 "Share Tech Mono", monospace;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}

.week-year-filter select{
  border:1px solid var(--line-soft);
  background:rgba(255,255,255,0.5);
  color:var(--ink);
  min-height:30px;
  padding:0 8px;
  font:600 .78rem/1 "Share Tech Mono", monospace;
}

.section-title{
  margin:0 0 8px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.16em;
  font:700 .75rem/1.2 "Share Tech Mono", monospace;
}

.week-calendar{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(154px,1fr));
  gap:8px;
}

.week-chip{
  display:block;
  text-decoration:none;
  color:var(--ink);
  border:1px solid var(--line-soft);
  padding:8px 10px;
  background:rgba(255,255,255,0.35);
}

.week-chip-week{
  display:block;
  font:700 .82rem/1.15 "Share Tech Mono", monospace;
  text-transform:uppercase;
}

.week-chip-meta{
  display:block;
  margin-top:3px;
  font:400 .78rem/1.3 Georgia, serif;
  color:var(--muted);
}

.week-chip:hover{background:rgba(255,255,255,0.75)}
.week-chip.current{
  border-color:var(--ink);
  box-shadow:inset 0 0 0 1px var(--ink);
  background:rgba(255,255,255,0.88);
}

.week-calendar-empty{
  margin:0;
  border:1px dashed var(--line-soft);
  padding:10px;
  background:rgba(255,255,255,0.28);
  color:var(--muted);
  font:600 .78rem/1.4 "Share Tech Mono", monospace;
}

.paper-layout{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:0;
  padding:0 20px 20px;
}

.lead-panel,
.digest-panel,
.sections-panel{
  grid-column:1;
  border-bottom:1px solid var(--line-soft);
  padding:14px 14px 16px 0;
  margin-right:18px;
}

.right-rail{
  grid-column:2;
  grid-row:1 / span 3;
  border-left:1px solid var(--line-soft);
  padding:14px 0 0 16px;
  display:grid;
  gap:14px;
  align-content:start;
}

.ticker-panel,
.archive-panel{
  border-bottom:1px solid var(--line-soft);
  padding-bottom:12px;
}

#lead-headline{
  margin:0 0 8px;
  font-family:"Special Elite", Georgia, serif;
  font-size:clamp(1.5rem, 3vw, 2.3rem);
  line-height:1.1;
}

.lead-deck{
  margin:0 0 9px;
  color:var(--accent);
  font:700 1rem/1.35 Georgia, serif;
}

.lead-summary{
  margin:0 0 9px;
  font-size:1.02rem;
  line-height:1.56;
  text-align:justify;
}

.lead-summary::first-letter{
  float:left;
  font-size:2.45em;
  line-height:0.92;
  padding:0 .08em 0 0;
  font-family:"Special Elite", Georgia, serif;
}

.lead-actions,
.run-actions,
.article-actions{
  margin:0 0 9px;
}

.read-full-btn{
  border:1px solid var(--line-soft);
  background:rgba(255,255,255,0.5);
  color:var(--ink);
  padding:5px 9px;
  cursor:pointer;
  font:600 .72rem/1.2 "Share Tech Mono", monospace;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.read-full-btn:hover{background:rgba(255,255,255,0.85)}

.lead-impact,
.lead-confidence,
.lead-sources{
  margin:5px 0 0;
  font:600 .78rem/1.35 "Share Tech Mono", monospace;
}

.run-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.run-item{
  border-top:1px solid var(--line-soft);
  padding-top:9px;
}

.run-slot{
  margin:0;
  color:var(--muted);
  font:700 .73rem/1.2 "Share Tech Mono", monospace;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.run-headline{
  margin:6px 0 5px;
  font-size:1rem;
  line-height:1.24;
}

.run-summary{
  margin:0 0 8px;
  font-size:.92rem;
  line-height:1.45;
  text-align:justify;
}

.run-signal{
  margin:0;
  color:var(--accent);
  font:700 .74rem/1.2 "Share Tech Mono", monospace;
  text-transform:uppercase;
}

.sections-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.sections-grid.single-column{
  grid-template-columns:1fr;
}

.section-card{
  border-top:1px solid var(--line-soft);
  padding-top:8px;
}

.section-card-title{
  margin:0 0 10px;
  padding-bottom:4px;
  border-bottom:1px solid var(--line-soft);
  color:var(--ink);
  font:700 1.08rem/1.2 "Special Elite", Georgia, serif;
  letter-spacing:.02em;
  text-transform:none;
}

.article-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.article-item{
  border-top:1px dotted var(--line-soft);
  padding-top:8px;
}

.article-item:first-child{
  border-top:none;
  padding-top:0;
}

.article-headline{
  margin:0 0 5px;
  font-size:.99rem;
  line-height:1.27;
}

.article-summary{
  margin:0 0 8px;
  font-size:.9rem;
  line-height:1.45;
  text-align:justify;
}

.article-meta{
  margin:0;
  color:var(--muted);
  font:600 .72rem/1.35 "Share Tech Mono", monospace;
}

.ticker-list,
.archive-list{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:7px;
}

.ticker-list li,
.archive-list li{
  font-size:.87rem;
  line-height:1.4;
}

.archive-note{
  margin:0 0 8px;
  color:var(--muted);
  font-size:.82rem;
}

.archive-list a{
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px dotted transparent;
}

.archive-list a:hover{
  color:var(--accent);
  border-bottom-color:var(--accent);
}

.article-modal{
  position:fixed;
  inset:0;
  background:var(--overlay);
  display:grid;
  place-items:center;
  padding:16px;
  z-index:1200;
}

.article-modal[hidden]{
  display:none;
}

.article-modal-dialog{
  width:min(820px, calc(100vw - 22px));
  max-height:min(86vh, 920px);
  overflow:auto;
  background:linear-gradient(180deg, #fbf6ed 0%, #f0e5d3 100%);
  border:1px solid var(--line);
  box-shadow:0 18px 34px rgba(0,0,0,0.36);
  padding:16px 18px 18px;
  position:relative;
}

.article-modal-close{
  position:absolute;
  top:8px;
  right:10px;
  border:1px solid var(--line-soft);
  background:rgba(255,255,255,0.5);
  color:var(--ink);
  width:34px;
  height:30px;
  font-size:1.3rem;
  line-height:1;
  cursor:pointer;
}

.article-modal-close:hover{background:rgba(255,255,255,0.88)}

#article-modal-title{
  margin:0 42px 8px 0;
  font-family:"Special Elite", Georgia, serif;
  font-size:1.45rem;
  line-height:1.2;
}

.article-modal-meta{
  margin:0 0 10px;
  color:var(--muted);
  font:600 .77rem/1.35 "Share Tech Mono", monospace;
}

.article-modal-body{
  display:grid;
  gap:10px;
}

.article-modal-body p{
  margin:0;
  font-size:1.01rem;
  line-height:1.6;
  text-align:justify;
}

@media (max-width: 1080px){
  .paper-layout{
    grid-template-columns:1fr;
    padding:0 14px 16px;
  }

  .lead-panel,
  .digest-panel,
  .sections-panel{
    margin-right:0;
    padding-right:0;
  }

  .right-rail{
    grid-column:1;
    grid-row:auto;
    border-left:none;
    border-top:1px solid var(--line-soft);
    padding:12px 0 0;
  }
}

@media (max-width: 760px){
  body{padding:8px 4px 14px}

  .paper-shell{width:calc(100vw - 8px)}

  .paper-head{padding:12px}

  .issue-meta{grid-template-columns:1fr}

  .week-calendar-panel{padding:10px 12px}
  .week-calendar-tools{justify-content:flex-start}

  .week-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}

  .run-grid,
  .sections-grid{grid-template-columns:1fr}

  .lead-summary::first-letter{
    float:none;
    font-size:inherit;
    line-height:inherit;
    padding:0;
    font-family:inherit;
  }

  .article-modal-dialog{
    width:calc(100vw - 14px);
    padding:14px;
  }
}
