.cal-page{max-width:860px;margin:0 auto;padding:8px 4px 40px}.cal-head{text-align:center;margin-bottom:20px}.cal-title{font-size:1.9em;font-weight:700;color:var(--color-text);margin:0 0 6px}.cal-subtitle{color:var(--color-text-muted);margin:0}.cal-today-line{margin:10px 0 0;font-size:.95em}.cal-today-label{color:var(--color-text-subtle)}.cal-today-primary{color:var(--color-text);font-weight:600}.cal-today-sep{color:var(--color-text-subtle)}.cal-today-secondary{color:var(--color-text-muted)}.cal-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.cal-month-label{min-width:190px;text-align:center;font-size:1.15em;font-weight:600;color:var(--color-text)}.cal-nav{width:38px;height:38px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:1.3em;line-height:1;cursor:pointer}.cal-nav:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.cal-today-btn{-webkit-margin-start:8px;margin-inline-start:8px;padding:8px 14px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary);font-size:.9em;cursor:pointer}.cal-today-btn:hover{background:var(--color-primary-bg);border-color:var(--color-primary-ring)}.cal-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:18px;border-bottom:1px solid var(--color-border)}.cal-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted);font:inherit;font-weight:600;padding:8px 16px;cursor:pointer;margin-bottom:-1px}.cal-tab:hover{color:var(--color-text)}.cal-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.tl-status{text-align:center;color:var(--color-text-muted);padding:30px 0}.tl-root{max-width:720px;margin:0 auto}.tl-era{margin-bottom:26px}.tl-era-title{font-size:1.15em;font-weight:700;color:var(--color-text);margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.tl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.tl-item{display:grid;grid-template-columns:130px 1fr;grid-gap:14px;gap:14px}.tl-date{color:var(--color-text-muted);font-size:.85em;font-weight:600;padding-top:2px;text-align:right;-webkit-border-end:2px solid var(--color-border);border-inline-end:2px solid var(--color-border);-webkit-padding-end:12px;padding-inline-end:12px}.tl-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.tl-title{font-weight:600;color:var(--color-text)}.tl-cat{font-size:.68em;text-transform:uppercase;letter-spacing:.4px;padding:1px 7px;border-radius:999px;border:1px solid var(--color-border);color:var(--color-text-subtle)}.tl-cat--primary{color:var(--color-primary);background:var(--color-primary-bg);border-color:var(--color-primary-ring)}.tl-cat--danger{color:var(--color-danger);border-color:var(--color-danger)}.tl-cat--success{color:var(--color-success);border-color:var(--color-success)}.tl-cat--muted,.tl-desc{color:var(--color-text-muted)}.tl-desc{margin:4px 0 0;line-height:1.55;font-size:.92em}@media (max-width:560px){.tl-item{grid-template-columns:1fr;gap:3px}.tl-date{text-align:start;-webkit-border-end:none;border-inline-end:none;-webkit-padding-end:0;padding-inline-end:0}}.cal-weekday{text-align:center;font-size:.8em;font-weight:600;color:var(--color-text-subtle);padding:6px 0}.cal-cell{position:relative;aspect-ratio:1/1;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;display:flex;align-items:flex-start;justify-content:flex-end;padding:6px 8px}.cal-cell--empty{border:none;background:transparent;cursor:default}.cal-cell:not(.cal-cell--empty):hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.cal-daynum{font-size:.95em}.cal-cell--has .cal-dot{position:absolute;inset-inline-start:6px;bottom:6px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--color-primary);color:var(--color-text-on-primary);font-size:.7em;line-height:16px;text-align:center}.cal-cell--today{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.cal-cell--selected{background:var(--color-primary-bg);border-color:var(--color-primary)}.cal-detail{margin-top:24px;border-top:1px solid var(--color-border);padding-top:18px}.cal-detail-date{font-size:1.15em;font-weight:700;color:var(--color-text);margin:0 0 12px}.cal-empty{color:var(--color-text-muted)}.cal-event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.cal-event{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:14px 16px}.cal-event-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cal-event-title{font-weight:600;color:var(--color-text)}.cal-event-tag{font-size:.72em;color:var(--color-primary);background:var(--color-primary-bg);border:1px solid var(--color-primary-ring);border-radius:999px;padding:1px 8px}.cal-event-body{margin:8px 0 0;color:var(--color-text-muted);line-height:1.6;white-space:pre-wrap}@media (max-width:560px){.cal-grid{gap:4px}.cal-cell{border-radius:8px;padding:4px 5px}.cal-month-label{min-width:130px;font-size:1em}}