.ol-toc{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;margin-top:1.5rem;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.ol-h3{margin-top:3rem;font-size:1.15rem;letter-spacing:.01em}.ol-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin:2rem 0 1.5rem}.ol-filters{display:flex;flex-wrap:wrap;gap:.5rem}.ol-chip{padding:.35rem .8rem;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--text-dim);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:color var(--ease),border-color var(--ease),background var(--ease)}.ol-chip:hover{color:var(--text);border-color:var(--cyan)}.ol-chip.is-on{color:var(--bg);background:var(--cyan);border-color:var(--cyan)}.ol-actions{display:flex;align-items:center;gap:.75rem}.ol-count{margin:0;color:var(--text-faint);font-family:var(--font-mono);font-size:.75rem}.ol-deck{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.ol-card{display:block;width:100%;min-height:190px;padding:0;border:0;background:transparent;perspective:1200px;cursor:pointer;text-align:left;font:inherit;color:inherit}.ol-card:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.ol-card-inner{position:relative;display:grid;width:100%;min-height:190px;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.4,0,.2,1)}.ol-card[aria-pressed=true] .ol-card-inner{transform:rotateY(180deg)}.ol-face{grid-area:1 / 1;display:flex;flex-direction:column;gap:.6rem;padding:1.1rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-elev);backface-visibility:hidden}.ol-front{justify-content:space-between}.ol-card:hover .ol-front{border-color:var(--cyan)}.ol-cat{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.ol-term{font-family:var(--font-display);font-size:1.2rem;line-height:1.25;color:var(--text)}.ol-hint{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.ol-back{transform:rotateY(180deg);background:var(--bg-elev-2);border-color:var(--line-strong);border-left:2px solid var(--violet)}.ol-def{font-size:.86rem;line-height:1.55;color:var(--text-dim)}.ol-def strong{color:var(--text)}.ol-def em{color:var(--text);font-style:italic}.ol-card.is-hidden{display:none}.ol-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1.5rem}.ol-panel{padding:1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev)}.ol-panel p{max-width:none;font-size:.92rem}.ol-panel-kicker{margin:0 0 .35rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}.ol-panel-title{margin:0 0 .6rem;font-size:1.05rem}.ol-panel ul{margin:0;padding-left:1.1rem;font-size:.9rem;line-height:1.6;color:var(--text-dim)}.ol-panel li+li{margin-top:.4rem}.ol-reflist{list-style:none;padding-left:0}.ol-reflist li+li{margin-top:.5rem}.ol-note{margin:2rem 0;padding:1.3rem 1.5rem;border:1px solid var(--line-strong);border-left:3px solid var(--magenta);border-radius:var(--radius);background:var(--bg-elev-2)}.ol-note p{margin:0;max-width:none}.ol-timeline{list-style:none;margin:2rem 0 0;padding:0;border-left:1px solid var(--line-strong)}.ol-tl-item{position:relative;display:grid;grid-template-columns:7.5rem 1fr;gap:1.25rem;padding:0 0 2rem 1.75rem}.ol-tl-item:before{content:"";position:absolute;left:-5px;top:.45rem;width:9px;height:9px;border-radius:50%;background:var(--text-faint)}.ol-tl-item.is-mark:before{background:var(--cyan);box-shadow:0 0 0 4px #22d3ee26}.ol-tl-year{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.04em;color:var(--text-faint);padding-top:.15rem}.ol-tl-item.is-mark .ol-tl-year{color:var(--cyan)}.ol-tl-head{margin:0 0 .35rem;font-size:1.05rem}.ol-tl-body p{margin:0;font-size:.92rem}@media (max-width: 640px){.ol-tl-item{grid-template-columns:1fr;gap:.3rem}.ol-controls{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion: reduce){.ol-card-inner{transition:none}}
