/* Linha do tempo documental e janelas propostas do CCI de Jahu. */
.jht-module { --jht-plum:#2e2339; --jht-terracotta:#a63e2c; --jht-teal:#1c6f70; --jht-ochre:#765a10; color:var(--jht-plum); }
.jht-module * { box-sizing:border-box; }
.jht-module button, .jht-module input, .jht-module select { font:inherit; }
.jht-module button { cursor:pointer; }
.jht-module button, .jht-module input, .jht-module select, .jht-module summary { scroll-margin-top:calc(var(--jh-header,var(--sj-header,100px)) + var(--jh-nav,var(--sj-nav,80px)) + 22px); }
.jht-module button:disabled { cursor:default; opacity:.45; }
.jht-module :focus-visible { outline:3px solid #1c6f70; outline-offset:4px; }
.jht-module p { line-height:1.68; }
.jht-module h3, .jht-module h4, .jht-module h5 { color:var(--jht-plum); }
.jht-module h3 { margin:0 0 .6rem; font-size:clamp(1.4rem,2.3vw,1.9rem); line-height:1.2; }
.jht-module h4 { margin:.25rem 0 .6rem; font-size:1.27rem; line-height:1.3; }
.jht-module h5 { font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; margin:1.1rem 0 .3rem; }
.jht-module [hidden] { display:none!important; }
.jht-modes { display:flex; flex-wrap:wrap; gap:.4rem; border-bottom:1px solid #c8c1b7; padding-bottom:.9rem; }
.jht-modes button { border:1px solid #b6a99b; background:#fffaf3; color:var(--jht-plum); border-radius:100px; padding:.75rem 1.25rem; font-size:.9rem; font-weight:750; min-height:44px; }
.jht-modes button[aria-pressed="true"] { background:var(--jht-plum); color:#fff; border-color:var(--jht-plum); }
.jht-intro { max-width:80ch; margin:1rem 0 1.7rem; font-size:1rem; }
.jht-overview, .jht-memory { background:#fffdf8; border:1px solid #d9d0c2; border-radius:8px; padding:1.6rem; }
.jht-eyebrow { margin:0 0 .5rem; font-size:.72rem; line-height:1.5!important; letter-spacing:.09em; text-transform:uppercase; font-weight:800; color:var(--jht-terracotta); }
.jht-chart-heading > p:last-child { margin:.4rem 0 1.4rem; font-size:.94rem; max-width:80ch; }
.jht-chart-scroll { overflow-x:auto; padding:.4rem .5rem .65rem; margin:0 -.5rem; scrollbar-color:#998879 #ebe4da; }
.jht-chart { min-width:720px; }
.jht-chart-axis, .jht-chart-row { display:grid; grid-template-columns:178px 1fr; column-gap:1rem; }
.jht-chart-axis { align-items:end; padding-bottom:.9rem; color:#5e535c; font-size:.7rem; }
.jht-chart-axis > span { font-weight:750; }
.jht-chart-axis > div { position:relative; height:1rem; margin-right:1px; }
.jht-chart-axis > div span { position:absolute; transform:translateX(-50%); font-size:.8rem; font-variant-numeric:tabular-nums; }
.jht-chart-axis > div span:first-child { transform:none; }
.jht-chart-axis > div span:last-child { transform:translateX(-100%); }
.jht-chart-row { align-items:center; padding:.65rem 0; border-top:1px solid #e5ddd3; }
.jht-lane-label { background:transparent; color:var(--jht-plum); border:0; padding:.3rem .35rem .3rem 0; text-align:left; border-radius:4px; }
.jht-lane-label > span { display:block; font-weight:800; font-size:.85rem; }
.jht-lane-label small { display:block; font-size:.7rem; line-height:1.35; margin-top:.3rem; color:#655a62; }
.jht-lane-label[aria-pressed="true"] > span { color:var(--jht-terracotta); text-decoration:underline; text-underline-offset:3px; }
.jht-track { position:relative; height:61px; background:repeating-linear-gradient(to right,transparent 0,transparent calc(16.6667% - 1px),#ded6ca calc(16.6667% - 1px),#ded6ca 16.6667%); border-left:1px solid #d4c9b9; }
.jht-color-plum { --jht-accent:var(--jht-plum); --jht-soft:#f0ebf3; }
.jht-color-terracotta { --jht-accent:var(--jht-terracotta); --jht-soft:#f7eae4; }
.jht-color-teal { --jht-accent:var(--jht-teal); --jht-soft:#e7f0ec; }
.jht-color-ochre { --jht-accent:var(--jht-ochre); --jht-soft:#f8eed1; }
.jht-interval { position:absolute; top:5px; height:51px; padding:.4rem .45rem; border:2px solid #fffdf8; border-radius:6px; background:var(--jht-accent); color:#fff; text-align:left; line-height:1.1; overflow:hidden; }
.jht-interval span { font-size:.76rem; font-weight:750; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.jht-interval small { display:block; font-size:.64rem; font-weight:500; white-space:nowrap; margin-top:.3rem; }
.jht-interval[aria-pressed="true"], .jht-milestone[aria-pressed="true"] { outline:3px solid #bc8f1d; outline-offset:1px; z-index:2; }
.jht-milestone { position:absolute; top:13px; width:33px; height:33px; transform:translateX(-50%); border:2px solid var(--jht-accent); border-radius:50%; background:#fff5d8; color:var(--jht-accent); padding:0; font-size:.77rem; font-weight:850; line-height:1; }
.jht-source { font-size:.75rem; color:#655b60; line-height:1.6!important; margin:1rem 0 .25rem; }
.jht-reading { margin-top:.85rem; border-top:1px solid #e2d9cc; padding-top:.75rem; }
.jht-module summary { cursor:pointer; color:var(--jht-plum); font-size:.87rem; font-weight:750; line-height:1.5; }
.jht-reading p { font-size:.84rem; max-width:95ch; margin:.6rem 0; }
.jht-preparation { background:#f1e8d9; border:1px solid #d7c8b4; border-radius:8px; margin:1rem 0 1.8rem; }
.jht-preparation > summary { padding:1.1rem 1.4rem; }
.jht-preparation > summary > span { font-size:1rem; }
.jht-preparation > summary small { display:block; color:#5e525e; margin:.2rem 0 0 1.15rem; font-size:.77rem; font-weight:500; }
.jht-preparation-body { padding:0 1.4rem 1rem; }
.jht-preparation-body > p:first-child { font-size:.9rem; margin:0 0 1rem; max-width:90ch; }
.jht-week-chart { min-width:650px; }
.jht-week-axis, .jht-week-row { display:grid; grid-template-columns:240px 1fr; column-gap:1rem; align-items:center; }
.jht-week-axis > span { font-size:.75rem; font-weight:750; }
.jht-week-axis > div { display:grid; grid-template-columns:repeat(8,1fr); text-align:center; font-size:.75rem; }
.jht-week-row { border-top:1px solid #d8ccbd; margin-top:.5rem; }
.jht-week-row > span { font-size:.82rem; line-height:1.4; }
.jht-week-track { height:56px; position:relative; background:repeating-linear-gradient(to right,transparent 0,transparent calc(12.5% - 1px),#d7cab9 calc(12.5% - 1px),#d7cab9 12.5%); }
.jht-week-track .jht-interval { height:46px; border-color:#f1e8d9; background:#65516e; }
.jht-memory-line { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.6rem 0; }
.jht-memory-mark { position:relative; padding:1.5rem .85rem .9rem; border:0; border-top:2px solid #b8a794; background:#f5eee3; color:var(--jht-plum); text-align:left; border-radius:0 0 6px 6px; }
.jht-memory-mark::before { content:""; position:absolute; top:-7px; left:1rem; width:12px; height:12px; background:var(--jht-terracotta); border-radius:50%; }
.jht-memory-mark b { font-size:clamp(1.3rem,2vw,2rem); display:block; font-weight:750; margin-bottom:.7rem; }
.jht-memory-mark span { font-size:.9rem; line-height:1.45; display:block; }
.jht-memory-mark[aria-pressed="true"] { box-shadow:inset 0 0 0 2px var(--jht-terracotta); }
.jht-controls { display:grid; grid-template-columns:minmax(200px,1.5fr) minmax(180px,1fr) auto; align-items:end; gap:.85rem; margin:1.8rem 0 1rem; }
.jht-controls-memory { grid-template-columns:1fr auto; }
.jht-controls label { display:grid; gap:.4rem; font-size:.78rem; font-weight:750; }
.jht-controls input, .jht-controls select { width:100%; min-height:46px; border:1px solid #b5a997; border-radius:5px; background:#fffdf8; color:var(--jht-plum); padding:.7rem .8rem; font-size:.87rem; }
.jht-controls input::placeholder { color:#786e73; opacity:1; }
.jht-action { min-height:44px; border:1px solid #baa992; border-radius:5px; padding:.65rem .85rem; color:var(--jht-plum); background:#fffaf1; font-size:.82rem!important; font-weight:750; }
.jht-action:hover { background:#eae1d3; }
.jht-count-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0 0 .8rem; }
.jht-count { margin:0; font-size:.83rem; font-weight:750; scroll-margin-top:calc(var(--jh-header,var(--sj-header,100px)) + var(--jh-nav,var(--sj-nav,80px)) + 22px); }
.jht-count-row > small { color:#756b70; font-size:.72rem; }
.jht-results { display:grid; gap:.85rem; }
.jht-event { display:grid; grid-template-columns:145px minmax(0,1fr); border:1px solid #d4c9b9; border-left:4px solid var(--jht-accent); background:#fffdf8; border-radius:6px; scroll-margin-top:calc(var(--jh-header,var(--sj-header,100px)) + var(--jh-nav,var(--sj-nav,80px)) + 22px); }
.jht-date { padding:1.4rem 1rem; border-right:1px solid #e2d9cf; background:var(--jht-soft); border-radius:4px 0 0 4px; }
.jht-date b { display:block; font-size:1.25rem; line-height:1.35; font-variant-numeric:tabular-nums; color:var(--jht-accent); }
.jht-date span { display:block; margin-top:.7rem; font-size:.67rem; text-transform:uppercase; letter-spacing:.06em; font-weight:750; color:#6c6269; }
.jht-event-body { padding:1.35rem 1.6rem; min-width:0; }
.jht-event-body > p { font-size:.92rem; margin:.6rem 0; }
.jht-event-body > .jht-eyebrow { color:var(--jht-accent); font-size:.7rem; margin:0; }
.jht-event-body > .jht-source { font-size:.75rem; margin:.85rem 0; }
.jht-event details { padding:.7rem 0; border-top:1px solid #e5dccf; }
.jht-detail p { font-size:.86rem; margin:.25rem 0 .8rem; }
.jht-detail .jht-question { color:var(--jht-accent); font-weight:700; font-size:1rem; }
.jht-where { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem; border-top:1px solid #e5dccf; padding-top:.8rem; }
.jht-where > span { color:#655c65; font-size:.75rem; }
.jht-selected { box-shadow:0 0 0 2px var(--jht-accent); }
.jht-pages { display:flex; align-items:center; justify-content:center; gap:1.3rem; margin:1.4rem 0 .6rem; }
.jht-pages > span { font-size:.78rem; }
.jht-empty { padding:2rem; background:#eee5d7; border-radius:6px; text-align:center; }
@media (max-width:720px) {
  .jht-overview, .jht-memory { padding:1.1rem; }
  .jht-controls { grid-template-columns:1fr 1fr; }
  .jht-controls label:first-child { grid-column:1 / -1; }
  .jht-controls-memory { grid-template-columns:1fr; }
  .jht-controls-memory .jht-action { justify-self:start; }
  .jht-event { grid-template-columns:110px minmax(0,1fr); }
  .jht-event-body { padding:1.1rem; }
  .jht-date { padding:1.1rem .7rem; }
  .jht-date b { font-size:1.1rem; }
  .jht-memory-line { gap:.65rem; }
  .jht-memory-mark { padding:1.3rem .65rem .8rem; }
  .jht-memory-mark span { font-size:.8rem; }
  .jht-count-row { align-items:flex-start; flex-direction:column; gap:.25rem; }
}
@media (max-width:480px) {
  .jht-modes { gap:.5rem; }
  .jht-modes button { width:100%; padding:.8rem; }
  .jht-module h4 { font-size:1.15rem; }
  .jht-controls { grid-template-columns:1fr; }
  .jht-controls .jht-action { justify-self:start; }
  .jht-event { display:block; }
  .jht-date { display:flex; align-items:center; gap:1rem; padding:.75rem 1rem; border-right:0; border-bottom:1px solid #e2d9cf; border-radius:4px 4px 0 0; }
  .jht-date span { margin:0; }
  .jht-event-body { padding:1rem; }
  .jht-memory-line { grid-template-columns:1fr; gap:1.25rem; }
  .jht-memory-mark b { font-size:1.65rem; margin-bottom:.4rem; }
  .jht-memory-mark span { font-size:.9rem; }
  .jht-pages { gap:.6rem; flex-wrap:wrap; }
  .jht-pages .jht-action { padding:.6rem; font-size:.75rem!important; }
  .jht-preparation > summary { padding:.9rem 1rem; }
  .jht-preparation-body { padding:0 1rem 1rem; }
}
@media print {
  .jht-chart-scroll { overflow:visible; }
  .jht-chart, .jht-week-chart { min-width:0; }
  .jht-event { break-inside:avoid; }
}
