/* Generated by tools/anatomy/forgetting-curve/build.mjs — anatomy kit ISO_CSS + prostolms overrides. */

.iso{
  --anatomy-page:#0b0b0b;--anatomy-card:#131313;--anatomy-text:#a3a3a3;--anatomy-strong:#e6e6e6;--anatomy-muted:#6e6e6e;
  --anatomy-paper:#131313;--anatomy-face:#1b1b1b;--anatomy-top:#1c1c1c;
  --anatomy-shade-0:#0f0f0f;--anatomy-shade-1:#121212;--anatomy-shade-2:#151515;--anatomy-shade-3:#181818;
  --anatomy-lit-top:#262626;--anatomy-lit-shade:#1d1d1d;
  --anatomy-hi:#d4d4d4;--anatomy-mid:#6a6a6a;--anatomy-lo:#3e3e3e;--anatomy-faint:#2a2a2a;--anatomy-lit:#ffffff;
  --anatomy-halo:#050505;--anatomy-halo-opacity:.9;--anatomy-dot:#e6e6e6;
  --anatomy-red:#ff6b6b;--anatomy-green:#6be0a0;--anatomy-blue:#6b9bff;
  --anatomy-weight:.6px;--anatomy-ease:cubic-bezier(.32,.72,0,1);
  --anatomy-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --anatomy-lift:inset 0 1px 0 0 #ffffff0a,inset 0 0 0 1px #ffffff06,0 0 0 1px #00000026,0 1px 1px -.5px #00000014,0 3px 3px -1.5px #00000014,0 6px 6px -3px #00000014,0 12px 12px -6px #00000014;
}
.iso[data-theme="light"]{
  --anatomy-page:#f2f2ef;--anatomy-card:#fbfbfa;--anatomy-text:#57575a;--anatomy-strong:#18181a;--anatomy-muted:#8c8c90;
  --anatomy-paper:#fbfbfa;--anatomy-face:#ffffff;--anatomy-top:#ffffff;
  --anatomy-shade-0:#dcdcd9;--anatomy-shade-1:#e5e5e2;--anatomy-shade-2:#ededea;--anatomy-shade-3:#f4f4f1;
  --anatomy-lit-top:#ffffff;--anatomy-lit-shade:#eeeeeb;
  --anatomy-hi:#26262a;--anatomy-mid:#8a8a8f;--anatomy-lo:#b4b4b8;--anatomy-faint:#d4d4d6;--anatomy-lit:#000000;
  --anatomy-halo:#8a8a80;--anatomy-halo-opacity:.32;--anatomy-dot:#3a3a3e;
  --anatomy-red:#e5484d;--anatomy-green:#30a46c;--anatomy-blue:#3e63dd;
  --anatomy-lift:inset 0 1px 0 0 #ffffff,0 0 0 1px #0000000f,0 1px 1px -.5px #0000000a,0 3px 3px -1.5px #0000000a,0 6px 6px -3px #0000000a,0 12px 12px -6px #0000000a;
}
.iso-svg{display:block;width:100%;height:auto;overflow:visible}
.iso-svg path,.iso-svg circle{vector-effect:non-scaling-stroke}
.iso-fill{fill:var(--anatomy-paper);stroke:none}
.iso-solid[data-lit]>.iso-fill{fill:var(--anatomy-face)}
.iso-shade,.iso-top{stroke:none}
.iso-shade[data-shade="0"]{fill:var(--anatomy-shade-0)}
.iso-shade[data-shade="1"]{fill:var(--anatomy-shade-1)}
.iso-shade[data-shade="2"]{fill:var(--anatomy-shade-2)}
.iso-shade[data-shade="3"]{fill:var(--anatomy-shade-3)}
.iso-top{fill:var(--anatomy-top)}
.iso-solid[data-lit]>.iso-top{fill:var(--anatomy-lit-top)}
.iso-solid[data-lit]>.iso-shade{fill:var(--anatomy-lit-shade)}
.iso-solid[data-seamless]>.iso-shade,.iso-solid[data-seamless]>.iso-top{stroke-width:.4;stroke-linejoin:round}
.iso-solid[data-seamless]>.iso-shade[data-shade="0"]{stroke:var(--anatomy-shade-0)}
.iso-solid[data-seamless]>.iso-shade[data-shade="1"]{stroke:var(--anatomy-shade-1)}
.iso-solid[data-seamless]>.iso-shade[data-shade="2"]{stroke:var(--anatomy-shade-2)}
.iso-solid[data-seamless]>.iso-shade[data-shade="3"]{stroke:var(--anatomy-shade-3)}
.iso-solid[data-seamless]>.iso-top{stroke:var(--anatomy-top)}
.iso-solid[data-seamless][data-lit]>.iso-top{stroke:var(--anatomy-lit-top)}
.iso-solid[data-seamless][data-lit]>.iso-shade{stroke:var(--anatomy-lit-shade)}
.iso-solid[data-lit]>.iso-edge{stroke:var(--anatomy-lit)}
.iso-halo{fill:var(--anatomy-halo);stroke:none;filter:blur(9px);opacity:var(--anatomy-halo-opacity);transform:translateY(3px)}
.iso-line{fill:none;stroke:var(--anatomy-lo);stroke-width:var(--anatomy-weight);stroke-linecap:round;stroke-linejoin:round}
.iso-line[data-tone="hi"]{stroke:var(--anatomy-hi)}
.iso-line[data-tone="mid"]{stroke:var(--anatomy-mid)}
.iso-line[data-tone="lo"]{stroke:var(--anatomy-lo)}
.iso-line[data-tone="faint"]{stroke:var(--anatomy-faint)}
.iso-line[data-tone="lit"]{stroke:var(--anatomy-lit)}
.iso-line[data-tone="red"]{stroke:var(--anatomy-red)}
.iso-line[data-tone="green"]{stroke:var(--anatomy-green)}
.iso-line[data-tone="blue"]{stroke:var(--anatomy-blue)}
.iso-line[data-dotted]{stroke-dasharray:.01 3.5;stroke-width:1}
.iso-line[data-dashed]{stroke-dasharray:3 3}
.iso-line[data-flow]{stroke-dasharray:2 6}
.iso-wire-end{fill:var(--anatomy-paper);stroke:var(--anatomy-lo);stroke-width:var(--anatomy-weight)}
.iso-wire[data-tone="hi"] .iso-wire-end{stroke:var(--anatomy-hi)}
.iso-wire[data-tone="mid"] .iso-wire-end{stroke:var(--anatomy-mid)}
.iso-wire[data-tone="faint"] .iso-wire-end{stroke:var(--anatomy-faint)}
.iso-wire[data-tone="lit"] .iso-wire-end{stroke:var(--anatomy-lit)}
.iso-dots circle{fill:var(--anatomy-dot);stroke:none;opacity:.32}
.iso-dots[data-tone="hi"] circle{opacity:.85}
.iso-dots[data-tone="mid"] circle{opacity:.45}
.iso-dots[data-tone="lo"] circle{opacity:.22}
.iso-dots[data-tone="faint"] circle{opacity:.12}
.iso-face-text{fill:var(--anatomy-mid);font-family:var(--anatomy-mono);letter-spacing:.04em}
.iso-face-text[data-tone="hi"]{fill:var(--anatomy-hi)}
.iso-face-text[data-tone="lo"]{fill:var(--anatomy-lo)}
.iso-face-text[data-tone="faint"]{fill:var(--anatomy-faint)}
.tb-body{fill:var(--anatomy-shade-2);stroke:none}
.tb-shine{fill:var(--anatomy-top);stroke:none}
.tb-shade{fill:var(--anatomy-shade-0);stroke:none}
.tb-ring{fill:none;stroke:var(--anatomy-lo);stroke-width:.45;stroke-linecap:butt;stroke-linejoin:round}
.tb-ring[data-tone="mid"]{stroke:var(--anatomy-mid)}
.tb-ring[data-tone="faint"]{stroke:var(--anatomy-faint)}
.tb-ring[data-tone="hi"]{stroke:var(--anatomy-hi)}
@keyframes iso-flow{to{stroke-dashoffset:-32}}
@keyframes iso-pulse{0%,100%{opacity:.18}12%{opacity:1}40%{opacity:.18}}
.iso-line[data-flow]{animation:iso-flow 1600ms linear infinite}
.iso-dots circle[data-pulse]{animation:iso-pulse 1600ms steps(1,end) infinite;animation-delay:var(--pulse-at,0ms)}
.iso-figure{margin:32px 0 36px}
.iso-plate{position:relative;padding:52px 24px;border-radius:0;background:var(--anatomy-card);box-shadow:0 0 0 1px var(--anatomy-mid);--anatomy-paper:var(--anatomy-card)}
.iso-plate-corners{position:absolute;inset:18px 20px;pointer-events:none}
.iso-plate-corner{position:absolute;color:var(--anatomy-muted);font-family:var(--anatomy-mono);font-size:10.5px;line-height:1;letter-spacing:.04em;white-space:nowrap}
.iso-plate-corner[data-corner="fig"]{top:0;left:0;color:var(--anatomy-text)}
.iso-plate-corner[data-corner="title"]{top:0;right:0;text-transform:uppercase;letter-spacing:.1em}
.iso-plate-corner[data-corner="hint"]{bottom:0;left:0;text-transform:uppercase;letter-spacing:.1em}
.iso-plate-corner[data-corner="readout"]{right:0;bottom:0;color:var(--anatomy-text);font-variant-numeric:tabular-nums}
.iso-plate .iso-svg{margin:0 auto}
.iso-legend{display:grid;gap:8px;margin-top:12px;color:var(--anatomy-muted);font-size:13px;line-height:1.55}
.iso-keys{display:flex;flex-wrap:wrap;gap:6px 18px}
.iso-key{display:inline-flex;align-items:center;gap:7px}
.iso-swatch{width:16px;height:10px;flex:none;overflow:visible}
.iso-swatch path{fill:none;stroke:var(--anatomy-hi);stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.iso-swatch[data-mark="raised"] path,.iso-swatch[data-mark="flat"] path{stroke:var(--anatomy-mid)}
.iso-swatch[data-mark="lit"] path{stroke:var(--anatomy-lit)}
.iso-swatch[data-mark="dim"] path{stroke:var(--anatomy-lo)}
.iso-swatch[data-mark="dotted"] path{stroke-dasharray:.01 3;stroke-width:1.4}
.iso-swatch[data-mark="dashed"] path{stroke-dasharray:3 2.5}
.iso-swatch[data-mark="red"] path{stroke:var(--anatomy-red)}
.iso-swatch[data-mark="green"] path{stroke:var(--anatomy-green)}
.iso-swatch[data-mark="blue"] path{stroke:var(--anatomy-blue)}
.iso-swatch-crease{stroke:var(--anatomy-lo)!important}
@media (max-width:560px){.iso-plate{padding:48px 12px 70px}.iso-plate-corner[data-corner="hint"]{bottom:18px}}
@media (prefers-reduced-motion:reduce){.iso-line[data-flow],.iso-dots circle[data-pulse]{animation:none}}

/* ── prostolms skin for anatomy figures (Halo tokens) ─────────────────── */
.iso[data-theme="light"].fc,
.fc .iso-plate {
  --anatomy-page: #f5f5f5;
  --anatomy-card: #ffffff;
  --anatomy-text: rgba(23, 21, 30, 0.72);
  --anatomy-strong: #17151e;
  --anatomy-muted: rgba(23, 21, 30, 0.5);
  --anatomy-hi: #2b2644;
  --anatomy-mid: #8d8a9c;
  --anatomy-lo: #bab7c6;
  --anatomy-faint: #dcdae4;
  --anatomy-lit: #5d51b4;
  --anatomy-lit-top: #ffffff;
  --anatomy-lit-shade: #eeecf7;
  --anatomy-shade-0: #dddbe3;
  --anatomy-shade-1: #e6e4eb;
  --anatomy-shade-2: #eeedf2;
  --anatomy-shade-3: #f5f4f8;
  --anatomy-halo: #8a86a0;
  --anatomy-halo-opacity: .3;
  --anatomy-dot: #2b2644;
  --fc-water-top: #c9c2e8;
  --fc-water-0: #a99fdb;
  --fc-water-1: #b3aae0;
  --fc-water-2: #bdb5e4;
  --fc-water-3: #c6bfe8;
  --fc-glass: #f4f3fa;
}
.fc .iso-plate { padding: 48px 32px 52px; box-shadow: 0 0 0 1px rgba(43, 38, 68, 0.12); border-radius: 18px; }
.fc .iso-plate-corners { inset: 20px 24px; }
.fc .iso-figure { margin: 0; }
.fc .iso-stage { cursor: pointer; outline: none; }
.fc .iso-stage:focus-visible { outline: 2px solid var(--anatomy-lit); outline-offset: 6px; border-radius: 8px; }

/* Glass: pale, faceted, no hard back. */
.fc .fc-glass > .iso-fill,
.fc .fc-glass > .iso-top,
.fc .fc-glass > .iso-shade { fill: var(--fc-glass); }
.fc .fc-glass > .iso-edge { stroke: var(--anatomy-mid); }
.fc .fc-grad { stroke-width: .7; }

/* Water: tints of the brand lavender, darker facing away from the light. */
.fc .fc-water > .iso-fill { fill: var(--fc-water-2); }
.fc .fc-water > .iso-top { fill: var(--fc-water-top); }
.fc .fc-water > .iso-shade[data-shade="0"] { fill: var(--fc-water-0); }
.fc .fc-water > .iso-shade[data-shade="1"] { fill: var(--fc-water-1); }
.fc .fc-water > .iso-shade[data-shade="2"] { fill: var(--fc-water-2); }
.fc .fc-water > .iso-shade[data-shade="3"] { fill: var(--fc-water-3); }
.fc .fc-water > .iso-edge,
.fc .fc-water > .iso-crease { stroke: var(--anatomy-lit); stroke-opacity: .55; }

.fc .fc-inside { fill: #e4e1ef; }
.fc .fc-water-top { fill: var(--fc-water-top); stroke: var(--anatomy-lit); stroke-width: .7; vector-effect: non-scaling-stroke; }
.fc .fc-paper > .iso-fill,
.fc .fc-paper > .iso-shade,
.fc .fc-paper > .iso-top { fill: #fdfdfe; }
.fc .fc-grid-fine { stroke-opacity: .55; }
.fc .fc-ghost { stroke-dasharray: 2.4 2.4; stroke-width: .8; }
.fc .fc-curve { stroke-width: 1.7; }
.fc .fc-stream { stroke-width: 2.2; transition: opacity .2s; }
.fc .fc-drip { fill: var(--fc-water-0); }
.fc .fc-ball { fill: var(--anatomy-shade-2); stroke: var(--anatomy-hi); stroke-width: .6; vector-effect: non-scaling-stroke; }
.fc .fc-ball-lit { fill: #ffffff; stroke: var(--anatomy-lit); }

/* Controls under the figure */
.fc-controls { display: grid; gap: 16px; margin-top: 12px; padding: 20px 24px 24px; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px rgba(43, 38, 68, 0.08); font-family: inherit; }
.fc-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.fc-row-label { margin-right: 4px; font-size: .875rem; color: rgba(23, 21, 30, 0.55); }
.fc-preset,
.fc-day {
  border: 1px solid rgba(43, 38, 68, 0.14);
  background: #fff;
  color: #17151e;
  font: inherit;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}
.fc-preset { min-height: 2.25rem; padding: 0 .9rem; border-radius: 999px; font-size: .875rem; }
.fc-preset:hover,
.fc-day:hover { border-color: rgba(93, 81, 180, 0.5); }
.fc-preset[aria-pressed="true"] { background: #17151e; border-color: #17151e; color: #fff; }
.fc-days { display: grid; grid-template-columns: repeat(auto-fill, minmax(2.1rem, 1fr)); gap: 4px; }
@media (min-width: 640px) { .fc-days { grid-template-columns: repeat(15, minmax(0, 1fr)); } }
.fc-day { height: 2.1rem; border-radius: 8px; font-size: .8125rem; font-variant-numeric: tabular-nums; color: rgba(23, 21, 30, 0.62); }
.fc-day[aria-pressed="true"] { background: #5d51b4; border-color: #5d51b4; color: #fff; }
.fc-preset:focus-visible,
.fc-day:focus-visible { outline: 2px solid #5d51b4; outline-offset: 2px; }
.fc-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
.fc-stats > div { padding: 12px 16px; border-radius: 12px; background: #f7f6fa; min-width: 0; }
.fc-stats dt { font-size: .8125rem; color: rgba(23, 21, 30, 0.6); }
.fc-stats dd { margin: 2px 0 0; font-size: 1.5rem; font-weight: 600; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; color: #17151e; }
/* daisyUI paints any [data-theme] element; the kit uses data-theme for its own tokens. */
.iso.fc[data-theme] { background: transparent; color: inherit; }
.fc .iso-legend { margin-top: 14px; padding: 0; font-size: .875rem; line-height: 1.6; color: rgba(23, 21, 30, 0.56); }
@media (max-width: 560px) {
  .fc .iso-plate { padding: 40px 0 60px; overflow: hidden; }
  .fc .iso-plate .iso-svg { width: 118%; margin: 0 -9%; }
  .fc-controls { padding: 16px; }
  .fc-row-label { width: 100%; }
  .fc .iso-plate-corners { inset: 14px 14px; }
  .fc .iso-plate-corner[data-corner="hint"] { bottom: 22px; white-space: normal; max-width: 100%; }
  .fc-stats > div { padding: 10px; }
  .fc-stats dt { font-size: .75rem; line-height: 1.3; }
  .fc-stats dd { font-size: 1.25rem; }
}
