@layer components.primitives{.toc-panel{--toc-icon:1rem;--toc-ability-icon:.875rem;--toc-font-size:var(--text-xs);--toc-line-height:var(--leading-xs);--toc-row-gap:.375rem;--toc-row-padding:.125rem 0 .125rem .75rem;--toc-section-inset:.75rem;border:1px solid var(--border-soft);background:color-mix(in srgb, var(--card) var(--mix-veil), transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.75rem}.toc-rule{background:var(--signal-edge);block-size:1px;inline-size:2rem;margin-bottom:1rem}.toc-tree>*+*{margin-top:.25rem}.toc-group{padding-top:.5rem}.toc-section{padding:.25rem 0 .25rem var(--toc-section-inset);color:var(--foreground);font-size:var(--text-xs);line-height:var(--leading-xs);letter-spacing:-.025em;transition:color var(--duration-normal);align-items:center;gap:.5rem;font-weight:600;display:flex;position:relative}.toc-section:hover{color:var(--signal)}.toc-subsection{color:var(--muted-foreground);padding-inline-start:calc(var(--toc-section-inset) + .75rem);font-weight:400}.toc-year{font-family:var(--font-mono)}.toc-marker{block-size:1rem;inline-size:1px;transition:scale var(--duration-normal) var(--ease-out), background-color var(--duration-normal);background:0 0;position:absolute;top:50%;left:-.5px;translate:0 -50%;scale:1 .75}.toc-section:hover .toc-marker{background:var(--signal);scale:1}.toc-count{color:var(--signal);font-family:var(--font-mono);font-size:var(--text-2xs);margin-left:auto}.toc-link{border-radius:var(--radius-sm);min-inline-size:0;color:var(--muted-foreground);transition:background-color var(--duration-normal), color var(--duration-normal);align-items:center;display:flex}.toc-link:hover{background:var(--card-accent);color:var(--foreground)}.toc-link-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toc-heading-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.toc-entities{margin-top:.125rem}.toc-entities>*+*,.toc-abilities>*+*{margin-top:1px}.toc-entity{gap:var(--toc-row-gap);padding:var(--toc-row-padding);font-size:var(--toc-font-size);line-height:var(--toc-line-height)}.toc-entity-img{inline-size:var(--toc-icon);block-size:var(--toc-icon);border-radius:var(--radius-md);object-fit:cover}.toc-entity-text{flex-direction:column;min-inline-size:0;display:flex}.toc-entity-tally{line-height:1.5}.toc-tally-part{white-space:nowrap}.toc-ability{font-size:var(--text-2xs);gap:.375rem;margin-left:1rem;padding:.125rem 0 .125rem .75rem}.toc-ability-icon{inline-size:var(--toc-ability-icon);block-size:var(--toc-ability-icon);flex-shrink:0}.toc-ability-img{border-radius:var(--radius-sm);object-fit:cover}.toc-entry{font-size:var(--text-xs);line-height:var(--leading-xs);gap:.5rem;padding:.25rem 0 .25rem .75rem}.toc-major{background:var(--primary);border-radius:50%;flex-shrink:0;block-size:.375rem;inline-size:.375rem}.toc-entry-count{flex-shrink:0;margin-left:auto}.toc-entry-count,.toc-entity-tally{color:var(--muted-foreground);font-family:var(--font-mono);font-size:var(--text-2xs)}.toc-panel[data-size=lg]{--toc-icon:1.75rem;--toc-ability-icon:1.25rem;--toc-font-size:var(--text-sm);--toc-line-height:var(--leading-sm);--toc-row-gap:.625rem;--toc-row-padding:.375rem 0 .375rem 1rem;--toc-section-inset:1rem}.toc-panel[data-size=lg] .toc-tree>*+*{margin-top:.375rem}.toc-panel[data-size=lg] .toc-group{padding-top:.75rem}.toc-panel[data-size=lg] .toc-section{font-size:var(--text-sm);line-height:var(--leading-sm);gap:.75rem;padding-block:.5rem;padding-inline-end:.5rem}.toc-panel[data-size=lg] .toc-count{background:var(--signal-wash);font-size:var(--text-xs);line-height:var(--leading-xs);border-radius:9999px;padding:.125rem .5rem;font-weight:500}.toc-panel[data-size=lg] .toc-marker{block-size:1.25rem;inline-size:2px;scale:1 .8}.toc-panel[data-size=lg] .toc-entities{margin-top:.25rem}.toc-panel[data-size=lg] .toc-entities>*+*{margin-top:.125rem}.toc-panel[data-size=lg] .toc-entity,.toc-panel[data-size=lg] .toc-ability-img{border-radius:var(--radius-md)}.toc-panel[data-size=lg] .toc-ability{font-size:var(--text-sm);line-height:var(--leading-sm);gap:.5rem;margin-left:1.5rem;padding-block:.25rem}}@layer components.features{.toc-label{color:var(--muted-foreground);letter-spacing:.2em;margin-bottom:1rem;font-weight:700}.toc-section,.toc-link{min-block-size:1.5rem}@media (pointer:coarse){.toc-section,.toc-link{min-block-size:2.75rem}}}
