.folio-ctg-block{margin:14px 0}.ctg-panel{--ctg-paper:var(--color-surface-primary,#fff);--ctg-ink:var(--color-text-primary,#111827);--ctg-soft:var(--color-text-secondary,#4b5563);--ctg-grid-half:color-mix(in srgb,#d9536f 13%,var(--ctg-paper));--ctg-grid-1:color-mix(in srgb,#d9536f 28%,var(--ctg-paper));--ctg-grid-10:color-mix(in srgb,#d9536f 52%,var(--ctg-paper));--ctg-band:color-mix(in srgb,#2f9e6e 8%,var(--ctg-paper));--ctg-strip:color-mix(in srgb,var(--ctg-ink) 4%,var(--ctg-paper));--ctg-fhr:color-mix(in srgb,#1e3a8a 40%,var(--ctg-ink));--ctg-mhr:color-mix(in srgb,#c026d3 70%,var(--ctg-ink));--ctg-normal:#15803d;--ctg-info:#64748b;--ctg-unlikely:#2563eb;--ctg-may:#c2410c;--ctg-likely:#b91c1c;--ctg-quality:#6b7280;position:relative;display:flex;flex-direction:column;gap:8px;color:var(--ctg-ink);font-family:var(--font-geist-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:13px}.ctg-panel *,.ctg-panel :after,.ctg-panel :before{box-sizing:border-box}.ctg-panel.is-full{position:fixed;inset:0;z-index:1000;overflow:auto;padding:16px;background:var(--color-surface-primary,#fff)}.ctg-bar{display:flex;align-items:center;gap:12px;min-width:0}.ctg-mark{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:radial-gradient(130% 160% at 0 0,#0b7d5e 0,#01684d 45%,#013a2b 100%);color:#d7f5e9}.ctg-mark svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.ctg-bar>.ctg-name{display:flex;flex:1;align-items:baseline;min-width:0;margin:0;overflow:hidden;white-space:nowrap;line-height:1.3}.ctg-title{flex:none;color:var(--color-text-heading,#01684d);font-size:16px;font-weight:650}.ctg-line{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:15px}.ctg-line:before{content:"\2013";padding:0 .45em;color:var(--ctg-soft)}.ctg-actions{flex:none;display:flex;align-items:center;gap:6px}.ctg-btn,.ctg-seg button,.ctg-seg select{height:30px;padding:0 11px;border:1px solid var(--color-border-primary,#d1d5db);border-radius:8px;background:var(--color-surface-primary,#fff);color:var(--ctg-ink);font:inherit;font-size:13px;font-weight:550;cursor:pointer}.ctg-btn:hover:not(:disabled),.ctg-seg button:hover{border-color:var(--color-text-heading,#01684d)}.ctg-btn.is-on,.ctg-seg button.is-on{border-color:var(--color-button-primary,#01684d);background:var(--color-button-primary,#01684d);color:#fff}.ctg-btn:disabled{opacity:.5;cursor:not-allowed}.ctg-btn:focus-visible,.ctg-expand:focus-visible,.ctg-scroll:focus-visible,.ctg-seg button:focus-visible,.ctg-seg select:focus-visible,.ctg-termlink:focus-visible{outline:2px solid var(--color-button-primary,#01684d);outline-offset:2px}.ctg-expand{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:rgba(255,255,255,.88);box-shadow:0 1px 4px rgba(0,0,0,.2);cursor:zoom-in}.ctg-panel.is-full .ctg-expand{cursor:zoom-out}.ctg-expand:hover{background:#fff}.ctg-expand svg{width:18px;height:18px;fill:none;stroke:#0e424f;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.ctg-controls{align-items:center;gap:8px 12px}.ctg-controls,.ctg-seg{display:flex;flex-wrap:wrap}.ctg-seg{gap:4px}.ctg-seg select{padding:0 6px}.ctg-panel .ctg-readout{display:flex;flex:1;flex-wrap:wrap;justify-content:flex-end;gap:4px 14px;min-width:200px;margin:0;font-variant-numeric:tabular-nums;color:var(--ctg-ink)}.ctg-readout b{font-weight:650}.ctg-readout-hint{color:var(--ctg-soft)}.ctg-readout-mhr b{color:var(--ctg-mhr)}.ctg-scroll{width:fit-content;max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid var(--ctg-grid-10);border-radius:6px;background:var(--ctg-paper);cursor:crosshair;touch-action:pan-x pan-y;overscroll-behavior-x:contain}.ctg-paper text{font-family:inherit}.ctg-sheet{fill:var(--ctg-paper)}.ctg-band{fill:var(--ctg-band)}.ctg-strip{fill:var(--ctg-strip)}.ctg-grid-half{stroke:var(--ctg-grid-half);stroke-width:1}.ctg-grid-1{stroke:var(--ctg-grid-1);stroke-width:1}.ctg-grid-10{stroke:var(--ctg-grid-10);stroke-width:1.2}.ctg-scale{fill:color-mix(in srgb,#b4314f 70%,var(--ctg-ink));font-size:10px;font-weight:600;paint-order:stroke;stroke:var(--ctg-paper);stroke-width:3px;stroke-linejoin:round}.ctg-unit{font-weight:500}.ctg-time{fill:var(--ctg-soft);font-size:10.5px}.ctg-time-10{fill:var(--ctg-ink);font-weight:650}.ctg-fhr{fill:none;stroke:var(--ctg-fhr);stroke-width:1.25;stroke-linejoin:round}.ctg-toco{fill:none;stroke:var(--ctg-fhr);stroke-width:1.4;stroke-linejoin:round}.ctg-mhr{fill:none;stroke:var(--ctg-mhr);stroke-width:1.1;stroke-dasharray:5 3;opacity:.85}.ctg-movement{fill:var(--ctg-ink);opacity:.75}.ctg-mark line{stroke:var(--ctg-soft);stroke-width:1;stroke-dasharray:3 3}.ctg-mark text{fill:var(--ctg-ink);font-size:11px;font-weight:600;paint-order:stroke;stroke:var(--ctg-paper);stroke-width:4px;stroke-linejoin:round}.ctg-pen{stroke:var(--color-button-primary,#01684d);stroke-width:2}.ctg-cursor{stroke:var(--ctg-ink);stroke-width:1;opacity:.45;pointer-events:none}.ctg-baseline{fill:none;stroke:var(--ctg-normal);stroke-width:1.5;stroke-dasharray:7 4;opacity:.85}.ctg-guide{stroke:var(--ctg-soft);stroke-width:1;stroke-dasharray:2 3;opacity:.6}.ctg-unread{fill:color-mix(in srgb,var(--ctg-quality) 14%,transparent)}.ctg-contraction circle{fill:var(--ctg-paper);stroke:var(--ctg-soft);stroke-width:1}.ctg-contraction text{fill:var(--ctg-ink);font-size:9.5px;font-weight:650}.ctg-lag line{stroke:var(--ctg-may);stroke-width:1.3}.ctg-lag text{fill:var(--ctg-may);font-size:10px;font-weight:650;paint-order:stroke;stroke:var(--ctg-paper);stroke-width:3px}.ctg-bracket path{fill:none;stroke:var(--ctg-likely);stroke-width:1.4}.ctg-pill{cursor:pointer}.ctg-pill rect{fill:var(--ctg-tier,var(--ctg-info))}.ctg-pill text{fill:#fff;font-size:10.5px;font-weight:650;pointer-events:none}.ctg-pill:focus-visible rect,.ctg-pill:hover rect{stroke:var(--ctg-ink);stroke-width:1.5}.ctg-pill:focus{outline:none}.ctg-pill.is-normal{--ctg-tier:var(--ctg-normal)}.ctg-pill.is-info{--ctg-tier:var(--ctg-info)}.ctg-pill.is-unlikely{--ctg-tier:var(--ctg-unlikely)}.ctg-pill.is-may{--ctg-tier:var(--ctg-may)}.ctg-pill.is-likely{--ctg-tier:var(--ctg-likely)}.ctg-pill.is-quality{--ctg-tier:var(--ctg-quality)}.ctg-panel .ctg-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;color:var(--ctg-soft);font-size:12px}.ctg-key{display:inline-flex;align-items:center;gap:6px}.ctg-key:before{content:"";display:inline-block;width:18px;height:0;border-top:2px solid var(--ctg-fhr)}.ctg-key-mhr:before{border-top:2px dashed var(--ctg-mhr)}.ctg-key-band:before{height:10px;border:1px solid var(--ctg-grid-10);background:var(--ctg-band)}.ctg-key-move:before{width:3px;height:10px;border:0;background:var(--ctg-ink)}.ctg-key-scale{margin-left:auto}.ctg-reading{border:1px solid var(--color-border-primary,#e5e7eb);border-left:3px solid var(--color-text-heading,#01684d);border-radius:6px;padding:10px 12px;background:var(--color-surface-primary,#fff)}.ctg-overall{--ctg-tier:var(--ctg-info);padding-bottom:8px;border-bottom:1px solid var(--color-border-primary,#e5e7eb)}.ctg-overall.is-normal{--ctg-tier:var(--ctg-normal)}.ctg-overall.is-unlikely{--ctg-tier:var(--ctg-unlikely)}.ctg-overall.is-may{--ctg-tier:var(--ctg-may)}.ctg-overall.is-likely{--ctg-tier:var(--ctg-likely)}.ctg-overall>.ctg-termlink{color:var(--ctg-tier);font-size:14px;font-weight:700}.ctg-panel .ctg-overall ul{margin:4px 0 0;padding-left:18px}.ctg-panel .ctg-overall li{margin:1px 0}.ctg-panel .ctg-rows{margin:0}.ctg-row{display:grid;grid-template-columns:9.5em 1fr;gap:10px;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--color-border-primary,#e5e7eb) 60%,transparent)}.ctg-row:last-child{border-bottom:0}.ctg-panel .ctg-row dt{margin:0;font-weight:650}.ctg-panel .ctg-row dd{display:flex;flex-direction:column;gap:4px;margin:0}.ctg-finding{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.ctg-chip{--ctg-tier:var(--ctg-info);flex:none;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--ctg-tier) 14%,var(--color-surface-primary,#fff));color:color-mix(in srgb,var(--ctg-tier) 80%,var(--ctg-ink,#111827));font-size:11.5px;font-weight:650;white-space:nowrap}.ctg-chip.is-normal{--ctg-tier:var(--ctg-normal)}.ctg-chip.is-unlikely{--ctg-tier:var(--ctg-unlikely)}.ctg-chip.is-may{--ctg-tier:var(--ctg-may)}.ctg-chip.is-likely{--ctg-tier:var(--ctg-likely)}.ctg-chip.is-quality{--ctg-tier:var(--ctg-quality)}.ctg-termlink{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:3px;cursor:help}.ctg-term{position:absolute;z-index:20;width:min(320px,calc(100% - 16px));padding:10px 12px;border:1px solid var(--color-border-primary,#d1d5db);border-radius:10px;background:var(--color-surface-primary,#fff);box-shadow:0 8px 28px rgba(0,0,0,.18);color:var(--ctg-ink);font-size:13px;line-height:1.45}.ctg-term-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px;color:var(--color-text-heading,#01684d)}.ctg-term-head button{padding:0 4px;border:0;background:none;color:var(--ctg-soft);font-size:18px;line-height:1;cursor:pointer}.ctg-panel .ctg-term p{margin:0 0 6px}.ctg-panel .ctg-term .ctg-term-src{margin:0;color:var(--ctg-soft);font-size:11.5px}@media (max-width:560px){.ctg-row{grid-template-columns:1fr;gap:2px}.ctg-panel .ctg-readout{justify-content:flex-start}.ctg-key-scale{margin-left:0}}.ctg-author{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;padding:10px 12px;border:1px dashed var(--color-border-primary,#d1d5db);border-radius:8px;font-size:13px}.ctg-author-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.ctg-author label{display:inline-flex;align-items:center;gap:6px}.ctg-author input,.ctg-author select,.ctg-author textarea{border:1px solid var(--color-border-primary,#d1d5db);border-radius:6px;background:var(--color-surface-primary,#fff);color:var(--color-text-primary,#111827);font:inherit;padding:3px 6px}.ctg-author textarea{width:100%;font-family:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5}.ctg-author-badge{padding:2px 8px;border-radius:999px;background:var(--color-button-primary,#01684d);color:#fff;font-size:12px;font-weight:650}.ctg-author-note,.ctg-panel-note{margin:0;color:var(--color-text-secondary,#4b5563);font-size:12px}.ctg-author-issues{margin:0;padding-left:18px;color:var(--ctg-likely,#b91c1c)}