@layer lab-base{.vega-lab .vega-stage{min-height:160px}@media (prefers-reduced-motion:reduce){.typecard{transition:none!important;animation:none!important}}.typegrid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.typecard{text-align:left;border:1px solid var(--line-strong);cursor:pointer;font:inherit;background:#fff;border-radius:14px;padding:11px 13px;transition:transform .12s,box-shadow .12s,border-color .12s}.typecard:hover{border-color:var(--accent);transform:translateY(-2px)}.typecard.on{border-color:var(--accent);background:var(--accent-soft)}.typecard .tname{font-family:var(--mono);color:var(--accent-deep);font-size:13px;font-weight:600}.typecard .tdesc{color:var(--muted);margin-top:3px;font-size:11.5px;line-height:1.5}.typecard .tslot{flex-wrap:wrap;gap:3px;margin-top:7px;display:inline-flex}.typecard .tslot span{font-family:var(--mono);letter-spacing:.3px;background:var(--accent-soft);color:var(--accent-deep);border:1px solid var(--accent-pale);border-radius:999px;padding:1px 6px;font-size:9px;font-weight:600}.fields{flex-wrap:wrap;gap:6px;margin:4px 0;display:flex}.fld{font-family:var(--mono);border:2px dashed var(--line-strong);color:var(--muted);background:var(--panel);border-radius:8px;padding:4px 9px;font-size:11px;font-weight:600}.fld.has{border-style:solid;border-color:var(--accent);color:#fff;background:var(--accent)}.fld.cal{border-color:var(--good);color:var(--good);background:var(--good-soft);border-style:solid}.fld.tz{border-color:var(--warn);color:#9a5400;background:var(--warn-soft);border-style:solid}.isobar{font-family:var(--mono);flex-wrap:wrap;align-items:stretch;gap:4px;margin:6px 0 2px;font-size:15px;font-weight:600;display:flex}.isobar .seg{border:1px solid var(--accent-pale);color:var(--ink);background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;display:flex}.isobar .seg .seg-cap{font-family:var(--body);letter-spacing:.3px;color:var(--muted);text-transform:uppercase;font-size:9.5px;font-weight:600}.isobar .seg.sep{border-color:var(--warn);background:var(--warn-soft);color:#9a5400}.isobar .seg.lit{color:var(--muted);border-style:dashed}.isobar .seg.on{border-color:var(--accent);background:var(--accent);color:#fff}.isobar .seg.on .seg-cap{color:#fff}.clock{font-family:var(--mono);letter-spacing:1px;color:var(--accent-deep);text-align:center;font-size:clamp(26px,7vw,44px);font-weight:600;line-height:1.25}.clock .sub{color:var(--muted);letter-spacing:0;margin-top:4px;font-size:13px;font-weight:600;display:block}.clock .ms{color:var(--accent-2);font-size:.6em}.timeline{height:60px;margin:26px 6px 10px;position:relative}.timeline .axis{background:var(--line-strong);border-radius:3px;height:3px;position:absolute;top:26px;left:0;right:0}.timeline .fill{background:var(--accent);border-radius:3px;height:3px;position:absolute;top:26px}.timeline .pin{text-align:center;position:absolute;top:14px;transform:translate(-50%)}.timeline .pin .dot{background:var(--accent);width:14px;height:14px;box-shadow:0 0 0 2px var(--accent);border:3px solid #fff;border-radius:50%;margin:0 auto}.timeline .pin .cap{font-family:var(--mono);color:var(--accent-deep);white-space:nowrap;margin-top:6px;font-size:10px;font-weight:600}.timeline .pin.alt .cap{margin-top:0;margin-bottom:6px;transform:translateY(-36px)}.durparts{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.durparts .part{border:1px solid var(--line-strong);background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:9px 11px;display:flex}.durparts .part .num{font-family:var(--mono);color:var(--ink);font-size:20px;font-weight:600}.durparts .part .unit{letter-spacing:.3px;color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:600}.durparts .part.cal{border-color:var(--accent)}.durparts .part.cal .num{color:var(--accent-deep)}.durparts .part.zero{opacity:.4}}
