/* ---- GUÍA · DURATION TIMELINE ------------------------------------- */
.guia-tl__body{position:relative;padding:0 8px 0 0}
.guia-tl__tick{position:absolute;left:14px;right:8px;height:0;border-top:1px dashed var(--rule);pointer-events:none}
.guia-tl__tick-lbl{position:absolute;left:0;bottom:2px;font-family:var(--font-sans);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;max-width:var(--guia-gutter);overflow:hidden;text-overflow:ellipsis}
.guia-tl__cols{position:absolute;inset:0;display:grid;grid-template-columns:var(--guia-grid);align-items:end;padding:0 8px 0 0}
.guia-tl__col{position:relative;padding:0 6px;height:100%}.guia-tl__slot{position:absolute;left:6px;right:6px}.guia-tl__tick--major{border-top-style:solid;border-top-color:var(--ink-faint)}.guia-tl__tick--major .guia-tl__tick-lbl{color:var(--ink-soft);font-weight:600}
.tlblock{--c:hsl(var(--c-hue) 55% 42%);--c-soft:hsl(var(--c-hue) 55% 42% / .10);position:relative;width:100%;text-align:left;display:flex;flex-direction:column;gap:3px;background:var(--paper);border:1px solid var(--rule);border-left:3px solid var(--c);border-radius:6px;padding:7px 10px;cursor:pointer;overflow:hidden;box-sizing:border-box;flex:none;box-shadow:0 1px 2px rgba(20,22,28,.06);transition:box-shadow .15s,border-color .15s,background .15s}
.tlblock:hover,.tlblock.is-hovered{border-color:var(--c);background:var(--c-soft);box-shadow:var(--shadow)}
.tlblock.is-active{box-shadow:0 0 0 2px var(--c),var(--shadow)}
.tlblock--base{background:repeating-linear-gradient(-45deg,var(--paper) 0 6px,var(--paper-2) 6px 8px);border-style:dashed;border-left-style:solid}
.tlblock__top{display:flex;justify-content:space-between;gap:6px;align-items:baseline;font-family:var(--font-sans);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);line-height:1.2}
.tlblock__yrs{color:var(--c);font-weight:700;letter-spacing:.02em;text-transform:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.tlblock__sigla{font-family:var(--font-sans);font-size:14px;font-weight:700;color:var(--ink);line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tlblock__title{font-family:var(--font-serif);font-size:12.5px;line-height:1.3;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tlblock .dipcard__chip{align-self:flex-start;white-space:nowrap}.tlblock>*{flex:none}.tlblock__lvl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guia-staff__eqf{white-space:nowrap}
.tlblock__where{flex:1 1 auto;display:flex;gap:5px;margin-top:2px;padding-top:4px;border-top:1px dashed var(--rule);font-family:var(--font-sans);font-size:10.5px;line-height:1.35;color:var(--ink-soft);min-height:0;overflow:hidden}
.guia-tl .guia-staff__pedwrap{margin-top:14px}
.guia-tl__legend{font-family:var(--font-sans);font-size:11.5px;line-height:1.5;color:var(--ink-soft);margin:12px 4px 0;text-wrap:pretty}
.guia-ladder__flow--up .guia-ladder__flow-line{background:linear-gradient(to top,var(--rule) 0%,var(--accent) 100%)}
.guia-tl--par .guia-tl__slot{right:calc(42% + 2px)}
.guia-tl--par .guia-tl__slot--par{left:calc(58% + 2px);right:6px}
.guia-tl--par .tlblock__lvl-eqf{display:none}
.guia-tl--par .tlblock{padding:6px 8px}
.guia-tl--par .guia-tl__slot--base{right:6px}
.parblock{--c:hsl(var(--c-hue) 55% 42%);position:relative;width:100%;box-sizing:border-box;text-align:left;display:flex;flex-direction:column;gap:3px;padding:6px 8px;border-radius:6px;cursor:pointer;overflow:hidden;background:hsl(var(--c-hue) 55% 42% / .06);border:1px dashed var(--c);color:var(--ink);transition:background .15s,box-shadow .15s;animation:parIn .35s cubic-bezier(.2,.9,.2,1) both}
.parblock--alternativa{border-style:dotted;border-width:1.5px;background:var(--paper)}
.parblock:hover{background:hsl(var(--c-hue) 55% 42% / .12);box-shadow:var(--shadow)}
.parblock.is-active{box-shadow:0 0 0 2px var(--c),var(--shadow)}
.parblock__tag{font-family:var(--font-sans);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--c);font-weight:700;line-height:1.25}
.parblock__sigla{word-break:normal;overflow-wrap:normal;hyphens:manual;font-family:var(--font-sans);font-size:11.5px;font-weight:700;line-height:1.2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.parblock__yrs{font-family:var(--font-sans);font-size:10px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
@keyframes parIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
.guia-viz__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.guia-par-toggle{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;white-space:nowrap}
.guia-par-toggle:hover{border-color:var(--accent)}
.guia-par-toggle__sw{position:relative;width:32px;height:18px;border-radius:999px;background:var(--paper-3);transition:background .2s;flex:none}
.guia-par-toggle__sw span{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--paper);box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .2s}
.guia-par-toggle.is-on .guia-par-toggle__sw{background:var(--accent)}
.guia-par-toggle.is-on .guia-par-toggle__sw span{transform:translateX(14px)}
.guia-tl--par .tlblock__top{flex-direction:column;align-items:flex-start;gap:1px}
.guia-tl--par .tlblock__lvl{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
