:root { --tp-ink: #17191c; --tp-paper: #ffffff; --tp-muted: #545a62; --tp-line: #dce0e5; --tp-soft: #f5f6f8; --tp-tint: #edf3fc; --tp-blue: #244f87; }
body { background: var(--tp-paper); color: var(--tp-ink); }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .25em; }
button { border: 1px solid transparent; }
.tp-name-detail { color: var(--tp-muted); border-inline-start: 1px solid var(--tp-line); }
.tp-breadcrumbs { color: var(--tp-muted); }
.tp-breadcrumbs span[aria-current] { color: var(--tp-ink); background: var(--tp-soft); border-radius: 999px; }
.tp-crumb-link { text-decoration: none; border-radius: 999px; }
.tp-crumb-link:hover { background: var(--tp-soft); }
.tp-scene { color: #434951; }
.tp-lead, .tp-muted { color: var(--tp-muted); }
.tp-button { color: #fff; background: var(--tp-ink); border-radius: 999px; text-decoration: none; border: 1px solid var(--tp-ink); }
.tp-button:hover { background: #303641; }
.tp-button-light { background: #fff; color: var(--tp-ink); border-color: var(--tp-line); }
.tp-button-light:hover { background: var(--tp-soft); }
.tp-next, .tp-reading, .tp-footer { border-block-start: 1px solid var(--tp-line); }
.tp-next-link, .tp-source-link, .tp-footer-link { color: var(--tp-blue); }
.tp-route { background: var(--tp-soft); border: 1px solid #e8ebee; border-radius: 1.5rem; }
.tp-route figcaption { color: var(--tp-muted); }
.tp-route-line li::before { background: var(--tp-paper); border: 2px solid var(--tp-ink); }
.tp-route-line li:first-child::before { background: var(--tp-ink); }
.tp-route-line li:not(:last-child)::after, .tp-route-branches::before, .tp-route-branches li::before, .tp-route-root::after { background: #9098a4; }
.tp-route-root { background: var(--tp-ink); color: var(--tp-paper); border-radius: 999px; }
.tp-route-branches li { background: var(--tp-paper); border: 1px solid var(--tp-line); border-radius: .75rem; }
.tp-route-rows li { border-block-start: 1px solid var(--tp-line); }
.tp-route-rows li:last-child { border-block-end: 1px solid var(--tp-line); }
.tp-row-link { text-decoration: none; }
.tp-row-link:hover { color: var(--tp-blue); }
.tp-route-rows p { color: var(--tp-muted); }
.tp-worksheet { background: var(--tp-tint); border: 1px solid #d3dfea; border-radius: 1.25rem; }
.tp-choice { background: #fff; border: 1px solid #ced7e2; border-radius: .65rem; }
.tp-choice:has(input:checked) { border-color: #4a6384; }
.tp-choice input { accent-color: var(--tp-ink); }
.tp-note { background: #fff; color: var(--tp-ink); border: 1px solid #748197; border-radius: .65rem; }
.tp-note::placeholder { color: #5a626e; opacity: 1; }
.tp-sheet-status { color: #3d506c; }
.tp-print-note { background: #fff; border: 1px solid var(--tp-line); border-radius: .65rem; }
.tp-skip { background: var(--tp-ink); color: var(--tp-paper); border-radius: .5rem; }
:focus-visible { outline: 3px solid #35649c; outline-offset: 4px; }
.tp-sheet:focus { outline: 2px solid #35649c; outline-offset: 8px; border-radius: .5rem; }
::selection { background: #cddff5; color: var(--tp-ink); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }
@media print { body, .tp-worksheet { background: #fff; color: #000; } .tp-choice { border-color: #888; } }
