:root{--c1: var(--t-event);--c2: var(--t-place);--c3: var(--t-faction);--c4: var(--rubric)}.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.wdate{font-variant-numeric:lining-nums}.wdate-part{white-space:nowrap}.wdate .moons{display:inline-flex;gap:.08em;margin-left:.3em;vertical-align:-.1em;cursor:help}.moon{width:.8em;height:.8em;overflow:visible}.moon.moon-lg{width:1.3em;height:1.3em;vertical-align:-.25em}.moon-dark{fill:color-mix(in srgb,var(--ink-faint) 42%,var(--paper))}.moon-lit{fill:color-mix(in srgb,var(--moon) 70%,var(--paper))}.moon-rim{fill:none;stroke:var(--ink-faint);stroke-width:1}.cal-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin:1.5rem 0 .2rem}.cal-title{margin:0 .4rem;font-size:1.8rem;min-width:12ch;text-align:center}.cal-btn{font:inherit;font-family:var(--display-sc);letter-spacing:.03em;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);min-width:2.2rem;height:2.2rem;padding:0 .6rem;cursor:pointer}.cal-btn:hover{border-color:var(--ink-faint);background:var(--paper-2)}.cal-jump{display:flex;gap:.4rem;margin-left:auto;align-items:center;flex-wrap:wrap}.cal-jump select,.cal-jump input{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);height:2.2rem;padding:0 .4rem}.cal-jump input{width:5.5rem}.cal-sky{margin:0 0 .6rem}.cal-scroll{overflow-x:auto}.cal-grid{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--paper-2);border:3px double var(--rule);box-shadow:var(--shadow)}.cal-grid th{font-family:var(--display-sc);font-weight:400;letter-spacing:.04em;color:var(--ink-soft);padding:.35rem .2rem;border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--sea) 45%,var(--paper-2))}.cal-grid th abbr{text-decoration:none}.cal-grid td{vertical-align:top;border:1px solid color-mix(in srgb,var(--rule) 70%,transparent);padding:.25rem .3rem .4rem;height:6.2rem;background:var(--paper)}.cal-grid td.pad{background:transparent}.cal-grid td.today-cell{background:color-mix(in srgb,var(--land) 32%,var(--paper));outline:2px solid var(--rubric);outline-offset:-2px}.cd-head{display:flex;align-items:center;justify-content:space-between;gap:.2rem}.cd-num{font-family:var(--display);font-size:1.15rem;line-height:1;color:var(--ink)}.today-cell .cd-num{color:var(--rubric)}.cd-head .moons{display:inline-flex;gap:1px;font-size:1.05rem}.cd-items{list-style:none;margin:.25rem 0 0;padding:0;font-size:.8rem;line-height:1.2}.ci{margin:0 0 .15rem;padding-left:.45rem;border-left:3px solid var(--ink-faint);overflow-wrap:anywhere}.ci-festival{border-left-color:var(--t-pc)}.ci-sky{border-left-color:var(--t-faction);font-style:italic}.ci-dated{border-left-color:var(--t-event)}.ci-page{border-left-color:var(--tc, var(--ink-faint))}.ci-page.t-session{border-left-style:dotted}.cd-items a{text-decoration-color:transparent}.cd-items a:hover{text-decoration-color:currentColor}@media(max-width:700px){.cal-title{font-size:1.4rem;min-width:0;flex:1 1 100%;order:-1;text-align:left;margin:0}.cal-jump{margin-left:0}.cal-grid td{height:3.6rem;padding:.15rem}.cd-head{flex-direction:column;align-items:flex-start}.cd-head .moons{font-size:.62rem}.cd-items{display:flex;flex-wrap:wrap;gap:2px}.cd-items .ci{width:.45rem;height:.45rem;padding:0;border:0;border-radius:50%;background:var(--ink-faint);overflow:hidden;color:transparent;font-size:0}.cd-items .ci a{color:transparent}.cd-items .ci-festival{background:var(--t-pc)}.cd-items .ci-sky{background:var(--t-faction)}.cd-items .ci-dated{background:var(--t-event)}.cd-items .ci-page{background:var(--tc, var(--ink-faint))}}.cal-list{list-style:none;padding:0;margin:0}.cal-list>li{display:grid;grid-template-columns:minmax(12rem,16rem) 1fr;gap:.2rem 1rem;padding:.35rem 0;border-bottom:1px dotted var(--rule)}.cal-list>li.is-today .cl-date{color:var(--rubric)}.cal-list .cl-date{color:var(--ink-soft);font-size:.95rem}.cal-list ul,.cl-month-list{list-style:none;margin:0;padding:0}.cal-list .ci,.cl-month-list .ci{font-size:.97rem}.cl-desc{color:var(--ink-soft)}@media(max-width:560px){.cal-list>li{grid-template-columns:1fr}}.moon-key,.fest-key{list-style:none;padding:0;margin:0}.moon-key li{margin:.3rem 0}.fest-key{columns:2 22rem;column-gap:2rem}.fest-key li{break-inside:avoid;margin:0 0 .5rem}.today .today-date{font-size:1rem;color:var(--ink)}.today .today-fest{font-family:var(--display-sc);letter-spacing:.04em;color:var(--rubric)}.tl-tabs{display:flex;gap:.5rem;margin:1rem 0;flex-wrap:wrap}.tl-tabs a{border:1px solid var(--rule);padding:.25rem .8rem;border-radius:var(--radius);background:var(--paper);text-decoration:none;font-family:var(--display-sc);letter-spacing:.03em;color:var(--ink)}.tl-tabs a:hover{background:var(--paper-2);border-color:var(--ink-faint)}.tl-legend{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;list-style:none;padding:0;margin:.6rem 0 0;font-size:.9rem;color:var(--ink-soft)}.tl-legend .sw{display:inline-block;width:.9rem;height:.6rem;margin-right:.35rem;border:1px solid var(--cc);background:color-mix(in srgb,var(--cc) 30%,var(--paper))}.tl-legend .c1{--cc: var(--c1)}.tl-legend .c2{--cc: var(--c2)}.tl-legend .c3{--cc: var(--c3)}.tl-legend .c4{--cc: var(--c4)}.tlv{margin:0 0 .4rem}.tlv-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem;margin-bottom:.4rem}.tlv-presets,.tlv-zoom{display:flex;flex-wrap:wrap;gap:.3rem}.tlv-btn{font:inherit;font-family:var(--display-sc);letter-spacing:.03em;font-size:.92rem;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);min-width:2.1rem;height:2.1rem;padding:0 .65rem;cursor:pointer;transition:background .15s,border-color .15s}.tlv-btn:hover{background:var(--paper-2);border-color:var(--ink-faint)}.tlv-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.tlv-zoom .tlv-btn{font-family:var(--body);font-size:1.15rem;padding:0}.tlv-lanes{display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin:0 0 .5rem;font-size:.95rem;color:var(--ink-soft)}.tlv-lanes label{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer}.tlv-lanes input{accent-color:var(--rubric)}.tlv-stage{position:relative;min-height:14rem;border:3px double var(--rule);border-radius:var(--radius);background:var(--paper-2);box-shadow:var(--shadow)}.tlv-status{position:absolute;inset:0;display:grid;place-items:center;margin:0;font-style:italic}.tlv-canvas{min-height:14rem}.tlv .vis-timeline{border:0;font-family:var(--body);color:var(--ink);background:transparent}.tlv .vis-panel.vis-center,.tlv .vis-panel.vis-left,.tlv .vis-panel.vis-right,.tlv .vis-panel.vis-top,.tlv .vis-panel.vis-bottom{border-color:var(--rule)}.tlv .vis-panel.vis-left,.tlv .vis-panel.vis-top{background:color-mix(in srgb,var(--paper) 70%,transparent)}.tlv .vis-labelset .vis-label{color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--rule) 60%,transparent)}.tlv .vis-labelset .vis-label .vis-inner{font-family:var(--display-sc);letter-spacing:.03em;font-size:.95rem;padding:.35rem .7rem}.tlv .vis-foreground .vis-group{border-bottom:1px solid color-mix(in srgb,var(--rule) 45%,transparent)}.tlv .vis-time-axis .vis-text{color:var(--ink-soft);font-size:.8rem;padding-top:2px}.tlv .vis-time-axis .vis-text.vis-major{color:var(--ink);font-family:var(--display-sc);letter-spacing:.03em;font-size:.9rem}.tlv .vis-time-axis .vis-grid.vis-minor{border-color:color-mix(in srgb,var(--rule) 40%,transparent)}.tlv .vis-time-axis .vis-grid.vis-major{border-color:color-mix(in srgb,var(--rule) 90%,transparent)}.tlv .vis-item{--cc: var(--ink-faint);font-size:.85rem;color:var(--ink);background:var(--paper);border:1px solid color-mix(in srgb,var(--cc) 70%,var(--rule));border-radius:var(--radius);cursor:pointer;transition:box-shadow .15s}.tlv .vis-item .vis-item-content{padding:.1rem .4rem}.tlv .vis-item.vis-point{background:transparent;border:0}.tlv .vis-item.vis-point .vis-item-content{background:color-mix(in srgb,var(--paper) 88%,transparent);border-radius:var(--radius);padding:0 .3rem;margin-left:.25rem}.tlv .vis-item.vis-dot{border:4px solid var(--cc);border-radius:50%;background:var(--cc)}.tlv .vis-item.vis-line{border-color:color-mix(in srgb,var(--cc) 55%,transparent)}.tlv .vis-item.vis-range{background:color-mix(in srgb,var(--cc) 24%,var(--paper));border-color:var(--cc)}.tlv .vis-item:hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--cc) 45%,transparent)}.tlv .vis-item.vis-selected{background:color-mix(in srgb,var(--cc) 34%,var(--paper));border-color:var(--cc);box-shadow:0 0 0 2px var(--cc);z-index:3}.tlv .vis-item.vis-point.vis-selected{background:transparent;box-shadow:none}.tlv .vis-item.vis-point.vis-selected .vis-item-content{outline:2px solid var(--cc)}.tlv .vis-item.camp{font-family:var(--display-sc);letter-spacing:.03em;min-width:6px}.tlv .vis-item.camp .vis-item-overflow{overflow:visible}.tlv .vis-item.camp .vis-item-content{white-space:nowrap}.tlv .vis-item.vis-background{border:0;border-radius:0;cursor:default;background:color-mix(in srgb,var(--cc) 12%,transparent)}.tlv .vis-item.vis-background.camp{background:color-mix(in srgb,var(--cc) 20%,transparent)}.tlv .vis-item.vis-background:hover{box-shadow:none}.tlv .vis-item.c1{--cc: var(--c1)}.tlv .vis-item.c2{--cc: var(--c2)}.tlv .vis-item.c3{--cc: var(--c3)}.tlv .vis-item.c4{--cc: var(--c4)}.tlv .vis-item.t-event{--cc: var(--t-event)}.tlv .vis-item.t-encounter{--cc: var(--t-encounter)}.tlv .vis-item.t-lore{--cc: var(--t-lore)}.tlv .vis-item.t-npc{--cc: var(--t-npc)}.tlv .vis-item.t-pc{--cc: var(--t-pc)}.tlv .vis-item.t-place{--cc: var(--t-place)}.tlv .vis-item.t-faction{--cc: var(--t-faction)}.tlv .vis-item.t-item{--cc: var(--t-item)}.tlv .vis-item.t-vehicle{--cc: var(--t-vehicle)}.tlv .vis-item.vis-cluster{--cc: var(--ink-soft);background:var(--paper);border:1px dashed var(--ink-faint);border-radius:999px;font-family:var(--display-sc);text-align:center}.tlv .vis-cluster-line,.tlv .vis-cluster-dot{border-color:var(--ink-faint)}.tlv .vis-custom-time{background-color:var(--rubric);width:2px;pointer-events:none}.tlv .vis-custom-time-marker{transform:translate(-100%);border-radius:var(--radius) 0 0 var(--radius)!important;background:var(--rubric);color:var(--paper);font-family:var(--display-sc);letter-spacing:.03em;font-size:.78rem;padding:.05rem .4rem;top:0;white-space:nowrap}.tlv .vis-tooltip{font-family:var(--body);font-size:.9rem;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--lift);padding:.3rem .55rem}.tlv .vis-tooltip small{color:var(--ink-soft)}.tlv .vis-panel .vis-shadow{box-shadow:0 0 10px #00000040}.tlv .vis-vertical-scroll{scrollbar-color:var(--ink-faint) transparent}.tlv-card{position:relative;margin:.6rem 0 0;padding:.55rem .9rem .6rem;border:1px solid var(--rule);border-left:4px solid var(--rubric);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);max-width:var(--measure);animation:tlv-in .25s var(--ease-out)}.tlv-card p{margin:0 0 .2rem}.tlv-kind{font-family:var(--display-sc);letter-spacing:.04em;font-size:.88rem;color:var(--ink-soft)}.tlv-title{font-family:var(--display);font-size:1.35rem;line-height:1.2}.tlv-sum{color:var(--ink-soft)}.tlv-close{position:absolute;top:.3rem;right:.45rem;font:inherit;font-size:1.3rem;line-height:1;background:none;border:0;color:var(--ink-soft);cursor:pointer}@keyframes tlv-in{0%{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.tlv-card{animation:none}.tlv-btn,.tlv .vis-item{transition:none}}.chron-wrap{margin-top:var(--sp-6)}.chron-wrap>summary{cursor:pointer;list-style:none}.chron-wrap>summary::-webkit-details-marker{display:none}.chron-wrap>summary h2:after{content:" ▸";color:var(--ink-faint);font-size:.8em}.chron-wrap[open]>summary h2:after{content:" ▾"}.chron{list-style:none;padding:0;margin:0}.chron li{display:grid;grid-template-columns:minmax(12rem,18rem) 1fr;gap:.2rem 1rem;padding:.3rem 0;border-bottom:1px dotted var(--rule)}.chron .when{color:var(--ink-soft);font-size:.95rem}@media(max-width:560px){.chron li{grid-template-columns:1fr;gap:0}}.real-table{border-collapse:collapse;width:100%;font-size:.95rem}.real-table th,.real-table td{border-bottom:1px solid var(--rule);padding:.35rem .5rem;text-align:left}.real-table th{font-family:var(--display-sc);font-weight:400;letter-spacing:.03em}
